GIF89alllƭMM{L5===P'aDF{: ɚ~l?WL)j]0++vI<)ȴdǹnWK80&... Q1..8ٳ`][+,$f%' pc}}|<;.dD+!!yyu_1' 0;=k,+!+>LLO%,-!,pH,Ȥrl:ШtDجvzxL.`e|N~ulWn\#,[ $&Zm\,,< &&<&#=XjÝiX<,===Yْ RlQlʜY=$<ե~}困d=рv)Ə>} {,|L6jx:FC*3S&ꐘVNᯇe]18ͧE7krFə;]6MXc u`'(p//);/mҺThwёQN= 9% {ĕ%]xuF~uIyHlt(X,}Xx-zi BZ*Eer!~hf(lFXW&YT " \)d i$_w6% MGQ(:qyOxTjəن gZ\'V' nՋr@Yɍ Ш4(*YKmnTZk{JH`P ʈYm]ōi+F2 TS{!2ޝE+61榻Oª2ѸFr{!9,0sl  7GL+ Tlgw ,$lŴr,`'|:@- "!? :g,Xg5E @<!.@@L-[6ytK.8hc04o.E fc B;cڐ< ?B R-L3j x娧^?.َCnWn .wKw0n/Ŀlei dF7"C;/4yILR/vwgIy򓎓@ڦx/@ŞWRjpq x *P0Ibe`\z m1p@jZ88@ATi /v@ͮ :_zս}'y8%;Yע$um;&hP)؝>GWNHyA;W hyI6 M >o/x ĸq=CLC9W6nylezȊ| 8@/d2=\U+xγL: \{.-ts9^պ|δ7N+ؤ||?Ff@`£|Iw ^@ZOָ4+0ꎑe3gKȮڛo>-XζmY#[U=&53Vh Xg{ZsO{^ff3vOY< x@n,W|>`ž^7 @ bޜ%\ݱ-Mu0g \lN"˗ #P[vû{*$@ڼ+zIz1a˳&;Ѽԋ/kr¾ֺ1Uv;"ۿ<ܿ;9ƻ{MZWxzr{l̼5i_V{ڼjA -m <5CЬMD d[kEGK6-xӎܽ%RA R a c Oյl"3Yl R=*Mg<v]BM!XֆmC츳؅huU(0m}. l'.)+~mx=!N; u $LL.M^OQ-D2t4ϭMa`>b/ߩ:ã]4|l^;jQ,M,n }(憮ވN^> Vnp^ߞNmK^Z])|NhjUɎ1fś>ݨ >`.m%^~PNɞ"//`R~jŒp*(N.ЫY  ?׹>u:܎.'O)_{! Ȱ5 ZcZ%..:TVoB_ _i.NY2Slm_a_~1d7yo}/1T.爟@_s_?`ߎM?_٩F/_J1!f/&2ڵ__}2?oӯ/2ڟڎ3*#/ObK(ؐ6ryp>g<Y+$[* % uCL&d,y n =?AC4/%V(N47mDy{}GMkR`_f28wEI+]#+ir;K !ӡ[Rm^AC brq-CR[fۓEIYsUBtiy='o9C}&Qܩd/1TBOMg~ 80+$ȨE }gmiY@MU3+B*Xgr~]FlL5wo۷qK= ˮ ]z=pq F(WB[Ց9}:g_x3/_ΜG0aD]-Ufe͗_1ϾS{8Nx l*છK.Z&r˃q鼩NMqvŽsa?@1{O4B;ǩo?ml309A+Ϸc*X:lL7`)Q(-f,x R!,#lq8`UlTG+RI^"c'D,LS#!1 uYS=,6h2'%s1O>mI?Q K''3S!OR8eLoKD>*R^4X{U/a T3Օ#mJ!j-Q\uT^W0sUH˃hST~ pelƎZ9^rh.%R}*țf5)A}<,ǩ5a@&\tpQHnQu[N(7=>7@Fhq]y]ЁB{2|c}^2$ vN驯^{`t>  dar &I+$). PFӕq }FBނ)8 Tb <(@;t Qh" `:"IHI RnKJ`p"v:i 8 >pD;Lh%H2}"t>l r|%hNv IH%T1.*_`<3 tH,AN`&2fT@}'TS1DܠdD&ӟas5e4]mЛVD ƉR~ Qt?pA+wT IPLI@,T.tZ3]NF/6ԧ9H2ziYejVSeDQ([Vڴdg cūYmH>#+ћb T>֩d% 0bL )4@?uw'AesxW8Y]Mjv %Z`IؘiNmq U yћ~6dk$=S+"! ]^heEЀj+ fv9̑. x @կF]SN"зae` K:$Y$ %lE6#GqlCD`#NPwjC@GyQKj (4a`ճǕh@e7d/3`5 ׏!`zjj^4#`d>#..su˚X8&P vtp&+)GI~*J)PVMelfm/= wϨhh/}f!Ly>͌PWsNMʞEFN@3Ym%1ik4ѣ&;D}O2ǘ *i`ضs\ Vza,0Bz%e^s˚P-NhR6sSRxG *gϱ_ÝEg@޸7J{8~O53ZN/Y@ai.] lG3= W@O-xZ/5^ `@!mG{C5 *fa6n9@ HsؾsͿq9+Vx+\%xϸ'c`s`^p+`^;|X 0_+ro ~O4oI(L ̩o N;ϩ.r P~CllJ+lPO5 l-_T0,  `aNpK. 9.y_/L4}L0> Pڊ ȍ֚Y*x 0#O   0m^ fq ^L\]n(qT0r3]jj G1 K)0M}+Q= #܅QP%p }Θ q% {0QH+61᪍ܱ_h3qhDȊ  !lC?""+PK5rLnD2;8$OT l&p1a,2:rr''Ñ<`(CΎ-)+nrB&pٲ'u2b'@,ɲ4,*/2~ 2". +M//RO~S1q1O#}&*'.&3< ;S#H0 42@J)-*S3I6_+2o@*+7vsmiO`0v7K8Gs8\48pѮ5Y7:s(r;}lv os,E0#=kq3>U)S3:.R$ R"750w4LR(1Ǹ EtC9T9>5#l:粓E_@zJ݆ BFF0XĄR,,tH*H{>FIcIR1g@ϔtMKUK{O(T:L5D55C2 ND*o&yO5 Dn$HMQ!!kdR)Ii1~5ʆP5KkwzT5J.Kit `_uQcD3,XMAtDMDIZkS;T/KC/A5TnAkAIXt XUh*UV[?q[N$IMR-W`54YU³D`<̳] Ba`5sMI!y\gS\ ؃"6g/3hT0@82Mc 2EfMNSvWg5hAVhŶXSh64[WV`W}jkE/tx6lthll6CiQUjRjf)9S6k\h7p mPqQSj]eTn3o6st=WbVpIw}PtmZmau'RhvfmNvlyWl7Y_y*x7Py:_`vZ7W.gj:z{Fwwe|!~};\Wʀ)>NypsY-V{ tEW|OWQE`Jeer [KMj}0X4Xg-\ulEp8qOLa^`|1evjiWWk7~xwwݵ7I׉ET،{8ir]׋kpX)8:j`ʦ\ Xw{GxX8tU@CmI3cy6\1* )Ys89YtX)є_@ʊ&`7uCg9kYpYt''Ys/aSדp=&{4qQ'YWZ-9z2Pxxlߙ.wAC$ ?byc 8\ Z5$cw5-2 iN< є s!sYxL[ނz1]cUnR Uҭt˜9CY@!sv3aztIt %Q`2pneBwq{z|?_t(* j,1mJ4TH0ڷ\<579ǝQz8ƝE=/iޏ4=mߍ[|?{i~8r&.k21@^Z<5M][2h ПhJef^ֹW=V)1I|V`IZFzwe}ŝw՝9,X%>A9d21:n^졜lVGņ1 Lpm]S2qZ`QaQ_ ij@)_.~w=rc1|vL`f<ֈVLCRB_yp& Srj]_B@3*0B4 %|BRJj(!\,-5kEI>}@ , HD0>z@(YdffyI<4$5FUYY8YSc5Vb6n8-j  @SRY%'*%ckk7u5m=I:r]])p {'T^q9NkMbiU=)QT<@BU=GfnkbsǖOU*g ["ljM6?l"#+ՊP H&fU^lZ/pۮrݳ(aZ)Xv{}X/.S\c : A /zۿ hO=H+73k@ 21*'Fc1%i ;[sݵ_s](}/ȉ )\i"J/3ހ e  0KwQ_P8x.H!q`~"FvO4qQ!d "l""Bp f(rVa;\/t4<'x/tp0!:9DY ܓRbrFvAz>a}C8 ߙ/X4?z(Nb3z S`C8'̠ 8_>OLy)L=`vP_h@aYLQS A!gؖ!3a Cc\ȋl!D! M6`d'Xf0aD35W8Ca>M41 b&J MN4*ŌR2% W163.Ku16|XY .d@QA%5)Pw~ ?Mt\V+IKʎ̢0Ȭh@I!w AJ4:ݩUӘK.%hOaM" OSt@_es(!R$L b+Y.%UmBT\ 1Jֺ6Jm_VMwk`%o0&S^ah?@ `<ዼc#"@=ˆ@@CS?Frd>ӋUNHHHD'Y(EIZJ V%HJJ_6_$0\:Qddѣ)XZa~mGUiCj&Pfbif°fmll&oʦk)qR%39Wg)gr:'ps:~ifv|Ybe Xwzwgx Xu&EYrxzg{y^eXlgY}g~ygI}~ (he؆Ha,.(E1XJ(Q('v}"𘏙(xX(v с@@Yv$\1)ڑJnĎ^  [Ài˘J ZRihBaK j j6 Z5y:*ZiB֨&*ެ(8E;(ۼ1۪jYch)teۻۧ ++%kr*y*B,^QPܶj=ܓdq9d+Õ딮A&ާ~\6]k͡K19 իa \<@6%,nߔI.+2e]l [~ @^ʝح,fZljpa^ ^Ql">")-1CaE IQ B ABdj"+)H|T_9-( pV;O -ჰ2$0"$v@͒h΂niΘ'TLa#-Yr`5_ r vC'vLn <\-aRCܾ'&lbb,'t_ 9n \Fnz_.O A u@xaҡۊ$|M/cX @zaJ@0;z`@n/F / L$/aN@o)x;y0O y@## y T c/9\KO.""]r;n؁C\ '_@L(8f"B1V6B>N> AHrc/WKKbPs;YM=k@X$z>$CCk. q%U?Y@3b2;gbZNmtBCI;UJAItKI8(%8%34@MdhUtLLfe5N4euLBMG_@w 'P#aIfW{5kpWmXuZcVC 4FA! tuѳtH@!D^bHu_i:5 3\5M."Rvbg}Bub/v|^iUtc!ffivjjC0k6PW6k5vjw6Uc]volvel'6ppk`i[{6sh/ec6lfk7[Kv6jc7q[w*j`6s߶4Kw] Eup7i7Bwvu#6lwpdi<7vn{wvr3;w\B9YɇOɃ{8xjxtq']'.68MCIލx +.fy5bgvo86Y`yksyiەwyЊ(ts[?9tyNlÙ|8*ii : ש*/8.ӧsxb;L$c*4yJ:z:zS6/8[jԪxǮ[گ?c8ΆY㴱6k +ͱgz_;~{8OVuz9 k (hkt;>L{:{OS9/TA,I,@\ T|lnoM߹dz\h*(QS* Pjۙ2f@,f.=|#[Fw| lȳ52Im׾ںֻm]_Oo KǞ-;Q׺ji;^) 4@- =2>]ˑ+22t^FR O0ȒfM/ԳF]w~ x!xz>>: @# #:;|<3 "H o_>42|S.H0Srt@0Opd u9 FRJ:GrB/%Y!<iQ33)4kxrpqX\`$(8RP*j010hzjXP1rqB[ZkXP0H <2i121r,ſ?MJޖm^UHM&$<0cĬhCL!(0+gόV:lADžf !ClЫ>~r:@i2<1`"CD(̐3Xc&b_e1 7DC. ͳ< MD%2J8Sҥ>8cjXƬFnf 'F\9fq\ftε@yϹ'0+8PܕgcK}qG鍼K)y@p?!\NBZA Ӱy A a NX5[ .0_qj1G4pFgFEԂJp<CVԂijK/3L1`,,sL5L3uDK6Mr(˓21* |jM:ts MP6N utMHl(Os*ooPBLTSO5uDUWsAR_X'KsOCu$XcESDYgU6ahȕ x@=@`ӯ\ss׽6]i=]-^t:UW8`&_>-/ n]'bV^x[} aӓbOFy8ߢ9qafoƙt ȹguNgqYcZ^)w䦸hhJEj:ky`kc~X汣~ ;oֻgp+k><[H4vm9nn&OG=uO. oǽ׿+t܇G]w{s͓~F<١S8d$"O~fqg:߹1Ĩ pʒ_Սم:AC? AM H2 Qyrt ET "&PZ<2,R4bhFRAv2&u%CcIq-SN^E7)EF7 ܋`K 妴ћDLZZ(l&# d4!fX(8Ab!FDlD˺BpWkw%21e&OaBcȺv^[B.Q1𓗛%6:YЊG$c$9:"Jm{W=?qf|6-Hה&mjd5vQWWUj\F`z\$wf dax6LaRrqH9qEi#A@b2揁MءiZ\dVQ2# +OoT2bYHJya~Se3HO^X[jNzSgCZM|.wfΟǬj5ii` 4i5] +K({3!AS;Yr㒨0ؒLɪZd؃6,&JOWkø^p@ NS6oyĻ -ZuW7kFc9E@ՓvB=,0+n ۣ>b,qӻx=*vi\X,pRv_"7[>oG}s=:WX}_{-b{ ¾vo}@ cFLQAg';77<γ}]S˞]G}ةCeohi\§~^Am--|7]q_գTI~ӎrчȋȌȍȎȏɐɑ$ɍ,DɔTɕdɖtI<ɗəɚIɝɞɟʠʡI)3ʣDʤTJ; Web Techniques: Figure 1 Figure 1


A MIDP emulator.

Figure 1


Welcome to my first WML document!

Please get in touch with us! We are located at: 2001 Sunrise Drive
Wilmotshire, USA

Welcome to Wilmotshire. We are pleased to have you here visiting. Next

Please get in touch with us! We are located at: 2001 Sunrise Drive
Wilmotshire, USA

Welcome to the wireless Web. Next

Next

JFIFddDucky*!Adobed 4P     !!$$!!0///06666666666  ""  %%""%%//,//6666666666h"24 !0@1P`pA$"3 !1AQ"2aq3Br#RbC @40cs$PS£1A @!p`q"!1AQaq 0@P` I/eGZ:U&|`S3O ?q>kC~Z{a(k9{a1A-Q=3 »<X" `n&z.K<.ܻmܻR(X`l-T&Ф+s@F69`rBL#L e`R\+ik0uU8UyAHa@{YYC<{)5HV=[dh11зAzk2E+Ny VCPe5SPe5SPe5SU1X=+Em4Cu3˫$Imz1Zk2prB:*CD`F`F`F`2+ikN0YnhGd]4Y!"bW//Lsр6\R!qH\R!u 6բV\EX,٢ʦZk2p+fGǏ$' im-* 5Vj D V6=B|@d5  e5Wy[G@5Vj +:̭4Ӛ2+W>@nRucE+i`W;32?ɛNhIohNc6jH;)  $^5Vj +!R7m_5V2fӚ2y]tDyc 6UIqT%IpR\@khՀEc{dךtݹs&m27< L32TbBؐؐ*էM4 m.+~Z+1@\t_D[f6e2I9qON%VLӕ3+-JU9àz&&&&'ҲШ*- BШeY`VXeJufԢM*DU_=eWv*ۥ#7Cr ݯъἺ7r &z(d*g 9Jr\\yYr2˕+.V\¹r+W(Q\Er ͝Z5]mᮟvj?_6}_Ĝv-h[Vյm[lu[lu[lu[0ˋ^>-5X-7K-jx@=)/M^>-zb8㗬ǯY^}Ф4JS]:Uu*U֬^p\P8Ȗ׫#&Mզ lRPj3zZ)&M7 p- p- p- p- p- p- p- p- p#!㐶f,aѼ 1K2g}Z=N35lnn'8+T%fsіe-hFZ2іe-hFZ2іe-hFGzzIRR(  PPߥɎi:||g#w6+myI[ l5(%*\*|sd4!RvUHrىwygbd5) rH,@%sz{0 !7xNJ'2=f $d=/dDT2t ؋9#!bGhj_Fi8ĥ Y7bbk 8u 0Wapg.!u M cdw\p;P3I_^8 (ZC*_Ec_QԣB16&4J6yd8TcۣS`b=JĆ`!ɿK"Xl 1QN&THtP<ߥT~q 9,'c^٢1"o kA-8>[6kzs9)BUvc-;^1(U^WuU몯]UzU^WuU목hVJ/k!׎1oKU .U%c$Kou.e֬՗ZV]j˭Yu.e֬՗ZV]j˭YM^F Ko;έXc۱-Vc='1LV<,|vYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYM)HR9(<yXNG$xY$x=o +p}Yj|@ys } $`OnYcG-ֆ dZSՏ8>żm٤z-FIpIFK3mpBJ?2$B=qkTf?M *Yɭ\C;R6z_Eyxmg6.N݈AzS@qگcZm G4Rū#Z2[nХPx7|QGVC(dM^ryg eץRnUׅ[1Ko2 |x Jpykә?)} _fz5cahO"~&W{ 푤,/vaU,Y+0O9Pt.ӸwN];qt.ӸwKo2ԓ4PQ)<Js|}7MɱtYHU[)?_Eyx~؂)5a'Nn <]IjKRZԖ%-IjKRZ*_Ey-ӱzUY('/qט'X1^7,f\ې2R:lj,O/Œp^5^5^5^5^5^4@ѿKo2S8 |4u#Ũ2Ȥ/p@1wɺïő#[o[o[o/Ko2RAJqRAUZw /~~~~~~:N2@Cw @)iNQM3r- pCe2!x<`֖r/%\׭\9n}ILdžq@N#lD$<9+H}LaLrmqLÌBxTcT]ʋQw*.Eܨrhrhz$-w)5ܨ]ʉRw]ʋQw*)TػXvMgb7vb5 mI>(  p%=;{Z+]$ơ dZȵ rky֌e-hFZ2іe-hFZ2іe-hFZ2іe-hFZ2zQ2zCXxq$춒Ki-Kkkk5k3\fq5k[ l%[ l%[ doF:9RF-$5Jg0M1$CFςL aeKq-ķEc5ς|T4ZNG2<&qiS4S3k2;˕)C%dhQaL_ReQ  ^FMQj&^F'jRJ\[-ucu;PWKKE?INsYǎ8n(|M?ԑפzBzz$I$I$I$u_Ipns>*L=[?,o z"?nGfdIykБ6xy5ԃ%13TD)tf3sr[8h%N >^W+ߕcZ}]L+ۜ#ZHhi^AA$P2:fH'4ҍ.(Bڦza˓dtmíbr)oacxpB^B#G8!̓hOc M3p.I+)pݖ)FU|nL(qhsMc6YpKjoG#G-Pq7[{ND/V-F0H{+7q\g$AwJW:'w:<F' q?<=G{ <1 <'wxGc=|dž{<31 xgcpnnnnnnnn={ctߪ.~ o a^ lDF31.- \ڨ#bOB2b-8Br4v'eMaI#sQWeI㤋Yϴ,c\2cNd>ݗ8h*% iZ.&7lo;cxvö7lo;cxvö7lo;cxvö7lo;cxvö7lotCDZix JJ/j5VOHw4 yUAPrdTb}_u$(4;uJFf+>E! ׵.iM:Ai /ot*m.{)U/ûVـaQ@S[hY9 Z z&c#l6 JidaEG4@wjL/jhsEX ri+$nݭu/vҨ~hxg4}aGT'PSgD nؿL|GI_20 ;H]P\ann.qk $c!n4˴M 3KZ(-vꆀ?uڭ脜nd m;'Rj˴&$:aSt~yNh@7OdO.T0x,sqI}Vyfe0%ҳkB'-`qpOdX`#f+Z;Uos@ư؃&acv/X@+|8MVHuS^3mz2r\IS:)5i=K<"%ZBHPaCts3:uEb˴`"h.)4拊".D:A kn U:1h-۵A q G,4$cn%A<1&V A]#skI8xɋ ̳4de8N]E NZl\4Lc\(tK!JG kDшU0Iq`d\Q=lDך(51̋ߕE}h[S>`c\o8PIκ.KwӽǙ9(ҴvḱQۍtܰэ I!׎#d#s}X暡i(Dr=^SXvJJ^9q?h6"jMF&3Pm%NTPÐҚgh47*Z%Zj.h'ݏe9ThʋT8XC' cPgKŃ ,))p۞A';2FCjAr\T. ʓ2(JN(J!1%#!MoɉpD.) J( 5MYگj\149R`tAvMqah)5)|}v*=KBri5İI$lh!Tn:wfҨ^ PhCڤc0jSx  tkBS\cY25:Q&vݺZ@)%Zqh *9R8Mk'H4'H?tFk)3oPƠ4(2KßYeJ7jT n045Hkw$vNkMa7; VKRBn%@8;0 -^g< \trn.R֢Sˈُ"bS8 D:Q6skI&ACpPSpe}S-> q'D|669;"&geE87߸\J~{ y!Zhiř[04\aiFX%t,dc*` -tjxnsWq.l# kG14E0 [qDuI5AczOMإ%(KAm hN^-tUY fLv~t- )G&c#{\L3T1v2W7!s'.Cq4IZB=;AXI fh hdԮ~G ;<wDx,Y೺#gtG ;<wDx,Y೺  .Fpݶ5((=z<pd3cym-v$cỄ\ˢL܀1iIy1/ ֥M .jRT\Eڠ8`s+^dDZ-emP>!B5UD|_c-^E"HR)E"HR)E͇F7d1F4TV9Oa#z;|Yu Wڣǔ-p_Lep:ƾ!)o?fkMMB,NB#nJJ-.Ц`5d5*?bS3G\*XQO$M5O+5I~Oc;\GB>xt a,EAV %@gI0.jVMqg @[$ Yl{$.٘Kgm !@o/>^c0=aJUz\3h%9"3 -)u覌滘B72:hLә.v,ۓ]B+#ܜWqV!r=FwP~FAB??ԏG#G#HxHR<|>??ԏG"*@AاOa#z;|޿#zY3c?3tE(He{[m hw-Ի/KoXq.S4z"l=㧉WBa0.vdtd 3[1lk8-esawl[Cu/@oysGOa#z;|޿#z&CLǹk HfN.WeƀtpceP iSq"Bk8sKT;<V+bXV+k7C ZKc[&PMhek![/@:l=h1`yȨ.u/kFJyy6{="e|2cxǍMFN p7ZCKe ܆yD_coI.W?nŐ!ZZpSĘ>;kwRA@OɎxpXLòPX[Q=U lm| ;9 X|^鉸*hWZoj25o54rdcmI2&;P&k( 8<ءARcka7#A1(ˍ['VFVWR%0^0 u`3D!5!5p{BMb]h6!iUqQ켏QTw]-n3s ̎;hq XRY:s#?n@O ij4WI[x`{VۮRE ƶ<݈ PrcX0 4 X M`xPah pڎKAEp|39||D]Mt1[Bpͭ-0ᏕcmN`qqNFbQV_xE؄=J/УvpZڒ7VAx(噸_ᶍPiZh/°o):!g*aKTVqDmߢ9F16/zAd?!y"[6%I1wc]1.~ɋq ZLlWMT"JQk*ZˎT{ٮbCL7 dUʚ"y14K MTTnLSOVicsbeV0I RK2bS"N@IRuAI1ˆti_ {Rx4`2Py5ҵ=Ǐw /-i&4Uѩ (BEOL +clxF7lo={cx񉕊Lijy5#6CUMtBҦ4F!E"HR)E"HR)FR)E"HR)E"HR)C3o"uʑ_j8msvK #hAːqh9i6 a ~+rntޗt?#T ,ew2~˶/¨,i:1 g-N#*yci'# @DRƵJjĸ6ZrNGO:b<ņ.aZ)$RLn@U?4:!Ǫ'EҊA +bٝlf<6Z^a(j3?/˜0Z Z3;Pq~$ KqeI=GL&Ͽ2 \HmWT\)1f{H8**M qokpG:N MZ(Ui\'u7!#\J !;HAhJ&v;a .u\#!ےĻdtW&*f|x>*.v~R iqNAe D(R <"\EjI6͵i"ZaCBmn 4ǂb,LiXTU/ST81W sck7aǵ dr7qFڭa9FG_vCbלD_<\B黦xmllUь0A:aqW4vfiOjAb豓ψ*Uv*ʬ*V2]KcȶcXw X^dxxG.xx=fYl++E/0gX2bPx J97.KYݹ>Xɳ;UHmgl_TVFn8-=%OkqSkV"Nj$F5ٻIR-m)mRQnfܢːr,cfVPRiDڌőfcF+#Zy⽦\Zw-w0s>hd$~@C'2q%uCk};y:J*CxtHu|DS ?IXk>{O=B_I)Sg{ϠA;^vzyz'k;^يHt?W ?Ji5{C:f*pdK<YEѬ@%̥UtJYt6 Ft(W67TRJ+\r˗/]߼K%dY/;ʽgx(hwQ(J#_%J*T\r.[-\r˗._g)ocB ,%+{f)b?qߝ)?`Z?'/𞬿//ǩw 'pwI'|wI'p2 ݛ>*UnΨ AMni٘PPc3 ;p!:]x37[E蛽Me=? 8Yde3 YU*2Mc=(4 l;ʬjEdVUBCX6>I,TAlTY`3!2ևZP -13 DF&>DL-s)S282lũ$gR*CZP$qB0!B!B!B%f<#ʪ8^gU\+DippA wlT"mqD%5K (ԍ#NҎ+ٽ>H- i Еߙ]y>lES|1鶢53>M>E>u>u>M>]>k:ϴ>Ӭ}5E%2UqBDa.ߒaL`q 8OrxRQPUw0€g: \,Xn.,' bRlpPlq\Ȭ퉈R]Snj 3yi(,SE1 n9PL9SYH:(pL9f0θC 9Ԉ&,uk"y \W;WxOQ@FeمWb Ph#;"uFa m{LjXVr"[aK|q>8O'|q>8O'|q>8KZmݚ ~j+:`j&[֌^ٰ 0ި@`fM;,"$YQ MG%y~c*WDX (4,<#.@hӂ:5 ֺz1Ad[MY,Fċ`w+ꭧuF(FZ,EPedY,K>K%dYMCbcVRo皔Yg1F g^.js\_e2Rg,ƭ B`XAZ֓B-PUwM[-„8@-mYf"EA&FPqBܥhA&7yb?Йd[k֮ 8#^^qѰfΣ@շ2C rŔ1p-΋j{yϟ`"n-qX!b7bHtK B.k +0 Dy.R7-]5U*2iXe3SXCQ 6A+<5]5)Ơ[A2]-˄W[¤FEcR,n (x"Ўj,lis=% $ଠIu r4` yIdը8.%es V)R ċh)W1 aKi-juV=#҇;)F(@h<46+( rmW,;\81 i&8E!4 ]V& #S3*[yħ+)h3xkX%Cw-h* h 7S}bwm dlem 3bUmHlBmp9ZtԳ!̾#lEZ[]5 CxqP-UqIg’![X0Pb7qG+ȁP,H`!J*`"(! V`kb@GQZ+hM`j|(MaӮ )E;1HǨhVu"C$Df,e*о241Vt+?q Z̀3,7fBw n=rgY5;GGXbȬ +`p2zU - ֪& 7/xtsBhCkf^E8hC(&l~V*#&+R `hXҮ;1B[M6ֵ* 0HJ/Ti:.խRjRhPl32UJuJ#U1["Ѽo1%~CvQ PrZ; X rm/@*r YQY+Uyd Rl,v0(#g-)&=0SUzGc׭mʷFPѠLGbt8OyIRh(!KV+tzճvA4a3Jhf2iuS)e2LS)e2LS)ѸKctF` ZnKf M{TZp2T"2F kpY몫4yy(*z )q4 &O 5ft̑i Io/-iDX$&Nj(ILI uENpk~ VBEH8#BK]Xmb%}}}zN]f;mǣq6Q)Iz)7Je w1-C)U]v`hKV_Ptc30CRk05ڥQsU9gBkU4So`RZ߬Zj$[am)urH4>ɪ-$%%,aJAIdTjG;y{w?^׼~s;y{w?^)+w֘?\z7l,5bZ6XP .j a@Z7Q jDm@AJ ..i`BKkT 7^x ,X،FM.+ ʸtttttttttttttttttGxǫq X(,9AR7qڨ6nVmbFƵL6;v 6ŝVKGBW*2SxB VpfʌG R$ Q|5j,1&tUmXTy8)PNl6~--i39=#yƒuObT%}CZ.xZ'QUȰوCBXqn **L봥nkmiGS=*Cl9I!DՉ T h\Z +4 \AELKelS*|uz^sw=y9;sלz^sw=y9;h5`{[ Zt`, P94Ew)b$*@.J<Č v-Ѯ4ƯiJ73i,i-]m V$MJX H*(nQ-1Y&Dw%1 XZkAYLcTS5Un]AkѨ5X'I jXf|V $:6Rs0D*ka)o[}¹h(SY -Y qY#BXX(9pKsQ JC&SSl HkG7yy[<ւmEaj\A1g*]n3Q2X-Pm\/EQJ p&[! s۬y{O:=ky~30_Y7DXڧ6VQ[ڍ!X  *5^ﱈJQ*2 N%P)ԞlYc\xT:oQxCqexG`sM^A7XaA]U.ο cf(ŏZtc~JR C0^glk2Q(skj5| ԻFv槷+C\8, l_m@PUU+NHۢ4IkLG7f O;X*:^Zk BCS#J8<}}:89pZNa?oX'I?WԲa+&7k('2w` `э&:DaPGdu; {cָ'_?S} J.-h:9:}]C ٫*m(ІEmU嚾]7)Ms&놮6H!W)て1mvÊ݀`*VcF􃢹 f@xZ w(F0Z6&E\:͛6lٳf͛7Jqkn_ǭq:O1O~Ec0޵~5Gƕe4Xj?/WK)@m:Dv u#~}.̷e96pg!;:Y5-]& SFc]~w4%Ig$Y,rK9%I|YU൶FЌZb\+Wd]%vJ+WdɎIOYOYOYOYOXTE'Z@"fd+;4D R^kMPQ!Ea6(~s|~R5UM#nk ;4hVӮ}\B•j.NTML h tXVZbCA(لIEjaDjӢN)kC] d(@ 6[e^X$]ΚKv_&tf!iD P]]b 6P8i^f7u C<B5bc1T jnUtSwyΚΚ((<4ӷ `E\,(P O'b|1> O'b|1> O'b|1> O% ,[TB4P;FԴz's: zօ$'y;NwI$)Nwsw;w3w;ws/d J .j–T mV 9$4&pw׸x]^*Z*ơ<%q4ʋajЪ-uJT HԳ j8@EE<`VцW|AR oqoF>]Ӭ;mu0w%x!Dmv]Mn|5 IXZ3h") ]4PЎ&9 qx\DX[.dVCgYHd(w`3 #04m$&l/h!ؠe5V:#wabr]]JJB%,kZ8gZA4wѢ&IZQS(0VVets'>= Pޘ6ct={GѠg n$Z"LNB 7Q ׇ=t8RK\cE*r{ZQqzʁy3?pPB:E ~XiE-LXTa³;߻讳kWyZ{ek3sa5,?D= o"õ*M[ ŷn5 Web Techniques: Figure 1 Figure 1


ThinkXML's Management Console lets you create XML applications using a forms-based approach.

Figure 1


Web Techniques: Sidebar Sidebar


The Battle Lines Are Drawn

While Microsoft and Sun get most of the attention, there are other companies trying to carve out a piece of the Web-services market. As in any war, sides are taken, and it seems that most companies are aligning themselves with one or the other of the major players. (I won't dare assign one side as the Allies and the other as the Axis—you can decide that for yourself.) Many prominent players—Oracle and BEA Systems, to name two—are squarely in the Sun camp. HP has Microsoft leanings—HP cosponsored the C# submission to the ECMA, for example.

One major player that hasn't always been clearly aligned is IBM with its WebSphere application server. Although previous versions of WebSphere have been nearly J2EE-compliant, the server fell short in a few areas. The latest version (4.0) should completely implement J2EE technology.

However, disputes over J2EE branding and Sun's participation in standards committees have led to a bit of rancor between Sun and IBM. Rod Smith, IBM's V.P. for Java software has publicly stated that, "IBM will continue to implement the specifications for the Java server APIs and to ensure compatibility with the technology specified in Sun's J2EE. IBM will not, at this time, support Sun's branding strategy. We're going to do the code, but not use the J2EE brand."

After a public imbroglio, Sun and IBM decided to be friends again and agree that IBM had a right to use the J2EE code. They even added IBM to the official list of J2EE licensees (see "Online").

Of course, WebSphere is more than just a J2EE server. IBM also offers a package of Enterprise JavaBeans (EJBs) and related tools that make it easier to field e-commerce solutions and other enterprise solutions. Some of these EJBs were formerly part of IBM's San Francisco project. Others are specifically targeted at particular industries like banking.

You can expect to see this as a trend among the server vendors. Sure, they all want to support J2EE, but they also want to provide their own technology to differentiate them from the competition (and hopefully make your life easier as a by-product).

Vendors like IBM realize that technologies such as J2EE make the server part of the infrastructure. One opportunity for vendors to differentiate themselves is in the tools they provide as part of the package. The server is on its way to becoming a commodity in much the same way that physical hardware moved from specialty item to interchangeable commodity years ago. Sun already demonstrated running a single Java application on eight different servers with no changes. As a developer, that's comforting, but if you make a living building servers with proprietary technology, it leaves something to be desired.

Of course, there are other ways server vendors can differentiate themselves: low cost of ownership, high availability, and support to name a few. At some point these reach saturation—you can't have more than 100-percent availability. But you can always add better and more productive tools to the mix. It isn't clear whether anyone other than Microsoft will be able to completely offer .Net servers, so that may leave components and tools as the only place to compete in that arena.

Eventually, you'd expect that the infrastructure battle would die down and companies would focus on bringing you better tools and components. However, this isn't likely. People still squabble over Windows vs. Macintosh vs. Linux—why should this be any different?

All wars—even long ones like the Emacs vs. vi struggle—eventually reduce to a simmer. When that happens, you'll probably be left with a choice between Microsoft and only a few strong J2EE servers. Until then, you'll have to contend with a bewildering array of choices. One advantage to selecting Microsoft's offerings is that they're almost sure to survive. Selecting J2EE, on the other hand, is certain to provide more choices in vendors and operating systems. —AW


Web Techniques: Online Online


SOAP
www.w3.org/TR/2000/NOTE-SOAP-20000508

XML
www.w3.org/XML

SETI@home
setiathome.ssl.berkeley.edu

Distributed.net
www.distributed.net

Microsoft.Net
www.microsoft.com

CORBA (Object Management Group)
www.omg.org

JavaBeans
java.sun.com/products/ejb


GIF89a0 c4`\[VfY,9{Q'%%a2zeX m@n?̿󸱵b6ǽ|i>>,&rD}^1 h9wtr g5EEE!,0mH,Ȥrl:ШtJZجvz1(zn|N~e.1#"1н۟#/ HL>(T(.#JT̙Nȱa"D ɓ(Sj/pTʜISB8qژW CH*lDȧP.J 8hUկ` +׮bӪ]k kٷpxeKnZqε˷ҼyLX&^eP K,0bŒ8@!$ Q6 */b#-0@+V<"Vn`8pf@; `h$˗>9qndȰ խ|ٷ H } g  eXUzu _-` ;&tHPp $xC *쀡@[=ހ2$ T@ ) 82x@ 7pY2i0>fMa{_ipufIgB)x'#'A1AkVR l@ćh^1ʩ6y@$p揖ѐiz\A h6"j\04+F쪎^pJoh(AK*@m40f Qr". "-Zn(#l]+2L4 \rr.{pA.bB)[ImC;StHOt'  af[iQY2D`O댁eХv^ q:<}Yv8H9L " @T' T"eMzQUG>jN`Rވp`+9]Q-6Q䐉SpSXO}N! 5 }*?,M)Rv'>n2A;JuE+ut:hGc8qZ!g`(&T`WI_ :A#Pk[@1iUm b@#C@!@%A|HJLNPR6S"=EE-( =@m'H-- CMA" K7gͷ+"(L]H $6-2`LT 2 &Ɋt(|ա]e I-+-{^3L}:d OR "V\b$IӜŒ7#P 1<|! $ F"-rfga V(sI!0Av+ gѤ֧Y`M Ƶ="$cw.vۅ4[tav-܅' 6rG9$b#MAupݫ}X!$`drjM`"6}L+b@x[-=FٜۜύŮ-r'ĝl]Χ)dL7MS@Y!بw>e?W}N;)MW _Y %p?P$P!޽$(c%Dq\~oaCbG~W)v"0a|3̊-F!#:!%LNRHe<-%B3%-T`?Q4]DA?.!p'1 @?r?@Z#S"?Am*/5&5pcP3q,nN0. eGI 9c4 ﲾ!Ox~Z`%p2L-p3.> ={?D@&q/ @?LnE(Έ; "Oxun?DWʥGA}.V}Hm!Donqq֑O۠?Vм,7.2>jHڹlB`bT6+PA;*&%XA~X}F @[ꑘZV=N :6 L* V:L~f6 NO+XVHB*6: >>H\&C~ZZ\F %\(< $(X(4HLN((<rH 'd @80 1eOʃ3 Ճ!\XO e@=4c#(L2'O9VP E; ZC-S @!sTT:* @ K pK b-up ʄ"JԱmTjŏV=S00e<0!+',AAmPg.a tԄtũTXCAd)Pd~},(h.UIRhAl,,Xq$hLt,"EӇx^JP| D*8 HBt0** %&"ZX@*#@". 0 F iIq"Sb>8;";@ 0 2x!k҃)NiMAClAI pA!P{-R{"OʄJk/2 XSK8N›c 0B+\2pQ#0a00>NCl2ƒ `ɬ0A^e'0脂ȸ < P gv* <qxXp<6D"ÓIo)}*<(B 09K mG"&l#5+: rq|ȨPj{ Xx`f2Ѕ#'(2X 4c0׎\&Xbķڎ%4S6#W*8 Tc+  jjq9 mc&w ˢ=Xdx%$@q!LD*>vxyp"Ǧ< 8^L^w=As x+~ Wz~(8 5`)(ݓ`'3v(jAj LA%b'91T6pA @NLқ_{@oyoXOM!QdF$@j9 Z y9<4ŠA Frh? T0 ,ȅL\L_OZBs@phxr/ $X5&T(Έ$V"MQk!|!zǾYi`&0,ѡSXj%$X6I",ii6ʒ$N!ˉxRCr)c22LHah.y̓e$g#!IK|&,A|2ɤ'[$'-PmzV݋$6pP!t4eG !iKaSΔ5]PMqS;hOuzӜ 5 Xϼ\IIV WF-yy.|4T}_VJҫUHYϊI6Oc,+(Ӛʯլi)Uұ╭nJJ2 T'սu*NVNe1Yn`JXNUP,e?ȴruka[Ζ`EkXM3XjO5q\.mnhݖvufR\w^񎷦%G[=r{_CI_`6`/X9ۯL`Ab%6Qb-vacx$ [J;oy X3򑑜d%/Mv 9>e-o]f [ b6ќf5mtwf9ϙuL}h9΂6hEG΋v!iI#Г1i;WZӝAhԥ6iTխδ'ֵ̚qk]׽k 66mv.vmiOn'mmCxԖun"ѭn_ +sN69JԼm-o+yכچ z/M[W{cx1+iR;$D3}B/%Ug歾:@KԤ3"OK4z^S `IԐBjxͱ~WӉQ{S G82cM  ;פuA j˖T0|R."qGk,VAgݢ9w9 ?pq@IW:Ĵt!G>#B|D8tq+(t@bT٫y30{3j`8 8B041ҥyc`pnpO:߾-8 f>@,$`A!bDfoDF`nbPpaw4,nD`P0~>@%X.*N8̐UFAr0L`0e.U1{j F T` 5# |Xo @ U60 1D.-^Qԣ@j/( #@>\%$* nok8脽p7 %N3>B#0ҥ5lgl~/`!11x# y ؀SwqO*F#CjfO<C8@G|p<QR 15c*-@z!2%R%F&2@jI6Cj|( (Oj*#2kN2G'AGI:1t &K .d.4+ci[L\1c(3N@$kphA?fd &d^V  @-jGB;?Cҥ ӣsaaB4& xAOaa=_(`NdA %? 3)ɠ5/g3n*"ꮞ )PNiM멝BjF% vzp%1L!Q;<LRb @p'3S2v6 $KN!4@cd7Y"U*kMݬPOODzh@|EjF =9G66wE8K X1>\fNAIp*NЊ\cJR&k F#EUTc _@*^@96cB*p`ʲbBaiZaq5+(Mlkd_]Cd/ dAdIe5dQ6f! \%q\fQkevgMeeq6hKgyhghvi܌iU☶jV6kffkqhvlLjÕjjalٖ͐6mGmv͸6Mvnvmom nlpw pVl7r,oCfq]p%wslq@dld]rv]I߰sYw̶fL7l0} Fno " nuW(wePh0Fd*"zyjA`wrx/nx^ko;҂`W<*&2 ;{x%tD0l~CҷvCZx Ss7s{o3E.H%$xE&< b4e }4Kaye,|QXR@6'`nЖnW8_g1o3DV3Fs.Gϓ#ـ]4VL" 6u)&wR15Hg/ippb,nV7XWowGb#tlAd? +fO'1qU#2HI=#! Z)3$ٍ  Tb D@BV> dVv v T`T@Wٖ`QU8`͗gyՌ4%T,-9v) 5B@,LHIp! TpeZ&Rx3@ 2ӹL 5xFmY^ /` (. xY^F UYly9@?Fn:.I `,z`̆8iBdG@!V854#Z 0 02g3X RMa+8K"{+$5b 3ڰ^7镭#@_ڨ+j7ధyù+7tA  #-I=!p@A13Oa>ZB9`3p!PSzqN D8@@Uz.@<9[#9[z_A[Uܵ632$0o,Sa ;Ap V@,~ UMع `OQׄgTvRn -<;ۨPa %L8g?fa#Ɂ6>@,k)H'd> L {d$BLkPU۰<_ ɹxɗj)^n{7`Ѽܨ(dj߫@cS_}7S{̦4ݭ3>Romm~`A =/qx[ýiM|~y#{^sk58tZ%X7;w1eIL{nvd y aP%n =)Si,ck47} 6#+(h,xCu9_Cg`!ţX9 a @0l !!!4 faPd9n@+ "&*.26:>BFJNRVZ^&r4lrv6 D*}(\Hxx():X1kqyqqX@MSWansw{{kzzB\(.@+4}Yւ]H@EXP!DQ.b'? )rs=Zׇx|0aF++(8ѡ ,h ~`o, h@E2# (Bi~Ŧ$ٲfϢM;ȜM(C. I$tʀ+|l0`B/>>|  3"Ū -z4ҍض}(n0٘p\Dy-{|zgT^=#4ΟlI5#ֿcϮ};$|XϣOIT/~P2ا"8t|Bag&Xb:'NC!#X!Nq Ȣ& b7H; ڈأG6c7S'A>e|QR٥x%jY&r\~X`"gX:Yl&"pg5h!|O:QzN>靑mk1\qەͫfgЬfie+tP\`K@ 3o) :6J TmRiR jJM8ABV@ 3 ]njB0 FpbEcFpPcu s $-K @A* cF < C0@O MX0 P@lBMEP/d}V+Yl0tdskjDRSVR8 dXDT\d1 -N@ u;8@J` !@2 GށFuFLR&IJ.PUr/g*QUB&|PD$| R@pB Jh!@A ,N=D(L#ԿNn $p@@BK;һ[\<'< hWx@+0Z0#`NG XAp5 @خ`{SP+X`~#5QU c-> hXBЇP sL 4tsh |Va 0#L /a %PژjQ1%z{H >ĦZen6B`aJk6FJA(5ƱXFLc5KqA举Scs;\f2U-03NzkVn[Y)iJ8ť]YO0IRt͜ބgYw(bR3%3u"4=SH0 1op\.4`1D0,QG&#*(`|@AJB G d ]x(8!\X .v"rh'"5fY"h `_yx NZeTU{-473|`Og FM{ T,Q1XV$5@i  L@8_Ek fjWH~9z)OJ0 XbET;`Q$`38(ψD@ 5R}MP:iEB/= p^V|k i#@Xr dKve~Eg7"~k<p @ kS`,@zDG.g`^#' /!1AX݄ tkN8g1!IpmjVWpAx ]FBE Q 4V"KaL 6`?P&e3cŻ9q8'+O8tM1AM=UORųk6JxVu:4U4ytGVh%;;ܐ TV. rܥ>  Sm` I@T _ )]۾|aPɃbߒ7 Rt9as}msܒ;ve@'%20jD*3Q^w+5k-+"mkڣ0@ *p`MZZfY\#;Obor` :Pf0H ~Mx(__Mnv>j_ 'B(qr>"Z5Z d ܰѷydn{]`JsƅX0qW |Z*^3Z K W8I01uT%\<x@ѿef8\2e8ಕa uD50 *y H@nFPKeɝƫmT3=bGBGVQPNTdΕs @>  @@(%pFP]?ct \[eT5ZXF3(BQ۶)n4yPj_.$1F9IabV<|d`Kf - &nLK+agnI_ffSA@Ҵm4@@@P1@nFEDl4g5Hh:e(YXUԌHjjUz?y&5Ak륐˴e`Z ج,!D\B h@ƪ" l X BȺڂJQƪ6bd6"  X @! 8,Lh 8-H ,ˢ˾," @dd؀ @  t ,z@Bm BL,2-  8 .DむҢh-ڭ^BЫd"XTm~\ n-ܬ Tm:@ - @-"oB -m L ϖ@ o"n,%pkI \.ov.L؀ nJ/ml*/ ,ڭm .0m@@B(]vNm-  Ā / m / D/N*p"oN@@/OBR|,%hk "@ 8V~2~.Bl/ -nK/,.:@ 0m^ ]RK"m! ɚEdO^GX1%{r)ۘ#$2)s0+g*Dz,O2-ErCll 0[%-H.2YpLf8zA&@m8 Dǰ8m0%23KH)G$xp0f-(Āv-:n93 T-İ̹8{- oن 33(3`=3s>C.: 3-.(G#pf 'el4G3B X ۬B,\HB t<'B.!d@8oM7Es!F42O뢯HBl /Bَ-'ll 5(uE4u$2XHĀ&tX\pJ0 1/8X5OrfB@,_KGʚ5h~`/ъ~> c>wf˾~:lXm~sd<, ދ@o~p~/[>>W[@cςw,?_~?$CbxD&KfFSjz6cO; Web Techniques: Figure 2 Figure 2


The template for BCR's minor/nonmenu pages.

Figure 2


GIF89aN_[Z e4ЧQe^00yO慫ȶm}cVୣ˼󘻤ř}q넃A2qnm200pBGFG!,NpH,Ȥrl:ШtJZجvzÀxL.zn|N~d2 ,6Ń6 ԝ˺׶#&#++6"8"W~*\2 !cHŋlZfpƏ CDeG\r 0cᱥ͛8@fIQBDh\j L0,@U.†uC ^]G硁xb߿ ha‰A8p cpH ~`sCVn^N̺ /jPᲀ/pGe["Cȓ*ݠsN4>ۀ p7[ov`E =˟}._]YV`zT 1'ᄕw_t1x~B .L^f j"4@R(㌊0ganx}_ ! АxXwTVys9ׂ $d89` K)9d |`VWgtde@*@hhz (@A|{v:fi Xj涨 NjBZ*6L鮣za~J*0@%*-(jm\}6'xJ0zXḪjnr%\+QڷmuDkN*دή[ΫpNb l ƒ1 R8><&qBʱmȷl"5g%:@\x8l#mGBkG4M|lTH@ -4@pQw xCW )Pnp`Z$$eKP,"9J@tr\MfS  Z0sFS|UpT CQl)BSօ=L@\=M$} *P@C9(J4  QCٔbbj@E? M45^Qki OR B!zr/ޣS 9:\e _"[j!wANUQk T緁2c"{:kQO59<oOdBAʑTR'fϲT.2E¶븮" K{#]IPWqނ`Xa<0bکŎz&FvVފH8z1 R(߱?܎5N^~2OJ6 9𭯎aVE9mSNN;huA[9tfX^̋/^ui_8Rr[;5ȩ2$L?'Q¢C az=s!&\0kYf7!9--\W"Mm zv5` Ҹt+bL7 }}f,/ l`3۴ݥjuεsR^w׷7:eʘ=gVt}0zz~tMOs*fЖ r<.~p|9b2z$oU]5[v&:4F,HO>%Hk8/&s\M_{:L,Iƻ.tź]5;ۺb5ˮi 0Nh0Y]U93*wF_D2^os 3EmG4gW眩~y9o /ֻ>'WO/k S'󽷸?[֤7>ၝo s@Ε+2h_=vDWkv~6vv|Ut&xn2=$UDh3u9:t5QUcN d(ndi 8? (J'pDAYCmx:؁~N7$MU"0=/ f_ Q=ABY$g(kk 0S*uTK8nl rO&tB&BR"9!@ i#FR/PhJ Ay'1Ў")1FBɛ-4y+:95%B V/PN`ə/RSH$Я{~1C ";$[&{(Kh z%0;4[6{8ࢯh /k AD[F{Hv=[ ?KB*A; +QP\]K)Z0 QlϬOQ t,қ10'  7ۿ-m (C | K4-_}9GLs}0 Lx}C$(ʛ8}cL\2*\p3丱` @0}wC0 L<bκ(>p>@3 p,ՌŞP;< \|Tܔ]MtmÄKm-50 tcۿ 0.u`!~* 7Mmu  " Kہ|O_-"JqL۱]{C[;&"K3iNl ݝ4Lk= QNMjɇ|C0m,¤^.ԗ>@-< @ P\2OmM*ohǕmн(. mK]07^+K>n~w, -00sJ҉2 ]8qhM3AJ8_Majr(Zm-0QŎ_6=٧`Ά ŘвSkB$M3fat,˿7ws  0M?8 qd(>pS]dX_B<}1yA<:(=ޟlc/c/諹3(PJꈍyٶt*O-A,ځO ٪(CL  7__RL( vեL"ڱٌCs OV®GQ0_}5ݴPxqE X0m}yeױg׾{wʟݼAxѽl=}{Ǘy7>} P ,T"%m{ )a$dA@kI,QLQYlaܪ 0!/@ R!,iTpA)` R)+|i* / S1,3LS5l7S9; F,o? TA -CMTEOF!TI)K1L9OA UQٔSQMUUYFZUYiVLU]yWCse0 ,!  $8!&k4!A<0` 8wF(|h(lDof`P6Nbݒ%ilW(-WI~-`eܓءXv9?-aD $\r,6ɄKma=AmYvWp(@ܒ 8\tf9h+^yKxe p d\^OR$q֙(;m.ϻ:q O]uZfgw9xo$Ed`YW^zU^$falDW{؝zLWD Ow|F$_~֟`*  X0X`L5; C&PI2aoc,;` aC*z q?P=q( @aQMtxD)N_LXE!f]UF1ʊc4ɸE4c@QuxG=>oIG@c!G?P$NGbRāx`H' %H@ XUL@/@ RWyT(CJtو @Q$Ւ ZdLPDD  $pJB$IzRe: < %.Id(dg,@'/2с4exQ$0%"i` D. lh Jʴ1 lX,$BQƐ$ rhCC'?`; *x,N<4B`/z Tj}$G[W> d(U ҊXD]&1.9@ZaMUp g]kP6h j0ےLU,9 S2 aj1[+Wפ}mCc;P2OkƢ<}ldTn7 r0V#y.{Zے5b^g$ X@`AP> ][ [֓F/ b*W8 (5!_ a2Cنa6"9 `c n+{((lJ\F@kZpϘ5~ f1ډ D %HsIjA H[(AZ1t3 4ڳհ2:`P&WgfTZzfKjX_G&k\Wmek`W&Ueld/{TfWhO;Vʦ)llo;S∓S&mt[Cn H, HQZwx׻ Lo L|> (D<0M4Iֵ*W0,tk 2Yq.@<8k˵7@\`xi,7 DMR}Vr%zӁv; etq@v%A`:@Q`~gDO$, {˻؝H{k(/Ba^VAяl|NbB $>\%D6(#0iD<<`o$ #e1e IAl1Mtc} 1/݆.݌ɍܤq۪1mq0ёq1mqo-q 22Vn!("Ehj!%E h!a#a2#920$G-%U@%I%ar9jDRr&ud''rr(%R2)k )Ɗ)qm)2**a^ &Yj+*,?)-̲--rr.q'2/h/Ҏ//s00,0ss10%!32/)2H15Ӌ83(3A>P35Us5Y5]5a36es6UJN6us7y7}Ds46S8h89'9 )9 s:I:s3;:S;u(<<٨=>h>ӌ?'?htrpL/%LvV, -NVFG8ZeVn`|8m/m$tOjf`_H'x,rsX|:\fFs쯦\V2pW'VHMH 4Oy^gꂆƦ0{vG<(LHvm0s~NNJf_(p%$P/MG(g~Pt~L|tlVTT h]g2)L3(8R®2L|oNXgfg,Z,`h(0MPL T4u5]g]ٵ~]]Uu^ ]ju_^j5`` d `Ef`6[aa!6[vbb\Q?2 z6`> ^#(#,EbJpO4%%"@"5" 04@cfbHI]\ jb, .G# pVvgSv̶$gvlg? Ԗh> o_tp PT\g(nrAtVT 87"h5 B@vNgC@@wt57gCtEWt5nGF`V074WFgn{~LblFw2hvgvh7 @Pjgtv@|7s p5 axf4}HV8GX%zal6ni }Q7}t=|sh+8h)`hh@nhw2-zΥCwSwwu}5w &dQ‹] J"$&0$8&^1x~IiVxuE5TCJ@hl1[%pX`ѾfV@\~xPjLZ@K\D Td`<`j|XX7/W#Y^9B Wus.Hu&suN4%]D4 GTG<*9Uty]|`VB-o/#|2F\>]xƙAUF) U&x$gQ5ʯ[%rNTK0V%8@j!q`TuO]-I)Gb8 l`)gf,%Jc6u(OO8 uvAa<2M㪕wNix.TtbYAtԡGneY $x\Ħ΅r %Px]G@.ṱnijnOw/oncSꈵFzAOe2 }6,``pPY-EаTr/!}N nV%#{!\[L Nn[Eep\Ns$tl:GafkE HmEA<`%˵|˥0ElE̯H2@ؼ)ml -X0ϝnX }XyNЧO޺5:ϳa#=0=ӓXwYԉH D5Q(Y4vzCX ׋]%؃]; Web Techniques: Figure 1 Figure 1


The template for BCR's major/menu pages.

Figure 1


GIF89aPjyYβFIF, \\6G$rɴVBnwP4;261kauAD>&Ε@,[lyYW\Ke!,P Qdihlp,tmx|.pH,8(h"ШqLzvL.zn|NT08I PJIJa % $    H ыIۑJ P[ HH (H+b, )P +`;2H!v=KLh5&À6.<.e'8`D@ ¯`ÊK' 8L{A! .dD"8YHF@Pd!ӗmJ 鮥$&C:jޢ9ҖW1]S]ͺװ(DADmyQ? _Nv%V٘3ۭB{7{{˔Ͽ(h& Lu] IA4@C 2(~!X,0b!,q%HCQC@jbY_LyHw*~idZBnI%Vކ%TB)&~f)lpi_ 5[y[[mFZjP%]e6*\"$JY_. %e ZZꪬ!wo玀24heꖚ lj+N %旓"]mv,3j=׬ǧKJˮEzX}W*B& lYtZيG,W'I[@%d,!,&\r 2+.{ s-<s@-DmH'L7PG-BpXg~YwAIR!ioG7Cj{mx Z.e۫xZ)[s] =ܒ.褗ng|Gq5kWC]CHg-vb829 W׵d%ّoUa(7@o`5Eh A6 H!DD%P?p 7  "!}>L @(mHafѹzfHüU|8aZ>@PB hċIqOhВIl XWnW'fBȠ:eș 1lcfq鯆 n|4d!@mLtE'5vy܅#  lcn c 2d ',$Pe';8f&<1yyl@Qfėp#AʬAĠMC2tNQ7Q$]Z {! [Ϊmm+WCL2 Xt7$ )BFIM f^JŽLlO{?X4+-5y|D `4 UO{\}ÏpJ ``T۫2eց0PUbC/Z ௣}a\/\8!W"C*iۓx9l"Ue"n~66&T0=ScLN;x'"0ƢɪK F=)- #)^2g!tEvkjw9uOy&d<9ryd&9{MV2<+'PF>21leu`L2Nv@(6pL:9QT<IIπMBЈNF;ѐ'MJ[ҘδMB?X-{注GMRԨNWVհgMZָεw^#CmrNf;ЎMj[ζn{শ$s ;c=fvMzη~N6?ax'N[ϸ7{ GN(OW򖻜n|,` C(* ̤9I8P]y;PԧN[XϺַ{`>F˜C.Y]*6Ɋ0$ R;Z7ܑ;O;񐏼'O[ϼ7{Oa3fj@=7|bf܃2 OO|ŋ~fQ>)7ܡ}of?3r]p?OG}"&\/8Xx &}hD}&jpXx؁ȁvFg5Vt<ᖂ*,؂.0282t3Vi<؃>@B8DXFxix:H{PR8TXVxXjhb8dXfxhjl؆npr8tXvxxz|ȆcJK؄O(h}X}gtg؈(Ƴ'_p}ZƉXiŃP8Xxivg?qU<}v3I|#jgV sgX*OXXj(Ÿ8膕HEDŽ׋ SH N`?AL@{1 D'SwK:!W*!Ԏ=8&qG@Xw` DIU)Yr5294v\4莒UZ!(:!)*D(CU?.IBP%@ĕHwY QE{rE{!)LIwDQ # r% 5z|19鄙8%{*xpOؔٓFB@oHwwD钅ɏjٕ#WG 8Lԕx&1{%)Вug{xٗI79}ꨓLɔěZY<8; =u}V9I ēK {<ɓK+;9[?ڿ%z*}꺲۴ ssוDP` P 7l w71Ras{FtPA [Z Xlp ~ 0ɬ!{ywȠ \ǘjx̺z+„gГ/x^Lts' 3l[ɹCÞ\x|: 0q \Ƞ~RͲvh Ѡ{vlȬǽη[Xb ܘ +,Lub O)j\*},:Ѩ`j­L$X]`;ȑƑ[='s *֋U^ Jxis]f};ٛi)LS:o֊˯kͻ׎{w]ؗMh};\֛٤ TX ښݷmOZڧM<˽{|[]ے]ٴM;3Ν2 R,U{Ԛۄ='kh<|=]nӘԍ]Jٕ<4l݆ӍM훕Fzثn9aٙ(㱒t ">$^qX~1h ނ=ÉĄy$gPF~HJLdIx™{=(Nªz虡DnpL)™ y]C wP^+v<`6K>^~>vG{/Y]MƴȳN ɟ~^ް}Ͳp븞뺾뾞ZVv޳i8&NIMlN沮h>n)>x^hgƍ:[7^"0P_ס͇č蘓(5>u^ @nFw "?OFD01? /9^ܻI8nJFwʖt6 (~!/2DMp ف]gҽ2f3I/vmv&/~LV?XE _oP;Ͻ-ͼi߃&*u)Qo-?@e00o>^mh?`뿾08OU/ $ݑ_#Z8?(O `EnH:={Ǻm@ yz'5$|㹎5<x bd|)jb-p~.K9) n7" @\!& e DI dhnNFz~*(19dd^=nbY"=1C1:>dHhfbob4ls7xUHl\iFK_C"6C{ǖq%]Ц^aBA"43qa>qh Fh 2ehP'` JdP@Fy@wfw+{9\1. DSiHW`eVe~1hd`w,Ƞ)Q[zVb t ȗ}G\<_ AXk$x]F1Xzx x;jp!6tb)M X#UQlEd>(XyifHmZmŶdMOjC%u%\ (d2Uh fc 9aYW^Z$IR3HLN ʣ9(XJxRu>*zjBҩ-wRRHhR @b3$7;ylDUYLUZQ.f"2-rG\t 7%4N7"z_$z6P*B3bD.c*sN鰸 s4䦦5xb M {2ա$̉}`9kJ])hH:(y3{ku}/Llp`a#^ +i{K__Z$ m]2 A]4.N_Ā`49}D nD~ӳnPٿھo " [))tA'B] XAlzwDXyѣgYz t@dg+'pQpA\J t|ph71Q(\XF_P`; @ ςPyF!1@H`2$V\|5prWxs1y4/t0@qGDeЉyd ]Fp5 $&8aI r WGQ(?;\Cа(`3|fgW4Zei`za]jfjXmunIkalU]n Tj7J2M+']\e5#o8?`G]Z:wԵ}g 0*o A g/MOMTOCmQsg8'\'6TkhxjZgcup,lN Z tT2*ahZ@IhF+1hbϝ޶o46۹p49O3y+q`9I|U)!.rQ ޮ,1.@}{N&w'z1 J5m4߻**#:Jk&awfie"KH9ms ۓzʬtg tV;Q t6ҙ7nqv8 Ѐuw[;+mo8ʦw)\xNwVzm_C  nr]2.7%`[q( ̠%x!%qD89Ol{,*`]0 G]M¤݈7)ug`E'ѓ^ѱ3]|H#UJJ겍,{@N<;j}"=Pڍ=;o_:{]|N jXl0@Զa-Ӑ}^ 2W~Hc ϖǘ¤*6"35Kn dFƞEQ 4=I0e<k HlhC A`@F! I~l$]c:b 2caC749̚\Pef̭` xOe hdNA KE[-BZpAP a߮,ZfB΀O8:g&:Z?͆Lj^W| 'COq&afƋb-A繜tTpODb9XD_@%'EZfzM*I:#~+Gf؏N~e[Rc5r O*p1!!-&$وg|F``EMχr}`gzHkOߑnN@i'gViLiiirHGL_kRlf:A@uNE !痆NT9Z(zz.@nEXj>*'{0I$)(uf&FNE…Ke8X;hdw))e&)M\ϭÕkLD\h0irҪ'%U,B-`<% &f6ˡ%FQ <|m(K":A{"klYǢ+. xXqJĮKe :dY_VJ\r/ zM⏾+Gh )C,%5'haGi)^e0^,Cc%ϡdE^Ai  *7R$RCu JFhܖCb)jJg[\fJF–'OTM?q9tvںEt&⍍A=]ɓy!q>Bݔ3nɀ*FI yT y谗yap%׏pLAi2[CJ\\VXJLh,-Z\rߢjѽP̫g+?\ ?ɣdOp `6Gg&ֺDwatai?@a^T #ڠIlCJk_0nÝ`C& hjXK_/Z:<#XPlke #Ĩu%?zwE|uzLE9&Kmji [zЖ*t85fiQ([[W3 ߃ef7S cR95~( ps]yX#´X[m[+*1&*357GYaJ7zkq:zשڜ-5*?zzۺdQ,u{ zfz4yN1` XtKS{[QF^s{{E3_lv53G-{{{ӻk`{{˻KҪ!#|+3|;C|KS\tA7!{{ǃ|ȋȓ|ɛ|+_NSn|||bd<?} }|PD[o|;C}KS}[}_[:{ xk؟KڧC*\)Fm394{ޣ{?\G=~;0׻3>#{;O>k~s;ϻ7|)~~>>s@ ?~?~@0?_>>[~#sOsB1Ͽ>?H扦4 ے)ul+|Ź%RY4+f:¶.pa!h#OdŽQ8y& 08 Qypq11ظP@GZ*‘@(*c*'k*tKD5uRk;[*ӆd{[Kagml|%;s1Y0ii9*KZ _/E@f!C/_m qȆg EfX1Hm 6΀8EE! ܱ' ԨzBYUUFQv!!QXLWD'tidcӕu_vGN9Q&f\ b`9x+-A Adr=㓂*Be1EIEQUV 'aLf@+9`ăܐݗr df> W)1[q&}a(UN$#ѰhsJ&ҪWa0DPN$PI$LPŁ6(!hYqj72Ac0@ Y#hC+߶R*bxf} ;Q;($L2B΢@gmft7Xl{L䌑U2Q Zg46", ZLD@}+!E-iFfsϸB{P WX)"u^0YEU{Ş,#i gU^.*a4Lz;]fL ZyQY^WBqK  PV|YJ }QYQ8uZQ OmA9= C n^` +ļI£_9Xbk 0YJkV[PJ]r_"Xy2p F[B-%dmB |Y͸ר-,)S^,♖5",rˊ|bUCqH3Dr<ȠZh#zTe> (2FT3 -;e)@5C@ns~z@=}4ZyӮԈ2wqm RÙvNsY͚T=Ny?VcU C740@/VDSRRv(˕,/%=&@?n.A6L*DEmc[pV0%(ր4hG ޸dX%LEPg%a*IT׿s!Q? ǓJ>g?{ZD,@k09BxnWhPTe23԰ LA*ZQ<.2-Qs)[USa(Bȑ:LHP`ET6G fs% V ; Rs ROO`H/fͥMDd A@ 8>pDg@!m#BsOUb^<Ё^EsUtZubKjXZ.88ⶠEeʷpuN߁]-yg-b/ @L{At$&I&US\>B} ?mrDl𑜑JҐcKXo#. #c `U]b4f؅JjJnuK=q$dM%}0p@Q30XYL,'.|Z#_78DOwiMZ>m"YnPJYsЙqҭDEt7j1ԫ3Ag  kZB:i)KPa0N9}WL8"!y:ġ鰡Y)4d]*5&{-[#NPQ9FXV3cyܪ=º}tb ezp>f8Q>4p&ʹwJyr2-Sv1h粊>[쪄M> M@̸M C+z "aHE7W3`ӯL*,_|Z\ <3MzyE.{ݙwzqrקfO?SgfeAOw>cLܳ$ vxƏREJJ, GJJ(s>3顆"Fim%sL[>fnR|Hn|\މM'}!a|0TSULu3 VE68*0R ?Vc~H'1sv:XN>: +բF:Saցঐ) 5LNO(,)Y# 1c/7I+Q^1?M~Rn]T)MgXvO%DYF IJbflYl\ HF&BEpFi" >`AfH8C]9@P "ŸXyxi%y&R)=i Z$-d4euj )d-PY֙";'Hs}Q 9IMLLK@Iט A7w6cqs0r,xv4i&uD^hu T_)25i޹dSb ʞ9,YX{ CYs1۩a҄ðFd_&uf )ۖ{.f 9': X E7 p`Z\ٝ^5i*SYOt -0b )eJ6 *6e2&)TpeS =jϓ; ns?jNy҄YzګԄʪ5`o9 z@j׊٪ZYʭ Jd麭ʮ*:j9pj庭ʯz:zz,u:, !Kk+  +K%k+'/; &[47BFDL7',: J# ]_a.cNe f^h撐m.|fsuny{f.}e}>肎瀞燾F{Q=.x,0闎陎~Fnꦞ꙾.n>鷎뻮밎>1*N_Y~ v0=찮> .QQ챞>@!{.> ^>@>~,~Ҿ ?1vNEo ' _.>칞.r,N|.,/,q7J_^u^N` ./oo1Onn^" Mў* Nؐs~װ{Od"2_?_J x?=r^ oQ~2ON_gkoH ~A?'׏/W_;/] b0+ۺ/AȰʴt.fo1]nH|9SPt:۟502=nɧ9@åBڂ@ကGJAab#&gN gf'iK+h'-i*-k,U %Gƭ#$r&5v66I7w16y+z;|<|=|>{Ȕ-DYI*%)à MC$qE"( Cŋ<yhe'-( Kj5#2[bʚ|ԨHG;qM gʑ*&tf2bcP__K-D:wZRD6+(4 )J/`;RÊa@+.()y瀿d;rbeo 3g.|y,=lj@no.ӭ7v;rcf!]ͤONV:7&v]pՄc_;kO{=osL5]iIZ!r֙ ԀMe_[54WaL(!oͽș6Qͭ5 @ [;~R/4 #NtH`yE)O6YH I!蕉=ZYWR٥c/6&[*|%v-Ye+v$JB[B޴#!YS,p|B3"B ڙ#o0j ㎊ "GU)2V4i-$D:\J M~*wVS;"P jbfZ2$d65j0J,iIe1tGldZrf_v)k1 Mՙ +vV}T懪}[2SU`# j^4/hJm\cFgJe(@²5D6)rLMiԎS"ܐ[)4Z+b-G#d_Mii/ YFޚmu'@-(_pK8xxyL8T2굇BӤB iNP@$򂣆^|PUdSCgZOYC^>+lIcIFوX`4fr>EiF>eoYz-MǛ_뫽GcVϷYA=yf7SQP&0| #( R`>S fp +Vp %hBhaG`eh0/ܡ CC+} EaP1 Sb9@E-V1W(1v0#;4P< bXqK5D,zQ !Ezgt$; iIF"(GեxI|E@'rd+EiJQZ P-إ|ɉWr0f.@˼-r454/fTA<7+lS 9,U ĖqK( 8$`z&>qZ( ,'6gPy\:&ts(/Qb(iQ,, lHBQ4t?{J{PDaZ`4DuDAjO+LHwlS"$I)O&t* RL)|2BP;pZt9j=%A.᤼*J*%*+ UeE.ԍ.fQz:Aew˟bV6jGYUKl<@(Km9W>khBL\1Wv7k8oGd n'%3YDF1g6Yŭ2lElu jF,1f>3̈4yl-g6`f=pslfAg64B7#=uQҮ[W3<&X#tS rPt.QPYu1djLzu iK#E@j IV3lD.t2vB& `5y +g0!"wRIHs,;2OB']Hx" 53c;{1;L٬=w*VNܖ,m.iWrҚխHU#xcM&ZrƉrARX<*5 J@KݓKmaJSyvSB27S>=N{糦(Os*1:=)x ^@W M0dzI9? Y ӿ*\Ua㍅@*nfmWd}lEB 5kby{T6 ]>Ťī`I̿IΎ eD˶]p\HKxi(QnE@eUg JݨM iȹ@ Kf!GHEP4 u؋@*`jPu lL -E0 &J-Ira$!GxIEU%ΠqJuS5ɇbbDb9b$H$Ƹ=ƚ Fa%F':a(^_l%Ehb('*f-ޢy".b/`"F.$F2[-F-jbp`b%+bq 9L BEX84FDA;#"#\hH =ZTL#K>*d<"@n 9NC"<1#%);LR}>=dG=-mKRL^@hiUFrM[͘(`UpX0؇'0/Q}1UBRBX9FR2~ђSƀ> L-X%PgZ SUVASwDmBl1=tLaTW\Rԣ}V?tcZeF=BY|S5奀RanhqY%WfRjTJU:\]rr ^Zy&IWe(|){ق+5BqUyd eTbRMIX./AhvWxjZe2CwWXYD-7zejy{kOmSbX9GOmUwhBH(G%O1NMnVg-{@Xef|bAJԁfvJMa{׌^jS g5iFlWF :&y1Qg(@^e1qU*g}2uxtf)c*'ʂpiiNWMY%w(k)33vJW^HW/Wz΁O.h¦jfYRاzjBҡ0$''%*Y***ؗ=jfசP+EΪjIj\ͪٷvkq Z뜙kke+I"(+zD#+,2Đ૿J)H43e v '*~"~ l@m+`ckXjmJ@.2B,Ju:î2jOÚ2b -jlĊE|&뫆!NąԚmDta^NaTJ(ޣp8"Bʣ(.I˙˅K  rb_f<F!Ő!|H 4p6:.+/] $M>Ʈ: P`UyEu/ 5Վx`ఠ0Y}]X[]~r-, a$F0N A/ + "䌰%6yhl75r֒;+필#4̴c'BgxH6m~uvqJ׉%fa.Sa=Fs_reRUdB&wqq(2=,CAzZ[9h?U~m騀uW8]@$(7h_T*7kMZ5`S`ZkD٥YںJF4f.G34Q׋٬zJzκ?]4K;'/;-7G3{^S';w ;;;{g;[;zo-X3 E;Z#|z($<0|g!\ȋOi<_jƥ;|oA<(|g|GC|_[|ɻچļgr C=2ݧ;i ,շ-,83HRrH{''>ɥ[B]32PZl3QSʥ*bŠ lhƣ7,y %zq`#>~4>QXpaى"?z8t{?Flta~W҄dP&\f @cMT2D\M ,rnHnL԰!X!S,#C#E65Z4omTdvR)D$\*pYH_9zo 9fL.},c*B/M}9('33?w/$+q37)Yu=+}k7Gv+\n 99DuI,xn8iƞȍ{E1E) {k3 )?7.n,F>Fn$faM2@2ʕ,a XĐQV5E|i ٦C$:9j"I058H pL| Z7IyՆN{[՝+r=+f)`lFYvvd#aSqd#54R MZ K `1pF5ԣ)>gC3%#0- Y# h[7 p;K w#@tƌ\dF]軧yfV PBE2OExO5 'jV|߃w6>`aҷL :a}aPba+Xɋ0Bx+Xc?h!" 򸤅$r9&EdQBO)dihlIEg gIfv|)'Bl:x@o1^<Ţf馜v駠f @:junjj뭨kzheQDqd @\8QY9fP-izKPX{mc);cڛn֙cXkڻ(b* g{ N#cEH[W~%,D&$YJZS4$g6Lbr$ G%D]ؑV򕰌,aX>n%.K\ֲT0m9̎Df+L^ʄ29gR ܥ0iEd=Ss\#!\AhDEH3Lis>=AD}jAe}T F@$(ل䧟r?ىԈAM  HHNʐd{*IHB=㙒â>lT@|$FQQK,B8P:Pi@h&yA L`ðF$#PDbG"n \zsjd`|B)9A 75TbAU:&rP M BF4ŢAᡪ\ٝ":jG2RKpC52:* K"F4>bxdIWu4Ld2|ђ("UݰKrcg oNxoAIA -;;g (C~a οc6U-a@BLeJ3UE=,W{j?w]4a@@{F(% v!0dŠ4 0UapCUDbȾ/n ca`BAʲO j`l |͑~Q F(C'4fw ުWTx0p9a *zwUfIGGf! pԟ'AY`+1En: O:49-)@gLu*v;|HG!i;ZYZ]))/}iAvs'P_@IW&#BWgO^A[}?Ɨ+>|#eP+>[Bڿ>P{ķr_(3:c@γ.^ 8Xx ؀(Yu#%1S؁ "8$X&x(*,؂.028yIr:%JB8DXFxHJLhIP@:5\3Itz\؅^`b8dXfxhjl؆npr8tXvh .2:q3wU3=0 ؈8Xx؉KqT@Tv @xq8*Xx؋(p&PJȅ;;x8Xxؘڸ1>WӉ\؎8Xx؏9Yy ِUhiD3 YՑ  !$Y&y()c*ْ.0294Y6y8ْEߒh  aP"qoJiMNQQ7:rZPN)Q4jlٖn(T"ʁxY\ 0  9y[pܵ p@avm^Ax0Xqƶ!9QV\pq%!tas vq@ySכ9YpW`XXH їU( Oә9ǘLrZVuXf |6m^ _lk&[4;vce'Hhs[IYdp@`P`7ƙڡ:uT m8{zY@[PpɘE([_`4#Y1 i1/L5P_LʒhX `ّ̥flV˩cJKVgUav5;zxz帥^ ѩ:H qX`P^ȠjbuHyW РA^auaʠ а Ƨ:ZwJxs!TPy~9[D(G4 pNO?"ߺ]$$ jڮѬފ3hyi`U|{w ۰;[|]ml ";$[&{([I7) .;DYt3ۅjzϨ; <˳p8DDHJL۴NيAP{UA{Z\۵^^!; Web Techniques: Figure 1 Figure 1


Usage analysis reports. Create categories to gather statistics about specific groups, like loyal visitor progression.

Figure 1


1 #!/usr/bin/perl -Tw 2 use strict; 3 $|++; 4 5 use CGI qw(:all); 6 7 ## cookie check 8 my $browser = cookie("browser"); 9 if (defined $browser) { # got a good browser 10 Delete("_cookiecheck"); # don't let this leak further 11 } else { # no cookie? set one 12 require MD5; 13 my $cookie = cookie 14 (-name => 'browser', 15 -value => MD5->hexhash(MD5->hexhash(time.{}.rand().$$))); 16 17 if (defined param("_cookiecheck")) { # already tried! 18 print +(header(-cookie => $cookie), 19 start_html("Missing cookies"), 20 h1("Missing cookies"), 21 p("This site requires a cookie to be set. Please permit this."), 22 startform, submit("OK"), endform, 23 end_html); 24 } else { 25 param("_cookiecheck", 1); # prevent infinite loop 26 print redirect (-cookie => $cookie, -uri => self_url()); 27 } 28 exit 0; 29 } 30 31 ## At this point, $browser is now the unique ID of the browser 32 33 require File::Cache; 34 my $cache = File::Cache->new({namespace => 'cookiemaker', 35 username => 'nobody', 36 filemode => 0666, 37 expires_in => 3600, # one hour 38 }); 39 40 ## first, some housekeeping 41 unless ($cache->get(" _purge_ ")) { 42 $cache->purge; # remove expired objects 43 $cache->set(" _purge_ ", 1, 3600 * 4); # purge every four hours 44 } 45 46 my $user = $cache->get($browser); ## either the logged-in user, or undef 47 48 print header,start_html('session demonstration'),h1('session demonstration'); 49 50 ## handle requested transitions (login or logout) 51 if (defined $user and defined param("_logout")) { 52 Delete("_logout"); 53 $cache->remove($browser); 54 print p("You are no longer logged in as $user."); 55 undef $user; 56 } elsif (not defined $user and defined (my $try_user = param("_user"))) { 57 Delete("_user"); 58 my $try_password = param("_password"); 59 Delete("_password"); 60 if ($try_user =~ /\A\w+\z/ and verify($try_user, $try_password)) { 61 $user = $try_user; 62 print p("Welcome back, $user."); 63 } else { 64 print p("I'm sorry, that's not right."); 65 } 66 } 67 68 ## handle current state (possibly after transition) 69 if (defined $user) { 70 $cache->set($browser,$user); # update cache on each hit 71 print p("You are logged in as $user."); 72 print startform, hidden("_logout", 1), submit("Log out"), endform; 73 } else { 74 print p("You are not logged in."); 75 print 76 startform, 77 table({-border => 1, -cellspacing => 0, -cellpadding => 2}, 78 Tr(th("username:"), 79 td(textfield("_user")), 80 td({-rowspan => 2}, submit("login"))), 81 Tr(th("password:"), td(password_field("_password")))), 82 endform; 83 } 84 85 ## rest of page would go here, paying attention to $user 86 87 for ([Cookies => \&cookie], [Params => \¶m]) { 88 my ($title, $f) = @$_; 89 90 print h2($title), table 91 ({-border => 0, -cellspacing => 0, -cellpadding => 2}, 92 map (Tr(th(escapeHTML($_)), td(escapeHTML(join ", ", $f->($_)))), 93 $f->())); 94 } 95 96 ## sample verification 97 98 sub verify { 99 my($user, $password) = @_; 100 return index($password, $user) > -1; # require password to contain user 101 } // HelloWorld\Hello.cs using System; public class Hello { public static void Main() { Console.WriteLine("Hello, World!"); } }public class MyTest { public static void Main() { string myString = "Mom"; myString += " is nice."; System.Console.WriteLine(myString); } }(a) int x = 1951; if (x) // Illegal in C# { doSomethingUseful(); } (b) int x = 2001; if (x!= 0) // Legal in C# { doSomethingElse(); } Web Techniques: Online Online


Short Listing of Domain Dispute Cases
www.joinsdomain.com/case.htm

Top Ten Cyber-Commandments of Web Site Domain Names
www.webreview.com/1997/10_31/strategists/10_31_97_6.htm

"Making Your Mark" by Claire Wudowsky
www.webtechniques.com/archives/2001/04/wudowsky