From owner-freebsd-bugs Sun Dec 12 6:10:27 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 03C6C14DDF for ; Sun, 12 Dec 1999 06:10:03 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id GAA60090; Sun, 12 Dec 1999 06:10:03 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from baryt.rz.tu-clausthal.de (baryt.rz.tu-clausthal.de [139.174.1.78]) by hub.freebsd.org (Postfix) with ESMTP id 1884014D65 for ; Sun, 12 Dec 1999 06:09:02 -0800 (PST) (envelope-from inof@baryt.rz.tu-clausthal.de) Received: (from root@localhost) by baryt.rz.tu-clausthal.de (8.9.3/8.9.3) id PAA04125; Sun, 12 Dec 1999 15:09:00 +0100 (CET) (envelope-from inof) Message-Id: <199912121409.PAA04125@baryt.rz.tu-clausthal.de> Date: Sun, 12 Dec 1999 15:09:00 +0100 (CET) From: oliver.fromme@heim3.tu-clausthal.de Reply-To: oliver.fromme@heim3.tu-clausthal.de To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/15436: syscons extension: "propellers" Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 15436 >Category: kern >Synopsis: syscons extension: "propellers" >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Dec 12 06:10:02 PST 1999 >Closed-Date: >Last-Modified: >Originator: Oliver Fromme >Release: FreeBSD 4.0-19991204-CURRENT i386 >Organization: Clausthal University of Technology >Environment: FreeBSD 4.0-19991204-CURRENT >Description: The attached patches implement an extension to syscons called "propellers", along with a status line. The following is an excerpt from the (patched) syscons(4) manual page, which describes the extension in more detail: ------ [BEGIN EXCERPT] ------ Propellers are a useful feature to watch for activity on all existing virtual terminals. When using the SC_PROPELLERS option, support for a status line and so- called ``propellers'' is compiled in. The other SC_PROP_* options can be used to set the default look and behaviour of this feature, but you can also change all of this at run-time using the vidcontrol(1) tool. A propeller is a character sequence, usually consisting of the characters / - \ |. Propellers are commonly used to indicate activity (the boot- loader uses them, too) by cycling through these characters. The idea to implement them in syscons was inspired by the old DOS CU/TCP telnet pro- gram, which used propellers to watch for activity in multiple telnet ses- sions. When propellers are enabled, a status line is displayed at the bottom of the screen. This means that the usable area of the screen is reduced by one line (e.g. in the standard 80x25 mode, only 24 lines are available for the actual terminal). Propellers can be enabled per terminal, so you can have a status line on some terminals, but not on others, if desired. The status line is divided into a number of fields, each of which belongs to one virtual terminal. The number of the terminal is printed at the left of each field, starting at 1 (just like the function keys used to switch terminals). The actual propeller is displayed to the right of the number. If output occurs on a virtual terminal, the propeller of the correspond- ing field in the status line cycles through the character sequence, as explained above. Additionally, if a beep occurs, the propeller is dis- played with a different video attribute (the default is light white). When you switch to another virtual terminal, its propeller is cleared. At the right of the status line, a certain number of character columns can be reserved. This reserved area is not used by propellers, and it can be written to by userland applications, e.g. vidcontrol(1), or propclockd(1). ------ [END EXCERPT] ------ The patch set consists of three parts: 1. kernel patches 2. vidcontrol patches 3. new program "propclockd" I have tried to keep the new kernel code as much separated from the rest as possible. The new code is in src/sys/dev/syscons/scprops.c, the modifications to the existing files are appropriately #ifdef'ed. The new kernel code is _only_ compiled in if the SC_PROPELLERS option is defined. The new code for vidcontrol has been handled in a similar way. The new code is in src/usr.sbin/vidcontrol/propeller.c, and there have been only minimal changes to the existing code. Instead of burdening vidcontrol with a dozen new options, I decided to add only one option (-p) which is able to handle all the new features on its own, and I think this is pretty clean. (Of course I'm open to suggestions to make this better.) "propclockd" is a very small and simple program which can be used to exploit one of the new kernel features. Actually it's intended to be just an example of what can be done (and how), but it's useful on its own, so I think it should be included. Everything is properly documented. The patches include additions to the syscons(4) and vidcontrol(1) manual pages, as well as a new manual page for the propclockd(1) utility. The new kernel options have been added to LINT with some comments, too. Note, however, that I'm not a native English speaker, so someone should probably proofread the textual additions of mine. I have started programming these extensions back in the old days of FreeBSD 2.1, and me and my friends have been using them on a lot of machines for years, literally, so I would regard them as pretty stable. I'm submitting them now because I'm tired of updating and merging them every time a new FreeBSD release comes out. :-) >How-To-Repeat: n/a >Fix: begin 644 syscons-diff.tar.gz M'XL(`.2C4S@"`^Q;_W?:2)+/K_BOJ&1W$C`8@^TD$SOV#@8YX1:##W"^O)D< M(Z3&Z"PD5A(FWIWJ&]N93*KS MP)];KF]=VX_^B$^]5GMQ<`"/@#ZUS+]0?U'?KP.\K.T=O*R_K+]XCDU[^[7] M1U![]"_X+,+(#``>!;X?W=5O.17"??1O][%1_[#37000!M;N(@RJX=CQJG[@ M7.V>F]=BXKABY572NK6SLW/'H,)P(:#KW\!^#6HO#_?V\#^HOWKU:JM<+N=3 M+`P6'K2$A?J'^O[A\_W#VKX<\M-/L//BH/("ROCW)?STTQ84YO.Y#;_(+ZC# M*)0/@6]9D8O?RX74K.4KZB6_+=4_]FAV;8_QX2XQI&0V2"2GPP;AY/0L#*<+ M^`_30ZN'6OVP5L/_<-$O:^MRRANMBVSO^] M.=9DLE4>])L#O:5J;96WRLVS3N/-`,K'L//>=%W8,;W0@9VYL$TO#T.;?(>5]79].9P2T07^'=B]]! MO5K_NK[TWM^FLQ4*&;T='![LK>GM98T55_WE"?^!IC^_1:ZF$12M$O>&GNO< MB`#.`G\V0W7XKNO\-.&'JN7/3N2X!FJ1QX40B%`$-\*N:F3[PG;"*'#&B\CQ M/5;((A3@>!#ZB\`2W#)6NO6#65B!I1--P0_X7W\123HS'[7C6"91J8`9")B+ M8.9$D;`!UW[CV/@EFN(>C*8"*;FNOW2\*[!\SW9H4"CIT,B9B`[E4[V:83`$ M?Q)S9OEHA#-TX;BPR$2.B;(Y]F_HE1*6)(,?ST?S%17LXX3@(D4BE$[.RUSE M#*>U7-.9H83-,*'#?9P`Q[N.)Y@=)LF.8>%),<0BAKUU_I%/39PQ_R@B>X%K M^L.6(,63T+)]:S$37F3&6M]%A?K8(X"9&8G`,=TPU1MKG$CK2]&M:/BV/8!! M[VSXOM$W`+^COWG7;ADM./V(+PUH7`[?]OKPZZ^-`;Y^]@P:W1;^_Q&,#Q=] M8S"`7E]2:I]?=-HX#@GU&]UAVQA4H-UM=BY;[>Z;"IQ>#J';&T*G?=X>8K=A MK\+TUX=)A+.S60J<9IQY!$<6FM M=M]H#HE]]2VFTD3)(#^="@PNC&:;OA@?#%Q!H_^Q@I*`9J\[,/[S$COA2V@U MSAMOC`$45^4@J66%@8)O7O:-<^(1%S^X/!T,V\/+H0%O>KT6R1D&1O]=NVD, MCJ#3(\F?P>7`4,RU&L,&LX!T4$C8AY9V.6BSN-K=H='O7UX,V[UN"=[VWJ,L MD-L&CF^Q7'M=6GEL$T:O_Y'(DUQ8]A5X_];`]CZ)$ADWK<'1@GUU1Y0AS8S@&:`$U^R!$A%R!]^ MS3'5"FL3VF?0:+UKTRK4"#2"05L9#(NQ^5;I03?[/Y\%0IP.6H=_CAM;-CEV M,1OC1MK?JRC,4VU%)-"+9J?7_&L+ZMC2(YN M>0L1[E_>VZYO8L1$CV]>";6?@5#-(F1?).D-/G9[%X/V@&G*II8Q:/;;K+2M M\I"=`+W"3>PZT2V@,S'!-L7,]Z2#MM&;6E/T;4X4"G<"%%)XLH@\NF>ZQ,U6 M.5A(;T9OQJ9U?17X"\^N`K2CF/>07UJ+($!7(Q=2Q!%OWQZ>GV^5R?^948FH M5<`A/RH"\2P$X?F+JRF$;<-D? M$#G.&)10;:L93 M#*P&R-F,/;N/@C''KM"6ME7FM=%K)0`E-2*=V`U.&8D9R^U0K;G:<@%=.W(2 M!3ZBO#F@\O$O4CFNUV+!3'BYON?>PM(D!?J`ZY"F@,0KJY*7,WL"O]*0K?)8 MP'.PIF9@6F@YH5PB"I)#O.G=(F9@L>(J0RE="U'5F$*?-W&N4.;VT59Y[@HS MI&DFK"(I18UW%&111K8S%Y!KJ12RB[D98,!&O=!VY:OPO>6O\TO+7N!6_K-9F8[&[O;)5A^YO@+0[+1[>PS2\?`MLBF8>` MMD@F1;;X\`#`%JD\!*Z59.X/:['_PZ#:!^`_!K62U,-@6F4[]T2T@Z]`6J3T M@(@6J3T8H"7.[L"S@_L!6J;R4'@6B3T@G$5J#X1FV1P>`,PBG8?#LED;_38H MJZQ=![*PO4MEGEVU#VA?,D1$7WP+H3/#@$Q!SU4>$993QYHBD$'\B!L)-YI$ M?9/`G(FE'UPS&0]!<1B2?T`0,5]$Y(@G"Q=WL$2!*F1O@G),0X-SVCXE_J@( MA=-)[FZ)/C',\0C\-:",0*1A2_]BNNZM-)5-^+.(;IT02`3UF@9F2HA8,?:[ MH9]@72:3!:HQ7M<8SD.9*:R4TGFB4,P*JGR"$B(`A$1T;!FC)2E$D@BC`7D4^&:)%-@&F;\RA.@%`I1,P32VF'-(&* M]I[XC+8\MY%J-=DZ?THJI&%D.WYU>I)I5EEDQRPY?U)+_#-GZ_^?E3SC(C4OX\(L(D MN%&$:&9YE':*9K`=S52;[2]H:Y'9_[S_B1?L)8GRB)JEM$@,,ALOUBM0_\J* M94^YN'ETAYR)5^Y%J6'QZ*@$M)J"/C\.U+5;+,'),7H]&E3`1>!K6F6Q>]GI M,*4"KPV;<1>9+K][B@WR'_G#^ M!-W5+!G'R]>84GQR.W)'3>;-59'^K<"^9#'N4PCGN(NB23PGSH)LN,*+&TH5 MV8_0XA/XX:"Z-\'9626U3W+^PA?Z^R5F)<<@!\:0ED#V&*7:N"'W!*R;%P0Z'U?;'6 ME[M]H0WUZ/OG_\OY;U65//ZH.>X\_Z_O[[U\N1^?_S]_\>(EMM5?U@Z^G___ M*SYQ88CP@"UN=I4IR/I0:%'@".]3$H,_CT9QU*`W]&X"W4$33J"F M'FTQR1Z/99/1N1F8LYPDE8ZN9OG)ZR2ONW/EF>Z-&>2\H[MA.2R7$Z:N9:4W167)2[;O9%#I^.[=V%?!>([`2/6-YRCXH/LIB!\W^ MJ-5^TQX6[5*AB!%VYR2TZ/]@-#/G/V,KICO/:L\H4=TJ1[=S07+'=*A0W(X" M*K2$8O3?_K@$11K#U^&VD4P%]$>GQ%DH/3H64'I?"*V1S"!C(C?1;;A&1)\" M:)JCA`KQ$!/A!(USH:]RD3,Z$([G?-M0E4W=8^VJ\-G&F3!,4$)-H8&("-?% M)[5+OB\6.MBH91,P@$9JZW<5&*-(ER4<+(D6)< MWK!0O>,1MLU=S.R?IKP2&#B2/4)_$EDC'D?%!FF*<47#J<#<5Y6?=/32L3'& M4F?)@66Z=#(;"?F&[+ETE,YO"PS$_FUQ[NJMQ#8V55#FIZ-SX[Q',87G^$P5 MCPK5%*@Z49&2E.K$1!O.&,Y,J,S'L9Y+NV%5)L2*N(59=L#4]6U5^[Q7^R2; MF&_&$"/+=_T@)=_UE[`,G$A:"AH$>`NZ`8(@DO*+B*`*SUM74W(-QD%QU([` M@==,GG85/I7+JIJ!0L0.#M4;5Z68E$FHQXFV?DS'LP+?23F/,3%7`O#SVV]( M_.0X[8`\RU+`.!#F]1$MS)^H,BJC<6%?":V&P*-?J>J!E.%\$5DL0F2MHGDL M[%NF,LTNU1)D#898V"357'JR9+1.\X>$YITDOZR8XWQ*=PJ.8:=^M-(^<H,/ MS7?HY))1G`0H,&&]H^$"(/2G0QR->X];C MNG!"@7=2.@'D6<6:(6@U>6=F?BYJXW=3MI]G9=>DJ^EI"/[U5P0_-GY1#L(VV@T`FPZ)LGV*)7T`CIR%-NC4X+C8Q4G M95%DEIECE.AS<1=*_Z9W9Y>E^M-:2,12P#ENAUS3"D9'MDJ9X>7R MIT_WBUZ[?%00'U('OC]3ER,SN&;ERAT[I0V+N3_C$@7=BTNUFX?]2R.S:0?6 M5-@+=;J<6(R$TX'8647.U97+!^GM`7-"Q[=FB]THO8/)U[0`9"`$=W"J4O)FAVLOI$Y^@8?!)$H"4`9->RCF&B MP$PJUZ',_K9P`F'G0_Q`$=Z$\C=B^'Q?I>\E="2/UW(8PI.KR4*5K$H>2!ZK M0S(IASB6K*$H#38IPTRRE21!N&.@`FC*K)/SM::/,E3'H$J<^JV3.%:0+5;4 M$'5](E7-9*5F!9P?XUUR.;/Q3DM0R:5@%:MIFQ#>W+.;ME5Q(_YZD0X7"SLY=3"1">T^U M<;)&%!%!'MMG0,E)$DM$LW8UA'0!Y)TJ"$XMD\KKOI?C%7%WOX!H;2U:IRUC%Z M%L=K!OE%P^DX5:Q2>1ZK:M'LKM#E3!Q5B<;U*<"]9*8T$^-[T-AW+&+F>*QF:S28`,YX+'L"^/ZW_7MJ%40`/]N3L'LTK. M&.HKVV;-X2?FQ,S)/IA=S!PK\!=S>1E"PR5F&*VF$W?NPXVV*S? MK*"RQ":K*VD'KRW&P5PN"N=TU(*@3F:B2W^!?\=$;9)<;=-4K2;A6:T`-^]= MD?5>U;?[5J`X(''*J)`S(S4L;214R:*0 ML%4OQF4*/_L56"MX(PV&I'(K.[1$[`-_RM26K%-&0U M$]&T=2TWL`3)>H&':I!%3A5D*2CU`DPAKC*I[AC?;YS0H>MI.+"D7ZX5GIIH M.15\?)J)Y1ST<0I,LQ%#4?@N.E513E;]:(LRFQ,KQ$@](GAQJU3I5WB[2CTVA\)283QW*$9]U"49#_)KN`T/7EW=/]'U]4 MLLD!PR\B\`$)!5-AVJ4*'Q%@2D._8DLO**,&2$1Z?N'[U\AY1.PN M2>DF-C'F\1<174AVY&C4"MV]X'MJ`=^2-O6T?S4%F5._#?E'W(86")K+Q,<1 M/NAW*%%@-Z:K;E:F"0`\/B;SU6HCF]("A1[8OZ5X;RU8K]Q`Q(=J=,/WW^+R M9A+'U0N]KJ*Z+ZC_3DYW?O$:]4\?56[16/D2WZZ#S-P[^5.3KZOK\V^8<0=T MQD[@U5WSKY274L=/2'6E:OXI"28JE,QS0\FFFGH*EU![=Z301WJ")3=4$4+*@.MLEAPT!$_$/:-+Y( MG\D_S%05$?JQ0I*O9Z\1J9VG*OI?\=KK98!_9@^N[38"Z8\W[3..G6E-*7$! M,G6G."_O7B=.-C]/B\U`/TEY,*/YO4H>L+_KT.]()+26=:TV7XC,@ MET`IOAGY7ER2)YG L%P!A*1TT;LX*DYYV;+A9F*JJ,I-9.*I*K!P8F;<-^ MT1/+"OBN72+_4?B%+[7#/PJ%Y%$Z0['\TY]&DRNZ&DW`.'D^@?KSDNI82%J/ MH8@DT8AJGVL3]$YP<@(_'JW1&V?HC7/IC5?H36J*7GWO2':C-\27;_`JIR6BMI1I-$_1VUW2UH]YK#3IA[2",OD,?!#+'==H127HSH M]`ZLF8V`Q+3M`/,=U($IK864%T-;@J')-7X+DZ*<(P6.E^FO*3AWXF]).]6: MN9F^)*UT",FM]"7.GZ2%CV:^+2KQ@\J\:%J$0Q9Z*>2UX M^BF&!C/D'I+[7G)(VM`YWRZ1&-(B!C>C7Z*L[/$=/R#1PSL8[>Z[1B?V_EK= M(<+M\;_M?6M;6LFR\'S%7]%QSDY`0+DJ8IQ]C)*$,T:S19/,D\E#%K!4)@AL M%D8]D_SW4[>^K!MB9F:_L_<[/HG"6GVI[JZNKJJNR[P[\#_S":);URK,W;AI M1JB,>L[O@UDO#6MI)FL2..XG!GWH2W1[T1,I.C3[^02X-EYYX MMVV9?.-OL>2BN$V8A8DULMR2Q;JD6]/PT_"5:<;935`^.NY':0-W]EW2R+!B MN%M';Y<\`+=*:%!Q37X,3ELN!$04AH1BSKPF=L[Z"3-68TQRGUJ=;VIRT39P MFEV^N-U!3YW./K$@QDM($!PO0?PYDT:LR#W,IZ)K(`)HW85*!?KG.@DQRRZ- MLN:<--6GCMSM>\$=\7JH.1^#0$D.L'S@F@K$;MQP8`R,6S&\]4=H:NX;Z1`Y MQ!O?^U0T=<9^8**O#'PT?"2K<38=+!"OJ%UGI89K3\9M-XM9BLD!O"P(M>BK MZU$,%U.%+4YZ@`0$-@F:UN$S"S+(S+<@#2,6>D\/+5GGOOOV@6#Q;ZI"QTQ/\F:9@&R_^ZH"[)A,NI:(T=9$WQBUH3%C^B:X-.% M:X(%OI'?Y[;UE0`+GXNN"R)":4(;O:7:<`51IQ&^-@`P5+P1YTIA`1A!"O66:B`*PKV;W6!6\.?&+*TA"6-'8=%=5&)%6K/" M/;=+T4HXR874RZKI>;]RCP>K*4B.J'O7%ZK24*5*LX9AR<(! MJ1?TDGD^&[(7:TF5:LURO5DN62_6^A:&IH;?')I:6XW.V*.@.\]DH*'N_'9. MWW?<$FBKT.U1]$&G'#^(%[0E\*MU*@@,O"?;$D]#'RZ0U.T58+)R6^5"]N+IFAZ.UIJBJ#N*"F%GP7[G*2ZL%%VD*V2`$+C?[5>9!:<%=[BQQVY/"'Z! MP"^7:#.5RV4=Z-U%C(+]KJ%3[GIK:.S2.C62H#&/W98=:,K;!$VE]B!H/H>A M^?Q[05.M$C35;0U-UNX@M9;#&N/)5%>^F%FHL@:QW7)Y>FX1.MQ&-H+%\;.KCQ\10-M-H)PME'1=A*$-^%-_Y%:5OD"@J;YX+A*R7UJQA&UO@4(G=Y!*J2)WMQ/:Q:T'W>=XK"$S\ M6Z`BB#0?$/*6B+45,?O2)EXF@`1\ MA:$_`/.G@(`M/UW%9:>KB#U@LP@*K$E17)6F[.-(-DP3M*"=91\+OLYX]G([ M#`0P+C^@A6<^3T^YC4S?UB=?I<@"P&QC*2]4RDLHE5\:GDH$(*U)9KA@0?A# M1:M/HQ#J):32HAZ-PA"+RLKW+2TFU'**RF;LN](6OGOZ M%-YQ.^X(K^?H^^".$`E$07E<%BA$YJL2K6W1>#Y@((IL#-,CTR1('W)/I(JA ML<6J56P]A?TCD4+R5VDT\*"NEAK"$V6NX3!`UR0FF.^KE0\:B\GRGC_>,K)C MP$#ZL$,.]F/QL#\Z[CX[Z_QT>'S\6N^$V;S?Q?O%'#"?2Z".$3V7,4K@7.G""`=)Y76>=E';7>90=CGM9 M6RVO-G.\!1JY'$I4P\$([P$5U)&UI46J5@KE&JQ2O5XHUV69Y!)#X?2\.C[K MM+K[+_=."KB)%"&":W?I;A_VXPW5B1,>731'Y`D=)=OO7K6:ZLJ[(P/B:[J+ MH(.1)J.XH#N-->*Y$.H;WE60(17CS#0P0DWDC-?(G7HJZ@E-RLO&L]7@:"[J M$?50Z*QU^=+@\4ER:\"[->"M-7+$HB^&J!P'I%R@5;\7D#(OV;(C3NZL2FOR MD%'KGD4SL_S*_&9`S7W>`R$EBO4]'1VLZ=@[/)7&VQ@_A??X!@6:PJ0!%QA\ MB(-*S28W8XEY/YTRJWB!MJUDZ3I1GWQ_BB::,Q^XW1[M:-K'M5JC4*ZJ?&VK M4JA40G(S$BSF(47P^5/QD%;Z^BT\I&(F,M38OX*)'.Q$'J"D#H"NM667:*H2;@M'`.?&3?;%P7[[X%T!C[U2J9[;(6TP[A6^62X5Q!N? MO_$VC%>L2D54"*O9!"T1-HQ4%_CD'YA8];Q4EJJ`#1MHNS#7:3BH/.G_,8K$ M'R-E6%\P>A"5'(8B-BR0!X9.T-P[U\TCU]" M'G]'%Z\XQ1N)Q;>H.&V%[3(Q-/4*,3;,T&R0$X//.6=8!\`+$EY!@NP+X4!L M&;DXVM<,Z`P\1V^CK$'3]REBV#`7V4T2.'91]?`<)M17(J[]PEY_O^@X`*80 M+MA7&L5D?A@%V7#4\`< M41C*KZR!+Y?HJ*S7RNE'Y><_X5'Y^?<\*C__?WI4UBNU0AG$TOHF_-W\ZZA$ M`E"]]ZBL_LN/RDCY\W,B4W$Z]=>1^HV>L7*\O1G?KZ^NN)W3$.IGF\.[*N]7FUW:M09N[G#Z/-8::31L^WDD\[F.&"T M@Q4S3#NQJ\(J(W).B^,+DF"]A*EUI90HR"E0QP3@]ZY^'AA01;XKT MDY?E*85%^`(G''__P52X]#&J0@XIZ%VD+7Z52I%T%XF$A]HJ%D,['7\0V^>3 MJ3BMJP!MK`H*SBG:-:1NQ`6?CN;SNZR+=-\Z+/X(-AMM2@(S%:]+S9,(IH.D)S`7^D06%:;G-!CG-SE>V>%X: M6WI>;+`6/FI*.\ZS6W8S2,859]_]3AC@MEBT3?9MF]$!(QF`SC$N[4[DL43' M4L^/CTYAR8]:.U$DZ/S4(24SW^S4&S@SU:W2XHVRT7"VBK-34C?#!@+#Q.SW MW!7,%+F0`1/&C'F#MVT8#'A+3:UI<&C_1BPQ22-4(A2I50S%T!W_SELH_R?8 M0NHA6VBYDV'>2S\6\-V]9P(6^B:+2JIX>NW3::"V\"2IE>&?>QH0K\I_<&G9 M8"9TXV[4&?"G[*IP0F\J_&8^<50[I-`I:JX#%@:#A]#E#(:4?G.R]ZKU[.SY M\]:)84)3BCZ/%67N`OLEL::+$=B1T8B4%@&OAR/ISB?#239BGL%C(C,., MMES:)#8`_E3*C@XO0T'H,]DU;3U-IRM:@=D8AK3".8KI`'P3%7`V3MKVE?91 MFY3)K.FMA]X3:C=:IXM^)X`.W>X[S.IP]"+KOK!B0CZSNE'\^>]%\BA.H1N^\/LDP-Z90Y/-[#C!,Y9):=UP?/ M#T^I0`ZKZN0.2(`'(DGG2,9:Z"P++]\U3UHO0$ZE7-U M!\2=;Y6L<"DGLC^;39;99M@%E77"_W-4!/2UI1`('/J`PAXH8ALU^\#U'NT: MKX.<=420_L-(G\0[J0@$)%7>!X):``*1*U0W([VJ;U>TVMGADHQKMQ-1)>2< MS=:Q3MP_F%CW/0=:<`M89F@G/;$*[P/^BSET)G._J2(Q84&@INB4R(%D*0[- M)<7Z@^^/[W*9(5*F%)5^%"M*Y+;BS@$"6P8V+(&/8YR^6<6"0: MQK#\D-=DAO\J8V)T/1X-/U&TL'$7XSC-LKD"NE*C(2\_E>`F.1X#N68C5V8: M8N?KZ-#8?7MAYN^AY2YAXT2U,E$27TK.[,>JL_>F==(].3LZ0KXE1[:*=EO3L85Q M%JW^H%HID0*AB@HEYB3M7O0Q6S-!0R:>)A+BV+^Y%RGE&Q25^%CIV)>2:23\ M:CG_VZ0Z)O(3!LF**!WT0D]&@ZX)9&&.(_H"!*#=.3OZ\>CX[1'-O"G-\^O; M@!CZ)"2FDZ9W>YO.O6JI7A,>*!0J,X9?J!@P@(U\HBH7D_D$S4+1>O:>>8S& M$4L:K,EX0,F/NA@1NHM,%8Z%B1Q\T^4<3\EH!=($DR<)J5O*6^2,5*T@S6=_ MJDP8ASA-HK".+`2&,J?`NE\#?[DF(6%VY#VECMA5YND"Y3AV!J^\Z]%86PF;&HK+HF6&H[-7SUHG.VX!)R*++G72PKQY.H)8HA.S+;Q_=G+2 M`D$"'5!)Z1^JY?H@N"L"Q5&P):W-/][M,XF&4/[9.CEJ'75S^X\-6SA$@*#`V-("IR-&_.-@) MOZ(H`Q3/$[YD]X%?AV[_Y_BD$,(TT3%7J^QY6:W5ZJ).P1^.@J:%$Z.5M#FV M'E.DM[0L6U:$T.FVT,#>Y9D?86).;\9G'/1&J0#T\$G3LG?8/LCEM#+&R6VJ M(]BR%P':XPY-QE:1)S'\C(=Y$K2"YN'5?:FN6*$K3FH`JI*8WW;%;(9^([CE@8B=-!<-J+`95Z[5*H5(-*6/QBES8 M@61H(JJ/UA&F&(V>>#8J5=EJ/]**E!S6*%UGK7XUFGRCNKY?LR]#"7>]9%Z[ M!_($/)#PFW"0T_3WU]$"SK:.QL-W=SBC421]W@+G?I7<.EETW-=N2EVRP(_H M2Q3T?3&[&WZ3'<6/X)A/J10!%PF7"]7\E\M=)%S2_5''GZI*794;S4JY6=Y<[B+A,I15 M?KM9W6S6&O8BH49<._P68W$=Q598HTRFO!E16H[=4XAY9C?OKOL\4ZZXPG>T MLF:EX]7U&]6(:"R3%);?7SO[;__L]/5>Y[1E1Q)^GBF+W$OCK@"GIZU@V5(V MDZ$+U6YYQ,/\V)J.H,'9-"B:/R;H>;*@EA4VV#X>OB;TPI.6+#>@W=>' M'?:;G4S7HU''G*HQLM_<.]D]9!E[4FW:L!F85WYYDK7"F$17)3@Y`Y M!3`H.:@G%S6+64F3J"5CD[-D],0X:`::G#JA.,)8XAC/$W-])-2D4-U2L\(U3>;7=5)9!B96 M?*PR'V92NYH3+-.FQ'RK"!24+T4XM!/1P"'T;\A94,F^_Q%]]GAWOZ/P`X\>]$];+]X>?KBI/53;M%YX2I$ MXF3??1MM'YIN'>5"1B:AEJW:)-ZN?1=M]802[Z2U:30K\2;-*VKQ[EQKC^*V2G6M2NHQ![H;<28*_![2+/[%@*D_QDB=U(A:U MY[DM%,2V'!],QB%`.?[#-AN@54T\)">$UYH.WA5;NLR:\]4M@+4DPE8F$EMK M37^1\N&`6FOVJ]N>*;#F?)4"D=!9:^YW,2O;)-.&>FD376]Q?'0\1&Z,EP[E M;T0AC1)TMQP)YK_C7A^&V<"%5UQL%!-1Y;A)/G8H#X$MKE9;<0%)+=:U,"J%+*SKC8J!8P+`G_JY?!Y^+;[ MIM79ZV[6?NR6*XU2IML^SCYY\P0-0D(O5%$_>;:'>:-C+3P_@S,DL0GS)M:& M"=K5QC4E-P!O3%S.B+)HS2?AN."R+V+I"Y2D.\^0)2OS7&F9#BSW9UC1,.>* M=GYPJF&(\\F,G!$5$Y.U#Y7=Y-KDTP9^$S, MW:H"X&QQVOW!<*XVKH/91A*V<5N7DJ0-HY^I5;R7@+X`L-%H%3LUM;5167:" M&OCIG3+-P&I?8VHVZ)%:HBI2'#O,%70^7D"-*8;&^>3/QB`[8?\V&KV.M!;B M3T7TRI3K490A&2R",2DH0T&@'?EN@62'YB+%N3^[&HX)=YU@ZFGK28`X,:IW MHI`*3[L$;A,?99'.QCF.BM:)CG[A2KUXI9[7_Y1<206)? MQ)/B(%E\>Y)U:A04&Y_;[9Q+:J#C-A"ICWYD]S8@N1`2`:@57`1,Z]]4CW9? MO[^Z!+A/[+VQ5.^F>K3W[>5Z1[DFH?=RI>"N:VKONGJD]W(U6MWEYQXA+T!M!K[_>SV0F4Q3G0#J'[U+$F._+[6.X M6*P4,#4:):U`1QF@_:YUV'UU?-`B M6+OVE@/?GK2.#EHGW8/6L[,72>]/WQX_.SL]/3[B4&&1$OEPK,),PFLK@J2] ME5OSU-=R;9'VFLAJVDM]9Y'VGDZ$M)+E5+"*J4BL[NBWKS8HRAL MG=8_]O;W6YT.%0$4Q=?XTED6?IJRWS6"+-SQU84[/M3$8B2KL?]$^2\D^\]' M,DN$#MM'IXQ:IY?7C%H5I%ZE^\YVK!A%J'JSTG`=ITH5]IR"OQ6^\Q1\5)G( M%7[DN;UQ!+Z'+9NXA%S*H-P(WX3^!20%>18;X"VT+"5O3DR_7COH&`PT%,HB1FZTDT2P#18_SVF M*9N.O#M70X!&9=`G2BT)57E'[)8K4/ER>V/^WY";;VA=AM0]WNK`H`N1?-`\T$>M_[@(JD)W'.[QL$,QR]+ MX-Q<#L=6D>'-?"]].6\P-?S(GX=U#;YIE,2OP*2KJ7J6 M>`+&^ANP:?!_S5A^U*QX).2P5&]6R\UJE(2F5(\3TGK=2>1"9!1^B['8^OY` MK6HD)H)Y\LI<%J[N_OQXM6M,![KP+5[#O67\IDJ+>LM'*UK2FO)2"%K:6Z%9 M1VGOD2PQ(*S62H?"TJ#4QI#$+-F8NU&6G@AGIRQ?QVR6I1;*.,WJ=ZC]3'Q/ MK9$1SMB[^ M,0[1SXG:H6(5;V<'1GN'FE+_ED[RS_[H;H7(TG3H!ZY?CJASU2?_KC?Q9H,= MMFLFHACM)U@IHH8@SGUOCC0G.SQ7VLJWL))'BB,)4ONS(7,V<3X&R/CD!B9T M_?5T!>D;!S3"-*U!?(8#TD;?J2OTLNJALGL`H`](@[T"U&R&*>#A=!E#P\.Q M6&9Q1)-ZJ5!GGA^F&KI[-W/X$%5>(:[I:C+S'=9IO1/8A.,!K5&'32\/@6JN MY%^'KRP\A/G\>F0F!$;!4XQMN],,\*[D_=MA,&=^*#)*[!JF(_\6->]FRN%A MZRIZ%MSV'-Z'LO#^EA,6 MU>MX41M,ATA^H&GM&G%PW%'[9QNG^Z\!QT9CSN9W,?,`"N:7<`0K^3"'G("Y MT!?P$_,A`*`;"I!9P>/=1=G(59[0A$($,6%EA`MG(8&F7B[BA)=DXJ@3,6O6 MD\L"T&3U@NRO63FAID.\P!Q<]WD:T%R->LSZZQ?KFB("*.,!NLDT2K>5NMP) MYVE!08[#\K*K/P,UH)ZTNR+,A[M=<^LA2B!;0[M%3)&:24G8IA.#\N13ZW&` M"CTE.@.&0^]PEU`^Z3%O2W@$9!:33C-G2[-^RN,)3RWZ6.*FQC0;SI4DWXX6 ME`^\'WQ?R3,*(!T>7]#*3Q+.-D%"VPQ-MWOR49)>LY(@>'(]GV)Z#!036*:,C;L0$74,B9C`X1Y,)[#E83PL`%G$,@N!FYMV M/.WM"'5QB!'PW_XM@(XA073`/;4GK#Z2*5IUP!8KUP11T$+CAUE#,0@-RWWD M0O`\1Y=;PU4Q:=($>XCPXE0!,LQ]Q&C:R(BK>@$PP58R/P*PS8,0(#!(-$>R M"+HWCR^',T](&OK^C!S)#(JY,P52ZO65/7>T[*LI0T@6IOYQRQ`*]>Y",:'P M4!K.=3OH+SOG9!"]NY4\5)B-L(0WG8Z0E`\IG3M2C?B1HY!:S/@Y]M!'X](! M/$=FIG.I#D[:;UHG>)/UO/WB[&3OM'U\A&\"]2/?H.^+L,8ZA6,^65APV*@5ZJR*ZO@^]GFK6N_V7KT^;*UH?BN_WIZK.#O1 M%D,!EYUPJ+E@.`,5:\3XD+78J#BZ&7!FXSJ<).[GV9W&S(*)WJ5#=M%)(G24 M:"CSB@#,P3_=!2K"/ADC0:=>+!=KE`38P(VGSU%$`4.UXT/3XME*OA/A=4@Q M9EW9$\SUUYE`ZPI<=!BXFZ]M@!\VIM%(&U^MG_HN*#MS)L?,SDU2E$)++S70J\DN=# MWZ4I#EN5BP&E&G$X2!EWWR*08DZL31B/]&$H`&DH23+S$@B@NU2I$PVUXS.M MHA,M9D6,V1,EMCQTS$NM@N'77MPV@DD+SX_(3U:DJ0?+NYHT.XO;+5G M"65/"5M#6LZH%!)2;89F&PXDP]5)*8\D/XK)1?B[_MH+&T.)KFQCVM^08W;] MDB8$$%G4HROY>[6C46JGV:\D1:G*RDB:J@?"_".+X]Q/H8M\,C0J(D1=A-^#P-7A.J_6CJY7O\`=YLW4+Y7=_Q$^Y5-JLU=1W9'M; MBOQ5U7JEO*745JE2VRIOUC9K"@ZB:K7^G2I]]R_XN49Y0*GO9B`?+RIW<^G[ MH^_^XW["3I]`:M:#WG"\83&"?39?>9]\M&E)*V4*&/W]O4V17B@]'YBV]1FZ96EIQ.IYW4D;I]W3NI3F&Z M7OX?(%)`D93)+=>)SEHJE'!JJU4*AY/?6"N2R>[^ M9'K'@E6VGZ/2ZGB$%T;`2&!4=_44Z-3PO\_IRWI_]E&N9GD(FZ'\?3Z>(_"EO!Z!CDYX`8LH]97$X-)A24B> M)KMG&B^U`C]P%`Z1&2)>?`0-$G]H>C8J>0L6!E8!&?T*N>U`-V-#$;'.R.@Y M<<]>C_4YQ3;?E3CP`*0SD1IXF!W47_UA\//4Z*8&D_XUJA0]O=H;:'=/S`3( M%/YLB$R$63!::6*TG(%8W#E]V>ZHSO'ST[=[)RT%GX$*O&D?M`[4LY_@94OM MG9V^/#[IJ(\?]SKP_LD3M7=T`/]_`BGU-3#^'75\PA;R(+*VH1XT=+)W=-IN M=0JJ?;1_>(915`OJV=FI.CH^58?M5^U3*'9Z7*#VX]6HM>/GZE7K9/\E/-I[ MUCYLG_Y$_3YOGQYAG\^/3]2>>KUW/SO<.U&OSTY>'W<`7!C%0;NS?[C7 M?M4Z$-O](^A9M=X`ZZLZ+_<.#T,#>]8"F%`4YD9A8`?MD];^*4(OGZ25?9@7 M`.>PH#JO6_MM_-!ZUP+X]S!ZQS&I#SJM?YQ!(7BI#O8PW65'9<.S0(U%9P)F M'9CSUBL$$8;>.7O6.6V?GIVVU(OCXP.<8X4B5GN_U=E1A\X1`-`,S!`4@<_/SCIMFJOVT6GKY.3L->HTKQ$0Y; MT*%U?/(3-HYS0O->4&]?ME`2P'F$$9Z>[.'D8,S=_5.W&/1Y>GS"X[-C5D>M M%X?M%ZVC_1:6()GB;;O3RL%2M3M8H$W=`P)`OV=.LZ?A['T0(MI&H_ M5WL';]HX!*D`R]]I"ZK0%.Z_E"6PV/Y?(JTU_\LXQY@8OD^#^0"]+'Z(/!L- M>[&'*(-%'HZ&0"J#:,F[P+^-/];2B81#B[SU9[/Q)/Z,GCC/5NU1=+GJ/G?. M/'P12H#&GL37@74].$_Z\Z_C.9-$!R^AQ\`L+Y_Q9GT1.&]2' M2%RAAB)]43GLC-P%J!L00\XOQ/GS>M:3CT#7SNU'>$K^:>2&"6/7K_!S[R+: M/EXR=\\ONKT+.&PIT]HG_ZZ@^".)X%Q[33>S%F^#8$1WH)06DLJ3H/Z`\B+B M/:`&4_L'5""/CH<,X=('7N0!%41I\X`:1AFTH$[8SUAEUQ"E?IGT@;%S9M+)A>;.:3U9?KM3KAH M(U;9Z:?"?VH%5:[#GZ\%CE$J^G8I*TZ$OZX&UV,8'U:ETE`)_F]2W;*IRX64 M(#IJ0!ZK.Q^9KYQIQ_>P$<7M5*&!<@$]B/#;MFD'+WJYD1[JEA^K_ITWUFWP MK)8B_\P,4\:&O":ZK($2S/9F%Y1(TD'=@B"YGO@AM<&1IN:S_M4T"Y4*:G4R M7J4<:25.T1XBZ5F`OTC_37(O%6_@_'Q!"Z74%L:V"2P*DU?C9BC`D]M#<#FY M<;N('QE9VSIE!H2IWK_T^Y]((__Q(TS'+DT&,*13;S@S62AH.AYE6=&_2[U> MSKC7)[M/XGPS,+@I\-=HE='DXFGZZG2`UL!R8K8FE'99%6[#*U M&'Y8A[\Y##%%*6S4,)^7M(:9V`31C2\ MJ6$EMKZ78)'%WMX;VV(`G`25H$FU,9SF6'TA%V&,]S6Y@3^T=7:?(CWY07W1 MY9#&[CXUER0_8$$@FKM/K54M/@/"!E6)NN%7(&B[3S55Q=?= MIZ1$Q@I$6^./D5A%GJXR-@(OEVV]ZYYU@*N,YI<=HDKYV_@G7H,$U^5`;W4, M.JS]KRW9)1]Z0PTFL'+Z"]ZZO*]^L`2"HP#`UB5CR1+-Q M%F%XPB!8VDAM/ MI+/,2(*E1T*Y%`1<(";NP#!6G5EY)!D2(*!1*MUNEG2WZ.&>,1%8R:CJ8C8) M`G7I]3^QE4I;#28(U:#$?NZKRO5+&;Y"@[& M`*!<8;.LG*WW)M>,21PT%(&7>FBM>>7/Z;H_F,AM M/U:<^<5(MBBG%F4BB!@VTO5RCY+*D1$$7D6,)23!NID/B\P?/X+L1=H0M#\D M6QJTO'?TGUS'3(.'L`%9PSA6 MG&"HO)."XIR@#MR,5C@G9Y?%R26>B(QA'%$?T>G2FTYA!8I%]=;G+%ZZ"FPB M*48J0F6(!3RB?`-?@C)AH530!#*&H6C/?"R:T%0A;)(2_ MKC`=`GM`!F(`&%ZM\L6]7'QC(&+E#Y'D%W2-&P(26D7;PL$$^AGHAGE[]%C2 MPG@+7*-//`A?$],:T<&\+J\W^+!'2HR$!@7Y'7EDL0-OJ;L$IN#&CL&*?I;J M6@I,UGQX%,R\`$UKA$]*Q9.O-NE+>2?I_$^5S1>?07$/?R_ZF*,SL+__LB?# MU%M03&)=0:GY@E(42/G MN%%_5ZOR<54UU2I,.'\)-<&'39.$B[\-=!/\-%10GS[-4$%7\[)@X'@=C^/V MOF'<-M1C&')-/L\OS.!'_H4GP2*#]["D-IK&A\2JO?NK]B)5>1MBGRJMJHZL MD52Q=W_%:(^D,>$.TRI*G(V$>KW[Z^G^%JS>4?L5KM[\6U9/L\[AQ3./`;R? MD<=?98R:KR^QC9!N/0P>RZV'P;#/FRE@Q`G7O8JX.`$+4Z2EB(A.<""@B-R5 MD--`"J1F2DCG%!.6-9U-#*]C\JPL5#?^N\Q*`G)%9R6"32DH\E!]LDK1)<FM!`A>,J#9'GT:L89(*V%VPMHTU.WD`1)51`7D:N]BU6JSX-U[ M>H-,-R!X[XEPR6NT%I2O`+[PXF(F(J&>[U_&<@1L!GD!UN>72YA"W;Y$,NSR]]J>789->JK-FNUJ.4969W1K6GJ M]=+.LI/A?"^GPN<6NG\ZW-(TG&-@GJHEB2&D8PTLFH]P"TZ<`XQR%8HC5"UQ M&CZ)'+9^/%7/1VJD]F;BL]B]\J;F^:'Y=*7VK\R5Q4I>GDZQ'@<*OAJ8LC-\ MZD17A&_6B]N4"O`Y[VCS;([/CJ`3[.S\7%+F5CEC;JVPR3D+XFY!QF3L"C!I MBA$*K>`8K<]SR.WR-&*O*&%S/=+]]2<78V#A!TUHXQEP='/O0A4Y M\G-]S-/7N2/OI`X[UX6\HM9M"<21A"*D?98R>.FUDC^0$#GNU8HX/,3,ZFF5 M/3)4)_-ZHK'HEAG85NFV#'V^$:')-LEZO<0=C1+Z$/]+@P?0LM-4R!%'_'"N M)'@N$.6+.3E$E.MN*0,;7=M%8'/'G](GZH)#`73B[D/Q88BWR(/@PRM$`0]7 M6*`)$B(1`0H#<+X;D(@<@697I#VFC4%^/``[U=3E)<>==6NBI)9Z-R$:,U*O MY!&KV2B![R-*TE]'7X9&* MVU`6.A'Z3";1AD`7OD' M`^SX%R&RW0A[SP$C MR-6'S1$"3,Q"[N>^]AH#;`6D%-%'>Q?V$P4$=L6"[I!&P2&M/=8*8D-$7I?\ M"HV!$-[6"`YB/G=#1WXG>J$^IUC>:MV4@>H/9\KZRS!)_0_!(-6IU'XF\2-G]=SBQ6 MK;!,D@DIY\N;'_`_6:&IS"JYUZVBZ@?D!_Q+#GWX`6V\5@L<"VN+DN?4MW4* M;5;`K\/\!=ER`*6]P,UIF(_[XM#Y0V\*5XX?J'+6:QUB+^0'_X"+`U^/N<# M!%TGL*5B8DN!X#56F*LC7?<6?DG#YQ>HWGO?PS\?X#OR2!](1'YH@\4I43@0 M;8(/VO8G6O^^3A7+Y9+<6C+05AN`I?DJ1B)E3WVMLL%$MZPVV"WMJ.'3\J:H M"(IBAR::1%J/R$70\`,+LJ8<<,4+RRI[X8O:(KS)/YV1I<8517\9$NOAH1<6 M\'PC'4%#VZV)L@BE;.DB+&7O&BF; M[@*5R+DWTD-69.JDB:39-/-9KV.*Y7Q]LZ:3XU`*V;`^'1_1>B1:+[6/GA\7 MU&,JQ/I?9:V7M&%:*$:(V-KC&A'#9'S<.KYJP9-.?-V]4Q*[1^9FX_,SQS`U\P.#0UCU%(&P^^2?]PN9!J0%JFPR?Q[)'T/;'+#E;;Z$WXW5\_?_W\]?.O^_D_`3[7 %:0`8`0`% ` end >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message