í«îÛvzkernel-devel-2.6.32-042stab115.2Ž­è$>èìOxx ÁÊž€ÖvæsË•$¿|:>ÿÿÿÐŽ­è4IE°?IE dèéêì %í iîÔïØñôóøöø ü"ý9þ?Fp,#²ü,#  B,# cˆ,# ,# \·,# ˆä,#9p,#,#òÎòô,# £€ £Ü £ø ¤š( ¤Â8 ¤Èr9 ®r: /Tr>Bß¿FBßÇGBßì,#HCx,#IDA,#XDm(YDm<\Dm ,#]E,,#^F›½ >bIDódIEkeIEpfIEvlIExzIECvzkernel-devel2.6.32042stab115.2Development package for building kernel modules to match the kernelThis package provides kernel headers and makefiles sufficient to build modules against the kernel package.Wybkbuild-rh6-x64.eng.sw.ruž…SVirtuozzoGPLv2System Environment/Kernelhttp://www.kernel.org/linuxx86_64if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/2.6.32-042stab115.2 && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el6*.*/$f $f done) fi¨˜àI I|(àð~LzKÒ ýKŽŒ«Y [)  .õ ¾ªÆoUó¤º/± dý`‚¤-@ ·ý)WH‘U=‚îUd°ÖÖ%0+aU¦YWTº¯T>/9và8'9ØÖT=œo…Uø[T÷zÕ°V¦™T>&U ú‹†hT oÁT´[T* ]òUàœ,éW] jV ÍeT¿X,w Î èÉà}U…É øo9Ê0 0€ #+gkƒ8 ¬8V¦žYTYT 7d‚tÅU"Â6L v<#¿4hrƒßY91Α§Îsyñ9ãk /™> ÅÐ2M>6#å&ßv· “t×#E1Ê=++¤H¬cÓHvÉAHc Hl kH®bàH*—ÁŸjÉ‚M1A5 ›-W6\„¢i$5aÅ„„\d¢ à-ߎ<=A–s%d, ŠuÑøæ¥ Ù¡“cþ»rrq<B<oAAHÛˆ M#%cê׈N›Ø4«2K;5RJdÛˆC{Š&×{•º+ ™ LJÊ; m›X²W^5e†–ÔÝPVV¥¦c~=Hø¹íÇv××ÓÖßÔÍÍÐÖ ¿Õ¼0Ó(R <¼å×ÄV w..ËäÌ^H Äñ˿Ŋſ¸yU°‘ùÖ±Ká ˆý¯<Í_w2Xib•Ô… †$sTM»Ýd(äK5Q*KSY Ú^ž/šH_XÍ"U†‡q² tòd778 ˆašXk“ ŸyU„ÙHDVö#ˆŠc`ŒÎFb$é 2=³€1¾òˆ>»¥›ÌJÂÒßïs e¡ î Ô+$3 ’äÛöˆþky,e,Ç–¥ggÏÌ £–¬9ÐÊ *Hü-ññ|¦kqqÁì߃îœ] rçŘLº gм©bcñVå+žB_|qÊ=ÐXðB)Ufaff¬fUYf QÛ¹ô<$ä :û¼‡Tê°•Pv•`8Çî½ ÏöÁê3 Í  #ä’ÚŒ!ào1!äuJx ëË"€ „ Â;¾ÔÖꊘÇQ×?k#Äð 1 SäL0"˜µÄºŒ;ÔÄ:±,åºÏ+R&D+”3«åù š  ‰,Õ 6ÜV/åT%æñ÷¯&U‰¢!üÞX’ X\3p :@||%ÕÛ Pø®R) } Px¾¿ø t mwZQ å$À”4µ\œ €æÌõÝòM®éò3 ó% ò¿|¥ígcÄ­©úOÅDåi™ÕEÛ ®ñ!¶© ïZ"[ ëªc2 §*Re\Ï ÀïOF"EƒPÛ ÓÞ B ;N É 2[äw¶afxZf'…Ng ¯ O Zg÷Žë ¸¾Šl?Á ŸvÜB+€Ü  ß¾êH†dvMeaL‚ (" »±Tõ€t» ”M šÎ” Æ!’3 ! ¿—J X aR¤aTe+ ¾» vhC t5ž™¼"!!o­ï =R~ +oÂçB¥ôoS2È.`6¦E‹´ Û`£T†‹e:à á úI <xà ¾OVÔçy`Ö<– \Y î©ÈTIÇwvæ>£'åE[cÿÿ½V#|@ª$QÂ*WO‰= C]ÊöTzÑ©•ÔHLa 0ûim ˆŸ2€ iÅ93œnŽÇL¬78bØœ@Þ ~ÚIBÂÚîér2Ë‘vV§Vë¡}a[%!} W Ùð¶6 qö¤([kºÐW„Ìrçô9cÙ6>No®]$q2– Œ¼¸Ã?Àe\#tÙ\ ý\]M2]8kT(© jxˆù©Ï |üì_- Ké"y—ÜKVMXÖVìf>ñÕ`n£è!ýÇn‹bq\6à}>Ÿï²2+xDXë}cØF1(RÜ›1›_&ü:#^¬Ñm ¹7:ìˆÑG¿ÕRªæ{_—®ÂÕvýnã2s £9P%<…²îãq% žõº$6Bµª:T Œo%Ú™žè’» ZTE“ôÔrè0 ¾ÁzF­ Â{èsn¨v$ªÄ‚ g7Hݽ*a¨""I¦…hYÃSí]Ã!¸ Ûpï­ÌQi- ÝÐræùÇ ûŒ*bæ¡#'ôÌøZÖ Hû²Û™‹q épÁ³Æó6f "Õ3,KÞ$¤y©[Òª ßÇ<ôÅqÆg}L+)7-˜!ó/u¢¿Já o=ýX N:. ì ŒÊÔ%dჅýfÈUd;À¦=øQ÷+ý‹›Ñ*±‰MB±Á ¤r1ÿ¤]ö4ìWpS6pR\Úv°@E^.…º 1­Fa)±¡úÏ8aºÍ?*Løp¾>µIæw­í2š‹ É ÏéKoø ¦Áÿ zÔLº^ÔÓ=®ïMýêÞôûD‚j:”竱¼»Ì¼į̂̈á³*V]°g[xˆÒdÅݵ ~ë+ ÙKzJ&" ¾OF<_T@:€SJµ™ RÉ0R¶",†ó–C49_Ù ‡ ”Äauø1ˆÛF t"¨2Ê ½' ØDZ À Yü /èŽøjVj  ðò{ýþþq¸f•È ÊÞ ½ÿ B ‚Ÿ2Ó%¯À¹, p x<)Š9…óQ"øù@ á Z3 –-š(6ŒÖ=ˆÝ×Ûª-cã‚L Ç]û¬³Q KÝ)[7'~¢tV±¯§Þ%Œñœ $+  ¡%­Lr9EL§3­§Ö³,}9Ó&#3#*!n }%V)R ˜p}³2žKöË,gaü˜]† Ô:>kÍ+ÎÝ$¦\lp|1Røt :(ë¬]}0cˆOë  a¦É°£ „ßYjsØDFÚð FüÛ$¤dîBT ¹v$[} ~ 1„•Õ뚀ô¯¦½HÌ£;bê:Œcí ¡Æ—=‘-EÚsZÛVsÝE¶)u4ßÂm Œ ¨®´¤§d0jˆ ìëDÜùuEŒñW Úv‘CyÈ| „ ãC.$ûDý®¶ {C™ñCÙûÿ΀υpÓóV ñï=¸$<¦]­ï‡™ %µ¥øT18cs;$§d ãÏ ¥õ–J‰#€l PÞf‡ 7ÍÃË "2Æòæ+Êè´ÃvvøöÇ þ M1Ü š+D Ð3.Ωú0,@³eY#‰<RŒÆçsñ.- ó&r¢ç\|õ0@î$ÿÚâqÖ%g {5I ÈF, ×ÑjäYœ–Y PÙÕõ[{ ¸ŽÑ ~è9é¥íð#Áï z Ž Ç¨lÔ‡ŒTà ™á e»© IJÛ٠Ȉ ö ¨óIý* l/oGWã” ]VBŠùª2¦¨"î" àx" å·û8ÌOK×Õ_¦½`.Ý¡&‹gOñ$Y6jJÄè ¸ 4>îo.á UåÒ³p¨˜=h [û$^M § ?z “#Á $$~ÎÛ˜ ®¸ 1ž @ õee´‘1 Hæ4ú¼ãg%È ãkÛ8Ó12±j/kz ÿòîÛ Cžû É(¾#ó[í¶Ø ÃpÖ,  üÀ˜ A ¥+ ;uOV‚•Uí\,W ó!Aë°ç"¦ ; =4€Ê  Ò9ÜÉ Î§" (ÈÉ ^ãk°Ë r o'1µ–(vŽxm;IW|¿ýèFyÑ ˆA2õ$™‚ ¤Ç+C/ C@+þg èjcB £ÿÍWô Àvš+$4ÃÆ{;zB”53ê±;&Eê¨+mϧ§2`lŒà¸o\ 2‘7‘üÖüL þN ×eé LG Õ“¥1â€cO>Ÿk§èq(¹ € yE,¡¤ C €0}(2' ô7Ñ)æÀ” 0Â"ަa1Tþ—-8í0¤¹ W-•5û"gŽº rWäJgn QL-†4æ¼Òb= ð n‡ z0çVh> ø Ã#qõ’ÃBÎk;Ý+À±Eê è(•Ú«)¬ d;E VLÞ#b3"k¥P›X¯Ò<Vo()a`N¯ Ç t8Ü Ù  Ît*]@bø"K 9 |é ì:œt °* /€Ì»ªkq4^¶ „¸i¯M Âhô 'DÀ š¶¨ã ©-Mgë O•0€³ ô((€aÝ·.‹·0 W Oۤà <2¦óLçoF 3"Œ=Õ;e%Ñ*,±zŽš ™õ 0 HIKZ2."Õ ŽÖŸOH É“ ô#VC*Yb©pßl“á SI¡„M8 ¦:@øÃ)‚I¦ÍéO¡'æ êr Ö@>’‘rÕ”< ?\ï€Úú½¯l9-;w ¢Ûž2j û"²ÓM(š"BÊ’†F쫎)$CŠOŠOy2Ñ õ Ê–T<î)¼ & â@Q˜ª9*Áti m pö’-“VGAö¯K£ 6 W«0MAõ ô ‡ Ž ­d©· /11' \Új1}&t/í ãA÷Ž zÐŒ~L¯uú7 ï99 Q7ÆT!µ' Ï™b#ƒ²%.§ ù٠퟇5þ°À Lñ‰Åª7²É(3ú ¨dè%Pv<Ô ´üöž0Î0G^þ.-PÃQ=Z¯§ š‚üMc¦ ; æß* ÔvjÁK¾U? gî ßUÕÛe*Ü#G NL>n™0 Â$Ñš›9Äô/ » (•ÚôæÝ’ ç=`UJŠ(™‹„&£ &î ð^.¾Ì¢r>éÉ”6G  71ýõ~Ã|3?Î1 Æ0\5Ð sÆÙµ 7.'/"µ ÈT—en0Vk¢*ŽÛ(/èp½ õ@ “%ºÕ˜Ÿ N x,1[•ßaŸ —ZiL94ÿm «Ú!+b Ë׆.º-† ‹n³ N'– qž34œ<ä¨PÊL%€ÊÒáä*m î85’ÖLÆnà ÷óW0)èkX’Ñ­™ PmÐr »ÝWÓ oÙ Ñ™à!6œ ñ ‹ñƒë -‹Ü8ÚC ŒrS+º%e1²kýiIf »£D øh  2†Dt/feoèv¹' ! z Æ ÕËA7ôšáîz—nFÞ1O¬BÙ1°ÿƒe µ¤~c}éžb‡Þ’ 2}O@ùÛL Y¾£÷·|5!»# ´5¥ÅQBÊ1'¹¸ß!¸‚2qf K #íÕ8•1Ã&ìX \™‘¸^ Õ'¶GNHžy8fDb'] ÞÏÜ} !J ¹bLbTa e– €*T]¦Æ  ! STïb Í Ö¢ É?ƒ*àŒ a/€ý L'áF ¬Ìþô– G½“žŠ;öÈ Õ?Ó NP(Ö^ö’°Ÿí!©¼z”W D+ŸXø*’»17 ­'£Hê6! ?w¬ ²ÿ$M*‡ {{Kƒ#7„Ì\^#uUîhçcA: .Y%pÔŽö=2M K Í¢c òhëŶÿ” ý) « S á ¨X5PÙ1g= 9^)"£&-%¨ŒSb zd±U.«;,6÷ p UâN3äØ#‡¸•‡Ä‡|njªiX=Q"µ†Ÿ Þ/™é*q6Õo)#Cg45  ù ÛZ êS@Ï  S3:(J‰rÊ aZ9 _#³UÍÙ v†íÃ,w¢$f;Ÿ<' ˆ3½¬@ ‹ÓìX E¾*óc!M1Uâœg"’.Þ™ Ї)½é8¸ÿ08|Õ)£,ÌOh áúIÐ µì4¥,b׋ۜ—™€o}B @<«h–*½1 # kÐF ̓QÄu ™›oJ]€T°'›O³¶\U ìs %» t´,·Ì ê¾ëÃ"Å8L*bí8ÏPkª1º iâ 7/§X §˜F%¯ i$x™ŸbËÖ,;e!ˆ` úì#E ¡ˆE;i‘r¡d_ÈÀA7î#[ Í—x ½%ª88«FÆñ×)?‚;æT/ ¾`¦$D Sð7¶Æ%Iš¸ Æ z 7X; …“ËíQí=Qå¡5d/ÃCí&0å +sÔ:†!¶)ˆ¸ Ã\_¨7 »a5R1ç , t]  »œ=e$(7¥7' >ò ¾ÿ'B)HŽÓ˜p¢NcKCdÌuK !˜¹2 ›#%AEeM $1ñ} + ¶™z*_ç ¥}õ!r×ò B‹ò!Õ þñà[û”û Ç  >K¢ÿ"•}÷S¶ò ²3¹?'ªþ €U²*fv"Z‡34 Z `)X± ?ê…'tÌ ßŸ$éN\ó>gSéZ9Ú•º¬'j³FQµÆ â!%´ Ü*¬ ‡]/wÿøG§‚&}(Œ¨[u’< Ç)Lï#y"òEŸb˜Ð9 O±-û ªVXX& *î*ºu-ÛÈ& #9«† ­³LÚ© «R0õhÆ ³~­Ž~$’; {– lÜ ²¹°· nå çÅ­(>èŸG%Ò í’HPq£Áüà‰žŒ5عj@ ß‹$Y ±2FQI-(y¦Õ2:¨ m#í:ÑQ*> Âó _caó‚jÍ{fH5Wd3*¹øÚµó¯…”ÙÊ+P/ª%fB²à $ ô9Ó¦%©5œ €ž ×$„K: o\Vé Œ> Â~"W®Cà) Ì1ïSƒ¡"*6tQgì\$ +˜~/Î ò6V‹—gÆâ!cÑmé6}")L¢sZ(Ûy³ ÍPì„Bê Î ­ Ý› ; zjà É1§fo¡ Ž¡µú Ô, .]ª g º 2Ù€BÑ`Iãåw… R7Â;á W>oK\>"-W( ª'\=I~k¶ 6‡GZ¢ž¤ 4 ¶T&b1Š Žo) ×]ML’b‰ 3a4ò¿©) ‡*.4 ¼‹ôxð=«J‰#×&µ? ` ´µ(o`Ò +ï,  Éð8ÖÝ«Ài€4ª -ƒ ÅŸ€i!v !šâªAÓÏ„2¤' —8¯ Âõe/-`ö‡DЗ b'Ô º¦`ˆ“t’y[veoæŸXãPr¿ë¼¤(Š< “Û_Ū¶f”#“XÀ/U ­CýjT Ú™ 9÷Ëë€8XB…øà%­‡Bà[å&ÞºFOç#m}G¬®DDþ)ªDJ‰ Pê ŒR¡L€ð«bªp -;iAÝ/ÍU–ý_&9̦¤/• î óÕ"¿Ú —Ö*°.; (&JP¾Ç¯y÷E ÓÔK ¤ ‡€þ¦:7T=/ K䱨° ¡ŒKU0á%ú-#0 Iêá>fL 5 5 ÝÁ3·Çö‘³%³»­ Q¹ öooÂÂæ  ii) Yè+ ã` ô0,¨<—x†¬& m)niÖ8¸0íKewJ šb¥„QäVäVÚ êu (ª+g#¾BÇ X^½5©#7N žB'ª'ªŒUU:9ô}‚, >EF{JoãÛ" —  Üç¨6të€É:xc×ШÞQâ.Ò4aÈð c ['/+ˆ.¤z8p²òMg7Ì  ª³ b ê #5[‚ ÷¡’ÃCù í` è§§J€uô ]ys‘þkí m{d5eIŽ’geg}‹ec°Õ©ÃT‚£=~$bÊvæ-‘–Ƕ &:Àœóº¸P¬ Û©èÊ€YÌxý¹ÐMr)È\#  lÕ½WıvxJ6Ù ÃÕvÕ¶ ÚtL %µ@nL¬‚þ>P œn! UUAê9EW¦D˜k;Œv 0FœUE¿ HOÊ&†½E±000000KN‰¿f ÄöÔÓ¢§AíAí¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAíAíAí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤AíAíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤AíAí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¡ÿAí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤AíAíAí¤Aí¤AíAí¤AíAíAí¤Aí¤AíAí¤¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤AíAí¤¤AíAíAí¤AíAí¤¤Aí¤AíAíAí¤Aí¤¤AíAíAí¤Aí¤AíAíAí¤AíAí¤AíAí¤¤AíAí¤Aí¤¤AíAí¤Aí¤¤Aí¤Aí¤AíAí¤AíAí¤Aí¤AíAíAí¤Aí¤Aí¤¤¤Aí¤¤AíAíAí¤AíAí¤AíAí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤AíAíAí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤AíAí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤AíAí¤¤¤AíAí¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤AíAí¤Aí¤AíAí¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤¤AíAíAí¤¤Aí¤¤AíAíAí¤AíAí¤¤AíAí¤Aí¤¤Aí¤¤¤¤¤¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤¤Aí¤Aí¤Aí¤¤AíAí¤Aí¤¤Aí¤¤¤¤¤¤Aí¤AíAí¤¤¤¤¤AíAí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤AíAí¤¤AíAí¤AíAíAí¤¤AíAí¤¤¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤¤Aí¤¤¤AíAí¤¤AíAíAíAí¤AíAí¤¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤AíAíAí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤AíAí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤AíAí¤¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤AíAí¤¤AíAí¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤AíAí¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤AíAí¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤AíAí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤¤¤AíAí¤Aí¤¤¤¤AíAíAí¤Aí¤Aí¤¤¤AíAí¤Aí¤¤¤Aí¤AíAí¤AíAí¤¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤AíAí¤Aí¤¤Aí¤¤¤Aí¤¤AíAí¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤AíAíAíAíAí¤¤¤¤AíAíAí¤AíAí¤¤Aí¤AíAí¤AíAí¤Aí¤AíAíAí¤¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤AíAí¤AíAíAí¤Aí¤AíAí¤AíAí¤Aí¤¤¤¤¤¤Aí¤Aí¤AíAíAí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤AíAí¤¤AíAí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤AíAí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤AíAí¤Aí¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤Aí¤¤¤¤AíAí¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤Aí¤¤¤¤AíAíAí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤AíAí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤Aí¤Aí¤AíAí¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤AíAí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤AíAí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤AíAí¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤AíAí¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤AíAíAí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤AíAí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤AíAí¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤AíAí¤¤Aí¤¤AíAíAí¤Aí¤Aí¤¤¤Aí¤Aí¤AíAí¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤AíAí¤¤¤¤¤AíAíAí¤¤¤¤AíAíAí¤¤¤¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤¤¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤Aí¤¤¤AíAíAí¤¤¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤¤AíAí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤AíAí¤Aí¤AíAíAíAí¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤AíAí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤¤AíAí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤AíAíAí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤AíAí¤¤¤AíAí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤AíAí¤AíAí¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤AíAíAí¤¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤AíAí¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤AíAí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤AíAí¤Aí¤¤AíAí¤¤¤AíAí¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤AíAí¤¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤AíAí¤Aí¤¤¤¤Aí¤AíAíAí¤¤AíAíAí¤Aí¤AíAí¤¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤AíAí¤¤¤¤AíAí¤¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤¤¤¤¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤¤¤Aí¤¤AíAí¤Aí¤AíAí¤Aí¤AíAí¤¤AíAí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤Aí¤AíAí¤Aí¤¤¤Aí¤¤AíAí¤¤Aí¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤AíAí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤AíAí¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤¤¤AíAí¤¤¤¤Aí¤¤Aí¤AíAí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤AíAí¤¤AíAí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤AíAíAí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤AíAí¤Aí¤¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤AíAíAí¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤AíAí¤Aí¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤AíAí¤¤¤¤AíAí¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤AíAí¤Aí¤¤¤¤Aí¤¤AíAí¤¤¤¤AíAí¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤AíAí¤Aí¤AíAí¤¤Aí¤Aí¤¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAíAíAí¤AíAí¤Aí¤AíAí¤Aí¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤AíAí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤í¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤í¤í¤í¤¤¤¤í¤íííííííííí¤ííAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤í¤¤¤¤Aí¤¤¤¤¤¤í¤¤¤¤¤¤¤¤¤¤¤¤¤¤í¤íí¤¤í¤Aí¤¤¤¤¤¤¤íí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤íAí¤í¤í¤¤í¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤í¤í¤í¤¤¤¤¤¤¤íAí¤¤¤ííí¤¤íAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤íííAí¤¤¤í¤íAí¤¤AíAí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤AíAí¤AíAí¤Aí¤AíAí¤¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤AíAíAí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤¤AíAí¤WtêWpëWpëWpåWpçWpëWpëWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpëWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWlÑWl·VÍ/æK5¹K5¹VÍ/ðK5¹K5¹VÍ/ØVÍ/ÚVÍ/þVÍ/ïVÍ0VÍ/ôVÍ/áK5¹K5¹VÍ/ÞK5¹K5¹K5¹K5¹K5¹K5¹VÍ/áK5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÒVÍ/þK5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·VÍ/ÕK5¹VÍ/ìWl·VÍ/æK5¹VÍ/àWl¶VÍ/èVÍ/èK5¹K5¹K5¹VÍ/þK5¹K5¹K5¹VÍ/ùK5¹VÍ0VÍ/àVÍ/ÛK5¹VÍ/óWl·K5¹Wl·K5¹VÍ/ËK5¹VÍ/ÌK5¹K5¹VÍ/èK5¹VÍ/þK5¹K5¹K5¹VÍ0VÍ/ÌVÍ/ÛVÍ/ñWl·K5¹VÍ0VÍ/èVÍ0K5¹VÍ/ôK5¹K5¹K5¹VÍ/ÍVÍ/ÍK5¹VÍ/ÍVÍ/èVÍ/óK5¹K5¹VÍ/îK5¹K5¹K5¹VÍ/þK5¹K5¹VÍ/òK5¹K5¹Wl·K5¹K5¹VÍ/äVÍ0K5¹K5¹K5¹VÍ/ÒVÍ0VÍ/ÛVÍ0VÍ/îVÍ0VÍ/þK5¹K5¹Wl·K5¹VÍ/ÓK5¹K5¹K5¹K5¹K5¹K5¹VÍ0VÍ/ÊVÍ/ËK5¹K5¹VÍ/ÊVÍ/ðK5¹K5¹VÍ/ØVÍ/ØK5¹VÍ/×K5¹K5¹VÍ0K5¹Wl·VÍ0VÍ/óK5¹VÍ/óVÍ/óVÍ/÷VÍ/þK5¹K5¹K5¹VÍ/õK5¹K5¹Wl·K5¹VÍ/øK5¹VÍ/øVÍ/ÌK5¹VÍ/öVÍ/ßK5¹VÍ/ËK5¹K5¹VÍ/ñK5¹VÍ/ñVÍ/ÓVÍ0VÍ/ÙVÍ/ðVÍ/ÌVÍ/ËK5¹VÍ/ßK5¹VÍ/âVÍ/ÔK5¹VÍ/×K5¹VÍ/ÖK5¹K5¹K5¹K5¹K5¹VÍ/ÕK5¹VÍ/äWl·VÍ/ÖVÍ/ÍWl·VÍ/äVÍ/ÖK5¹K5¹K5¹VÍ/ØK5¹K5¹K5¹K5¹K5¹VÍ/ËK5¹K5¹K5¹K5¹VÍ/ÏK5¹K5¹K5¹VÍ/×K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÙK5¹K5¹K5¹K5¹VÍ/ÎK5¹K5¹K5¹VÍ/ÓK5¹K5¹K5¹VÍ/ÎK5¹K5¹K5¹K5¹VÍ/éK5¹VÍ/þK5¹VÍ/ËK5¹VÍ/ËVÍ0K5¹K5¹K5¹K5¹Wl·K5¹VÍ/íK5¹K5¹Wl·VÍ/ñWl·Wl·VÍ/êVÍ/ÔWl·Wl·VÍ/àVÍ/çK5¹VÍ/ØK5¹K5¹K5¹Wl·Wl·VÍ/ÍK5¹K5¹K5¹Wl¶VÍ/ÎVÍ/ÕVÍ/þVÍ/öVÍ/ËVÍ/öWl·VÍ/âWl·K5¹Wl¶K5¹K5¹K5¹K5¹K5¹VÍ0K5¹VÍ/÷K5¹VÍ/þK5¹Wl¶K5¹K5¹VÍ/ÍVÍ/ÍK5¹K5¹K5¹VÍ/×K5¹VÍ/ìVÍ/ìVÍ/ïVÍ/õWlÑWlÑWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpëWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpëWpëWpëWpëWpëWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpéWpéWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpéWpéWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpëWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpëWpëWpëWpéWpéWpèWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpèWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpéWpéWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpëWpëWpëWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpéWpéWpéWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpëWpæWpæWl·Wl·WpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpçWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpíWl¶K5¹K5¹VÍ/æK5¹VÍ0VÍ/ÛVÍ/ñVÍ/ðVÍ/þK5¹K5¹VÍ/õK5¹VÍ/þVÍ/ëK5¹K5¹VÍ/õVÍ/ÒK5¹Wl¶K5¹K5¹VÍ/ÒVÍ/þK5¹VÍ/×WpíWl·K5¹VÍ/òVÍ/òK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ëK5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÏK5¹K5¹K5¹K5¹K5¹K5¹VÍ/ßK5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÎK5¹K5¹K5¹VÍ/ïK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/çK5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹VÍ/äK5¹K5¹K5¹VÍ/ÓK5¹K5¹Wl·Wl·K5¹K5¹VÍ/ÊK5¹VÍ/óVÍ/óVÍ/óK5¹K5¹K5¹K5¹VÍ/çVÍ/ûVÍ/çVÍ/õK5¹K5¹K5¹VÍ0VÍ/ðK5¹VÍ/ÝK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ðK5¹K5¹K5¹VÍ/×K5¹K5¹K5¹K5¹K5¹VÍ/ËK5¹K5¹K5¹Wl·K5¹K5¹VÍ/êVÍ/àK5¹K5¹K5¹K5¹Wl·K5¹K5¹VÍ/ðK5¹WlÓWlÓWl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·WmŒWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWpíWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWmŒWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWlÑWl·K5¹K5¹K5¹VÍ0K5¹K5¹VÍ/èK5¹K5¹K5¹VÍ/ÿK5¹VÍ0Wl¶VÍ0K5¹K5¹K5¹K5¹VÍ/èVÍ/óK5¹VÍ/èWl·K5¹K5¹K5¹VÍ/èWl¶VÍ/úVÍ0VÍ0VÍ0VÍ0VÍ0K5¹VÍ/ÒVÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ/îVÍ/ôVÍ0VÍ/ôVÍ0VÍ0VÍ0VÍ/ÒVÍ/îVÍ/úVÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ/ôVÍ0VÍ0VÍ0VÍ/úK5¹VÍ0VÍ/úWl¶VÍ/ÊVÍ/ÒVÍ/ôVÍ0VÍ/ùVÍ0VÍ/úVÍ/ùVÍ0Wl¶VÍ0VÍ0VÍ0VÍ/îVÍ/îVÍ/ÒVÍ/úVÍ/ôVÍ/úWl¶VÍ0K5¹VÍ/ßWmŒK5¹VÍ/ûK5¹K5¹K5¹VÍ/þVÍ/áK5¹K5¹K5¹VÍ/ëK5¹VÍ/ôK5¹Wl·Wl·Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹VÍ/àK5¹VÍ/ðK5¹K5¹VÍ/ýK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ0K5¹Wl·K5¹K5¹VÍ/ÙWpëK5¹VÍ0K5¹K5¹K5¹Wl·VÍ/þK5¹K5¹VÍ0VÍ/êWl¶VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0K5¹VÍ/ïWl·Wl·VÍ/àVÍ/õK5¹K5¹VÍ/ðWl·Wl·VÍ/íK5¹VÍ/þK5¹WlÒK5¹VÍ/ÌVÍ/ØK5¹Wl·K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹VÍ/ËK5¹K5¹K5¹Wl¶K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·Wl·K5¹K5¹K5¹K5¹VÍ/ýVÍ/ûK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/åWl·Wm@VÍ0K5¹K5¹VÍ0VÍ0Wl·VÍ0K5¹K5¹K5¹VÍ/êVÍ/ûVÍ/ÎK5¹K5¹VÍ/áVÍ/íVÍ/õWl·Wl·Wl·Wl·Wl·VÍ/æVÍ/èVÍ/ñVÍ/÷VÍ0Wl·K5¹K5¹VÍ0K5¹K5¹VÍ/õK5¹VÍ/ùWl·K5¹Wl·Wl¶VÍ/èVÍ/ðVÍ/ÊWl·VÍ/þK5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·VÍ/íK5¹K5¹K5¹VÍ0K5¹Wl¶K5¹K5¹K5¹K5¹K5¹VÍ/ÜWl·VÍ/þWl·Wl·Wl·K5¹K5¹K5¹VÍ/ÏK5¹K5¹VÍ/ÖK5¹VÍ/ËVÍ/ÙVÍ0VÍ/ìVÍ/ðVÍ/ËK5¹K5¹VÍ0K5¹VÍ/òVÍ0K5¹K5¹VÍ/þVÍ/õK5¹K5¹K5¹K5¹K5¹VÍ/ÒWl·Wl·Wl·Wl·Wl·K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹VÍ/ÔK5¹K5¹VÍ/ÔK5¹K5¹VÍ/þVÍ/õK5¹VÍ/ÝVÍ0K5¹K5¹K5¹VÍ/çK5¹K5¹Wl·K5¹VÍ/ÎVÍ/ÎVÍ/üVÍ/ùVÍ/õK5¹VÍ0VÍ0Wl·Wl·VÍ/áWl·VÍ/ÛK5¹Wl·K5¹VÍ/äK5¹K5¹Wl·Wl·Wl·K5¹VÍ/ÔK5¹Wl·K5¹K5¹K5¹Wl·Wl·VÍ/úVÍ/ßK5¹Wl·VÍ/õK5¹K5¹K5¹VÍ/ÔK5¹VÍ/ßK5¹VÍ/ãK5¹Wl·Wl·K5¹K5¹Wl·K5¹VÍ0VÍ0K5¹VÍ/çWl·VÍ0VÍ0K5¹Wl·Wl·K5¹K5¹K5¹VÍ/àK5¹K5¹VÍ/àWl·K5¹Wl·VÍ0K5¹K5¹K5¹K5¹Wl·K5¹VÍ/ðK5¹Wl¶K5¹K5¹K5¹K5¹VÍ/ôK5¹K5¹K5¹VÍ0K5¹K5¹VÍ/ÔK5¹K5¹K5¹K5¹K5¹VÍ/ËWl·K5¹Wl·Wl·Wl·VÍ/áK5¹K5¹K5¹VÍ0K5¹Wl¶VÍ/âK5¹K5¹K5¹K5¹VÍ/ÔK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÌK5¹VÍ/ÊK5¹K5¹K5¹K5¹K5¹Wl·VÍ0VÍ/íK5¹K5¹K5¹K5¹VÍ/÷Wl·K5¹K5¹K5¹VÍ0K5¹K5¹K5¹K5¹K5¹VÍ0K5¹Wl·VÍ/èK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÐVÍ/ÌWl·VÍ/ÌK5¹VÍ/ÎVÍ/ûVÍ/ûK5¹K5¹VÍ0K5¹Wl·VÍ/àK5¹Wl·K5¹Wl·Wl¶K5¹VÍ0K5¹K5¹VÍ/÷VÍ/ÒVÍ/áVÍ/èVÍ/ùVÍ/ÒVÍ/÷K5¹K5¹Wl·K5¹K5¹VÍ/ïVÍ0Wl·K5¹K5¹K5¹VÍ/ëWl·VÍ/üVÍ0K5¹VÍ/óK5¹VÍ/øK5¹K5¹K5¹Wl·K5¹VÍ/ÞK5¹K5¹K5¹K5¹K5¹VÍ/ØVÍ/ÓWl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÔK5¹VÍ/ûVÍ/ûK5¹VÍ/×VÍ/ðK5¹K5¹K5¹K5¹K5¹K5¹VÍ/êK5¹K5¹Wl·VÍ/ÊWl·Wl·K5¹Wl·VÍ0VÍ0K5¹VÍ/ùVÍ/ÒK5¹K5¹VÍ/éK5¹K5¹K5¹Wl·K5¹Wl·VÍ/ÝK5¹Wl·VÍ/ÒVÍ/óK5¹VÍ0Wl·VÍ0VÍ/òVÍ/þK5¹VÍ/áK5¹K5¹K5¹VÍ/ÌK5¹K5¹K5¹VÍ/êK5¹Wl·K5¹K5¹VÍ0VÍ/ûK5¹K5¹K5¹K5¹Wl·K5¹VÍ0VÍ/ÓK5¹VÍ/ÍK5¹VÍ/þVÍ/÷Wl·Wl·K5¹Wl·K5¹K5¹K5¹K5¹VÍ/ùVÍ0VÍ/äK5¹Wl·VÍ0K5¹K5¹K5¹K5¹K5¹VÍ/ØWl·K5¹K5¹VÍ/öK5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÎK5¹K5¹K5¹VÍ/èWl·VÍ/ÓVÍ/êVÍ/ßK5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ0K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹VÍ/ðVÍ0VÍ/üK5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹VÍ/ÌK5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/äVÍ/éK5¹VÍ/åWl¶VÍ0VÍ/õVÍ0K5¹VÍ0VÍ0VÍ/íWl¶VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0VÍ0Wl·Wl·Wl·Wl·Wl¶VÍ/óVÍ/óVÍ/óVÍ/óVÍ/óVÍ/óVÍ/ÒVÍ/óVÍ0K5¹Wl·K5¹K5¹K5¹VÍ/áWl·Wl·VÍ/òVÍ/ÊWl·VÍ/øVÍ/þWl·K5¹VÍ/ýK5¹VÍ/ßK5¹VÍ/æWl·VÍ0Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/éVÍ/óVÍ/óK5¹K5¹K5¹VÍ/ÖK5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/îWl·K5¹VÍ/òWl·Wl·Wl·VÍ/×Wl¶VÍ/×VÍ/æVÍ/øVÍ/×VÍ/×VÍ/×VÍ/×VÍ/×VÍ/×K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ0VÍ/ëVÍ/ÓVÍ/ÿK5¹K5¹Wl·K5¹K5¹VÍ/ÛVÍ/æWl·VÍ/ÓVÍ/ÎK5¹Wl·K5¹K5¹K5¹Wl·K5¹VÍ/èK5¹K5¹K5¹K5¹VÍ/ÑK5¹K5¹K5¹K5¹Wl·Wl·K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹VÍ/×K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹Wl·K5¹Wl¶VÍ/éK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹Wl·Wl·K5¹Wl·K5¹Wl·K5¹K5¹VÍ/èK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹VÍ/ôVÍ/÷K5¹K5¹K5¹K5¹VÍ/îK5¹K5¹Wl·K5¹Wl·VÍ/ÞVÍ/æWl·VÍ/äVÍ0VÍ/ÔWl·K5¹K5¹K5¹Wl·VÍ/äWl·VÍ/ËK5¹K5¹VÍ0K5¹VÍ/æWl·VÍ/ÑVÍ/ÑWl·K5¹Wl·K5¹VÍ/ÑVÍ0K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·VÍ/÷K5¹K5¹K5¹Wl·K5¹VÍ/æVÍ/åWl·Wl·K5¹K5¹K5¹VÍ/þK5¹K5¹VÍ/ØVÍ/×VÍ/ÝVÍ0VÍ/îWl·VÍ0VÍ/ëK5¹K5¹VÍ0VÍ0VÍ0VÍ/ÍWl·VÍ/ðVÍ/ÎWl·VÍ/èK5¹K5¹K5¹K5¹K5¹VÍ/èK5¹Wl·Wl·K5¹Wl·K5¹VÍ/ÜK5¹Wl¶VÍ0VÍ0VÍ0VÍ/ûWl·Wl·Wl·Wl·Wl·Wl·VÍ/ìVÍ/áK5¹VÍ/ùK5¹K5¹VÍ/äVÍ/ÑWl·VÍ/ãWl·VÍ/ÔK5¹K5¹K5¹VÍ/òK5¹K5¹K5¹K5¹K5¹VÍ/åWl·Wl·Wl·Wl·K5¹VÍ0K5¹K5¹Wl·K5¹K5¹VÍ/õVÍ/èVÍ/èVÍ/èWl·K5¹K5¹K5¹K5¹K5¹Wl·Wl·K5¹Wl·Wl¶K5¹VÍ/ñVÍ/ûVÍ/àK5¹VÍ/ÌWl·VÍ/îVÍ/çK5¹K5¹K5¹VÍ/ùVÍ/êVÍ/áK5¹Wl·VÍ/ÖVÍ/ÓK5¹K5¹VÍ/ÞWl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹K5¹VÍ/ûVÍ/úVÍ/ÎK5¹VÍ/ÊK5¹K5¹K5¹K5¹K5¹Wl·VÍ/æK5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹VÍ/øK5¹K5¹K5¹K5¹VÍ0K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹Wl·K5¹VÍ0VÍ/ãK5¹VÍ/ùVÍ/ÍK5¹K5¹K5¹VÍ/ðK5¹K5¹K5¹K5¹VÍ/òK5¹K5¹K5¹K5¹Wl·Wl·K5¹K5¹Wl·Wl·Wl·Wl·K5¹K5¹Wl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/éK5¹K5¹VÍ0Wl·VÍ/ùK5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ0Wl·Wl¶VÍ0VÍ/ýVÍ/ýVÍ/ýVÍ/ýK5¹K5¹VÍ0K5¹VÍ/àK5¹K5¹K5¹VÍ/×K5¹VÍ/ÛVÍ0VÍ/þK5¹Wl·K5¹VÍ/õVÍ/õVÍ/ÔWl·Wl·VÍ/ßVÍ/ßK5¹K5¹VÍ/ÍK5¹VÍ/ìVÍ/ÞK5¹VÍ0Wl·Wl·Wl·VÍ0VÍ0VÍ/ÐK5¹VÍ0K5¹K5¹VÍ/èWl·VÍ0K5¹K5¹VÍ/ÞK5¹K5¹K5¹Wl·Wl·VÍ/þK5¹K5¹Wl·Wl·VÍ/èWl·Wl·K5¹K5¹K5¹Wl·Wl·K5¹K5¹VÍ/ÎK5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹Wl·K5¹VÍ/ÐK5¹K5¹K5¹K5¹VÍ/ûK5¹Wl·VÍ/ÎK5¹Wl·K5¹VÍ/ÒWl·K5¹K5¹VÍ/ãK5¹K5¹K5¹VÍ/òK5¹VÍ0VÍ/êVÍ/ÿWl·VÍ/íK5¹K5¹K5¹Wl·Wl·K5¹K5¹K5¹Wl·VÍ/óK5¹K5¹K5¹K5¹VÍ/ñK5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶VÍ0K5¹K5¹K5¹VÍ/üVÍ/åK5¹VÍ/èVÍ/èVÍ/îVÍ/ðK5¹VÍ/åK5¹VÍ/åVÍ/åK5¹VÍ/ðK5¹K5¹K5¹K5¹K5¹K5¹VÍ/åK5¹K5¹K5¹VÍ/åK5¹K5¹K5¹VÍ/åVÍ/åK5¹K5¹VÍ/èVÍ/ÔK5¹VÍ/åK5¹VÍ/ËVÍ/áVÍ/ÊK5¹VÍ/èK5¹Wl·K5¹Wl·WlÑVÍ/õWl¶K5¹K5¹K5¹K5¹K5¹Wl·Wl·Wl·Wl·Wl·Wl·Wl·K5¹WpåWl·K5¹VÍ/âVÍ/âVÍ/ÊK5¹K5¹K5¹VÍ/ÔK5¹Wl·VÍ/ùK5¹VÍ/ÎVÍ/ÖVÍ/÷VÍ/ÌVÍ/ÝVÍ/ÿK5¹VÍ/ðK5¹VÍ/äK5¹Wl·Wl·K5¹VÍ/ùVÍ/ûWl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·Wl·K5¹VÍ/ðK5¹VÍ0Wl¶K5¹K5¹K5¹K5¹VÍ/ÝVÍ/ýK5¹K5¹K5¹Wl·Wl·VÍ/óK5¹Wl·VÍ/æK5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹VÍ/ÔK5¹K5¹VÍ/ÔVÍ/ÔWl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÔVÍ/ÔVÍ/ÔK5¹K5¹VÍ/ÔK5¹K5¹K5¹VÍ/ÔVÍ/ÔK5¹VÍ/ÔK5¹K5¹K5¹VÍ/ÔVÍ/ÔK5¹VÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔK5¹VÍ/ØK5¹K5¹K5¹K5¹VÍ/ÔK5¹K5¹VÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔK5¹K5¹VÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔVÍ/ÔK5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹Wl·Wl¶K5¹K5¹K5¹K5¹Wl·K5¹K5¹Wl·VÍ/÷K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹VÍ0VÍ0VÍ0VÍ0VÍ/ðVÍ/ÝVÍ0VÍ/ùK5¹VÍ/ÍVÍ/ÙK5¹VÍ/ÒVÍ/íK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·VÍ0K5¹K5¹Wl·Wl·VÍ0K5¹K5¹VÍ/ðVÍ/ëVÍ/îVÍ/ßVÍ/ýK5¹K5¹VÍ/ïK5¹VÍ/ðK5¹K5¹K5¹Wl·VÍ/ðVÍ/æWl·K5¹VÍ/ûVÍ/æWl·Wl·VÍ/ëWl·Wl·VÍ/þK5¹K5¹Wl·K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶VÍ/òVÍ/ØVÍ0K5¹VÍ/êK5¹K5¹K5¹K5¹K5¹K5¹VÍ/÷K5¹K5¹K5¹K5¹VÍ0K5¹VÍ/ïWl·Wl·Wl·K5¹K5¹Wl·Wl¶K5¹K5¹Wl¶K5¹VÍ/ïVÍ/ÑWl·VÍ/ÎWl·Wl·Wl·VÍ/ïVÍ/ÓK5¹K5¹K5¹K5¹Wl·K5¹K5¹K5¹VÍ/òK5¹VÍ/îK5¹Wl·K5¹VÍ/ùVÍ/êWl·Wl·Wl·K5¹K5¹Wl·K5¹VÍ/ßWl·K5¹K5¹K5¹K5¹Wl·VÍ/ÛK5¹K5¹K5¹K5¹Wl¶K5¹K5¹VÍ/îK5¹VÍ/àK5¹VÍ0VÍ/æK5¹K5¹K5¹K5¹VÍ0K5¹K5¹Wl·Wl·VÍ0VÍ/èWl¶K5¹VÍ/ùVÍ/÷VÍ/çVÍ/ùVÍ/÷VÍ0VÍ/àVÍ/ÝK5¹VÍ/æVÍ/ÚK5¹K5¹Wl·K5¹Wl¶K5¹K5¹K5¹VÍ/àK5¹K5¹K5¹Wl·K5¹K5¹Wl¶K5¹K5¹K5¹K5¹VÍ/ðVÍ/íVÍ/ÔVÍ/îVÍ/áK5¹K5¹K5¹K5¹VÍ/øWl¶K5¹K5¹K5¹K5¹K5¹VÍ/áVÍ/êK5¹K5¹Wl¶VÍ/ÚVÍ/íVÍ0VÍ/åVÍ0K5¹VÍ0K5¹VÍ/õVÍ/ÞVÍ/õK5¹VÍ0VÍ/ÚVÍ0VÍ/ÍVÍ0VÍ0VÍ/ÿVÍ0VÍ/íK5¹VÍ0VÍ/öWl¶K5¹K5¹Wl¶VÍ/ÎWl¶VÍ/ËVÍ/ÓK5¹K5¹VÍ/ÎVÍ/åVÍ/ÓVÍ/ËVÍ/ËVÍ/ÞVÍ/ÕVÍ/ÞVÍ/ÚVÍ/êVÍ/òVÍ/ßVÍ/êVÍ/ïVÍ/õVÍ/ÜVÍ/àK5¹K5¹K5¹VÍ/ËK5¹K5¹K5¹VÍ/ßVÍ/ßVÍ/ðVÍ/ÌVÍ/ØVÍ/úK5¹VÍ0VÍ/íVÍ/àVÍ/öK5¹VÍ0K5¹K5¹K5¹VÍ/ÚK5¹K5¹K5¹VÍ0VÍ/õVÍ/íK5¹VÍ/õK5¹K5¹VÍ/ÓWl·K5¹K5¹VÍ/ÔK5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/üK5¹K5¹K5¹K5¹VÍ/ûWl·K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ûK5¹K5¹VÍ/ûK5¹K5¹K5¹VÍ/ÛK5¹VÍ/íK5¹VÍ/ûK5¹K5¹K5¹K5¹VÍ/üVÍ/ÎK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ûK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ûK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl·K5¹VÍ/íWl·VÍ/ëVÍ/åVÍ/ÝWl·VÍ/úVÍ/ÓVÍ/ØVÍ/ÜWl·VÍ0VÍ/ÔVÍ/ÌVÍ/ÌVÍ/ÓVÍ/ÚVÍ0VÍ/ëVÍ/øVÍ/ÖVÍ/ÜVÍ/ÓVÍ/×VÍ/ÜK5¹VÍ/çVÍ/×VÍ/ÌWl·Wl·VÍ/ìWl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/óK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹WpåWpåWpåWpåWpåWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpçWpåWpåWpåWpåWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWx§WlÒK5¹WlÒWlÒWm}VÍ/ØK5¹K5¹VÍ/òVÍ/ÏVÍ/ÏK5¹VÍ/òK5¹K5¹K5¹Wl·Wx§WlÍWlÍK5¹WlÍK5¹Wx§K5¹Wx§K5¹Wx§K5¹WmŒK5¹K5¹K5¹K5¹K5¹K5¹VÍ0K5¹K5¹K5¹K5¹K5¹K5¹Wx§K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wx§WlÒWlÒK5¹WlÒWlÒK5¹Wx§K5¹K5¹WlÑK5¹K5¹WlÑK5¹K5¹WmŒWlÑK5¹WlÑK5¹K5¹K5¹K5¹K5¹K5¹VÍ/òK5¹Wx§K5¹Wx§WlÐWlÍK5¹WlÍWlÐVÍ/ÖK5¹K5¹Wx§VÍ/ÊK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹WlÍK5¹K5¹K5¹Wl¶K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹VÍ/ÖK5¹K5¹K5¹WlÍK5¹K5¹WlÍK5¹K5¹VÍ/ÌWl¶K5¹K5¹K5¹K5¹VÍ/ÐK5¹K5¹K5¹Wx§WlÒWlÒWlÒK5¹WlÒWlÒWlÒWlÒWlÒVÍ/ÊWlÒK5¹VÍ0Wx§K5¹Wx§VÍ/ÎWx§VÍ/øK5¹VÍ/ÊWmŒK5¹K5¹WmŒK5¹Wl¶VÍ/ÓK5¹K5¹K5¹K5¹Wx§K5¹K5¹K5¹Wx©K5¹VÍ/ÍWx¨Wx¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Wl¶VÍ/ÌK5¹Wl¶VÍ/ÌVÍ/ÌK5¹Wl¶K5¹K5¹K5¹VÍ/ÌK5¹VÍ/ÍVÍ/ïWx©K5¹Wx¨Wx¨Wx§K5¹K5¹WpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpæWpåWpâWpâWpäWpâWpäWpâWpâWpãWpâWpâWpäWpäWpäWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpåWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpåWpåWpåWpäWpäWpåWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpåWpåWpåWpåWpåWpåWpåWpâWpâWpâWpäWpäWpäWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpâWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpèWpæWpæWpæWpâWpâWpâ6e5e3d23234e425fa2b24a5e873b7b6af2a92e7f1b06646392f77c9d2d292ac52869eb86a44f4f9ea910b73d62ab8513d5fdd93e1fe3bfa7a5af35d93cd9d4edb5ed9af4eca176898fa9675778c768b9f8832b5292488af6d64e1730bdfd49110ae3fe0798e8560562b8be8e8ac8b213d95f38e1df0bca6a0e56e2d7728543e9560f0097fa779f91ef1ecc97379a84db43162aeb69ed1c1f4df7de0499e70e6ebb989b0161a2e6798acf9d3444b0a9bb5989d8d6e26fa74c917aa4031afff606738b72c07dd8526ede509ef1b376be67d39f84d8e361938d507a84cff2a2afc8998e552858003b01968425ec732065efe29b4b8c6bc16af5ec793db8e8e220b6d121ffda4bcd7e1f451a884e76d6613668bea38bb8813b3de8cfe7318cce0fe86135a8472e16677488ba7022579ed928752ac98ce3f6d1b157c5a3604106acf2b1f3434bf4fe37795c033b960286616d2c8cc280099007e43c65cc2dd8f2a61e4686dc67a88e4c5e62e03f185de0a2142654b05e4542cf9a0a30530e59c0479d7096956ec54cf5f1b9b0788f4a97675b9f4684daab1f6469dfa89ba4242ae7ee91e42a4378eac36658a3cec347e627fac7c690d9def22e0f5f3db46f652c1f646a99ba5da71265d213aa42bc89a7b5722e6900a1aeffa38071680822f5a3c23debca0b078fcedde5f3c851c38cae8a4e6716a1e4745a7f114f541c524ffdeab48b7d338c90699714db38e09bff2ac4fe60ea73907491a581ef0aaf7f1b83b81044d93f449dca44bfdfb1b86e181d590a46de6f7a38e0a7c7ce1aa66011158f0fa21b0ed4ebcaa5ee88249b38a4ef326c7a014e23286dcf072b48e42f22ec92bccf3b30498db68a7052e1f3a80a297b6725e711499dd5e83621a6f7c64b069d409f29d96d2a6447744e182ec07885b166075f828807256194888e34514301efe292e98170bef84e2959ff98c08d366b5e23fd3837f2a2af2d507e84ac7f6384ddb72fed3c33700a4ef3dc07d950587f0b234edbf01e697c48bac7591aaa5c34d2b418e36bc727ade5488d69e245fbd5a4eee6b0cb28d832d0f8a3f7a14fa9d36f424d46ac3f4dc156b34d073b249c79607d7356300281c1d3ee82125ad9354ff16b5f94d24acdc8e88bc02f4415041313946a5007d29fabb8fcc5f4e76e7573d5f5eb83936d20e497689f34b5e06dbbe41fd7c57a4f7d267776c24c8f4024ec14dc30472ee6746b11dc7e2c84629c0477c614e664afc9e9c9506cf4b50b8ea2aa053925f2af3c4136020c087576a01498b7868935ca0bda85787965588c0508cfe58a2a5170f36cae202d3a40cb7172df995831d020fb5716920f925c4e34e320d32d2efa7a28155de317112c83dec9dd85ec87e3e79b72890e187d034cba5d9d1fd7c57a4f7d267776c24c8f4024ec1433ec534827438452fa3dbc34c75c27759cdb569181f6a1e99d5e79a0f78ae5eda480db8bb5dcd1c926b77f452ef2ad950e72551deff5c396fd1e00293fd009ac144fd7ea46e1762cc3afdb9d8a4abd5ac93127a00055a458a7dcf9715e714f775a65f04e4f44723d3e996e1371c765c3697ddef5a7a8dbdb67fcbe8f0741e1f32d8e959feddb306bbe713874054300baf9a6917f7ea8f64c5f5055d84b781659d28aa72f0f54765fab7a2fcfa9de4fad1e493f8003e94f08380b49cd3c5ad3c2c30838a1ada9ff9caf37360646b9375fc40de47bd501b84a7e088ac9b0e78afcb563360cf893bd48ea9d73a36da3958b382ceec315fba61f2ef28b71778823efc9ada6c60f0da097ce09164ed251ccfc1e493f8003e94f08380b49cd3c5ad3c2e535c3c2d06fb03979f4f634602dcf1f84394f581ff4fc390204a238597e0a9e2d8e959feddb306bbe713874054300ba321e7ff54b7117daf93316d0133564dc4f878de6b8f86731fb49affdd7e574c6b76ca49f948f2426a1c023ddf35a0f167d5ec694fe14fbbdfb13574dbada5f220b0bde4eadc2db836b4271c1f0caa96c5697abdeb0f54888d052d4f43c5f2ded28513d3f0d19222cbdadbeb32c12d9e7426b6c98e4c972d797108c6953b52d59282214df866d82cf69891ee812a1cb60a0f77b385b6f291b8750582e4472611a2d8e959feddb306bbe713874054300baa11d36c42533228ba861cc63f9339112e6a2ee556752fd4fd8c89614eb43adf99aa297314c22cd4244310c08066610077f552f652299847e1f8f56b158a775011efb39f604ee6c3981b21a9089e44a343d16864aacabcac85cfa8ce6194b8b3b4f741fdc8057570d1b0c8ce1548e180721a0dfc426fa570f56494b9cd3ff3ba62d8e959feddb306bbe713874054300ba0fa4ed87a9485b491d0b46194b56e4a0ecbcf5dbd36a6a057143861ab3ea25da39de414944b90d85811e15d62f19665163fcad457b10b9638db3240abc0fb7a38741ec8ee295452f0f1a2fd3f382c30fccaec15fee6f50ff5c2e6820447c17209fb6a487e4cf7b1c4160a3bc9928c7a6c3f08bcd6a3c83f735818c758d0b0e54938e16af2f93216b568b07955986f74e96d9a4f16637a4504f37ed360263dd4385752920e0cc236dc45b4cc415f60ab2938e16af2f93216b568b07955986f74e92e9f2d7acb8aeabf5cddda718eb03dee69b58dde86029a89724febc17b20cb5e06973374d5fffe30bb0fa9631bee31ba77d6fab0c1259cb3e4a93e861826f6a50b843d9169a205e96818d2e083b496f60401b3445cf8d833f6a0aab5fce961f8e13b42b6c9e2caa22f26adb85ae9f39ef45692e6cf853a820212f27780d99651fd7c57a4f7d267776c24c8f4024ec14cb4ab8be332d1d6e5ac7792c75b56b860f0493ab49730063ddb6bf3da24fd68e6e74d9ab0e60ba68ac3f437f71e66774b685effa092dbb439671c7bfe74cf0f1440fe89b206c7a9d02cf70371d1989724805417874f826f074a5a31fea700680262a861ce397135ec84c8547a16bd158b4aac3f01d513a798f2d3f6fe8d0e75eed9a1e73c5b2958a9ebd356f27fc973b10257e1d41994ac446db4841cf0ffc084f361642ddf7291081addf9dbd52fa6d2d8e959feddb306bbe713874054300ba932421aa2c0acbd0d68dbbf64a393b2ee04d1c0a01304f35c4f6715d673b6125f90973c8e437e796fd5e4c5afedc3c4a1ad3a31bcd93b90afad4791fd0d256cb170a5716941e4794c63ac0a0e2cd66858cf3405b2083e184c50ab43542c87480632088efd641869735610a043dcf899597c2a655fa60bbd2643c896984051a8fe7a581167290c9e2e988699c6be3a9b6abd858e71eec02c5e68186854edbea1b98a57d8250ad3a33b0a0d1ed249411449d6b64a030b0332c27261a3a5fd7366effd2a0b2934718d1cd920773350caba56ad3d9fa2d6deb483c975822bbe4c1b5871fee2e2f51b01283078815d6c4844ffaa4993a35e4f91afbbceccaccbc896312ac41246b1e9672cf1202a1ea4952b5b1509a5b9c6e26361c62e7b4eb5bf41c4554c503972882809ee1204cce7263068259a58ccb6968f4c93a62114f0927f89712c768234eb124c8c2683cd548f5c13c42c92e8ab282cf9dff1557abb7ae0c52fc71ef153996e4b6b47727e4464d3c0cc6a83ef1cba25ba3c36992be55fa06a78495a37d7c7c27d296e5ddc807b950aeabba8cbf8ee323cb861d4ae08c03cf271fee5f003ff7e30e54f778dc8448421856fa9e05b717b245a1084c1477e01ceb57b65b0e7932fb08221429af4708b2ec8b3d2038bd8274e3032c4dd8f39ee390098708ec1576e9dee4d22f4a2d527a3f3154d304616cf55990a70852e08a8fb3f216bd7cc68cab25892a1bbbbe6664efa4e0a7311fd8539dcac1f875621d217a937d0db5ca84076a771d7b4f9081052cd187da93c394826bf9e5fefd46b032b5034548107fe5af7bcf6a7dc2dc3e05d43b44e0451cf2fd2470a50dea56d85f6dd03c1a3203ec6e0905e22e3f8f9bb1d43b44e0451cf2fd2470a50dea56d85fb3e53607d8535fb372e0169b5b3a1de883de62ef37bc579de450b559cc036bdc0deb9a94746d9e2e073dae654a07672168725dfeefa342063fd76a0f5b93a85df04396f397f206868fbbeae4fa61e9121fd7c57a4f7d267776c24c8f4024ec140eb658f7c7c5887f6dd0c522ecff4074eb6f3a8560b5d09aee9551585ff40d2e6148b2c85289e0172c60a6c97e8393991bab6cc6e4f423c7f46898c3c3e68c7f271ce45c3a70e02e48be28e8f63cca9dbc1641653f73072cbaa53c050565042ba27bc24e96e99b17f25ebaa8167e562b82b05be6faf036338842bd09f077508c2fdee25cf94c33ab3992e1de999608f425ac6b690b8bd399d83d25d6a485985b81f4358d070d4082010584780167b2acba411b3c47774b3e6d50712f96e779e037a08794a4aace78bed90aa06d14673f12318bd8a607f743cfb733a2e5004efd6cdf2f2687c3d41bf009139b1693711ba152b1fea729b4602b609601ab8defc92952ca891c1c964ecfafca4c1bb8e1410429a8ff8bb56c1f263176edabc65c0c17688bba36b2e830ab1484f382d07ded81f5077d6ed3320155cfda04626c9ddce7add2ff4d6bacd3c14e3a9e150b656d34febd8a8b09d56749c4b8430a864190b97564570a3043d6aed29ca6fdc457273210478e852febd3d018c27e4dbd1e78f5d9e46bda014e04d4287e776d1ad7bab44332cff67032acaf5b71e13da68e931ef26b822b1eaabd13925832f5d62511e2e492c0e20dc6282663d6232f423f1395e186cce435e1341d0f8c986808239b511665c65155c0e251f4a2b1cd8b007f71c289ba9d4ae69b85e53ba4f79fb52429eb4f653077ff7d4c523abedfb8fdd348f4f2c96f5a70011ad7e08028e2c2e2cfe3db377e4ef1717829c79208ace88a07287e7d0698f0bccb6532e248d5fd83aa7de2e284daf5f8a92e0a0de15739de75c1db5de12e84513381599ac64acc92d719ac4af5ea4f80cf7d3dad693d141a9b3d80bc27b5b63e28ca89a8e702e4ff96ce5fea669deca43369da58cea90e011e4c95f46778eb180c45bd2d8c5790efc025af59cd69fdde69147378efbce13cad941dcc87a6cb9a3bbefc6bb3da216bdece4c69f02b0c7720167da9ffb41c5bed7e7455214db7f8c40e10183c208a20fcc72bc5d374210e49bdf3f49252e4e39fa34646636cf244dae9e783c7015186bfabe58c4b4be1f8b0826447e70d815eb5539901f16c8882102257ec0e7e0e4311f05391a07cc4ccabe989ce9944d141f34adcda67f8dcc0b28c93cc44743e6c572b7f11e0b9d53df3c576fdf3c50ff96058cb28ca54a8c498684a2b075504427c082e6f086e215e70097a2b21df2cbebb804e2d0f7d80831ee7cbc6a9a95af9d0f2553ab14a3895e1b401748a551864d0f2553ab14a3895e1b401748a551864f4f2a1b4b06c82c187a7dcce6ede1ebae2852d74408c18a38bd66ca1a481323b3508f60a518c3ebef1cbc0ea893e2bccd41b45508072768ae7211055f4ab6f7789d4ebcaf902e2d967e4863f21207b236a04986c242b4351b7ddddd513d6bf8b374d6d16425fcee3550ac4bbdfa003d46a52ff5c5e2388c7592d326c9832a1714dfa514842fb3000979b9614e4c5bc55280dc5cce093f42405b87383e8cb0a6666866284c4f0cbc7dbd5adf953bdec6d83776c3ee2da906c4b6d8687b93747ff7df509672816d77b718f4112f37f58b110031a4859dbc3b409179049923adeab9942a38d5efdd16022c8d935b6d78490e29765913ee3164e6bcd398283490816386fa4721d8df7bf88918ed95511303a1ff7b173560ad92066b4246b68d19e2a68004c59b56258bdb30a49d5458745e58ff99efc21df126c8f3499946966cb31a91727f780b7d4a21265b6e9372e7e52fd936a9666547b0575e651488020cb299942a38d5efdd16022c8d935b6d78490b615d108613f671ec98054750b71d1ca7043b5124264ac8543d68c51a6e459591c7ee51fdcc349df3df0db17f87fe6ec3771829cd7030293e83e2fea26a30799e649712e737eaeb8dfb6eab78dafaa15999273fd41043259585cb02f75c096951674b521b20f0009c74e166054d65833c1b757635bbdad7e1f0dd9a0a5a11b7739a6ca8a5988dc4029374294a82cb252f1deeebf012c90d2e74015aa3fa52ef2262a18a5cbaab271957326ef51c8a3fa7e1731a7df786316ea6d3a56fca6ef79434cb856da8538209dcfecf2d01924417603b81a19b5447847a1563e79784f82062c46651ec9c4186ed90c149a857dde653271b2d185c6d5c23d187ab9e49d2e167f0297ea5ce72e2062f0243f2929f3295daf2e0b6610958440efcb438c50b2a8cf4fff6bc8f37db55543e1246c3120ed81fe1970b0b98b8e4e345a13ab75e5057ae0c25984bf836097d6e17930e4b6b01186bf7ef2d7f5247eeb56ed05c33bb01186bf7ef2d7f5247eeb56ed05c33b1c8efa633563b1496bd2c660cea547473c77ff9378c2b8f446f54018ff8911b63fb8b1838d0891d732f64a009cc8d12def269789e20032ec6beaac0231003e487ebfbf5c8003717d2a46ce43f72c61222b316cda0e35eb3e0796e343c0e54b4e25b5587eb1c67af50e999173b8a02559ecddb03c1464d07c055239d29de6a48ec45de43c3a9f0b76ed0a84dff1752527240803ffd1e3e96e5124053acfed8d45ead1336e374fdc92e4ab49df23204f843d413cb0e9275586c900ef4022edc9c5de4a3822982af82fbc75daf2cf7f4b15954c3106a17db056cd216011819f8753340936b60ee64d30a28d3ae1d1256f9a85ac777453b93ad3786d40abf4f9a609bc7a3ae100110db6bd3afaa53350c4b031a20a26b8e4929b6ceb07983e8f60cbafa1672905adff24a5a8512d927cc840fc17e79653592b8727ac197e83202d8485574e6a06ede932397deb00bdf065b3cde75fc56320e05e70bd43744841372989d356c495fd76412d269a9150f6f0642ae320a3d2c43cf6fce1823e78ecd3fb488128405eda38c5d23b86bf6f1cc4c86c9b207d67b936e4d47755ae4146d39dc94de3a5e44e663f0fd148ce8e45dff38af7e8e560139291161efa10a60d73a4760546a2948a98705cd8e35d8bcd54e9481136de25e7646bcb71ee45a7cd06e7a2d75dba8507ea73279f234f82596c671a4145614b9f2fa0a6bbaea47461d59583637930484dda968404d8dfd57c853185f7d8b8fa2394d44be690b393a40984b9c4302acc6f0aa5cba35a6c5d46eaae708ba2a6323c690c80c6ee4c7089d5dcb129aa836199bd5afc6796a69b437a0c708ba2a6323c690c80c6ee4c7089d5dcdd5c1a05415acf87ee90881e79649155312622a42105ea97b971ea3c207ead61b30b8ad7880c4234517fc22c7e359c64bf6a971de8b6cb122e4dd2c65ba0bee1653f30cb2b5de8a9ef5719bc44b675c8eb34810153ea63dc24d1dd61a2c36e13aa16cd36b083e238afdae374ec49618a585c6fd0c682f1007fc27c7c99820c4088ce7c8cf059c13651af41ac41bb869f3db8689df45b20140fc57d6c76a3b9aac7ea0c32626990f79fffa3c0711aaee64d4627bd03e6eabcfbf95284181693386e0b29fd6db2b341b334db28978ba1d043241c2db57a82b7044a2fdcd20a185a90aaa459a7393ba40e9ce8c91e6be36c5de67701124693cc9a99c53e899922c94dfb21232ec2625a0ff0a61f6a666ad6b26251cb92dc925429e52139238ac10c555417e55aeec9a11e29a630d22d477f1bd573eccb479e10678a588413248b931c82279f78ece3a6fbe0f1766641ca2ddcbb28a250420dcb9972f3cf6c73d85dd8c9df5f4a9897ebe0105f4b9ceb6e403fbe368adf47b3c1d1d7ad94fba35e90329ab7c3b0d849628c5de2f84a32ea0b945a3f97fe3ad349ff6955d2d7f8db19a5bc588105b2d1807975f6a975faaf9d80b37a85079da789b875d1c30ed049a963f7c69c5220bff46e59e7c3cf809bc845e9f0abcaa10105cd37e280b25735f6c7147336183345ad31318c86df900cbe46555d2d34d7a77c2decdd984d64a41c3a27d306e60f3ec844ee57e97d5b3e3e0a2d5f2d0068e6ad9ecabbd415f998aecac897de942784f5b0438f91dd594a40cffb593cec5e677a45accd5b45da171d11516dc7542fc1981457306a88492728a6589c5cf3cd69214c325c43e4cbecfcaddfa7ba5d44a3b2c62249c62b292cd886f7dda25bba0105f4de125b9cfd3c2ef72a276bc6f05354613ef165f56ac9641155ba22625c98033157778da8f10b57b7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784ded3aec8ff9d602282c47f19a05494969ab53db47f43505f0e9068a3ca621304dc17eed2d1144e37ae05b5e56d9d0cd5ced167bc00cfc009c6e69b2873fc76f43995ebb7eee5dc9cbec5e5629f376e0814e544eeb0ef14c17774208160f35e654cb47b155722d72ff4f1f164c2e2d116d7f1ef23bf25357657271b87d63aafe9fa4c841ea8ec98562355249ad6a3f53fc9e7ce091d2b529494b66adcf650829805a8f6f74246644fd8095f9ce464efc6ab59af99e0ccd075e9d56c5cd0ac8a0e563d1a56897e086477a5ea1e483fa0685783092f9eebbfa7bbf420cc7f708e978696937ff8e46eb22a22b0b9ea3c78f8ddacb79d659f673b2fa98b16ca94abd8e41963aba81292717b22cad13de718e4b92da56a7b0974611892f2b5667d6c4d4547833fa8515e93a72d6c83d5626d8d04e3531d6734b3c34790d1e45955d6eb9f7ad5216f42f8f6455a81a92ab183a48eb7051fcccfbe9e5402fc4e231d669391ec052a98f49ee3ff8df48fe50868a5eb241e28dffcf9bd6dd60510a63d93746ab04359f792e91b2e55fef4a183f89a21829d600dcff7c1cbc4f54880059b876a8f33972438c5513f12a834b5b27b5d61a91e5c1337f1b7dc7010514de494239e4f98bbf37f701b1f4879592640899aa24f98bbf37f701b1f4879592640899aa2355189d6d19965184e445ddd642ce922d59b06ce1d5a78e10f03ce86db000718e549c0e944c586be79b23040efda091454f207477d7a8af7bfc9d9a577d6c9f59079082c0135a22c9b476ab00c4ea02a9079082c0135a22c9b476ab00c4ea02aaec173413741465fff8faa86eccb4b0184c0d9d52668647535f307da9835d6a23faa5b90702b337d9b037d22249950c89a71849ce1c621264ba1fcdbed0c088730f69ce964edcd7f3e460e4d803a8692fd84bf31d3c8ace20d02b5bf45212412830d77d2a83028d440ddda6b8578b59575096f9af452d2c1073b3c9a203196ad3e3271d420a27f10a59a735d75ee0507daef86c9fcec8d7d73e2971294d4314022b8f732db1a065039e5e0510c86113efef5411e7bd0c827dbd061464e7d7b15d8cb033e9ffa4ee0e056064965b84965ab263c7bbc9504f59ac9599b3145961c9141ce580baac5a1f6054128679095dc3a8e21f657ea737c26fd00c6024ddba66e1305dddcd0b5bac49a559413cde25f0b05d0c83c22f74f425162279a9b23015b7daa5ca274dc74f13a83895cb67881d79844776ef50ae65483d61f4921382365a73d82a506a718ded84ab5af357f947a7c111fcd924cbbb6de94b3d2bda997de4fb90a3de387163bee6d71066a9d4a3e2e69656a66e9c1681120a2478855d54c446e033d73bd99e07f25acf145cea10834798fcff4a9cdbab7ed49aa0b10bbda7db7e04a4f3231f34014cd019c58826bee9225a42ebe6eca63f8a3e4e9487c1af342dbcd9ce1e2895c948203615ae6599921f7325299f76d10867ecf1fcdc29ee43c112d359b476ade7efad44670e885a3c3e41e940bf7902614a817e58a1599c56cf6550827811739091591f17abe8a5a956892bc25be5614caa5408dee2b86fd5edfe14e049794437237e1f8ba148880dd894a85682767e5fdc7ded42bb56ef8ec1a9796c39313812cc7874231ce08f046d6459a8ee8c3597edcc463ea88a171f966265e35233bc935191bc0d7245ade07865d18ce77997b19881517fa7dd706b2a681ab521a0f9746407021224d695a585f484f1a429f4088c9e4b9132849714b5eed9cd4120900ae193df199a20a6429a2f41405cb6689f28511ada1f43dfe0e4586826030c736bf6cc1a893d0d4191d13295b1c434c436091f0083f7195e0e18e457235dc5f95f24aecbfc9cf5c404542528203574aa7a9f6f1334aa02f247c3e37b55d75d6bb8576d5d17d81337adb7538b85974334e9b2f82c5514b8cca05fec8cd52aa4a8cf2c3ca259753292282aeaa1bc777ce377e09836c56af3653bb2ad4739004268a65864ec0e5424edb4addc9bd229619776472efee142c736785157134fa843daee15d96ae3d31f33f3ad3c505fe234d37b7e3556341f21bc1947b4640aeefb9bac4de0bae7defe35383d1f4be6174df49ff0ab3cd35ebc471d1075b0253fe36d830627c1feae8366b7f8ac45432ed1a2da3fcb97258dcb2189407d5f0e239280b00e6e8312f786d81670b29c476a1319d20802fc661333d1c48c8270fddc6d86661abd1d56d54835d59cd39d1b165e1f2d2defe552afbc487fe49d09ec06d846a1d0036c8fb51b13b6e17eb1c7034350c4bfa1177ae3afbc11163a41e9ae2fc0185e79560932aae780684f92be5ca92e2a182b344636b260f1b7d2e2f222e4181ad2872a7ae164283001ad8e949014b5154dc397b620c4f76be4b3dd30765746b56e722c32f8d3b8dc2bb82e8f2568b3dc87d4faa4a2c0b5ea5fc17cc37b35cd38036c931ab350ec5750bd005a80b6220b41200e5f84ffaf1a48e5b0af0ebb346b07e570eee9e4f89a37ac0a15bf9e396451f37f913d8ee154f9ba7fc8f0161c709abc578d67b3b0e3dce8c2a03a6770c08388dca547908ff10bbd90f43ec5e408344db4d1903b7156d4c2bc08ef351d9cf207f874d6a21c08ac756f5e14dd034e38cc41134d7acfb1bd499af5226b026944ff99f3842d5a3c394ad8dc7ed28daece0815289e8cf3ea736ddcc077ed5da2d14db3f8607c974d75c2d1ab18cb64bc53c284cd089d64d11556be36055eaab66531dff537170424992e419bc88e995f5eb9a2dc0a06cff2b0896a5e6a3fcf00426df53517beef61db6bc5cae3a40c9aadbdc539bf2ed6f795e7fef9bad2502eff01394ac6ddde3221bb1bd75f1bc40bb5dd51b3008aeb4a04c48e02b4472c647fd97f7002c5e288050e18d8ed4f92821b4545111f7b0a64a2bed4e9dd60782f83d1225db545bb842e51fa84292107f24b8a40b28a5609ba53baa91d93271254dda46f31bac73bc332d895bf7fff8e912f7350f9dcbb8e58c5d5e39293c225e832add117944b8e58c5d5e39293c225e832add1179449cc9ac7e614a6a6388ff7dfc7d8b71529836597c875af6ef55f5929404f115585911c57371559cb8e6c7adfc11f410c9e81c74bc7eac57808c4c31ab7f8d8b1ed8c8ace2976faee3ef0d54f727b5b783eb5ac8a3bc6a9b206f3c84f13bddb8c203e4524e73610a4b451e6b22462ae5d84c1ec7117bf3bb721efe2014353f2058e596d1f8a90a31553fc401f85aa2a17682070a0a0214059934b3e55564ab779beb717f3cfd15442811194a8399c2799fe636948dad212ccde3786e79bf14c0212b8e796616e1ddbec18eac23ab3915bb4911fe8919fd09f43ff5847fa7cef213869190d07159701e8bdc5041e403e18543a5906df7da2eeb89869d869d69891f1e45e4b69e2b6709535860ff6e2012169cfe9fa273453a5fb4ee91ae28404b9f0537d99622b54ad3fb2b7d477fddcc1a89bd21ad992d78dd8a73953740a54cd3ffabc536dc8252eb4d4c404769bf9de09441b5195bfa57dc0f3fbaf971d98002d1acf44327681d6f73bc48f4b656914b12209934aefa794ef725b8377aaaa0df6409196eba4752c3a56bead2e397a391b908d1ed9671fa0c2dda6ded887f8dd28b540251cf2d1cdaf09fb168ae2efb21a53ff208e6efd5a4cff14e4a92d77490ed5b18b3ef19749736b1fd2aa2cd121376128a3f45a73f31ffbfd81d15e4e3343a55490fe89df4a744e8cab90dfe3a044a78592ef3e92f4ed45eb64e5d757c5da1002fff814dd8e983b812c772d3f1bbe79df6371a092c679901a1fc6b00ef851cbb57eb4d32140d35bd1ca059784d1011c4a4f78f75961e6b121f3bb251c4ffc8db095107b1475536513859feed418649d59c7d6ecc3b146a569c0762038c4ad9efbedb9723d6ee0426e9a9f33d76bb340f63df3662ebcbc491ff78b6ae86707377d355db149459fa9c937106af31ca1927953bbc0b321cf2b8bdd5cfb9a5a9fe02457cff8be17f44af9714b67a73dadad7e8846dd7939e70691626446a38fac51d1937190cac1f77826216e63c8de8ba3c3831e3058f74992288aa140a59b417d1a14d961bd5675fa649b1cbb184e6ca0cd7c05ab42a703df31d09a03b144aaab57342ea78794f636c58d1e7b073b2cf41096ac1775811fd8423b8131c764d57c1c33f05f814b6c488afa08b3324f7d41918adca00cc47529ab8bfbc3487df5df9af0b50832131c73a958ea1be88ab066c2233928ebb35d4d43ae2141334812cf70f152059ceec91534ea8828f748888828c422a698d08fc3cbcc71d9a5117b6a96bf08c598ce69231b325c30481cd10360b6611d7a555f280270f3c606e68817acb135b7d2c7428bb3fbbe47bb1d2828fd413d9bb6dbdf1f4abab91dc739738c071b2cdc27c9b128f2288ea328c88eafa1291634aedc9c36463938ffb3b927eb2586fb8fd134984e9bebba1947b737c707432d19a18110d83ce3121a458071158cf6d466e049926cae43aa321d111f9fb9d9a013c9119d21b1a257c87ff838299efc9e18c1eeb4976a1003249f43e2b4e080fd316da3191ea810fe3897c6f37150ef84df06565b46d4af4b4f9cf2075896fcc94c02e56feb07086254f025db56af386eeea531b7df6d439e6499971e26b01b4331f3d044460b28ca54a4b464c97007f603adfc0b8e8cb7e7e398eb98e1abb6558a57db816fa9e2d4cd3f91335dfc8461740a0a60e501d4883dd3a1a6e027a3be6f4a5e679d2e9d90fb2847fa0ef15c2ee81dcd4ab28ded99facfb07891aba2ca5e6aa088f50968faeef3abb300ff8875384b60103dba01e0006c709705e11fbc8a1a3de632a6bd698924869a3bb7abd320de25877c0f4c875ad4f242b557c7c4c1e72e28ae552aadea1900dcd4a517d2bade305448b7325d1c964a4c71c6752b506a0e11b85ca538d661eb8aa9f4621508db4d143bdd3b7d092448ad8c8dc725078d299a987ab17d2a31b7d9f646955877bdf5c70dad0da6423cb12f673327b9c44582070fd9ee7d4df81ad74c9c4ea5f8e3cab53e1de184eb66ee320c15d9e72cf3ab3ba2928ed9194f01306cd0b0b7d0419caa831b88c2dfb5954c91431761776ed9dc5e0202cd82455e0b7de796da04d7de3b8ff8080bf0811cb7fb118740f679233cc585285387caa6d1c1fe8749e615504aa5b9865c610701d36d74dfe545a11ec266105313816c8f015630c479e9fd55fbd05571402f478f8c60db1be7ddf477acc9cd547a02c32156e915e4478fa895c7c142eb0313e92786f1b1a55817eaedad2c62f955f738a4c58c3e8bb3a9557dbb8a37e082cd039c212f0532706924a0c6012df97290ad0a706bb86646cd722faf5cb23265e5f195284b3b4373fa2a73bf5674930cea8d26578dc8947a9d17dfe850846756d790b3312c05f3eab928b15789b7eb4570579416d386cc8f284bf6c1f62e3e80c6afd41403683fd766e8ca20cb2de0010f4eb2e0d6be0e37354c0db2d7ef14623c6bdfe4a5b99ddb399a699e13684bd6fafcb5292d37ce2c87a0daada696384b671aff59e01c11a3ccab8253951ad40af9e4ad7665ecbef4a445a7d1ed99780434dc79d205d6bb3e495e0881ba3eab5713ccf9e09a67ca37452b25795e5ad2804d132613b4fafb6fe8832e33451954c177001fe3f77f74b7e468c14e571b3f47eba6dfc7409cab8da61b445f554fce8f6f365139ae26d6cc6faf8e1b1b30cd910f64fe0564e1b69e0fc7d418a04e55527cef883f45f50d0caca9092a093a04046e3c4962854d590ea0504df74be8245be7ceaef89b66fdfc0d3235cc900430ce5d9b0cc3536c5c6f883e48878a7a9b7f0b195f4b8787e75d31e654ab2a5c9e0286e8238c16a63e72367d2d34b14344de2ad3c06063c56a99f23f80767179d34b3dd99f94edf6e536aa1d1ba53792551e22f891ac8b6a06ef027dd6b653e8fa726d20cd934e3346abeb88765a72a7ea5170e0d9b6a9b12a1a0f06ed0f45e427379a34d02226f549821a226e7a180c663dbcb951263a4b438803f9ba00cf09d431a08eca08d3677ad3452f6e2e0e1f9403fcbd2dc8584fa4bfdc95ec2564c5fb73e088e7adf5470fbeccaf1ee4501badf5ec082f928b1630a1b4d8812f0015fdfc7ce3a5d34eecabc1628c3415d9be15d5856554eddcc4ad7e6862a68123f7f0f40c97a02b3b56bd6c748f0b85386fc05aec198a653232e923268b0d430a3dd60b5f5bc9a5a663ed38f2a4319cbc77b63c495995475efef2c05f30abd274d5fc20432d746cd16947a80c2bed8b8cf73d19eb65f5e39224bbab271b5685775b0624be88f66aff76507d647f638ba00fd746c0e4ba2f3eba79315d100b70a8cd7454e0828ede09dd17cd2de78d3c455549f99e82f66e3e51a9af3d87f51408b532e0894c34533147a2ffc3a7f17d6b08f4ac5693b3c58fe8dfda624450fcdfaf112ac11cafe7408996f56d09d479801048129211d73cccad388b4da650119de1966477b7e1fec30a525e2976ab582a63c31d45dc62350571613b6e1dc83d7d12c4e17bc6dcb254616e1a109407b2286288d8d8130c08fc80acc7d7f811b7d0de759499c85a159d93a9b104535c3ae2bf9c195ff5fcca43e9246655fe7bc35a8f5aef180e7ff6b28494f6579dd5bd5efe934a605b02f0a6a2407b2460b7e76aa86f5fa3920e7bf8b609dc7a0ff70e412f6253bd54d9bdab3909d4bc5c96e074508f94d9d7a4ad407681155b80f106e5054b1366dade2a29d223f17f445f939bd2808f23d4e83cf2fd31559d3cbfe2b998c3a495def0ad4e788998efd9afdbf309bf572f6536a32f0389b55f8c71c5ce8c9e69ddfcb857f84d71842034c8bff33040778529c8449e2df46edec8c15757032fbcb496cfc2c04fb4edd3509464c68d8bedef2ea9deb397576e4533850236227b4918832a8489b3a917b716a0416f54be1fb27c48f730b9dd3b5788c8af28e7164daa03aafdd0b66604f48e0458da33ac3bb3b921330678a88a1228ced618094a44c5ce88f06715c4849b1ef95ed44001d50ce3ed57d11b549994c25070a454aa12b478cfc25116ceec60c17ecd62cb7e216247f215b88ccb4624883106c434f4fb67e1a36e4a5cb60ad2e43cb62a57042411c17859519b75918411bf0e0cadf1386ae03ed27e7f048f407323cabd935c03af22238065fb614d5c35335a38cde8dd803494f099f61714a2b5d2cd87f7d9d481b972d784b1e51a53e9dc4c093f21a12d03f98d11aac0d8d8794b7e04e609ec94c6dece88957415a544c85aa1003006c627e12d9871ab84466ebeabcd9fff238cf108e0a6c58356ba8ba3d1e242ed56f3d1401b908d1ed9671fa0c2dda6ded887f8dd26d20890fa6cda2639b1176de28fc42dc6aa8543c2e785533427bbe99e30991f79095a8c9187949f1eb865115b7312f0dd7733f3bd960f7b83126bf36e1822ca525465357e0da097e923ff3e2bdca92eb517e33ea97d18f45a25bd31a8c5b50b33e48d6ce25830409fef76a10ccad62159305930acd08927da2fab03badf5b4189bcafdb0631e6bdf54d547e6f840be0097a916c49765fe43235f7f710d921202fe3baf771ed79b237b62961d8d85f462a8b523ed51a30eb1953d392e8524a098bb7bb42bea2eb64749b94789741b9d7b23be66965fe2698e58778d0caffe8c330db9acc4109d322991d1cb5bb19e48d5545d0d06e89cfb96c93c37f563dee0f723e072d84f4cbebcc69e985ba8adb2c726d78bf700355436134b2864f2a8023054b0209fa942ddb95e987925d644ad141a43f91f09758a6081b6f4cdef3c22e85c448ff62fb157eef948bcd863a61f0ac620a77e84b59538406fe75e31c0c4b5567406c40dfe0fcb6dee0c14c8cb7a5b2783c4c6949892c1e9951eeea38a9ad3b815a0083c0ae491c8109f7eaf2dc30300cb1ad8099dd2a8bbcd9b33e02f3a7156bb2af0dcebd4c023ed69d9503cadff46d30d370b26b21261b74513a0d2f99de8466840acc684761d73f15d45cb89716c45167b2904d98e4046a32838a5c4c6bb53692afd39f39079c696120781251bcfe48daf65c06aeed708b99ca19314eb6a488f4d5f042350dab20a0513b3b99b4a804d909d886019a41c7ec9330ba3d6c1962e91ed1791da00e5b1e65d986ae0f75f35e0bda0bb832ba0665d658c9b4d2ac91e5b80b42af9ae8222b232dbb5c8c1997bd17d03ab25187421afd7ca67ec651b34e621898545b1fa8460fcf211eeee16803b9ad1623b7f643094bf24029bee0bfae791a29877202def8bd375e495b00605dcdfcb3764028a7774e4912e26236c749ec8715d254f08b099340f40ea6590aeaf201dd01a86160126e746caa15cb7a3073d519918820352a715bcf3a8725131d51de224c27e6c4cc9df8bc52ab334d4d523d8c345489ae9b597566d830de21242e0b0be6a2b29231de2968e4bdf6b627cc05b453366b606fc1ec010a8a18889666473f9496ab8aa64c774d7c60fb765a6ca729a301d5e6205ff53572ef3e5ba2cfc0e203d44f8b596f9e77091d09436e478d94d2b13aed363467f71cfdf4ea6486064b257882883265775579e5ccabd7ec2e1b6a7c93fd0a439386d58809b1900b81ee86139a1e1f3be1a7df4728f48075630f0ff4055b8ccc63b2620e27b12c19a6db33b7c93acfaf817f38dfa771e938d97cd34391c59a3547fbd5e1bf7dcfa0e0980964684330240647605138ce7f2e636f06539ca663c6d24344f5f9c108f0efc31a30750395d935ee411f2c509ed4430235c602a514de56e64210c4f86295e67e03f8f4e9f25ef9c7151e2bea1ef147812ff0a7da5f37cbbc905018cae3d3d22118ad8516b7c11cc732edbbbeb5326336fa274b0c8308099d5900200665ed6eae310665bad19a04b2248fcc4094c43717adfe159038ad6f7f6b6f006d92e78f930a282ddf696f55f01e4374ef6f73fb97e32c8ae76441468e492e45ccd99253192937ca7d1ffa4abbdb4b975bf1e4a276685a7c34453e2723a61acfcddfc9ecd34cfae379549a98c3f3c32fefd405cd9c6553b17494c7f39b48f992e82e176a950352a17c7f05dd59fcd18482e7cfe4b9d8444a1ac9dad02095b9cc10f6fea7ab4479faefe0b1728da7c2f26676fdbebfa3e9fd1cd61a0e6051e0a11e4e7efa857af98cf2673c1e644259a3fca17d9d38ecef22a1f3d636034ad18c7a082cc185e19858a48ae1bd8200ae07bb1fbce67b580c13b57c94d6eb5806b3cc5b8515a60e26d06609bd0e15360a353271445472cfe4269cbf047a6d3dc46e3564eeae64867391f27adbf2e329b0068fff98b69c79986a1b465fe28ec4aa135152f95bdb9d70db87cb618f5d0aaee826fba9d1566158a3d641b6d55ce40ac7ac2a767b28e5ec07f094c15cfbb3be2aacd0f3b353b11bd984b10e8b39226f8ad6df5b17592421c025a26152c348f6ae31a96035fbd8cddba8d16851b6fd2088df768c16faf1ffe02aefc16ac78888d4c9684a4643645640027b03ca3713014dc22e370ef5a161475d9e1a7036e1355a11918f83460c43f56955d48e59b8c71f0825ae7069e6147f4d35b6310ec82d2318fdf9d64fd3bfefea5c041938e9a8cfc4ef534797787072bb8830a0dfead9049a23dac89f12f1aea50bfd6448e8379d8e557335bb5a877799020551827063a2051bf532869e77b691035cb4ae51905366a204880e8cf1fcd3e61ef3cfa4127899320718a78fd852e1cbd36c3f526a598360d85106db07897c937209e63eb2a521feccf63cdcf56fae9b97662ad6132b1a49069a30e9bb8e631c373eaf541698ec543da1fe61b2c181d23b9251af7766f48558058661f3586a1a931975ccd4fe8113db731e11cc09d1aec3b774fc93ed97e0060d4cd09f3e9e9346ae01370f56cb561f4058d996736c0dae5b00697ce0db6d74fe1ac78a11cb6837b810ada7c01da740fce65f88866a6777c7672635020293273fe39944f7c0987f33cff6474ba8c2b6f11b004839980e7f8026c7b3a591a428af0497781f311d6e14c3b19618cdcb9cb78911e136144baabd20d1e8f0cd58343173218fde4987de3243b8c7e3483ddae6211f29c2c348d7a50c18d33df9e3eb9996276e97ab788069fbe3cf56967fd0d6c94c7c4b444166d6dce6d595ad856df74cf0562f5f010faa590ff06e53abfdb0cf5d059ecf790bf39e447595b5d295deca44d04c70bfb2e4e8c669667e7ab5034f5c39362f23a0b91358fce099491f29deb04e4157c9b763bb3442b282297ea711c58c2cbd85eec2f255560296533bdcd816d8270f56a422da70e58e12335e23136b3eaed2d0a6018bdaa35a11dd3ae93e234fc719c4f34359d9a1f73a1ebed081b94dafe29ec6ac5f1867bb8fc802096c3d3f5e6af8fda53636c700a7827977a22abb9f2d6106fb78acb55a447eb61fc7fe0778a9b8026a25e175626640bdf3677e62df878ed830160681582f1e58eb1ba4cc2e6eb5b07fae7dc29111f5397c917c7d5e6fe8ec79693b98fd83dc41ce32aadea0c9aa10b611a15675cec9ab563a9a72d4a331727412022f90ec70241529f307a31869e7e6cfbe8a5cedbd444be7216303596ec4d5050478bc7fafe68e5c39a5281fa03d112bc9e5b707cb0c1e8d60432a81960aa357169c2356ee52ec5a16f685e2f782f6abb0b8ab9f036bf586c624af9a3a2e24e92202cc21b4f1a2ba414e330f5492358cb4c9448deb30605b8b4e1a0844dd0e5cebd84eba843046de07bc267f1704792b6ebee2b9c65efbe88ac9b1f6c66b8be0c8aa3724a2846f5f29156fe80f3f814585173fc14824633077a114b89fd31fffc91e6e55a5797dd67640dd032e24d49583c5e914671340ce92d9ae4cf4a0dda4cd60434c33ccf394d91f0503ead505179fa87d64a03f95dbe379a6783bd0af1a290d11992d709069294ad4cf729daa96d9bf60d391bb351d72e43072aee0c245ce95c6ee4ac39d44fb52bc9e9ba31e688036221e97313f4cafb4d9376c90d5ed30ea64229e824cd0fd3b12e0ac812d9cc522cd1a3a3332c063a8139f1d4af8ad4b8cbeade15e0ca621ecffd6ebc62400715f0da833dd0ed451d0650be79cdd2b632e765769f3dc30abc8f89de1a000a509aadcbee6fd2a5c7ddfa50ede6de124430c723bdd86dcebb1f66990b8ef601b1a0c3ab98d3e8a2ab7b08c5e1f95ab026c00161236ee21da8c34aa36065f96dbc2dfdff619b36e6f63ebf771da817834f23275b94b82e14067f4e6aac32eeb3cf97d8187ddfce30d543559920bc7086c165e927e43c5be77d15eb92661eff4b5c342c54f460c9f446d89dbf4a9f5c60c38a394499858faab7d8218fa5458dfa9e1ba470ce5fac264fbe99401f4c4c44c92f988c7df771aab2ba9fe021c4415cc5f3225cd796e93e78aa4da1ec7e8f70c511ae26c40c93e1c80ac2e8f1c26a98a9db966feab933de408a48afbaa8dd671f6084febfdcddfafc0980356c323fb0b0ea5eacba08e0c78ec982c1e7340b4c41fa00886fab1b4e6097710d393fa3d6ceb42dd4edf8effbb7d882cc1c4fd5ca6efc06da2b86ce377197ea459ceb8c9dd5f135fe05dad8d5a67059a6bd1d3d5baa39a8606cb7f0b36b7ffed407a409829c9de2ae97264ee05cca23500cee4b2e6ca19c461d573d0ba27ceda74fdd9a186b4ddb92a7598ef87ef46835c95e0b3946ac42135c7c6b34b7a2ef2b3b5d5c4d05dce6c4e14e4798aa49af9e9864352c6ad707741987a083b8132f20cb250c9627daaf90a7e2d80c8eb4069a4f29ca89be1e52ae730a3290743f5b907c554783603c27e887b68759c81795b3602919e727ccb6d1582604bfb42e7c054607dde0d878b82baa4eac10da42a6e33871c6c3ff70415f2fbc20ffe1df9a1750acbd371d429c9da12b0095d2ad85d104fffee44559539cbc44b10900e5af53590b408ce6d3735f623ef42c5ed80882d9447011c5c454cf07068c6365b13ef0e2752812b69b4c1fe1c7d360f64373351c0160f8e4a53d33cfb242d3c48c7eae1c525728332e1490c63de1246f5749bd861420d99c4d611e4a936b9a40b4626bae19c730e96b827037c5b3ccbb87cafc0020fd68b543a3123a7415a8217b591653245a4db2e029dbb685f25e0e09aa59624964e2b81509539f3c8e3a10c82aef9db8f588d4703a253121ebb0c6d951950e8ce17407ee566368f957d20cd6e26a058cee07156d5a0252d50e9a0d579136d5cc3a3a987ed6f796245565af54792d7c9230c9700fdc2975fe9855f19acdf4b86da8a3db51d866567ad973301c7257b168fb516a02490d5dbef54a20ec1e95b560b0cf839ec2bad24619d37d9219783d8163276bd9a03a96f6ae4e4908087213e0d87b2c43aa1aec6dbdc3e950ccf623e6104ac3ef316235140ea95770e3b16d832b5287b935ef770c33832fcdecb734e1ca30e7ae990990bdf3fbcf34d364ca2805034be63fa3c7ac6fd4c1c8b3f198f49adf5b6acaac219ff969f4a43664bdd6c2db92f910b8c471bc91d7b0ce1b9a4659f9eaf0e95f7cfa4e137567f1d5066e8f0eaa6dcfc6e5259c64e002edabbcaac2acae303fc05655b6f6b2b07aac9b900379799ca207df1876668530d385a72bb4faae2c4cc4d585e3d598376f2ab71638fee92056c8d5ed697eb58ed52c9be4c6032894892939dc15c0fa8e1e3807358d78dead9e32f7b088ada2f6cb725a9ddfaaef1a5caebd7b2d5c6cf762c9241695e63496f685c07c5fbbc295eb44c267529a7beb5a2c442117d9f9c899796186725331686bea6ee018ceeb34b172781df32b1df43327090b6d7b2dc558102ceeabf87362e1fb82d7cd7a4435772ff9232d9eb65017166a10ef13e47fa2ecf922b30f9244436476cb21d7bbbee0cad5a33ffdb30a172fc0082b2d3f0e298b69a7b82bcc0f156b565f2cb2676c0ed24d7edd3e93d67b6b42554fe880cfe1dfbfb615ed34bec4fd8de52820d49fff0778a63b937e3ff8518aa181f95defb25d2857826cf111c71c5e6f0400545eb4d01b6e2cb044374eea4a78760c9d622f4e27d5ffc9ed7cf5792c4483b622dec60893d0076de33c907e4e34a6e7ec571aaf34d3e647ee8736eb2a82010cc2b8194bde001a28c7a56ca66735691549e275035382b303a27f1da41849a9761e05d2fa943c8393a438291094026d4bf4b0341b414a2c71d961fd11eefeeb2bdc76558c2c1f11c019b063c6a996ca67ec2ef93fca6ee8057b3f276221ccd1941ce11f8dd9dea8d3073cca57c1e67de09c01a6bf82eadfcf182626494dc088957f0bdd33ed7d92f52c89bf8134c9f65a9f2404ce7b15b2332bfdaa70af34cb4b5709b83ae6c61de1becf3a2465eaa660eba72be35b9991ab1d4f23d122491e55605211f1899b40b925ac0363bc9e00d5ba0e763658d38f91b2b02b3f055eaa417063e95630c7a959ce134cb0ea6931e8853bc316025985192788c1f66b7faa2dfa17efdbdf1e416be2504cfa8df270149eb23a9416c276c57c0fa8576b5f0f53a7a15da07ad30517de572b410e57d2c55e0f29a7ec49d966f59370820be48bbf77ada399411e0a46f9f72ac49c9f3ce8a4bfed00eaf7a4c7c1ce846b43ed6cc4a8f62e7c23da435c9f31618c899a35bb08a1eff7a594e85be027d769116e3c909d83be1b138b8fb121bd892b575276515e01057bf49a9806fafc965625ab160bad6b06ffae41abf013788c75282f5410a18a2b99236fac429dc2820a1de39d8a97a6bd313fedbd657635c3f18e7fee9e9379046fb2916f6cf99a6ac001ff43569bb4d1abaf55ad02cd2d45f1c6ffb893bb3a1d5caf5f440488919eb598067aec64360398d7811c7e0e290b959989a62d496faa75e3ac648f80a2d1e4fbea49c14a180df4019e0e928ec8c71e204a6402503158526fd585fab256662b134b5adb0919ea23e95752a182902d022e77d2ae9fb71dbddfe00b6284c5aa9621c163bfca7fe4ce00f9de4e1bd1bb437756e421eab18584119df8ed39790db5af6337dd0014f872232ca40d706102708d06dd40a96232b3dbc61af4fae45b828a5254d87b72921942840bb5919d81a06ab14562649cc46de3de3dba54492ea5a8b1b3227ae51f7395ce364eb7efcd5224ebce3dff55ce893130e9ec6c62d0ca7de52905ed134a722184409c62a95b63a130b161d3a9604c527a4701a631540ee838c7a1c8740b3f7059410dd135dbdf34e53f4412ce3a5b2cd9c3eb23cbcdf4b01ceaa462307b9ea91a7f348f629d9ec0d765b9eba91700fcb860f4b9ee55f8ec5e3a7ee0e398b33d52b4d28e89cc8ac2f69a0ad3bcc2402f54866878b509e1a4c0a5a4f7555a940ba48235ac4764aaa76f2c49ee3104f2c8aa80ec7275e7663d4d07ed9f8d920d798b58e59ead0b7a3cefbe29cd83c656a81fb5673e644b91a2b1ca1f58adf463e1e1eec14395898b23b53bf12f4aaa6050375bd1aafb9d47e0ef6df496db558ba4cf239a5921e80fa926c2b02bdaf533bbc7dc37561e2bbc6288cfe9d9cd1cc239da7832f533d0907a2c4cf624645b412585d667e9410b9186937ce0094abfe4afc1d4b93d19c0e0001f2108d19100a35f669144863ad4dad7d7ea06d7776ab9315c62e6a53a293b5977872f834282b0a747de334f510ab6f25a4e95b9398ec1763b2229dcdc5dd8521370e98a1b99c20fa128497805508e5789120bf0451e848b798d56c04f3835e7cbdfc9d3d5403be3a72d8593d6cd87eec1e796739b7745c75c5b21d27423e330b7ebc6ae3efaac8b1f82cfa341e38f9cb18e677fd3fa76d1806e6a888ee1f96680e0e5037057fc21e605fc9af94e8ecfeb6ec54cce1eae06f2dc4e2eadaf3ce7bd6d91cb0d132a20dc1fa9ddb6f0f292349dd55d739decc9fad2f9b1d30f241cf49250864f1ae75299d651eb39700b77289b00828b09e150edec5dc001cc4ecb75b18a9f1ea14c4f6ac42a870ed4e9becfa18c866501fcdeec3f3a06737b1f8a9111e77165901b67664915602a23499b9b1f75e23dfaa0b0e17a0ef033adb0baa14969dfd5129926cc5d48efff5be344dd9d90fc2eb4c61aa2a3f34b2c62a3cd1f9b2421f9b3f3721a987fa8e57f31d9f9f7a560e5f2732ea1efb7cb1210ee4d07fdf7980158978f599429d3acb2910fd105ff73072ac40e0fe694ce90b2e26fdffe1d390ba073801a68ae84446e78582df0c02469f6a7f76b683237a38a826d63ea0312546850ffeb9a30056a42d5f262de8c78bf645c5aaea44e92ebb0598d17ee92060162215ccc16ecaa739bb866064e07deae1ff46aaf9b4f01aead08f685cf655ad444b3ad54de865a24bbc449caa67e509b19b44733fe68e08a86348eb901c01c830e3bc19a37b59cbef624e65f919a124abc7d9bdb13271847f8dc04912179c5c4c59818d2f550f024b76d32554ab3b5d1ad9c79d7492e35e340496030ac8940e3b6949fdb7e7a0ac8a5a8ced4ec19b16dabb6f631dd21844dfc0b9aac6565a23ee54787adf69eea470c6e30a3e134ef98236a4712ac2a60f1bcb578090586d8872c38c677df881b9fc2e5fdc06f1b48b5029b67a613ae5681023049b1644e0d83ec77b4a49e46ff9ae7c9ac36b5982c29a3e2c764f18f2fe798f804a7ddddb52e7a8566769b5e23d2d5db0c295b7445fc4a68d2785ab8ec47ea574132c0fc59b36c236931fa468f908463a1343a03a0df3a7002437868d2aef972869f3952e4b1b5f784133ca473f0772950e184eaef3486487980d3276f7dae4e9364e920fc58e365292c753b6b1e23126963a8fe5d355c5703b5e2ddeba4cff140ee7c3c80a1b4cc11cea8db21ac6cb0f4edf923d9d53adb8a9d73645579a41894058e86d7511a8dda99e196a51433c56adab2e4ed3340e7043772b7296f6088b9b82be08773105adc6e71c71cadc83afb7b5e1349cef8f99569ea2b3f23a900949ef771d816004bf17abf1decc7993f4b6f620fc98eeca0452d4d197ab3519d0fe7e9fa216b2601e20f70da151d49f24809b76f2d139d0d62b0f95b3e7a92b3d970ce65a0bd9dd7e4019ca59b703ed15fbd8b8819ca302a467e88e0449d4cff09401379bfaae0480a039b5867ab1716746c51e16baadf75a59b3f25e9a5e8d27156eaffaf6b7492c8a0b2c394854ccd28983589f46fb4bdd9ce6e085743c2529d665c6ee1eac6ecc7ee52cc7491681db00d97c8e641aab8c409aab0902464e24e77e424408cd98e25fb8d57f82022cba7b5049f9dc34fa757e3d842cca017d14fb90c7f96dbf17d02ced1f21acfd4e95b3138be05cf75b762b8d1ae1fbb6daa3c28c650e2ff4000c095436fd619d8c5302250ae0470ca6386f97def438ee914bb6dce2600a28af6e2def8b45547e371eb3dac04a4a2bd03dc63ba1a32a90355ec80c5c21a74776f4dc44f1f0236f0b568dd16d6dcc4f60521aa7366ad8109ca4c2c2d5abf3f3d73172583a53ff92d9e42faa63a2fa7d6e66d8ffe52d54864a02c005ca2c2bb98280381479bf7e8422bfce64ad866c220b7ebf7fa963a6640d9910cb03000bfe57af903990e55a132037d127093ea634ec6823bc6c5695659444b5b10a27463ba8a43619cea8adbbeea2c140cbec8867a13c17e56955286c5274fa34ca289c7675bd530a29719746441a264c7e92fdf4772818184c030067c5855d3183c047a3962de4737f3eec47709d059a7af033bdbc2378bc6f3c9006532ce6e5cb7f29fd78f3b02f9ff77d13e0d30d33a4222cb7a1fc7f372d1b13c0d3d7455eae4517631910ceb841e88a7dc4e28721875c36838bc9c300fbea2a0af03bb8cb6c26f0c9cdd9bd872e143fc30ce7cce087d7d08f370386580ba49e23480b87ee50c00805dd17e75d18fe4ace8184d94d8bb1fe1c5f89cfacfb7d7e0392d09599c3daad040c7a1155bd0bdde51bd09c616d9e84bf036af8d1edd068abe0d00c06b95ed8e74cc4c5159777df7bbec9c1c4c2cb145b71ddca7012fe6f0a4706be43b711bb3d87ce3a1576b19d18b1da6e637e35591803289c02e6fe9ec4beec0535ab0f070d9c2546b3747cd2379bc4c3a28a9ead7daf93e3e1052de7a965e34f23499ff26a575821f8198852ac4a2e2f06ac756226a73f224d6d6690a42761e64718a5f0f7e2a5d41b16b746c0b89755d8719f3f6eef78f103340b694c9487cb87190fa8240ef20fa87ec06a91f6261f4ffc7eaa962532f0de6b79e1dd4235ad0067d8fb99c7dcc7bf00e0be488978bb71a4c50045b853da13db066c5440f96602b5c4b71c01d1fae5ff812734f63c14e9e378958483a5334d54ac88301e52d39f8421805c5b24f73e5563dabe98c4ae03c8bb94ebb36cf11a9f06c6a0458e6c2dd79915b02ed88c07264f53541499bf76b64e7281a51e7683ce641ef2cacbcd3551a5340ee59679e6740c15f6fc6c6bf5e1da015b69a0bb13ea2e5d7d08f7085cd18816fe02e80972550a241e4da9bb6f7b8b88b2ddbb0ab79e07c0be0739ac54b70254f6ef0d5b681f76e9dc4344a9aba27eebbf719a9313bdcaedfcc52edc15b13eca1189b29468664006de1dccf28e1911669fab421f4f06663a798be2dc0ff2146f01b8aa59039544e2d74acc80c4e6f28e46cb7cb472e81d1a6e416c96c24fd1638f0bb6e67d4279ad8367d0b322b0433a166596cd43ec30438087ad2eaec63678a496b521b30957ee6efc976eeecf09d36454c20d67e2aa9df1b0c8d5dd43693043e98b8e6f207b21d6e2476ae5f75fc00556dfe92b480f87659aa5cddb82481ef7abd10ab0b20499c38ebbb88d22f7e53f33cdafec443ad059704900720b02c29162165b9bda34858c8425a4a3d0212e7cb6322e00b507cfc94aab29ea7cfd5a7e82a75210c0dfaac785c2c41a9d9794d3d4d1e50f3baa86c15d55476b67cef839276ff5015b693feb3a57227a8037142ee13301dfbcac6db28f54501dfd2731e80cf6e968b4c81921d2383d282dff43999a0fb5096cc86678cdd7173229277b79fc5c4d4ab463fa089b42befa23cec0e0a88e89373de2a26cc8aa4799b2d14e325726c4376bd57036b4a312a1458afb911d5e8c541abbba82fe39833a5f089c50c97150bab40d69aac731c4981956276430ba88f1770446dc0daff0e1df7ced27ef90002b047ca968ca4160e1127203ec812f93511a7b7742580fd09b32428e11f97f139916f9147d68c81645eb18658be6535b9a1c0e1a80dd204cf22b640900107a71216a1ecd506477d24366af270662c03177ef99012b4212059652f813a96f5397b0880b06523838d4cb7436ea1bed9d65022e6370108cc2567ec119d896ff6e8755096873b3b47b0e2bc3794a9e1a96c81fd80c601e8027774b02f7dd56bba97d290a88fc641dd6448fd91bb95a6fd27657f2c061dffdc16a1e0b64b2c67740931017eeffdc9a9ec81358583aac33d8eccb8a005af03c4259bbf8ffe4f22b34e5a5632dc0b9f221cf98488c8a2023d665534c1e477faa9fe709eff64090e756dcc43d16cd7ea583d44c0ffe15d668e88362036c1496b29e9917ca3d680ad2cf82094a65e3826f431add6d50f413b3e704002b192778e93891e215c40465a068451e96d90513ae95f0f78ca3e8f1c29cb09e9f8889864bcfbafd037ee3381b68a484e8992021ed1a0533c1d8fd72dcdfd1e440356a0ff21893c5edba64626f7aaa84bce69976a670e6c42e227a0745db5d115a34322e2a7e903ff86a85ee4bae1f3666d54504e1e0ccf42bb02a90708bce6434a369acdcb2420dd18d6762630592a8f2a85f5e82d6e737cfee4cb20e498bf5b5cfa4cc6b75789f2b6186acc6e17ab07e54a701c229058c283db297d20093827bb44dc0f12330f3fb5b7cc0936f404fe5ec125c419f9a0fb544b9b663a4f45535bfd7c9f130ccd6b3f22836b9bf96ebeeeb62a6e306dc43ba499e0c37956f3db62abb994fb2a01dcdff07f46a30f2016ca4f8dd3cb23fcc261a2f31c5a80b9f20fa4de4dd5f4751e021fa4fd12ff0856d35818432e89701bb0ebebd9a89f3859e4273f1106062d4afedd5177d7db2f955f4b1b4dd781d16caedcf601457c25b39fbacdf20f4c591470a3b46388796246ff3ab8983e9bf48a572a200d21f9cf67b44cf266de4c10d1374ac7f9a5e4a155274649ce71e4f27627e5ef0ee859c3c269deb3101ade63eb622058234da5fafdfad5bd57d3acd4fe2d55347a6e0c443b33dd32ab6a8b108f3d16538cbf0175b4f3baa0ea5431bc71ca2595bac5533f6cc3432e4436cc92d337893640b1d886055f57cb6a520b2a2df87b06ae67820fb4bf34a9549e8fcf47d1b4e44bd92018c9f8f8b65d355b7cf79ec283cb7a8c3fb07579330be162a842391469955d4b0fd3faa9f6a8a6b7ccb58f78f5396a43ba2409801115243dc5a1e74f20ac68f282aec0fb7e36cebcff9f7fb97a6faa9b704aac3c563e7c71f33d19677a7d7fb065e6a80f761294f8f65c5fc2bb08b3cba5ba799679d3fb1346b661ee71c65f94047a8231d15b38a383c79a5b4d2bb06b5303ed58f9d4bca529d1e4fcd07bd3901eaf29a9963c78b336ca7abc079eb5996a16fb07bc310d649fa56be10c75b98d137fa01abdee819d4862c8cedc05ddd5fa01a6fff80131042c379c0c01e62e19e8490d6b54b4311eee197bc0466014de62fa44e33d862a32856c6b58f76d451544746182e506719207c316bda48a8114ec1b360e72dfa07d4489f77d52f0bc719cef502148cb10c3b558cd53364d357abaa66d318b0fd7a98c32d9528bb227e8e97456c81adc3188fb1ec2c7dbde10b86d7fca3a25c4f8261a4508c64d2c30fb9b824dac4809c80789fe2c52acdb88afd8e3b8dbf5be8aa39dff6c78c90875a8308d9ec0d017fd5581099861f3ace61b9b869bee1e5c487c5a56dc68b8f9ed76e0b4ac3c332f5d78387001ecfda663071479d64de81a8a438aa4d7e64de3aaa1f7cdf1c61e17ae3b0041534291fcebd10dbeac0023e684b6a6583b744ca19d1f1329d0679c4f79fe1c9cf48d79d16a0748457c6a5163659672ebde0188a2cca9bf02c0fa94907c8e52e16bedeed50d76b4f6d01ac5106a194e4fe25ae02e7efea13b0ba0bcfba69f31062d6a3e931dea4203b2c881f9b13020ac8d50b02980e619b334d013a32a4a71dc44ffd37c830da3bd82a9266c1a0a9bb13af84d0944ca321f5be2dc54abe35085fb6b679325b9b873b12b19ba23a3eac94f1ac3e612a5b542763531bf5bee898ef673a7d666a17160786b09eb56c06f759a28d2ffab7d6235aa7763204ef4a6c482222291e530267018ed0e75f2a4a24a900078c060b5ca083fc7228d742fe379a5ca1206334f9fd484b2891cc7db53bf3caebc945a954df560c04b0ef9cb90c7ddb06e4b579fdb4c4295dd131be7ae6eb3a55eca9e5fe65f9324b24e3d566e17d7589850282cf393c0ab822dbc3192e03b4ae735fa3b3f964b28e5fc1227bb6e0ff21913d60e180bb013d3f9e4d31aa68a61532dd6141c032e043a856cfbd4fab9a56ae9900499b8c6fa8f575cea6118867398aeb81a96d78e40dbb2135f6b75fdece27c09ff13037dc021c9688d0175abaa4723992f0dbf6b02f74f6e50a1f0e11032d1966b5f6d0690810157bdef0039584b4241a5bef48e1677e1e48aead532b5872332782c49cabbb38e45e5814509ba1475d08a4f5aa86fc7ee2769db723afc6da0971556f67d5cfb89238fbbcceb395b9eaafa5a1452be3ac965be1bd8727276706d59ab22075e5c693de19c05cbc2b7d35d05491da388bda7dd1706f7aa2a0a71bd6f7ae782ff07254113e48ec78581619f8c85b7d923683de5ddfce22d856c46777b50ccc54c5926e1b285cae52ae5f0a042274d71ee577473961bd6c18195881d94e997c5c7c3e08609d6894e8051d12772ce1e26f85d2d8ca6e7b047bcc80545ef9e250466cfbd6c40b445f960db419dd0ca67db87370729c269c9c2206dc550834cd21708e56db075ca76f75b2feb0fc0254df34b0defb20801d074f5b2cd0ef12aa8ab33e389a8706130685fcafa3b27700d79a1bc01f185ef55984758d31f9524a4ffdebb2aae30462220a3c9d7dd3510853f034082cdb9037d8dbf463973b44b33313515e47629bb1ae2c0bad9c97728c90f2d24b58e96beb7e19322a2184860d34723cb379580f380408130dffe39cc6b25dc697808b161126b0c72bca146d80fc1a1d8fe64431df65e9db97f5110eede5885a4def10eb89520fcd118fa870d8787d073de39f3720ea33649729907568ca60941c3092dfcb2db1b2374a84b38af860d2238f6e5502488f12ca4b3bad2f1443ac4b0b63a91bcd5dc9e243128a61bde6d074c2470c33904e2f41d66eeca2b08d737d0fb9dd1f187abedadb026107c29d427aa8e657ef409056cf400faa3739ba293d474e90fd3de33aa3b388fc4ba5cb141a586a1d51fa78c1ccdb688ea32cfbb8150ed35bffaae0ed5742e48bc1fe957d6e51ea14961c3796d1c6d55c6c6df58beb638cf4f7193f53e55a10935de8a4f3d763c313a50b2eece4a0610f4648b8c5749358daba88c6d3341ba6b7ef54f365a1987df5d28cb6eba5e806a0ae76bbd2534291f5f3c43ba9d09a33ecfe91e534871e6d2a2336a4946c2710954528f71f4ad0aef2161c145ae214b0a0813269e09dd3988d63b8667ab2c79e9b8e2a99f58f43710bbef9053d741329c00293f47f0d16e3e3a230150ec5e27101a82a4682747d91dd7fb7d0ae37a7c72ee56014e6d0d509e2efb94e97dd80706482de2219a908b6851cc6ad9652ce70f68b0ad715c450a7d0c0a5d3e8a0bedf29ca970eca977d24abbc5d5a9cbaf9a078c80c0aa1fe7a031c03d47c19e2f6edf2987c307b345cbd3576972683a13a68f93e142d9f6c61a0b557618fefeea93161f5f32e4025ce3b69c4196ad339f4f17726a328c19f2f3ce511af9601eb68c3a1ae9ebbb58a006de3c04a0885b07e1d9238467dbd3903d56716d63bae579ad0e391489d39382587ece2825feea0b10db24882ab8b0eafa528447553fa7b7977cff80ee0f996da7086168e3af51ce3103ab214757efcc1293cfcddf2d16ae36d01635d67df0735de8c7a85be549a354c079d88f5374bcab626425a94d9ca23511d34ca97c0f5fe3dfe740550e84afda849eede972b20c2804742a6485419718b9d519987895d68245ab0159276aac5ff6fd62cd114b25372c8b83ea00c3d467787979e900a8c8b7817ed91d1aad843fef848425a350b1d0bc1ba631d0165a4706ea06e06bf9f9cbddbadf6eefb716a82a5069a638433737119b755acbbaa9deee9de53cce68cd319e7f7c0802df78013ecf8005dd6ecf76e7bfe0ec45b7057caa87418a939084d1ce4376076fb1b8884a050c9dc780c6bdfb248e7335dd261150ab7c32581edb2010db29e0329524af51479ebe5286be36024c3b18d97cbb777d3c5d3e673c52980580725d47889aec9d8954ec07c963056a33aa4af9d43398b2043a5b25dd032d33e74da0b4282be2f4c19e45e349ca2e20807f2535229f8fca5f0e549bbf95eeb52a6adcb36c7cb640149b914d80779e95fedbaa4a0cc2cb21430f980fc7fb6305aa817820c3e4b579ad3018225b0e3fcd9de09cdf2626c08442ff5f4b6fb4452bc212dcc5a1aee7797f74f8d9e94139d3e8e190718f955d038adff5ebfe7f41f0c20d8dbef1fb3be23f61a1c6785e15f47174fc29962de698b1f37ef55a121be22dcdcf3df0f6918213b09ecbd48e4e30d8dbaf9516e84f0d0dd078e0818d6ef3fbb419c6616d064dea48efd0cf620087ac7a511ef2a50586c0637a8d8e7e37be74fcca5696795417acb51b2bebb0899b1a0e1cd975e1ebbb14b7658633cda94aaa55793eb180af6f859c552af301d5ad94ee48f673fb9591897d0eac12657dbea58a0960afdfb8a1d8027c402eee7fd6f903d543be3076a9247c037c849c0c4b81b83efd03393e1d093c50dfac2f125fa556f9d40f6a8ee53c8c00e23dd8e93c70a831187156b38701353e1205fafd380473fa69480fcd34e238868ff20b49826b3b88a3d9023840d8ef03395519962f647ba7c977ade180ad04bf10180c0d6a14ae8b52c37a1dff6740dc7b11dc0c34a39dec866880c24af8a136137b91b1846e8e9ae9c576eb3b7ec027ca99c301013d6c075df85a03d8f7c22d8f5839b2270d9b7e860b7cfc5c2beadb457891097ccb8af6d52a00e887b9f8449d710bfe20e8c44000d9f8f6e1d6421ffcff7bbe5ae2c695448d6fcb62479c83eb0bccefa7a0440f56f7a72b1ece230ff112915ed6bf7fe7a0b7d834e0933eeef1f58cb8b2c49857ba67787eb3cc93765e066d535f7bc038042dad92db4896db6170645613b35c939b5f0acd3bad4c44d2d19615dd0ad1e81354f6e0c58f5caace71969029530a0c9b1f2393f7e595c19cc151299255e1eff7cbc18517129d9341dfa2bc18040dbc288eebe7f3f357eab2dd657e05a851a569a7a7b446af99c28e71e1ae1ef3fe945e1949d302d9f75b0b7a09651323232941f2cbf21a497d5abb65222d10af1e192d4498a6672897c6f5bff8435bd2f70c3b5fc4ea13f40dbb7e9eab2e37d0e278412014385b30aa87a29e2861c74207a7722029b12418d39f529dfb890f8d10b73e5507b1d548814c113c84de30037940d3b903a77695210bbb4c1c8704dd01b2124533b453b109a534f8969c0d813abfa1087d78cf02ae012e33ad3f0901698434b8e406dc97a96278e4ace7b468cb6c9dee455021c64450c754d643f92bc1f572bbe96a65ad67225644ec16458bae078260da4d5c91b37b3ea60b41930c9add6e5437392d6836c8839046cda14a42f1b4b31ac636930f1f3cd887227d620415dad0ece9613791fedbcc3e0295000a850279ad796cc18ed4bda62399acbccaa99824104738e6e9e2993a07261f472ebc653a51413d52839b5e692bb29aa12d3b85cf512ef2a1e1783d84f8f705895dbc2f5c172f46d329a54a25dd5b17f80c0bfc1fc2314fe7584ec0f34db94c74b716a8afd7be7271520c339ee10e19a5c2a2152e28c6ccb08bfd21448d02cb025642a0d3a0427f6308efbcb105fbfea56809f55f48e253856546d78cf4fef8ffebe16a720bdbea14b3c0e29fdb515aaa68cb3a65dec87447c4f4bf6ebc9ab0cb7614976c54feb5b6d1d8c53831bb9b0578fbcbf554eebe2b1f9468bc7dabbd16d322e05867024ec08eae66d265d6fbaf8069cc72bfbcd1b444bf3d87b52c47c60dbb5d2c891e747f3389b54770cbc1ddfe922113990296200d4bb8402ae1911fb86487e9641bc4540ad509385ed13c42f4cbf05cf38d724eed8797ae7119f756a905c2063f8bc4d361da7cde2f52cfa24336583c831cd49b53d4a0dfa46d368f7b9997292d9cd338d670b0888d8b0cd382e489cadde3dc6c7ad965bb8125067eea7080eb067012ce543d99dfd40e2210a947d3040ebae4bb9839dabf5c72a1eb10c897d452b0ca1741ac4abcb584c1e2e9e0f71354f53283d2ba1b1d19eefb950fe5dba09c915aec09a6cfa6c01b8e7133a0845e40587195f5b572e6d4766c40a6026d2864959c797e4319bb08be4900c3409101c13208d5d31aa469396351047eb476af29ffe733098972592d918891610e6d3b420911ed9e0b879f1f4083f5f8ef04ddd3fbe2ac7da6f4fdbff39ffcc2fa3c4ed9231bb70c00c1c732dd3d324626777c99c0d9a23d22ff97638f56e84d799776ab5889744bdd976efb926763aa9ae5b31f5c0ab5ecad4b0697be18b4b0eb9277d45956ffcca7514addfe4f01bfe03a958a0ffda859cfb4c2c0fc09623628352b478706a3c81376cf5192cab57acdf847e846af9f730f8af13b4da3c24946972cb0012115f025aa1609f5a43eb142b7875870aaf4444db889c4e8fe761adc1d52fe14b677cc6a991c3d91232e7b15c206c7eff5ac5ce66d9b1245f72571fa304e60bb75bd42aa33f00c38d3835dafde398ead1a7e5eaec4ff36bb1fbea718ce59fccddad59ee083f6242e6d077d3d2ebb42559d3274a9d1e8c88a24674071c9d6e91ca382dcc10e604042ee5501631f974811a94e5feddf1fde81665485b638ed9378f3e06f89be7bec0c6fa752395c02e90660c71fbe60a8c952f7fc55ebf4ff0e6f5d0c93b1d7af18189db609138d36346e7d61349c665d40d11fb4619921fc55b02879a3c4987ebca38ac0f1e9258c263b86e6ba1bc4169aa5baeb41979acb23f6fd1459eafd68b0d46729908e8529b2eb9c9e8cfd445017462db876987d99e5da229e8020482faff03d0a90e69af573313f511561d1102ba11b6d98a18b1c23f288b5f5bae2d571c691065bcde35e2ccdbfdb6a3cc95461819e0019f146d9947cbde412675aac8539d175c8874e9103c38760f56d9338073890e214baa78742d54ae05eeea9881a8c49860318ed0e49b75c39ff051c8eb64e6040283802cc405344f0ec09c4cf7b85ffeded8657d8765ef6bc5769484144e62d8445be318217ede36d3d91e0209a3fbd444422f047ca990f126a1aa40bda7cac704f310ac7a3adc7c48056c917ccf886318f769327c8685f3c1fc2e6695e3e34b3544f991f49de4831b9b1b8e85a7632cfc531a880be79c73c5776294f322843a9553fc45aad604d2980671415fb28c6e36b8738a23213dd6692398a30ed4d842493a2db7e67551538d032ffbda96fb6f070fdf2489d3f71b27da8174aa5abb602830161c55d0a21f27cec953e438a3cfff0ce97b0d8830e6b353c5d75f15bc600c7d60595108b7e616c30eb7f4c5f396a9f5f7ba060e7991535ebe473691d5828012f9fe40e5d3a9f03a57ab4e235fb8dceee5c06ed96873811898842d49c223edbc44a116a97d0b3e2b82e375ac16941fa6ecc7875b308ec031d357b65f93254209fc2a837580eeb54fbdf422bd96f3ea35c4c9e02a0fbaedab698a4324501d5aaadf6c89abde574cf37fcffa85db50eaeead861bfef413e947f7423c867628d7248c8df8492de02ff7c92687cb09cc507298dc186b1b57840a4d40b50eed93a237ba0326a1bb2647f0b570c9fe39af3231f865ef2026c14a3a8b4c227d640fd14f947612a472d5102d95bd142e67309c46f4f474c403c2e6d3c6a8501258f6d7952c9ed0c42b4b5ef7529eac88281cf26ddd578b671e843adf9f5f6f0d38c67adf1d626c9a1f58a8a16638fc6795a384db49dce3babc22ee2ef2bf2a9c1d8df05e2a9a95fd47b32785d2186c92ed000e4c749706a892abe2add8a05d09c93c6fcb4665fea8d4c7eb3fab3d9e86bfc3312a9cf504650b087880ee7b0b2d8936d90d5704447ef469e05eb8dd2fb4caa389529705305c9078d7ef19b0f1b8cc5a779677d981b9d3c1042c35747065e1e61c0d99ccf184596bb5a2c9e023660ee0a8b3677c9014141cf305b35ae48e95fae80abac0a0c459ade572959ee9dfab5745f598aa218214bf8af61d360caaddc1ea21f14177838448df1fa2f3177d79f1f58f06449e154644ec2c41a4f0d215da1d9512569d5bc3351eb2293c03ca9a755b69eb3efd1f9f24b7ff5cfc7147d89d6af1e4517671dc04bc3942f671b63e1ed7862ae380584e4f5ca1526fe787f690dbf832c66f2d134c135b84681a95ed19699c778c27f8724104babfb4dff5d2d913ec7e23c7841f0bd8ba3e74fd9d1b0436b929f093419dea6b837da7395e8d1fafe2a37735004326d54f890b296294542b5b0d8e55f834c0456976196889f3cc0d5ee22de8328170a84ed6e4e43037fcf84df9c6eb03d41ca248256e9691454ce1da9face74e05fb22e1d4a4b8c1570e41986e3985b206aa0c7497adde38bbff53f9bdde700882825ed6ce07dbe932a8124bd8b59b50afb9fa22f7860734c34655a6f05526c3629e5a010e33977823142510d2957c8ad888e2294da1a13fbb1f8d234add4a3278befcc12ab3c972ffe823d3ef823ada0f3cc54dd0cce55e2f8b2350fae04fce6af309fff18455b2bff06ed4b7f8444d975831459605d0ed33874d630d731450e1dc3c56536febf2967dbb577b40f4c0e9ebeb2207aaa52eacbee5891b804f4c5696bee8326f95e66ecc60f2e5fd25e243bc9e6017275ca7c0ed05ff476a6bd5823c70550412e1761eb19bfa46a1428a3a2a9dbd414e55d77d09e96f604d3d85192524b68bb6e2e87a022ebc3b68c006be2e5fa8b4e852d7aaabac1a9e3c2c8f9c7312575b142f2173944f510046e54e2cae1a425ea5c696d755732b32cb5b760cf89a6731fa5f0d461b708dcca24b75e784063043a5c3378fa3d1f232272b154141b4161b07c8865e864499fe8798c45fa923e2f21ac77ee5ccb43e7134aca39bc8afcdf7a095355133875ebd64d1061bd9daf45a7bd92c8fa2b8c86ec7ea9bd3750ec077c0c60cb61c9b2cbfbf5a3b607dd9e27b1a9e45fed1ab1e2838caac8d72fe8fb89f58571581d7173087c8ae582017062ab478558fc86a4f61a8337a8262e5b3b3967ad0fa237e64efed2849325df77094c5c96c227a8a0a95a20176d057954a4dc98144a756bbe68299a2746a23a85451058a6d69aef27a5b9ba90d52f4f36cdf973cf5e571091ac14fba621e600c33501cbf9814d039b2aa1141157d7e2d2f3f7adda9e13051f74754e789c4a3a720e0f2dd774b9585c4b39f6f18a02224f5dbcd8a56969e3deb118280d15841129e9c9e7803a58a3d24a5cc09578a3ea13ee5cee5f5083f043dbb2050a9384aeda43d86194886e02b817e71d96ac1ff9dc334ee465457758a832166edafbe82f91d08d35ba99a74ab6b29a4210cf7559b5f7ac6a3a34db8c4f94eb112782246ba9267f0ae4ede0c4a7f41aa70dc0a3ecbe4857c951c954bbe327d68c6cc708a8fb976b4ed42fa67bc2303909d774d6583e62e39929800dabd53f92724f08b972d91db1dcd63666e2dcdd404e8ea4409667de9853a88530c926917615a606a5181dcf7f165560fad4c31becf7c06f98fb57729c3c356dfb984092338a69ef7a445de4693aaa328a910b8661b1c3ffa255958138879206119f431d6a96272dd0d9501755f8e7142b9a73adf8e6781a27e17a734183e24b366e2a8179ff0834c163fda2b2958682ffaf4525f3441877bcd2fb579be3f1a887f4bdd91d147e7db92db73be36304ef27d6d1fe371f017c7891021338a706f79eceb3bf6687d723b5701541286a3916e26c7d9122c185e6df4016654749eb03f7fe75f08a48ece8e2413843ec90f709f437b268fc80a534397db880f399bc568bcbf4363df5cf2b21eac23eaac25583a9c12d6d3e89da78db69c2e38f123a2c5d001d3e2280566981786ae0de683cb25dd333ffe575600ad1ba8fc9848eea24afa195decfb332eb7dc0500881024890a18acc1960c8ebaa6f0176d992e3f57a4dbdaf08ada8ba5edb83917778fb9e84ed63d0bc5480d43dcb2ad6f891269eb8c2aa7bb951736e83a7443fdeb3c578b2eb561fc9bb2d4ceac48185bfd05df3b9d82543051ba5178a39890eb8bf9aa5598af7bd88d44b4b0684c2e1962bcf51b5362d2316308f41b4f83020be226845f3371a8211b36999f11fe97570f21262c2ecb769a5527d2183968c0763d3eaee350442987e9cbe40f58643257a90b391d98ea3b2e87dc60284d62e2377bc0f04f39334434a91cac3c1694fc2e634177254334cef84d19db3c8234ca6b17ca6a7d7c2ae108cd7e7e882ee65574789c61e5730ae26dfbd5c8e3e2188495b7ae961bcc66985cff031d077fa8216ede21457abd7bd8849fac11e7d824e1e0a3ca213dfaba54467e727d0cf42bbae2cf2345a26b7c4060cb27945b7dabaf8f2870e34aa42bc562733eaffd13fa819b6edf84d4fe5d6e466f7597605e4eafe0fe9e250b36d17725edeee42cc8c951be47e64428f0be70f22970e4080bda4435cb891eb374a7a0d277309b7878b21b2ebcf1df583274ac25e8cf3747124c0ddfd85f0bcf717a505f050164ebe88c114cd1877adbbf2ab2b158d4d4dc27322ac25fbe270fd197a86374ef51a47118d36991e086a709405e52184046e5a09c3eca64c7e7619bef517dda0c53571eb0ca66620a74548905d4838cdf037f989df31b61a6116daaf6c0dbfa24de1c56853dc11df8df22a118169830cbfd42b0c7ed79e0685091313a86e3b37acd0363b72be222c11f6807468e6a8b7f6b14bbabc5278181037ce69364191711d6db03aba7f329bd8530e4dad53147710f4b0f2afe8775ccdbc91952f0a592d17c6543dc0552345b78ea30faf36b1698e8abdbe4e1dd89da2c18f43db58389dd723fd74b325b8bc548d859b3155fc3ce7bf8a9a0033bf1ae43e1bbabf7967f87996dd33a57e9f5a7e9cbbd5a1fb4c318e2bc69b464f3f059892aed9cbfa66cf4555335c056e11861f58f9fdbb8071c8a228098203a3edc84d63a9b4b7c68cc1eb42b865b4433db245a08416d110ea90118481699b2747c6cfa8f5072a7aadc183290c1e2d5a4f62ce74b140c96ffe374ef43ce9c5088aec02ff3140b7a7696b65a59679815567276c9ebfb98de529cab56b4c8e1a40ef7e0a6e1b08ef56bd32d5d1b932a696c13ec1a0bc14ace64c95b38886c817a8d3f60950660be126a733b2fd493fc418c52621cc6c309fd8a1290a8204313e806d22387046e2a4cd12967a88d70b033336385eede393875cc4d7439b3e3525345a3bb6672b2bc1dbe206d61b549c8e88e2172b41797d44a23271a92b312396f0e255e6d41ef74fcfc48d1e638d515eac3e99f930be5f0e24717feb8a8bdcbdc515bf6a1e4342d62784d08ad9b3987a35a4ab8054100e5b666481120664f0aa4408a2aae04253242473d9a9bf2070cbaa2023cdac8630a1d01688d35ca8d31538cb98b6b4dda25fcb745abfb8d654447c91a906ae82cbb8154d617a07a599b4c801f6b3858fc635333876962e8f97b8e199d49b3e7c2e0237097595b86f2b7060929a502bde40448ed0769fd2f29b9868a836889a4d64e37d4e211ac10f42dd6cdf2b10f8976f132ee15ff4c2f40fda5e7abaf09cd7c6637adde5039c19afe99aa3c9ecfc5d825469d1232a41ba5133bcdae00b0e75bf973734f41560b874fedaf1df9f02ccdac95b7b3487e2f8e3c9bd67c18029d99b615db46090f42604734612cea37a25a1f3bdeb6f747f598d7898cf4e42243cd29df2f393cb27c8f7a17f2530f01bacc7729d5568e620cbdaf1cd9afa850f85eede100650f780737586208a08fb9382b9845f13483f9f66ef09c0c028992a614988bbb3a24f96f2e4b38514088656ba2b1242daeb77f3a1d10fd4ddaccacec8644adac624b9f1e053ae4e31bf856b1eb18979c352696650af624916b81777886f9cf504394504c123aaa361b8ec0c0ccb94565cf5805860f0398720b7fb65ef37faf498be86bd3bf203f075548cd78944ec982d6fb6195930bcd93bc01895edc4aad9332401aa376d3afd41968b578656eb85263dd9c4419349a37609dcd8bf1c2187298acdb63169838bdc2c7e76c1ee3e85c68baacb87bc2b06ea3f88a6ddfd4b9577d2df64c58c337921f17b1a5c73d503602439b64f5b820ca18572a57b2d58f1b7e07a6f39333bf477f59865ec0d063eed24780c8b47e628c37eb29fdb7caf2373929e0e63b1281d281e44b400b9ab147223d9373c94a221839e1af2379d2c27198edcff500d82d2366805a48a720c14422ac4b3be918345fb5121e6aba0cd1b1f5909a4b03b20c31f76fcd96883be9d7afdbf18e8afd145623c58da9989823a7b3b9395f3ed9c6121e19a261fc52c93f7c6f52ef2c4d95cc85f1f0fd6ce1f0f981a1081e98e4a4689ec065902a713b06b48e8fdbafcedd29d4605ed6a1368aa99fdf5466b39b8b40ad1bbcc50fd5b7c852ba20cb48148469772105710dcb81bab1c20ed6900fa8636df55f8a2c4266bdda38d7419b5d970f5748fcd32614ea5df418c0afa62d4047759aaf1b6efedcb05f103e38a43939b5a2f2ca8690996cae0b60594b544b740041988f3ad7f76431d4b909c11cf28f5d83031f272b0e01327b645cc3f2d9799b9420d390097451f7c0428634f7869b6b952ac76324a6a32238746f23f10f8593f2b5e6c13bbb75880bb601b348466ebcaf736ee60c3dd9f47745739ee96b57e035a2b5231524e0cac9ec6c047bb1da06c932bcb930ade67f0bc8ce4e89dc45b494ad2c3901f80d39bc410bda41fb9c548123581ec4c40dd38368ff6d86366cfd6ad3c395153700d8f3fa4ad43ac4ae55665c70e87f8de93bdc3c41fcc6266f705d12b4125cb7869381a351175f6ae53cf3e12bebfe20dce707aa61c01b5bedd17f39641b084a91d4f384bc383e3c9b74e24e131952b37790c8d24588703cc97f1e592f910f17d672cdae90aacfca256b84549c865c47a046255597552a182e183af9e023f26eaf609709c0488a72f00c13e9aa4e378d0d5796aa485fc65f1d23b4c6417d7275fc9047b40910d980ae0432399df386109f0ad1ad4222c00d2c8a7d4a585214174fdd4c0e0bf515c7868ffc6ae0ddfb19b7eff45e89518cbc9a9df44de77fbbc9de73088739fef52050a59552c4fc94acf5dcada7ccccc944d4a516191010b6a21fe1a2defee30ecfe878d6018392341eff365829109176684f8f5443cdceb842bc66209f90f24d1751619e02a0a3ab98635c27d1909802ceff3d8827e30fd12a5d83c50d610cfccab7a5738a157ee2e3b5153f603184e4081afe3da155c00e6eb29471fbb6a3198703aaf6f377d1ade3e9b67588277e82921f1acee255120b7906697a9c902552e1b1b14d8f34db2813d401c0928911f6f9f95ba82d3e3481e76538994c9ccb6600414204d01885aaa863591ff67e447da851e75a34516c95dde9c9e184e5d80db53730a37cd16b88ee137fcdda81de8b9f55ebd4a181c5ce725420d33e10e2d84a17c76bfc9d1409484f5ac7a112762eb2cdd1858a9a6d49da35b61d58e33ed48e81a67eacc835032cfedf0ca2cfc2547e9ac463463767bdb21b6ba8628cd444d52fe6c166fa659b23f878723e12a0d58911a7d3d89702156eb5a86c600445bd67dc9b4e7b8fddf05065ee55c34fb2e6882d19163423ce2d66e52b5e22a8fff6b226de9130954519381fe55c25a6c8163bc350887b0347fcda67779670075f55ee77855c3f7b3bbd820d9099cd1f48e0303423e7c98c55a20015a18a849bd01e902b6b74b20a53a5445b48d7a8787daaed8b97c86d4e62c9f81752afcaeb2e636bf317ea1081d95fc7a57372f7fe05f03965051c2f2597808cc343f2009c67a8147c74f3a58e425ab2575fa80143ec1d5e61a7f4871f1cdcdf278e1a72f498292a982df25de1fee495775efabd03df5b97cce7736c525e546e1832af4bd2ee801fe7b15ebcd4e4deefd96d0adcde040cd612ef165e90c7e244ea35e3e8750529d87deda6d07d738d705af2cb5adf975469fa3ff2a5b14422b02b1196f85bcdbe507cc14bd79fad419c94809c14ec7567f653357e4220a96f6c4db67d3d55fcc69371bf5e5d60c9db244039be836f4255e1acd6c09920cb6712dad46a97ab8d6f4e812e02b45584d87057dd20f5374528e682ddedcb7fbefc1a1fa28be71d455d638445451f7060ac83f11c53c690fb0c4ee192eaccab3f5a0630a3a1e6a89fb97c636702e57807548d44321a95bc1d21afc2f4efec636550cdf3e4de53d3d3832f6c14d1cb782328228de4bb9d389234980a0ff02fe3684a0748bfac4f8c051ef28ee11c343164334bda2558b7b99a90efe0f2c8ee10e22a0ac53d068565790de4be84d6b540d411028a7716ed043977a9286569b0a7c82ad1f09985ac8e3b850216ad3df17f056b2c36827e73cc5f407a7c0afb781d066a5e0b1657934cc717c0a86e3262dc878a22150e8195b693f7cfe0cbd8e7488768a76f0e6d432af02d6bda72a41cc851a0ee39df60bbbb929150479e2de4a7378044d958ab3352684db9618592696e757d1d80be6e96be949d61899db7bff3489bbb881bf048084bcc9c831d68d0f46fd9b550964831e0c73516033ed9606ca783778cca9840045da299f2a85faa0a1a6215088572fabd5d4e25f25d9d817a00523910ed475cf2f388524a566381d0ddabb5f356779969b37d4a96532a718bd25c534114439111f51449cce0e53c3ad33ef17f50a9a3cf46f62cb32fc8028d7b9cf283a5305440894d47154d8e012ff6a202e3efb301b560721ae3d585313ae2155f2a371361500b329b725577171311855164b8c698d14de42a76fc7a82eb0a7d85a867c9ca398b8d23068c068bdee7833be4a9dd199b6da270b5a5bc9d7af967c6829fb99e633829f2b2585c31c9d519755e3ab0e6f5ca9aa884ca850927f49f653c70b67edcd25ae0372b0eafb15724df814926839ee850dcd388f50fccefa92da431044950b2035218bd8df2907b320aade78ae663d7415a7c51a3bd05c0b9d29374bb4354867ea2ab5c12206136bc4101509e2a512daa37a338fbf467953f7f40f642005a8cd00425ec4fd96c85d15abd8afd455589ae7a327e283b5793ff7bf95f05c254390068a60ff3808a3123b0ac882dbd9f478d47a154f0216bdd79f5e3e4c5ec176945bb10f5414eb21bbf1910bc6a53dcef2f4519224e80a7185db2f49be88b98ba58d0f335e65b550595c66380be8459a02874675a3c862613a43de1be4c17371cf33bc22b631dbb6fa12f49672265c7906dd732b01e6afec02a9c81ea84fbad5caeb263af4434e3e482773cde3e51ad6a4944aa5499f95b7eb99e37ee8e329b4ec3702ad68ab6148aba18800a8e345fd6f5b9c0b379e449050a37840309d7406d28309bf4c1e43151ff15f238b930099f07fd71eeaf89983b3522af3e36bee5bd73207f849eff91246a1ee385ea0254d45adc0469200da2146cddbb75345959eec7de2ac51bbd327c27c0a0e7ead0dd77850606df7db263337c5e8b62dc505f64b697ec992c8aa77eb3f555a3f3b859d951de0db484df9e6f35dcfc3f190bf5f2efd219aeaa58a2e1c3b8b2b425bd74ac9c08f23e5d9540923c72c58e4fc4d70be8353e8130b107d1d6d16eff987f61b021401c089f089e544afe81ecbaf498b2529271b834d452d82af6b5a8bba619d7a06a5f798dbbe7a0f6aec23585b98298c9b162468323f1389b4a3f94c1f624d41e529c91578ccac52e5239047130009883afb34a0a5ce72dd1d0e2f13a0b8e28ddd53a6c436e3200c1f9f4dd03d3a6f89ed881d55719adac20bc002ef1fbf39aa77830cb176015f4ff83f8a763b5f35fb8dc9ad440b1dabc0170c8613f718d54030177f84452c5f8bcf48bc935ea29d292e675703d785e718e4f97f6e671d57025f60212058e12c56c9a34e3d95c785d6f2166c50db785cf46cfc79c2a66e3cb7192b5f3f945888fea54a50ac655c24677701610a5f0e4a98a9e98a415c42dd921e4ecceb21746334af904fd1e8f58935b2b4143c3cc6eb26e7db3a0dd17dbb6a04383d32223a6004676624fd372e3353bf74148ef4d0940fca0d7d949b6f116f5395c190c67ee4d7a01900f64c6a970c867aa4cb978e6040933c83ce2c75035486b6b502b0bec0f50ab854baebaaac9c86eedbc3e2876cf306892ca8cce4f7285176afc6a2768de0155bcf3c2453e8edadeedbfcf129b71b6dcfbde2c2b78561980e49d71381db7eae90896bd5ec77b4cd923f1d39f543860ac14f829ff30f2dd54f332c173885ce37dcca60eca9ba30954d20df66835212a89b9c66ed8bc760e02289454b27531a0782bc967146b2b0b30846ae03ac7319f2b4d79ac93dba37d633a0c6f443db9624741b72403cb96771796ee34d35b67a14adf325415a0e8abd414ac32b0587b7924172d948433e83ace3fae48fe92b0c67975a3bf122160c49af3d9901b4bc366c5e60741e03384265cca2e55f52f8730f2530cece03245deb189128655b29bba4cebac0ba226efec9711215ae5e4fde1de837dfd6ed506e5713b03e541a14d6c8427526f51a45f34d2a8341a63e92e47c9e5dd2871f3cad5403d9a1a4fa4f6639e1b0e931492ad342adfd0e61674492b87086b02e26f9ff5a8cf030a0fe4a1b89e35d79e7acaeab2288abb67a4ceb341c557c037d4a4cd321aa56aa8cd377e45ab1725e39cba866fe49ea40180d152b8523ecea872a6785e62a45955d7e88fda3b4d69e85cabbe21c9b184edeb5c33240909126eeb899d88ee4efd6b5c99466e281a79eddaaa14402a5268941035c4ab6322bf955678067a048269cda1a8a8038aeb657868dc512682d3ef75ff94e851e5c5d41013211d5286138cc3cc4a46703ff68cc0ba5696320d6df0db67f628f46445b06dd0218a4089cc75b26dde2cc146ac40345bc376e438071964fd3cc62ca7682945d20d24eaf64759a350631b1ec48cc4d860eab0b15c48c4b96f1ed827f49f578208d00372466279a30232fada091753cea68fb54343d4b12d0bc2955315cdf86a31baaafccd6a1ffa489d3ec766de6b40d18eb5d108dde5b9111ffba017e6e90d40d4f6eec46427c728ed7457e6021a3504810eefba90259669087c678a95cad60ff8ebf6d01f110edcc8af2419946664d2d4f9a0148db6d036b66cc0113fb5998eb253fa3a318438ecf0fe49661236a41309af60e7a0727d556a21196db88b2722b6962c8644ca0b42d9d2b771224e7997b4b7050bb068df294391abd3e1a219d18158a80063c567ef1f6d43c22fb711bba281c8f71dd90be29bdd50d66cb0c00254adfc834a240d16d05c137dc7711b90d5557bea99b9790b033b9e615a132ef946b251d91cf1342c6f58c63240ee83092279bfe1e46c7b76eb0b38c0f63e9cad8f94f1af5f82b3509358c6df2f53f72e4bc08314552bb58980da93a062b0e6eacd50c3d547974b998c77e3fb3abf8950f987e0db79a0899097c6ddfe8d4d9ae83c8a21b02e945b9446f9a38036d60db8aced4a024d1eee782e4a58e6a74c5383962e9df04f7933e39f1e0a3de6c0822d4c9e455db8e629274c5ca35dfcf6feeac8c5c4c172b96a7b6b2f6f9cd5a2b7f59d59fde0ed2a78e8b963aaace4627e5e28f7d793aa3fc9795dc263302b4e2053f112e768ecabfb7510d131e74ec29f820619a9fe0a189098222b6786ae4b6bc58f2d073f5324c3407f5a776e9f3aca5be135905545e27b0b6f2150c14def54323eb410255091defe36d67deadec6b8833ad3e9b6cca3d73017a92f360b4ae49108f36f0e6aafea1951b072908b84cf8ce12af0f87e5943e857efcdf2166e63e7f121484f85de896a33a5076981718ab7f5648c846b15d3eee2b4dfdf53d3888ccb03952d064ebb605720e1c7a17aa27d7b1b8ef4b3869e1c440395b0915c19d35d8a8f25887aa9d54d23472b6487ed424f47965ffef29baf96ddb3404ec501c224a4003538d76d3c109f9a46ded4fa8793300fdb25580a90193b0e1c33259c6f7b6f1a04778d81c7f9f44bedd4199c70f92688bf83a8ab2ea8285fdf9844e587b59a45920a74b80f751dd6e9e1bead804cbd22483eecbb75211eb37039fbe7bf1953a62acf070e703f0d7735342275400898ed2dbbec259f1899e16509487a18c563ccd7fd47e0e2360955159b13d78c3c4896ef298fea74604fa5d0fe5600f7bb0512ec84692380af5cc66e61112ae1989a371090ff4b827a8f873aaebedfc078fd6f6089466938b3deb0a20483b8c7b2c6fbe90547bbc1b6e00d96ab5c057bd3c2b02685f548e24abeeac6b2afc249857dddf257af6d4b88dbe890be87287c9dbdfe58283b2277083ec91f30eec3edc746f0594993c4c617a5d1186530591ab19bfa1fdad1354dc3530b8c3d7ff8ddd53766621dcf04fee77c1dd4efd45e32bf1c53395a0f036c1ed01dd70b43cf4980339d8f9b4b7eb618f8a18a791cdc82c0c88b7f3970483b172ca4b9314e50c030b2d15b2903f2bbda1c7fbcaafcf3f68e4f4ad791828d65a7fc414fdcab7143b12f663ad976b1d80bc9f1f5371a9e0b5a119525989ab71e739a772d46aeae9f804734c4946f9c5e47f104fc65c036f639fd47b0f90f65434ce8424f321aea7c82aadeb06f22e31f646a57561e4b534cbfa6ddad5d87a9248225972d678658017ea8c17483ddbc47e9d5bd1f7c2432893bc130fe5c4862c371123b8351f3860d36c02c961bbc133d514a0d8cfed55d1d881fe38c9ed84ed1f172c781c1fcb1d30e5a537fc1767a3da92e8a36edc377f25b3fa1d6b90c1edf00f0379a34a4e09bec5a01dd76ee5e76ccdf25769c489ada4a0d3591e6ae1815ddd0ec5ebe45c332a25251d5c51dd3ffc8461781ff2abe39a7d4ee9455ef2ab8d2e92c7fffaaedcb692bb11cec2953baf9b7f9b661c2ffdecac0ff5b49032fc551bfeb1de079ea1baccd8ae91f60a2908e783ef2da17cdf8bff1527452f259fe0415cd34095b9d3009f50efd83076df1a523a7fdff137ec001e3bc3011ee9cc152b8c136882d63ba3fec2e5046d66dc574866c6b89676f138b1b99fba480b4d34e3961c3679cf47a1f07e3d60505e45cd0fa2b75a15af9be8aaf1d72abb4d2e6e5032c46f43a4beda6f217fa44313f50354110bab9b550d9287db1e6816c91345f93ec8cdc53b5cff2055f35e770a5ea33ab66fbc518662bc8f2f914f1a4ae60af31d5e6d9fa7f9bbe008c3149a2d2363e0b995f60160c86e674ba5136486739c62e4d9370048c273130b063f5829449e73b56f8b73710f5e4f59b962642be3f5672959fdc97c7544211309b54d460f47ca2533343b8820e2e30efa4073c943a46ec5c88b997ab6dac72c00652249e7aa78b617d06af0c8277fd28213357a627342b99663d27e08bfca581741f0160822766a9880e37030c774fe49b129d20e40e8c3402c9e172b9f54ca080e2f09bb6c2341e4b22c6731c8d3d4727a41e68666bd216a048ff25e34e0e3cd7a803c9e4f8ef18ad5aecc2222912909b2c7620d3efbd745b15ccc95efdcc4a183fc569cf2fca4f1efa6e01b4e8842899db656f90d95f378a6023af2f3e2c43ff4ab1108312f22b42acfce1e51480923071113165bd4bc1f5dc1349c185d644d6509a4eda7ed40ba5031ecc8546f0a0b00d64adc4f8253cdfd864de49c97f97548cb5033326c27d91cf553d9cf35be2d4c1b16dd0b96e39787824129b083ef31659d6fd9db9ed73d1b587d4a849cb8fb7d163b4784d2e72fcf939074e61563de852c880a29570fe4b098b3969d6476a1ca3825d1cae7a3b591d36d352db3ecca24b8fae2acec6495c2d76b221d510dce21c23bcc5829d6cd035a8c82df9eaec4e2e292eea3a9cdf6ccd3b3c68c6a5174673c8c2e03ca61e924436e887324892985dbef9e05eef00187b3b4610c811a9245316da1be0ac2064b656bc9ab7cd8a8bed39bfb7fdd1984fa3c7f39b8175ce6b12bd004bdfbbe4f45338232cd15a1057e0b31344ffcb52b90f9585d94e7fa3fdc186f1d6257387261ad6a792190c93739ee4af42bb91747d78f008826795f12310abdbbc81c013d9c3c21448edd436f9f73476b0278c2f7387bf3d9d742a6cece887cef55575e43510dd8f9245899c7e31a1bc81bb4bd7e79e0727d3a49dab0d9f3b43e61d40576adbfa78947626dfcf09daedd7a872ad47ef430e6f82760535dd3390ccb06e76c4198d7d7cff10243fe753402d850b5e8cb30872fee14f7013e062802958ab030d3fc7b0481d92bece66f93419d444c31ca1f35fbc63d4ddf5094dc04bca28cef27ec4a27339a339c6e23e72c289b5b61dc7262a47dac18286925deaf5aa554272f452e3d5dec3426acf0d0463b6e6f594da7f949bea7c39b0dcb1a97e029c8284cc89b779a3e8224446fc3ebd49b46f46f3eec34c9baac4a46cbc43f7571ed3b362410c3f785bda05dfc45c33cb117d023a47235db2a4cc800ab9e1bc9ef526e786cda14234768601696a2b3a0c7a9b821b95f4721826e52e16da4bf633419d48288b2275708d1015c6a93523c561074f8839e62a78f0d91254280d77514cd2818327cdeef380647d8cd0c7d2ebd5043a54f3926724fba420cf47879963308becd1a05e43c917a15e035afc749bdd40dfb0e55a1c5f40e4ba19f958e04f0736b26eff2c13964563d16ab6b09e828fd5893b0cfcbf47890d10c2a9c1bfd38f089060047a247f00ec3e3bd8dc999ba0556c027b1d4d375e82b844f95af5072a556af606118a4eb1199e07d4d5f3cbe45181a9db6ec505ddbb405a370e5165a3d7948e7bd659981527ac4a4e0d54c2272cde9579a281ae9106b033944574f3ff1cdcaf9f58920cc07b9ed7837d799efca4ab56a784b3e4f49a44792212e87b59b21894373a36e922d5af6e5e783a1e81a695284e29dffbab96000b0bcdb0611de28779df10c4b554f851313a5933118a3b90fb9c7b10b4447437a631fd138cb3a78cec686ecb1c3ad011d6adecf5f760e55ad359b42d8cdad13b91fe929b16efb7c7bf6dbe57527b07af5c1e2e14cffa4b1d782a44a48d031857ddbc66351a894ae245214d454d0e9ae0e7a5e0b56308ce4f1b4efa3c7d6df6e2a5d328c91484447a57ff050c8237176dc3ae673a1601a0aba52da7f1f2ca08f171d916e6f53c49573a11c326285717d4de33410866eaa48da9119199a977a13ec1b4c69f9992a56ffd17ddcc3dadd6b3a0647b49cecda14b1eafac64a0bbc946f08030f57b23f0b8fac17f656c92d4509dfe86dab3d39bc9cfe5217c197bbb1c790a2dc1710c908b8c82bb1e1e9e4f9296a0772fa9086ab30d7e87beea9569f79042c00d29208cda119e7c3a6ecd577a848108e77ab61d6187747786ba8bcb1a137cc26348ee86ab2cd455408e090e142d24507254a1ec732dd0157957f8beb5536b673592ef29a8f0103cff8655fb71531b15cfaf4a1e44ec12bc0e45ab7d21f22b0b4a585818de63795e051a2005372f8e711fc5478d5fb412b5edda5f81f2ae3b451af0e25b75b0413b8fbf27c34a7d3cb3616eb9120f61981ab6d01ab0b32215a1a4ba9c3ff9508b2a544006bde2ae16eaa4af1ec3b569e53251a383bf3e6e27b302a5ca95794c7bdeb828c4f4ef528f9e6821ce6b45a5e7d602f8ffda8092b8da58e33f790a8c86c83c2689573fe71c0bb11ca03b0738246be563330ba1a8bd02ee979d8a2d35055c9e9bf53444cf9143f7a29a944bdb59e6a6a3b5851fcfa931d7c08257c8b5925a5e41c33d2e6d7f8256f685c4ddec17e5a02d6f782bdfc75a156489c084d39af01171165bb235dde9299fbb021201b73509e49f3fb588880b19cee1f89a094a3d441cdb8089696796d826dcd64231c20a5b5031e3a9884b261cdcd2a8016fde74cf31128d9871e0d7a1f769c5afc9e9338d600eccb520057989a39da760fbb4d720f6b0a7c9d7481e2268b8f9a188f678c76a03dac862573fdf3987ddc2845d397e74ff45df9d512a41ed71aa90da36ec4aa572e4c819cb9bf0bd5da9e900b808103b9504f8db5165e5147656ca3d588fbba4eb467e470dacf2f38ea00987d2c42e3696a62f3fd9fdfaeb68dedbb50077669153a88b95f395efaa82de73245a06ee5304b3b2ec1ef79c88d3b8cda82fc7db2d91350dddf06d893498c522868b29489062347e8c0dc293158e8993ca91252da55f3caa7502c4b385c874cd6f2b10ef73904d6f04fe58eb022c997abb4d08182538b60c223e0652a51911e018270f512795db82f9db18b9e746cdea5918b8cc0d641a1c6d8a2382f72f310480b09f6f781405765c6f92e6ef5bef1f87247810ae8ecbb20105ea6535bdb234d2453abbc3939eb56cc5754be9d1ca3be1ebb072e019a33c358e3e9e2815bbfa6be35a62df053caba89a0a3d1915aacdeb97145e985afe8fc57ef96f51b6d528a7edd27c17ec002b13358d877fb39b27243e769a6348225278e68db603780802e6574052e5a730e268f3d466ddb2a1cd391d358f7ee5944b17c347a66558f8a579c92d8f799d17276c107484779ba56c62903e7775fc95c1e36a099a2d106260831f1a389a5f4299ae1a8916c5542f32bff55d95b6e17863e3d8e6016d3f27cb1dfd0a52c8e04e756de37f271575d9f8841204cdfbf4fc36b11536a31b3b6135440ad7edb76e91d0892d749c00d1d38cc1a30d22e52f3dcb4e5468bf525677f3124bd03c5af88985b78ce1e9ea04f1bb6707c8d99c1230bc6853a60d274e1cba1991e8fc1b13a43a1054e381db78134958ae3aab8b8e8f62978f3a69c3909cc9219a30004b0fe1532d5c8b4d00e57ac4b0cade4a134ef82bdf1bc89c18e6ed8adaf4fb9a6ad950abb4c4c30576de98169bc9ad2ead20fc5b82f0b7ecda7bd0535d792269066f8f941e59218ec0bf952fb218a262085c4917c317bf35d83f6db184d8824c78cfec490517353262b728469a1fd774a64f165c3394784d5c7402be54cf2633e5b9a72fc953cb21939568134572ee17645163814debca4b79cc3432868819357360dbb25e9f6ba85dec859f6ea3ebd33ac1f4df33ccef4a71dc54e1fdefe1a299b69e189db2ccdd2d8f051238ddccbaecfcb62f5138799dc6a393d0499eeab471f090a9e0d172150388765f460d789656c2cf21b86af420033908a64bd903312f669f78c5d0b6b0a4e5a2d4c114a0a0391f443b67172f507ba8f1d44a827eb43624bde66e6dbc2b41fd8c7b09774dfe8e33e792f39067c543e9d331f14c667f192398dc072e05a157fed2d9c2287215c2af4e550cb740cd231142aff7d1381bdfcb46e2132f298717ec102709adb978078d0b30bdb99dccec853d186d934f5cee44c7038200c100b642d9c36baac7a33d3d20ba880e8bb811397c5e78142632d24d0c8ecbc00e55e0b37dfa1e4d72942be81b98e23a64613b5b4fef422a452780f3b46a3852019d6665796395a86de325e8869ea3b37b314daf2060145cd6399901e5355a54a38073db4011cab02b7c01337b662ca16f8e37859282711dab04b90f3018e5cb9121da8ba7db86cd87fe951ccbadbc9f96f4c046879d3ac882371d30c70db66bfd5ccec7d92c1466b5802ae68910e2fcd29d2b2133cf2eb2fa1034acc8bdeae464d9027e325868a19325777f04767ec01b9f39b93c54384038a5a8715e8a5b17327bdae7fd6ae5c05dc083cfcb1e010d92e89fccda7a94a368dfee9d73fc2bf923692a16103debb09fc8e7fde04afb498611f8676474ae3b3f1b43213486e9102297177092fa5c52abffb872e658a03644735de734c92b61aef40b69a4a5268da2a0ce182b77f067ebf864f6e2434b295de7128447c54cc63a7cc91cbd2a54577fa543b9818788e871e1fcb9c7252985fb22dbbce892b462b9793958ed6835ef696132373ac13089d7deaf898092e56374a8b67bee628c3f756c78b166e1733cc3c4f5859cfeda61f12762995cb43ba07ba0ed6bae3f4446df6eca8f34f95185ad34119ede3cc805cd4a557dca451ae4128027703acacfe77f5eefc61baa94a83f634ce462bf682119a2fc54b7d85e55e4ed14afeb5ba0437b715f077c1cdf22dbcc031abfcda6a6cbbb7421794a06271c3292abcfdc4cb982209a6becd38865e96d9e28437c455bcd0f206db412fc5e25cd02c99c9f5c90fb05b8f84af9b7bde96997335a994388aab3adaf8a3267c3a21701c2c951d515df5c5deb1e6476764787795ddde424ed88c6356dfecaecabff1d963b68337c19b87a4c31b96b21e9ecece9c6cb743bbc41d4fc9ca28950c650e024186dbe475061bbd36db757ad5b841b406553ea62301f74303dabdaa5fb7e652f59452612d2cb88e196221ca27979a38bdab98eba4ea644d6c208a88a44a9fd25a790f0c8e2c0ddc7b03a7c335c7c403d4ce0ae0442186a46cf19a7829cec950dd55895943430ce8612fb992c08c72515c29cc544fc7604d15f0f5e5e6dcda22d0d7f009d7270747c39e0e58f4fe2a3477fee25faf311654bb2b748d6ad0bc86f6b04889a6e58e5a65cdba71b863b4135c115753407a13ae0a966f39420ce37da57bf84cc55aca2bfc0dc3cebd760887703161be9b3cfce1449e52b484f5dad9ec125317ce33177cf4d0b26a08e222ec4775d85247556d478f3e46c52dfbdaa3d79885de64925903c44d928da6804889deb20a55b19df3d8f94daaa296127a18ef3da1d20ec3b5b560b704498124efe20f6d385a8023dcd47e75e7d16736bf14f489de1db3c9ef7ab504efad3a59cedbf303a1ee2e13c1a3b8ef9020f299ca73a58fe04356bdaf332b43f737fe3bb21c06b640949fb85a8e44189e8ca5c7b0b8cb744d9533bcc70e632988d69fcaa5a943ad9ab3447092b187446ecefb7814f2eb34193e2de6aa0d5e4cbc950be542a7162fede133ae04a5f9e1946b6eafa2382c641a5e9c9e54dc20bc17c4a3595f5a08f77d160873a302dcf13f23e14d91d89e0ac6b93a25a49c4485c7b03cfcb15d25da313ae34e4e82a66f719c2ac1bbec65c010aa2aacb0bf1a4401515bfbe1964daf21923fedcbae197b4e51fcbd390c73b2713f5f1d77bce4404665e5f4557e6ff5e2eddbcfbaac81e0492eebbbac8fa45ccc38271b9331de4c3379db037bb72c974c6d0dc3646f3a8d4e521c64f9d1cd8c0b5ecb6fbcc600fa2a915672345a93345f5011b5dedecc4ef4765e97aecfc136a59fee0b01ac7ffc39b2354e808e8bcef6eadb7faaa701f4c578986e0dfdf8746a315ff47ad05cb9ee8cd57c99c08bec7e2b616e1db7d9bb822436a11478ca5bc80fe700230b75169750e14726d5444c2a0ea90bba798f46a196a7d5639664cd3585637c1741715ff0ae44cec37f37bfb34e1bd9ed80d8b5ccc48f0d54b0c24c75652d1f1fb673d1247d1594be01a03ad25c33dce205c0b1731ffe603f936732d96a4adec5b526fcb065eb6d09b70e1a939e559e8f7398f5fceb02e744eda619460e3da89b7e8e231ae2b031b926f7dd46e6d39a6ab9573352b7414df564ccaa39997f9a3c550a18e6a1656f1bb90cb7b420010aa8bc1665fc82079addf1d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e6e5e3d23234e425fa2b24a5e873b7b6a3d334f7e92199c6bdaf90dfcfbd2ea13d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e3512b2dcac87301e6a4fbaa7282d3b79d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ee2a973235249a098b34c84a266aa0a1e1c1c8385aad893de1d1f150db783a736610957365490cbe9e0f5eb0eeeb306f06d788ff82bf24bca456eec7404940264a70ea53dc2b99d8807e7c98f62ae6131c18e1c878894d29676c9ab486a9a2b99fc9bb11e5d5e1f3df0ff51695a8e9d0a5e0df59474bf7d0c41ac997fca83812c2b4738b8e059ec568bada933f99db59e979bde8d3faba3d28c0680823ea72646d88df42173e6cc06d70d9d95de13ab2991f868094d850bf6043c47e6695329ddfeeb6045ed8719ecfad9ab39f730ae7a73cc3a197a0fb5166f9df4036b6d51ecd6e6bd4789fab1fde3b96804b554371be8169e29c6a727a71bb7a2e74d570af0d113e5dd2aee5c9cc0914c3963b6a65d4bc7ac99595883e729f28249312057ceaf2c04bfd6b499fadfb4be8a3f9b77a771e3dc18e426ddf7cc6889be689a7a047f0b3287ae15e4ca3acf63666374f03c0f085b5f6ae1351de68279c4d163e08d9928989b9e0cb497740b6c122da1c80b7e4d355d9fb6049999949c88ca2a5e21a676d83cb9fd24ed8b3148fca0734c157dc5292aab9cbd761116ea034eab7daf1c8e25b2466f0db606722b882bae9338ec3f86a1138db4f375922e6a4e7861cc5e1269dc9d08e334fcd221b4b3d3ca3b63eff026b3e47506b76aef42bf776890567dc03257d18e54a8e3ca145d49b7881e0a1bcc3e6bae92c83b5cec9eb6b381dbfed9451f993c2c39759a5043883fbbc49da5962302e468cb20bb1b90248a8d23c12aac51f62a2dc9dcab9b00be9c2b425dfb01e6fb379b0b7bc6b3ff73515afb52484d3433e947c6e6fde36c812290abc6826db4f03c300a7fba7751ece1f348cdd7d48924fdff625993f62986224ad12c4204ee0a440675c171ae64b368109d3b35a4a5ab9ba9b30def82c470512b8497eb22fe22d10c8d70b0e10490f9758929213cd0f93d8c81e936854e7a5dbf8e14b186b472d52e3b06e4176d6163004adf67658e72f9823adf572af63020e6dd55a6772badce205e825d59e33197d727549e0c7954fd41d96944c922b905e67b1cf739bbd24f2874f2c45408794d60e73dc18f977da742cf616f4f7729f46af955e3cf3f4fcd95548b6f93c2216120d25961ef65e1b5a36d732e71f51617d93ee2590aff0ce9b40408da07e791b18bf6ef1f96d0502d01e4b130ed35a13c6b523a31667078c76ed5dc87ae2b831e801cfd909e8db629acc53639ed010a2b3ed546e4e5259630797e5c312609aa52da4763dd3d8105d5ac070a7afa59acf2acd6514f4e5653e6869981928b5ab9fab9e9395e3889a2f06a006a161746fad5f862990a1d39da229853a0bae103fd07758f9e53bfcc6b2e6d7511abd755b68f4db94cc9aa71364926dd429cbe66779fcc7026f80a520055389e5bff6b7df0df7ca4dbfc25117d7ca0fdeab0486147f4dde4a23fcf5cd155c720ecc0ce044799a7a15dd8fec5e0f27aebabe5a2c244985c84fe93a5a05f784ee4869d730214ba812b2a8fb9c366bb1c3fa942abc6e13705b546e0934a85fe6dabbf3a70890daf4bf1675a30c75681c74e96322b2d550ab7c3388981e45f7f47e3093791c8d28316594310bd68ac12eee3dc3c5f97dac8aa9e421e5018e7df2cb2445595a1a8626e3b4c026e5d847e52bc728f49c27c9fa87b7aa20c6749dd28c4de745279dce7d7f562241e44a4215ba850c2996f0bf0e0b4462dd5718931da8e0eb072d424c699357b5bf96aac99efdc2b8e53c0bbbbcf04a1589970ed1190565d9fb79b7934a0b927e128f2c312b6e56ce8dc850cc87c951e3cd90805a9c4e77355042a97db507ac41dd43d5008db66f1e3cdc533fb243a4e977c1ace32d6ef30f1773e8eb696b3be82ef526721dbed6542e2d7aa34f44bbb732e1a58f9b38fab423f54085f0a4405f76b71a4c4c58a5216d604ea31cc6f88f2d5ed2c52f44beb307cb450a8af1817530dcf4554325fb3575fa6467de48fab3f13db4f787212c361c7174b42f7b10b8c2375b4df6185938ee2e9936578c74ab689d1cad97c97e6190d08694ee2cdc39a3376a897c4e85bdddcdcff8b2395f0b3c101f3b57809bb4bad3ba62166768a291bf005d1bd30e0c071e8e2f78c7b0594339ca9a86ac5acfd971e859080b0557ea3cfa2690e3f1c300123b6c57c2cd40555b67c6e98c5fca2d32431784bf9c35e343ad860698683641df86bae0f3c30f66ee89c16f982581c9aa2ca6c9f80455473163e68870d6008325ccdddee9a55d8ed20f2d83cb9fdc100809c335c066c8a18997b07bccfc053155f5ed1cc03271575ff100d4305e597e95b4b4feba706a80506bc11caf5d4032b0f1f53ebd943c64f17dd7a45bf47d056724a1ff81b3dabf29ad76c3c0d2b48d5c6f2495dc8b4befe9383e4c162277c33c08f0e5bab97c78ce7b9a2c243006d61afde5fd31fe063d2c9677a0bd6ebe90f4519ca91ce0e810ac8b09ffa85af2d1eec2a0efae68206740142251a2dd9188a738c208f931156a723b156db33c39eb2ccdfe350e8fff05960a0bbb0fccbbbbc4d559381ce3bcdfa5af8806631208511f129fcb8998d88c093aee44e0f61a58e06c4479258492d01862a3a7fa5b5fec838be61d88cb87528232a5d0af4ce78205a482cb6272f803648c28df91952d636b5728dfa197471d5036671dc1b54848b5d395940f286766f76007cda0ba991a07904c62639aa857a979e12c61164179b1999129e86b1ed8fccd2caa34965bd5ec07c756c55f462aafd3cce9f9d9827a9fba667c3ed84f3761a2499141f7b9f0e7454d983dc4e1453403958bab3bd683e321a72ffa8b502b28302224e1cbd9fa6010547111f1f03c349ecb08698aad043f255434216f7498304243537cf8c7a4d2bb74d612ac573cec5c022acbd58af1dc8c1cf01c00877cb26bef664550d899950496540d21c4d0eff794a2042375e23cf7d75c8ed5d5ab5a853d0805b92c3ceebfc4cd8cdbafa97210215a310ea535a6414ae7f2b7d72c295e71823f654f470c4ce22cb4b543bccbf8fa6a44244faedaaa5ca7f45727814fb51805e063b9ffb2aab91a78df116b5c630178e507e4e48ee89d0664abe3c5ee64cbd0e839af3ab830e4f396cb90993364f94c6b85bf598ad056a0c5e3715f3662310127b3ae0379bfea7e8d11d732288d9683a5b2151fbdd3ef2e2ebe055c67995b28b7e03552e2b25c2ae285aa1f6524bacbfedeb7034d7173dc70d9365350bd5dc7c0a7dfe7506cca8d6dc70932125f315a3b6d5c6109c882c6abc36108ec5c171788eaa732e388b63038b6c2742f7652e4c128e3bab134dc51de16fe8ae3ea5b85b749478d2c012c94e185b4d7a3b7694e65cc85fd4647de30a600deb3758a7a17be41d20c49d0f0c65b0c9a135e5e2178c8fab03978b7838070b4559a0246139808e2ad82f56000b9023f930c9621f975c55f6a4694fc88ced76d4c7b3462a28ef6af722670d99c7875befc9169d2286f3e2f5c14d38887529780bc472dc2348c57aff208e2618f9be81ad400a5c1e915389961a0ff27aa24af7aa8f0cc5fc0200410320b310cb45542f28da358a0e02534e31eacb6b34502ac36449ad2c2845556d3c80ca25d237083066caf6ecf866514a74e41dda25a813da3faecfae41aa91290d4faf38d1e290d799212c5d8b18f6d9aaf715e60ca30f14491d4d205d324a10f70cd59401e6b5dd8e8afbae744c0e2bab1997b4ba4e07f061cf439f62973c6e687c160002d50bf1ea3632b218a833d7548ed4ecbe5ef12c8840964ea70b5ebf96bded7f373ca2b91b45d0dd26fc185b5b8df1e09ffb3e98309580cea4eb14c0b1098bc9a337e22ccc98047c1a5a4a5874ff9df9c9608f8d1ef2e9d74a9bde0ebc777fa6141add115d2e17fd46b9b032fd49beab52d9c8198da0558f0201535d01d6336a02bb605c93c5d78ca1d648edb2b63f65506c4be1baab7ca0e2010863599d80b2ed2f69a299c041cc8cf91dc9898ac033a344b3ff5831e01c962edd7adabd1a794b03623638819f3db13788858ac66a6b8ff578ac001ef81b2f0df1571baae0af7b6f045d971ef1e51f48eee095397032349cb553de252afa26b0d24d33541aaf9a7f93852a17bac2a07209f1546c64981ce36f8397f1306be45cc3ddd247f08d3b5bed5e0dd5b66166144608bb06dda1a8db95befbd2db120cf2d192455448de9e2553a8fb65eaf4c735f5891bfd9773a5fb660992e5551bead176ed8c2f7d8a8bbe9c8bba42d3238990bbde911181d37372da744908b9a5a3ec0703cfebda7f651ee53f0a8197e090396055383821a036e0cc8210e9ea4c3edaabd8e6057dba87f99ac70c227fa403ed8e13438aeac238f02c480b4b1befd7d150f8444fe9877aff32eac969f927a35efeebea052f28ddc83565929cb689ba69025a87c1fd612710872b9d4c49f718219adb0321b7e28273ad8936c17c855108f66e28ed0ffa9b608885bb5e1a18a306c7193987a6fdb601d0e2e65191b4fd9980bff5f060b6143968a47e85ccd010f0f54c8fd90426dbd8f8752b68bab3c25e412fca5f9feaa696056ee89436fcd310e36a99e53ddeedecce4d2a06b1e1151cefb5bd9aff77192a868d5ad8186c11672bd8bfa279ac782c53af42f995f74dd36343b01756dc08d763acdd2b18ab21e0721a73fa627e664d75b1eedb95c38f045faf491c9600528834df5db75ae1377bacebe47e47b7532eeba7894123167bdfbe033f3f1b4a1e6695b61a05a28df64869e5d2ac894c7a12ff651c7b0af1e873374e5e3eac210c28c4b9d0d750235848ee945c0f336e1d2f7999ae06fe0db7b89f73b2659e2ec4ca12c59e17c2d7484aae20d6981e832d1f84a036dc1cf493867ab4ba66de8ef7746c49e8c4ade9d91325d7a97f3dce319970efcdb1aa61f48623145117824811e23d2a6e7fb89d0fb8018945ae9390f7bb61025453896e55c8d75060f6024b776fa8f478b9536bfacd66bb68afd81f43b7ddf7ae9ddce600dfd6e6624e42b4f20fa1965c225065d0fb68129610869920d12479e9021e1c6f2820bbfac1978c895bd84790bf57352df9d42ee840fd40aa11321144b2f8f149e75cb85e923a395fb9432be82c95a40ed647c97cc26658244d41e19958e313e478748a9cc430ddefc361bca3a3256189112c64f0472264e0ffc745ab13e29be225abc632b9eebcab53814bad7703c1a9533467499f49d20000fd527dbdf3775ff5bc07934c5fc2c2821d5507860a42da93169033293e294e57d6632b704510a5d1f1fa37b8ae991037569accad0e5b24004f536e601b14fcdfc7fb71d4bca8f6f474aae2baaa0b21d26d9b302f6f664fe8332dbf055a783efef64164efaf1531cb57d768dcf3e05a26a2091de8e14e14332d9488f07e8ad34989949b41cbf8f3bd782094eb25c6b11c399951769e1ebdc1d182e6d7ad2337a8a21a8cfde6a74502a53bf0c7f15bf99d0934bc0ac4b499d87287082d7663ae19271bde852020a5b7421b30a4454d8e905f9c210a3ae57ccfd33d42e1a3550e88bd9933a1936f68e55bbc72610e28349bd8de09d32d3b26d798e38652e59aef99586e88e691fd9cd9af0ff4a58c1a5ddbf39d022360f21e82f1359182b52f024113b2a5f76b73714f79bf7de6de37445a8e8a2ddd7fa307295bb55247b76bf37576042eab2a5e3c9d3ae6e908919d4c7b11f70dc100934b778a8863496d8b3efd24cde6305fde89461af7df9a083732a76702963063c6141a6a9d887602cbf91d662672458b40669fc22328e67e456292b94267aef9d7869372dda37a6c23af374a812b9fc49531fb2d5f6402bded585e1bd7a25c86d9d2c4d6387334831033b398c7c5ba7137a1a780eaea944286381c83e81cc9d5dc06a20f9c85d0f0861e063f42993e80af07b89d7b625e44c9937404773c5675bc0afe8bf3fbf6d712038f5b2a21baef36e28ec39ceb517c35ec2707a08d164345d35fb04cae638aec793da9abb180aed30d66dc17b8a58b0562d10d2075c5226ac9e725268460e331102b61d84151678683f51bb1cf1372034ea197fab732c070528ad7458a4b41e7426a1de10f5852ff53e3b2d109dc0faeeae008e25295406334f75057aa1bdd28967ac4541ff5502c7f97377dd4b90fa33f4c5968e578982bb8deae51f63c3889b5119649a64e3b21179cd7164dfd56b23a0a4dfd84ddf0181226b54a6732ca66637deca6f6e0a79236b8eb13313af6e12a6063404e99b26962dd01e4f74c10396e63ef414598258a7c96f710900e80fa3de80b6833026cacd25464707fe9691342b765b080d06935b6f77eb7046703c2822f5e27ed18538b67305445c0bc712f5477f61b2ffa12a2b1de0ffb9b1205c3dfe017b99340bac6412cd7c7f7730066e2fd0d23043010d52f200eb2d96aa8ab1a33b3f6ed2a564e561b29019047f0489e442d367d531d3ac2e5366a2e3beb5e10052cadb91d5d7b00d0f00fdd7e76f027e58e5e5fc292ab08f7e4cb1f8ca69646df17e6a95edde858cdc9fb21e75a021b00ab8098a5d73dd8e57f1a1d2ab34ee06cb4032c3247ca912ff64d136d4e4e99ad67df7ce09503608c294e910412068ffcb690fafc26306ef25186524bbbbca9274ca5a36c0eab40e43c26d929f171c680a2e35afbd06f6669abdd8ac85eab8f1b14ede72b525a6091c93b3aebb4f143a8525282ad044a5a5cfe9cb223e24d93cac95f6e7e6ef1abd4359b38ea659c1b58adcb436f891f31b84c026118783f004831fbc4b947fa6c55d34a127b2ad6053c8efbcbf97cbf7e209f36b906f2e71af0089ef3cb2fb537b2822de2d77e3d3178575c9d298edb47040f67ffa44af145502ec80889d7f83ec4a009e53b3fa27dc0d3dfe036fc90c4e3c920a29938c3d5c02724054de8caeaf146b674a77dafb8bdae719f7a9a3ecab9b8860ecb425d1fa75d4f8fa8577dcfd9d7138e60ee2008dbeb312d41d19cfc91e5986e164d716839f8ff0cf08891c22b7720a13d5bebf6966d13ec31f6b4d7edab2c16c454eaaeb137f1d971773912f2158b5de958a8a1c2dd785faffcc69c04b48df3622d600212918267646bff52230622f6c3cba83806d8d03bc13cdbacdef327cece4c7d74cec2d867c79a8e7f9980289fb4493c683467cb030d04ad7b178ef85c7b10884679d2d83065d25be042914523242e1ffd54327bf2925b60668216e2e92d5d03f93760150c3272fc591b3530586be03d414807451c9716482a22beae0b84229b1a6a3370e3cf71c1387b0857d34e76d514e55e3f252754890113ce880aee7ef52c44a4ca5af2aa92407f2f8c456306a1f44b76de58210661721715f6be327d14377b69b9790aaacb15e0fdae91183f734a47f3f9ce27b8c3aedc2e270251b74ad31fbc7cadb11f96868a915356c76170a555244e229cb19dae6dbcf114517f3ecd8ce9a69c72bd8a09dc0a3897669e4590be73c085f31c5956d46abcef4ff934364f8a0d97c82552650599a5fa7a3833203a7e4fb4cc60c2cd74d38836f28ada7fcc9c80b3e15a89cbf67271eff207de952e6bd1f8129bf8c7172f04e28dc301ab836631dc4dbe9a04d8ee02c2b0e66005c14472ac10278d44c91a4e4f1b44a91890aa0cb7f343261646c407f906632919f94adc5487b712b3da1c72c96963f1f72415317e63bd8aabdb269958d1fdf4f92e036c8d7dbb4911db7c4132c895d9e4dcbd46a20cad7f0fd1a72ccb4f0a1ad7f1bb0368d75b61cc7412e34973bc9ae6b84f1861404162c21d00e908a0dc1286c87d1ae641d93281d0cc1813e4370a20b6973b501da058830e50b32059616f6028e7819bf9e07dd429ded94fbe4d0a955bed7df4de8987fb98f476ab9142dea2a115e168b1a36bd2cf0bdeda1660ed60b95e322618a130e0b596ac86cfaccd4e01c26d62d181abd07ce4d2f9766b9f08ec4cc1d9081807e9c4654d969dc55ae9c5d6b140ca6752ce53dfe4b79a6fddff397452dd6f3df7397eb45a95948045058742d26b60e9e8a732fb4258cca348caf21d584634f5c1efe45a226ab91a9998533e79bfd6b34367404538a752cf43a918824fe74866a76b699e26343fb042e32923d5dcf0e7dabcf56295713f4011df30eea7d40fac3152c78ef54edaea5259055a018028c5786ad7a535033cf26577b190b23bfc5d4cca77553d7dff83a01e6d6d6dbb65ebca6a7a4362322c36b813ef20c8c6e48496cfe78d8ff51fabf51e10fd2549660d7cd9da86d7c1de910b20d3cc50215bee7f38bd07a5d3f42e500fec18a7d6ed84cefe7da0a648236b98edab86442e65f5510979254a52e1ac322d431b0d95abf161a54f079ea64bb13ca8c198c5b0b301cf36a221a9edc7efaa4931bd72c122ad9c2850e8acc46a250797cf42c6dbfca2fd1dd5027af079838482164ac29d8f2bda8b338d42cb89c865b312a9bb485d3d610aa9e0617ff10f169acfe2b344e3e370179001ff4bacfdf5c44eed335d51ea84dcd71551ba0d508f9ea426d87d0b184da7ab6a8cf8c35d666976b8bdf5089404eb34a1e95ac53fe0d1284912225ef540642d4d81dfd71f64afd2d83b3f5a9804a44f6ae7f09a37ab41cc5953e03b584cd9edd5702bc8d1400402061e162a8f92c5eec4f687a19f1ec008f66c290ee0352e3ab5f6df9eb63a5e30053ac235225fdce9eb63ada86cd7e2f62ff522ad8a7636daad3aacd4cf2b46ef7d785cf2be108d753631a31ced807aa890e34903f77af464ac3ccc16f23a567c8812a9c52d16facec7fec137b96feb70b85f73fffd602bebfa3e4698d08c7a1531c329929339a20527ebc81fe8bed2029a8eed1ef64645275682860560c88d027e83742a3c06920bfdb745190e2a510bfc89b1c0a9418e78fef49c8eca2db8f532ff9572374cdb4ed88b12a47fb3b00a59898865ad1cb20b976315f26d3e17f46e09609f5e2f1f94d4a92d3a84a7a3bebbda6c2e9fef6d72b35d0d36f0ca6a2599c1740e4eb2649c71a5b69389422f118a3ec708e121fceceda596c485860c19a0785736070f4f712e76b0ea988d2b91f7b8c9e2df3f528e5a327b7db57e6062513352b860738189e765315c1f8cff839762db30094cefa87e37d30d8db5307674afbddbf5961ea4e46bffe7feaa8235caa1efb55ac03237bf55363dd43277ab539f4b3aaef2e27aa79792cf25ec5dbbfd997ed7fcc92693b38c264d10b3b8462e78770f9a703ea803a828ec3d4028f0b0cbbf1b9059c9e370734be534eec741b0df20ffbadb13e9c4a01f1fcfeba4d9cedb374b306c2bcd4547c77cd5ce7235f96b9627211428d06e11f03989190567769da889763cf0c76bc486866e93795274472dd11249e8cca53da81220b516c961b9fe5077acea8ccc3145d47130c0f99a9b969efddedd3fe89e32ae38824b55706a21d3a4d0fef55601270bcbf077c41db351e81e7311b785a783f5d01791238fc2f4ea247dbfb65a3e2e946f7f4715dbb3fb91f930bdbad059799ef3a77784a4a3f7379c2df831644ec3a921c64b9c3c68b43430ff067edb8124486d78431047867019e8607a44470e0848747b0e96533cc989695ae198e12fcedad38915202e5c859862b2264ea84d84de119190d9d8234e80922a14ffcd09540ec215a9550a2922ff8f5923a6e9911b1afa21b3a284d98f4194b8d68808f3c40301314ade5f878afe35e1ec612f155f03d0a73b9e374b9ccf176bb02fca9d351416799bc2d512b9fc8578df1b6794c156e767a7d301961b0b21c607f245a3cceffd2f4be18bd685637c7aae968a8fc1245a7d4559d801996ed5ee92a0f6689d56c52e049a7763224043964d526faec9127a137aa310c34d1ee97109b6134c8a09298b1e2058176c96b49924ddfd4eca5030569ce5a8db44c07665b6bd176c9f1a69574671044f35c6566aa830e26066b6731ca7e1a26a575976b4a71a9794265561e01236292fba6cc2e04e1ffcf3dd08aeefeac1948a49845ed128c23bc0bb904884aab67ecf67126f33792e0602c63ca6cbb021a1875d80254821db6c49b6cbab45bbcb4becd0490eee32d90ea15286ac82b0f28626a4d6296d03619e4c42730a86ab404e637687fd4fab68dd0930b22d81e6c4ef7ee1a32782336ff5f5e07cb3362e9281de6ce48f145ee738f8efe8a179fc14467e9476a76986f12d359288f567a8e389851c3fe68a547e78ade39229dc735e4f6cb88dc406f09f74a79e7fe2f8f09a2bf39d15b388c131b062529f783b4ad1f203ded3a57b92560df7bea93aff7e1924771bf32de3dddc59783e81ead3dd79fe021bdb928030fdddcd3ab4b06caa93bde896f5b01bccb21c891754e3415cbe5fca34b1fb9d9d3114b5986fc443ccc16cbc136f7ce66add562bba259177404108cf1413e725345c8682c4d379578ba760c5e5992d962c2eebf4d433c56750379bd8d67f2c4759f191fcfa88dbe621e759cc53eab4caa1ffd989d207ac0d40ce031614d872480321d6ae9e77a2d1d51141f49bcbe53cd782f07444deca4d183651026bf02cb78b55c07dfa625a314c47256a4bb2ccd320943f20bdb6e1f85c41283a488da99f55699b4d2d9d7ed70a8f19601888af5fa7b37949a957ad7764642e02d5f9a4d77a8dc4a70b9d025169c19275c42e8af578fd645efb26e513a71f976275114e863b8eb1f2d72a93b2c0bcfe0c8ecb56a7b3cc4e687da0c6a645ee36acd2fc0da119740ff359b91fa238ed430f729a6e94c5ffaf310d7d2b2d84ed6bfd98abf64d5d269c5c957f0c854a88aa570ffa3a978800b2ee163997b0fbf9f22bd17c49fe023b8c7181745c4ef0705b4be6403b1579091bdc453e0864651f0450957c3304588470c45fbe35afae72cc7ffcc02fb97862953632e1f0c168513b9871fdef8075ec956aabda76366d90fcdac10fd165fb05f613beff153d3d8a12eb4053b75b583abb39147b148cfe353ec18459975894802d558f2e9a0577f1b0a27266fcdf590190ef441a30dda867cd412096673bdf39c694f291d37e8b05b9dd04584f63e4f57604bd52dc0c074e32d07593d91786b2a0fdea5823d00264b749c69162d784dc74b48cb10af8dd87730bdfd449c379261d8e70076407fb663a0df422bc65a969fbc602bee8f5885d0e69a613c5ba25a5a882acac726404777c7878a58b502ab3482ebdf3b53be554f6c8ac4176d1d3dcf11f5139bc5b4fec2f161c5574514ee9d5dd589e1219eb04f1e94f22ae1831cada9248b39acea402c87b2f9d9d57fe27d5cd3cd43f4a06e2d5e94c439a5ec00c3b618547e4897cdd1f868ad597f5f02faff2f33d477b434f941d7113cef31283073ad232ceca4b1ebd5144a72f591e46650164be5bc88822729897f4fc20e561fc51e5f321079651cf246a6e91d62699ae68b29ae0f4b4168abe3db047bd242eea5ada43f9c34f666612b12718003bbc0b794694d32cbf3ed2e8ea9045ff96e12ea5527149a2885fb275c9f9f4f5039b57574af64446c2c2e5eec307b10f04041f7469cb92579e667928fcf4bdde68e63885cfd4bda21217d45a722203b7dc7b2114794b54e6e52c8c158b51da3e1e401eb812ec9b730c95c0bb5b9469b3866e74961c5b997a13ab0bc8f50d948f28cf78d885bbb020dca0ad656b42e0a3c38675a80061e21f12bcde6b84b8bdc7291751361355eaa00bc0125f48eff26222f40a7252eb0f194b4429cee71130da2f67ccb2a9fb7bd1b7b2d0850e6192aa15d6475787dc434aa381ecd40597d97dd1a7de9e3d0f3767ecdcac7ef399df456ce5866312554feb28460bbb00c9298c2c43c97dc47dd7f13e1ddc3b6d351d0de922d381915d436f2fbe61d7db6b56ca20cfff3983640cf05ea2fe5ef2e66fbc6c07a0a7fe39edd57ee217318ad7467217c403a2395ce8219d68305a02820c7e6ff2709cd49c79c981e4f7fe1d85bc2a441ad685a4eee4335dfd0c3a416e0c37a6c4fb2210e614a0b3979188c76aa4265a2ec6eb925999f18f9383e0a97a694ede58774d600a03e925fcb59d0d867ae725fcd8dc1d2eac96662f3bf24b7188b95f5ed6cfada9103677d28c7c2bad7c9bd3420f4a232ba467357ec035e33033d9747df864636c2b2cb4f68a5a0c11c1d1e10a1636325461be18b9fd1d12cfcc52c981a10d5d5f9570eb5eed7299ab0b664bd2bd478799ac1546b5f948f375784a3ae5e1723388eb1df3cc8df80943dbbac14f699b5f978830e5b1fb7198ca96a37ccf5b2d292770509161e4b6d9dc46f16535c88cedd4a8af77534adf9ce0711de80ed62d7a3114514a7a1c77bd54a5f26f16842d8996ec063b0922e5788b85d541f70bad21d8eb97b73de43ecd43d2c0371736f7cc5bfd0adc1959b6d79fe916e7a20a4cf95987e62ec48607ec1c735e3ec587e21e1605e8449de6fe6f925a34815b2e21af58be9114c8e0373a30b38c69a480949f6c656f4b0df826a54fdccb3c6cc572358047fd4ec1148094bdfa4ecc522da0e56598386d9e26c053f0da1525081502f15829ea3ccec35963bc0ff85b4bed2fefcbbeb6dfbf1144c46d163f39bf8dea68fc472b22f9ec4ddf0f2eb813fd5cfa947467f9c7b2cdf95f4b5b72987ce0de765241a4a25206707d283dc9c8a84e86925f265da11cde5fc7a67973c85b68265233273679f16aa129190e13e6b6d00e26fe5fde716e6d1bae73a1227f4b69c9e857b9ee673bffe1b8a8883b4b050a53c10e58487887dc4a543799c0e267dc287aeb6c5f560e9f1822eefc21ed740713be554412c1e4930c03201fbd14084d6ec1464b16f4144d69304afd795f636e806d1fa7e69e119f219568fd03d684883835ad3a637a0bc6e437ee79236512b2e33408759374c9d01960b8bedb02b0b634176ae8d8323f67c1440f5b4833da6452d6f71aa662c563584844c3762dffb6408776aa0bbd8a86cf3a690d6d35935a1e41d66ac50e13204c2472ad65a74944b1aa676a9e514ebb314b780c9e4a513cd819f7df21316da75d535f17bbdf5d70f99e3e0579009b27dc493d0a3893c23fcc770d0b4344074dc40d07961cf23b4bff88c33e1b271920aeaa70472740427f861f0d72957cc3e7df6fc53075cf3aa043d070c4f651fb87fa250b922b26e6469b865ac01e65938d75ca8365b7cd561fc5bc98965d4ab6526e18639e09a35ce8fcb2ad73de6c8850c7fa3d7cd0992902b04890475089717c3bd346b010bf151c8a75e37d8eb783482608cbc28165ea01e10d058a538a98890a53ec630fca5d04dbad26e1b90f5710813e21a0a60cfd476dbce943f3ddd014b0fb8a574811d1719a541470ffa856e53cbef1c9ec7f9f3387729d02fe7aa09025ca2d8700fa9624b6939456d4da3bbb74f934cdbda48bc01931097ea0455536e9f44d5cdc56b26701c10538785a9897979aeb7d9321b7da2de3801f474adf65ff20eb52f29b444b6c4507b7f9fecc6fac2572ead7eab6684fa309d77b34cb7f8e73cdd81a947d9b9ddbf74f5646fb33f6cdd97292b88adc6e56d9080dd8d6381cea2bfff745e71855e29dcc9d972710488139ad029b5e0ae3e11c98211b6f3c1b576c91ef37b8010a6079181040469c8297c3da5bafb95f3fa5dd6b94bb715c5174d8fa64f74a6b7d75d3fa7470e59e658e2f18d7eecf5f636899ac7cef5084271db4648908c62e3e73811f6aa8095107f2700f33811a315e02a9c8f1bc3fd87692faec922fd093222d79269dafd62a7a24755f0855b64c56978dfd393bc71e00a80513b2d50e8f81ccb3551a29587e8757856fa6524ec7212e4ee3a637f4d3982dca806b46e6ec81db6654bb4122688d5bf579116abf09845c6659d0ecba7f6fb8f8da1f3d3a874b38fa36f5eada1533eb6f17084074dcdc785667a7348668a924e4a7e9cb1b46d20a173beeb7887b15ed6ff77342659d0e6a63154f1e9508af8255a8b2ba4302e5b88180f676393d5f69755c02229e64fd915c2b7b40e3c5578077bd7d35bef8e0932d0eeef167f2c86b3f1e2d8c3d6bd92b35403ce4360258b22d4ae2d72dd0f3ac765ef4d3fb8e515552341c58b9ed6218ab124721e2ba18e689c27ca4e64e744268252c5a9cb3a549183076d6c4014bb39da077ea35e4a6608624092ae26d08f4304276cc174b4f2c7432684befdc40817dc417de6204be0f5f2e6c799de96c7948e55bbdef85191d8329fe5c95aa326b0dc87071e148d68e34934925a48da5683b08d873bf324a37b7892c89013df15a4f094843b3de198f31cb8b89468b097b9efe484cab6236e233c2e7dcf63a23a4a45a736377f7d7059c7ebfa72760caf8b2580dcac6cf4e64ceca099b45d0844081ce1e31c7f959fe3bc6454514ec0453079fb4d3ed55b86497ccfd9528ccb42f647a32d86bb90e6f0be5ace1e3feb9cf03bafb078de21216bb6756ab27be0bd3330260350a4ad457450bd92366716ba79a565b23c1f1dd27904261973e14303b026ba7dd4cb9fabc5f3a4e80c3a29093fdaad2ec4d31e66e183337057b8b334658fffc4cc54c44e5ef47be3ae56ec96858276ab229bb10da999f4cc6fc2697c2730cb60cb8630950045f0b130db29e7c92e337a4528fe9c883ee279870957ba938c202cff7ecc27d38b26bf50faa98e6e134bb283536b234d8a281ae36a63ff8e7c9bc4004d4f70811a5f17fa1abfdfa5824d5ffc5bb0a2de0bd6804c1b8131bd3aab487ac9123a0861761bd5de18d0cca9dbbf157137c0373ec7d016ba3dc31877d9069451b7be85f06477b952512ea0690ceed443501550018c2b2b08fa9356e09d8044c30125620949899d4a6bcae6e232ab336f494d48bc1106386fd87b321fe30890c53e0496fd46382c3b35fe59695fb22a7219099e3b0ae69f24ba61caaf9431d6911517a22be8b4f413a5d4446c661033919e7cc05d1a88643161236b238776f7a921f1e15c8963ed9c85248e4e9857d3a88b4f053bd28a9fd95f8f344389bd07029e09b125accc66c836dc120ce86402f543dd5e1100f8bf7ef381769a0bb0385c7ebaf43ed0a9f09748a985f835a21f03c47749e1137a6cdb26f3ae73dd23a34221be852f2969f757680d60cb67f6e8ac5f607349a2207ddfd3747ffce546174c8e3c1bd11540be3f926ecb9f33048a82bd9076848db4d219b841b4f02a53fae53e7e856d945ae8cc8e7b926619baf2eb66fbe7722cf99fe8b618fc0c1ceb3056f21274eec7b597f65ee22f0fa2ef72df8c7a02fd8182bcb4b6efa216318bd4269f3d0f8f1beb75ce861d45bdc91c9e4cada3337bf4d8811c5177077b49ad2e32e5e1e9b7e15f948ccc3a36c16ad8a2ec284709195041e40dd7632bd786a5d443c26d91b2f6ba0506e1969a6bd822465e0b90206e1b4dcdf555c6b25355810001d1de4a59c37ad5f430f5835487085061a10a451d6fdfdcaf6e02c25dccdb57c26eae908538cfd8812e2790662be750c490058f9d398f6e0c460da7bc69493e8a623d9a41dfa05cdaeca926d11bf19010e34bc4ac5c1331ab3f24806879f6138eedcc63f12c47a79925586edeeba88d40f0b6470b804a3c0189cc861dbf6580c23e101f2a6d0f29f0afb40cf627015bab169314189c72c88a94d0f5eb29d7127d5bbfee32a4c4536e9b3102fd7f11ef707ad98f128305e611a712ebf5d73ba9bfe506429903f846553952083750763eb778454dbffb81ae239b84894315cc866e48073207f9664a85ec9fcc6ed00d2d746ab8191b80be065917c523cf099790c6b36c80346637664fe403f2df624aff562085888089a29551d55fa16e74cf121d45792095e51d4911731b93b39371f97b5c8c39f73fa86569e5ac02e5ca73e09a15eecd355614c46b85c5aadacd7f500b665b3a93160ff7dba8b3737f4ec59e453ed2a078cc49ad60162305b8cd28f16bc2bbc8614fa19c13650c642e2e3c6578a13c5d0bb1c02ef108cae05bb1666f7161fbe581061fac2c56c9a5c6fb4c7335979a858996f485161e55b338c6aab5939ec524264dffac1566bf6f25447946bbe9d9f1d2c349bb315dc546821d99ba51c772a6ffc821547b518ff419071875175db849fcf9a4752267d90199399cddff5436990226785c17c908b90ccad6e8fc2f7876ebc5f83e930a5a1fcd6e259bf0aed3efb3c45b02a08451fcef4739342f01db8a86924b37b486507cf71f9f0bda718f986aff5013adb75bd6129a3f005eeeb5abaa9237a20f5feaac040902d61b2ae6d9e4b24f4deb7effd7dfbb1294887d69540efd71061fca2d398e14e97cab77654e6dd97cc2e1b0f76091a6abb614604e70317ad1061fb91ac1b45527d72a094bcd3c766dbc4351ad86c6f7ea4ed87c3cbb86f368bb17b8650c4b643fcd9ae286880ccaab235f43d2b727f9f206f28cf59e420040f33ce66daa6f9a63e23edb0b1eb607d33c0b1c0b176f824388a60c982b8b4847d3572e2472bf3971d35e309169dcc465f9618f862e4f2169b51573d45765322353ff0accd6e36e486e49bb27ed3cf8954dd81df8b448c7696baafdb42ca3472cbe8bc4c5bd6ccc0c124a926f17246c7c7ac7a20a2df8bd0822cd0e2090a08e52f781eda59568be365899fa14ef6ce4f98e56ab0a078396d98d8ae4cb4c46c731ba41303ef3e3ce8d7af03ab3ab8748a87e661b4210c970ac2ecf40aec0bbb2ee8da680adc07523a43d244b5be2353661168a0a2abd4bb43063210f1bc0b7279866e3278788701548e21296e8ca0a04adb6b619995982c9f09796106397f42089ec1dba80c8a8bab900cc6e2b44df7aa46dd2c6aa5a1968790d69ab7e3e6e85116dff041e7062bbe7cecb29710ae5f2aa1246a4bccd5d03e3e2021a70ede2981affaff0cec04050082d45c261b1879f348104a7c6d494ac60377066e9dbdab146f6a79bd6dce2b00f3e0726120105e44a3a844f02d654f0d69b2fb539aea81f5350ac67793b4bdcc8c06ee76f15e35dabbab7aac23284f59a1cecf763c3be1a33093153f63bb75c2dfcec691c9828d1ce4fa3d7ef36ea54dc08933918744e8f7fcdfa205859db7e65d25896b1d8d6176e4fab474eeb800971a34917a0c3363e1fdd689808a237a14404a86f7b876a0b70529d000a1694df3e5b3816650cb8c7f2afdb95f9e6a28a61671ff44fc5cd936fa8ed0e494883aee09e9262e777c86e10962c4690d96ead6b396a8f72a550ef0f831a6731b525a8931716dd123ce708672eba89f9cb409443d76b9398f6c0ce36de964d3eedd2036de39f0540ca63c20a0c8648e9eccbfa96cfe99af0da8b079ea3a0bf77dd65b6317ca9b8d734c0d9f81a6003436b8c534004ba01c6d55c751aa0d924055b724b9549ae5afb9229e836e8ca5e7e71eec1ab13ce296148f44ae3620fc5d135f789a95bab33d752256707e6a40cfbe25db83e9023909754a9a844ab86181c3c7f7323ede48fe0a307c815c257bfdaf41e551f6afb196eb398f0223f0ccdcf308cd3abe1adb292b8ab908531f3c69afaea84d021de3f616a36eb53a6579399b61a836ebe57ba80bc72867d209dfab8f27d3196e19282f6772bf9e797ffad3b60da158d527b88fa73c3fad449e0bba99201e631bc303880f5011ca460d5c532aa52145cc9baf42d957b0307ae93155a97cc839a6c43ab4e71cbd9fa9dd7712d3c75bedf32bebf83da76f8c47fea528059e60c9a33becf0a5cd8c1c7762aad527fe743b6f0b048785721c7fcf2786061fdc4fc9f890ce701564b7077cf68017f1dcb5f7901a1df9dfac84a33087a1ef62c3708354f4bfb2a46e28a687daaa84695e604639be1de8f7b9405a8b7ac010e65a1609784ede93e33949bffda335811d3594d589a9acb0c41f817f01ee26f9c8580b9ad6767b38419f04046df017da777caa98931f24967ee216f58559b4872a8aedaa255f94cd4a4a4545b51b3d1b050dd8394b03de51a5d4f350c9ffe31fceb40326462672599e9c7f215347dd87dd031ed433354761d5a50d42704868125bcd7f6e57b50e25c779861737c2d285f3c1c89b2749dc7c7f0e0fb36dfdd0fbf92ad5687683bda9f8126e2bb1e24a58321b75379e437930fc1b37e4fb25c0f68e4ebc43829e835f05d03ab3c224e1bb26044f2b00127a02a3d7e83e0f2b4b8b08c264035489189d1e498449fa2a2d8e82d720fd3d2f42b939ab5b366e56c4b3b79427197fc61c78f3fc2e655a4c1bd2e358d5022e9e2d784f3cb4c5608b8de767528a789187362b84b039622432bd9dfacb0e26e9797692610e00ac5bd0a77527b52e7c7948e460f77443d16828fa25ecc092579f59fba0d162834dc3b4d5b50135f96084c662f4f735dec57c1911578217b68ed0a938b959dfff05d40d8ee7b918ca3fd9f3b544eb34b7f51dd254f668029697fe13b13c7028feb4088913d25dbb5f1a6f27da97f72299560adf18e8a9615a811c6db3d6205ab3450315aaac130d1cabac431ae503c0f8ab176448f858b7000ca71ab4da00e03f9d485972403d7d81744a32c5a9bb6855fe5aadd00fe68bdb7364c6aadbe28948c896f1f3f20be251562cacd377394a046597a5137c7c4c7e8a87fe65160f81f34df1e220729e2a865e338df21ddcf06135a02e2117b575fb80cb8115e4ba2e9bc1c8560c848b13ac144b86bbaddf2953c31bb26b43c26374970fdf0ed49e6d9371bda60dd5b25d1e75300175a8155c2bac60aeba3f8708ddeeb580d460783784e0ac460c95abcc4163fb658afc553fa74882d24f16c63a2751cd789d2befcf21a6bbefa92a7f5b8577e5af4850c1a0ca350c88df61299fa5857f9f353260d6cf30697c05a79b983301424d4ec08206e0421d9cecabca99885feaeefb084d050fda3f556c49deec699808d29da573046a26c11c1fc92067dda975311c87418680bd83ed48c0dab0bda71e9e16b5975ff2596e0eb26d61718ea0e8fcfdb598da6d074bcda6c30ba41a46e1b5155069f10d0819f91ea1d9e94d5a65e3c6e901268d3456c88c0298548e89b3c9d6fc6ef28be73e1900f343561a4474057d18917333a0b1631c46c37b0eeb0d03ce6e631d06e9e67b97befe64043cbdcec98b8d4dcfba43cd4fc8f7c1bc8c897a8dd62e618dac54192e5e669dc8603a16d622867bc83c190ef70473552564b8c6e9948fd346c75debd9dafc4f7ede0e628e41cf3c3aa9453b08fe61a4b39bfd280812b3bfae3f1aec263a73cab21f6d28dddd82b1d643813fcaa8f0fcadab2d5b60e5f3c7e38d23e1766e925032e4ea2bc21443513a785e66809a1006919b2f56178c83dd991080f9efd387e776ade05337787fcdc76d983afc4330ad1d1c3c48bb221132c4f82fbe31ffa628237c286125c8fa26e2b991749615e535eaac9cfec29890fdce5f2856a00871c801e968a31231920d997cfb2a53caf82724cda45015c6362a3c326683a1706ae86be1b078e88ccd880b09163cca4a34ae260395ca03b274bf9fe025d0635617c20353f65ed7693516c73513336d577d9d6946a278bb07ba3bdcf579bc4ca747362904d5a8197ded71a323e913f3eacd811b0fec050ced93acdabc3e88367b18ee13a6b18315185fe4a2ea950d1c939fd4c6992b75588cf2af1a8845d162d801a97d90cb52ba3413e1119eef2996e32c8138256a5123e22a6dd61d3c1926a14250ca72e33e19bc17d0e9db69540d246985cece78c1a4a6becee8cca598b1905c72be0abe235dfffe4331e8f3ca5e98422ff2d886732d89331ba7143b0a1481aced702b7e09de6344482b9ff5c8dfc7d1e11da8ae9befd4743a83513213219cbb8a9f70a7f472e017d3c0b694bdfffd1408a1ab3b1d3cdf310173ad48b1c7db27bad73b3b74c2baaaade8341655a683603257b868edf8b8a44ed1a501fee780f4641a4822eb55427b3a9d8233fb5724054659ff8593948c1f2b3c76cc1541639c0be5c93c99ef64dd6bc08eba26f3b69683a661637259e183143fe8c8a2b7ce89684263d64551be854683334e3671ad6f67c7eae3ce6864d12b7a0d24015d0773a62cec8e7e6f44a7548230537d08d0ffb42c88ff7f68dd7a1e9f87b8c04a3be860f4dd46424e59c1a7bfbc8b62c1b102fb0357d4f137edb65e8f371024a9967a211a9063a42e0d960334fb99c4255c05076b81b1e8600a16a8df8d28aa44a1c9043f6819f3fe3cc2c749e2a5e465a9d98ae748f1a1fae6807989b3564827eb5e6ecc4e0c8a1ba73b24da7dd975cf9afcdc5e8a3c0901ffa16b8b1e666f1506b888525530a51d2fa39a2b7e64b78e442f097c98bf4cffed811473d477b619be38f2a758db490b4a045a4e2ac04ed1719a2584c03a407e3fb3caca6f1af5208a917673f1d90b55e50b9df1d235a0ccb90ae368f66ec6f816face342de592da886557356211b6e99790d1756cbe41e061b428d188e38952357ca52515cf80c5cba30df7a3496c2753182251edb258a31027be488351cf5bfb23b58b82171dafcaf5876a0b5d0f2864fddb0bc3b0714b8041b679b37d695ba24a4bb69e8947b8b29277189da74c7005965a983bc442f4f1cf8b0bf48c7f9f3f19ba1abd91998971d8cef200fcf6f236de0836bcfa0517344d473e62104c65fddb729f39912690ed453e2efe7694805f592aa4e3ed2ff3ccb8717cefe6567ddcdc8641420f341f661fbcd23d09429cbeff0e055132460ad17ac8fb3d379e4ee980cb6b641321416c63254d115ec08924a1f58847d16491fbd5ca9a3e21a7c67ef8c1a9d21fcbac7854dc8508c5dfc2f8d84b32831323d5df696e38ca691987292ae8690f3b21d7be4a62f2001efc8cdaca25d7e47f62e9a2e45f3e4bcf8dca9725f3d727df1f771b0e66312efdc31a3be897f2cdc6ef2448ccd49e86787a67a409c229f221ecaf2897a685bc505cb91450e08ad8ff0e91474ef98acdbd4560d0d1ed39328d2008beff5290c418efb764948e37ed88a624cbdbe081141fb42baa0696cade9ff34c131853fb4c23689a4ffdfeeb62d8456bf5c264e3f0ad09e8417f84d9259e7f46d9bbbf138aa9ee7f7241892c3ec71ed9859b6089752e8031dc77ad0e9d590c1b9e7a564c0620c458cd70f5f4f9512c24669d21e2499a78984bb181f75cae83344f3d0a58e14f32897f221b72cc8b51b287817caf4203e80db3e505295849d872ddf288f9b3ae2c1f7cbb8be0e99db111997fd9f526a7ad854cc98944886964a3c89fe05b6e5bd539882c619c4d214f6b720515ac708d160f7b0772723ade227f0a1071d8c88e6eeec92d22c6489a937d74a4406b67f90bd2b6e78d91ede396119fd833ea5f64be72c20bc93a5aeb0daa61dde5b04b2724b3220d5117807459ebf559683de26f3e5a58254175d9c1717a042e99fb2577792c41de93c6549fec536261d215fa9dd85e5eecc7409c9b9bd6d5fce1f9971a53832b59e493e10f6d5a45b9be5eec05e28e3a51bd256bf591f163200176171cb084c298bf4b09738ce16910f3458e76f022d7a5f5a01a284e6f360f622dab7b3f27f46e02a52bc7d9c8dd9f1facf5df2325c14f01433be3f59f544fd8ae3a15e573e400ee27f832c012c840d4354a0a67ef7b43982dc28b12dbf94ed71f9a3b722c7f6c04b455e4710cfec005ef2f783110e5835c872d753dc6061296197abf10025e0dac49dbd6ab86669030526632d04dd1dbc91ad5eee0720c391d2bdfe6de77276e8e37531999e2f018c4a912d9085cd386af4e4d1da7c234d491ffc4b11f23df627345d02699bec20a86225b1736c63a4095ce020041fd26c1b81a3e910425e0dd58666f503de3d78f260323df1b6fe491124da30b4028ab7573a833b39f95883bf7ecfc7c8319b965bb54fd648c2ff4d17bffc4f0e9af83c679a2316834446939be3b460073ad7c2aa8d8655d6ab2ed1667e8221aafba2aaf0827075a5d157214d61075cf78f24749615d770074432202ea9939fa97b93d48ad4d7c22b53f69dbb5436e40441c9f9ad3850b51eaf68b084fa5045910857f09af87c5cf9c0e8322099b59ec3ec8ee09b241dadc8abf3ec22b516b70c5f43cd240d1ce2cc8722bc4c58f3282b60a5edc12a7e602bd52651f166599fff86c00714d222cac2a59911518385a2c2d188910755cef92bf4a728d328ffdb5c868df523a6615e365ddf24d310aac30b30e788be4fe32c05567a4caed036db5fa31b06c087107c99676a70e56f5e09300417bd09485a995983965fe752107092e518d72fa93299e973f977d1223f0b30c142ee1e9aa6037e1a6778d3558383d94f4332ac662a4f9fbe5ae0c388614e636ea74624c79a090655a894024381875c45237c4c05f9d287e402e9b1d83f349ebf4100ce435be94973f3ec1415e3ebee6e63ca4cf78059b770eebba72b9e6f183b2cf08a9a2ac45b4f42d71556bd1cb4ea7435a902059a99d8682c2fbf26b30324e6feb0405c02776bfcfa8f079491de54f07cb7a01b21e1d6f1541ae9bcb160039601f69551f282812626e6270ce7269420795e6f8c1838d15e6146d64530c5157a5e56831d4d4e279c6da108e9cb8932298102dcb8f222b671fc8adfcfb0f7120896417aa7d14d34bd37500e5d05999047d88ae3632653a474d998197dc2ecc180f7ce8f41b85491b634adf9dcaf4650d52be3b8f565a5b4f4a9e4a5c99fded72d88884bc8b426e62c9d78e55fd6842923c290e0fa6e10a19c3f1aa05d06d760ed20638afe3e12f8c095e6963adc184a0faa121b24b5298c922472851a1ed95a53537c753022de778a80aead7dbafc2a5aad2e60465e3c7d831a8f4da026151ccd86559d54c567a1d11ab10df196a2605120c6d459efa396cc42ef72857181279ce9f401d5185fe6d3962371ad08f74a2b508650c8312fa6f87a62fad08564fcf8ddea591e79e7754ae91fe45f9e4cef71ec840c628d5d2839bfe4d3943b24fdf407acf6a3204bf9dab4c286dbbb4fa432122d78be9a1f0a706849aacae2f582ecf378b60a5d1d312a10bdd6692186336cdae2acf5a435d718a67323e3c4f37827b33675d893a3efe127c06bff6508f5abf19140f4912a84f78e002bfa6c832da3399a96b3f37eb3a4c909998a684552614b81a340a94512bf63a48f0e02f2ac7c57416247428d606bf12e5a97f95fbefa48126714b9a5622b8a5ed3ecb0245feb4174ead151d681c1be619d4afffe6c1892065769df3f15b510f9ecee765f69f0e7b0fe02f538ed9a53a5f3ac136eaffac409838b6691762a888cfcacc34e1d895efef535f5d68bf937f919eb34ff266c5d42aad72a0745caa5e1b623edcfb79b9bb8eca6d2eb067938a3e4bbf94623aa8a83d783ab48723a3c05a539331d7e81720aafdc6e15bdf0468f2524bb1c63e6375786cbe2ff8d143f8e06d982f6635aedab675234e9393545a0976709294e5f4562178fb0df3e41cdfb02398b99cf74e8c03a4bb0a3271e19a25e4e91c258460bb114dbb4033b28946f99f104a9959b502e40d3af62c5b8651492df73b0f2a3bbd83191258cf6754e4e71d574143e11d3752521f9137fdd88caaf108ce9c88b61f10ae86634d07602aa7e1046374815f12ebdd14777a566c7b21d9d0293c9df0554b5eed5fdf0eb8a07e724077f7f1bcd23d3a3773f1dcd84fe68d8e7d62a886160c5b406c8333480191f371ceb6c4315830d3326024fcef10f632c9f4d1df98e5e6af7d2a32f059a357cc8777cf14bc70e09c22d9da657273d5424cf8a9c70dcc6c53d464a862dc7c71d27f7b4aa8870ef93a2d689b6dc92e2243d4c80770e843b2a75aac6b81c589d5c6a49e780da4ba8579176b86f1fab0f1fa32e8b43aee676acf0d771198fea6abf654d6e5686968099372f348fa8e19852e356a290720c662fc6f0336d4c2b338043a03b650611cfa8a59ad685f18f4eb8419d38d3af21227151db26d6f437a6a4ba33b6364f6f8ce51713f9f327e2155450b144c0672d3aace747626e938eab85f5b147807298cf583dc68439bcddd00c78399aa1fa94d259e51e7d74310a35b97cfde5c1e7574228ae7941c0dfb32863bf163458fae3dde4e650df2657666ea62e4aef75c192b3e11025fe477dfcf0611d08c15d22a8a2fbd4af8ffb9475ed473c979e8362204a4d7caf64cc0c99b3e426a8c20578b21491e49b6a98d5fa352156f567e23748dc2ba3ab4eb43a99e1be8bfd469f97a630e67f6678d9156e14862693790b87f2624d029c389c6ff17771a0473142b88481a72d69f2ebe14723154765b9788de5910a047c326b2973c1cf435713376a64e31ef01036828d05f479cf9765cc888e1a75d3ee4aea067772017cfbd74d80f9cd59eee6d18d473c94eab6eaf9fe820839b9c3b0c71cebcd8740a526dab65420cbce3fd352fa64551becbf9272f7c425fcd0eea0bfa7ad926c919275a426f5a55900eff1f1518ab80cca6f683e9e5a924aa78a7faebf82f59db3cdb30fcf579bac2921d27f681bfaf61f2d6e0a7ec2c18a7d5a15f9d539853e5cd59acee1a016ad345150b8ec680d626a1dfc55adfc24421237a37ee3d5ea4a3b7ad911e1d121cdd471b674f60a94a4ff9faebb5b8aa651fc780f45a6698480e54c0d9143953958a9727f24cb2d8183fa218a09add94d72ebc49f6c61d2a26ce7d1b2513ebfd21cbac394f976bba28e3eacf978422d2f348ca0eff13b3b7264f6096b2cf5afcfc526ddbf91f35199a875d9c54c06f545ad3f67d121960d645707eebf74ac689af1fd21aae9566cffa33b11fe4515d52d0f218ee4db1acfbfc0d79a5902a397c2332371e3d08c1c9a549aa3a514bdc6bf178ae45f9c58f7f7d91bdc40d4cf01be2db9192d11e035ab9e38446642229b140a108c8bfd0833984690c1183415374cef725eac9f5ef9b3932f57b0a00d2848fd0bdf2466a1a9a88551b9327d65137160275c67566038de0c71f506afc80ddf705106e825549fd490c2fd20e4e8c9a6c836742a97a6191d6d61278e696e66629bc45909ad3198f5f83ce1fbb36af714797fc3b9cd767de4455de8b87a3f8fb19a9fd55e58c55af9fb59e74961cb2bff28c5b6e8e980d5a21fe5730c98d598a4da8875918a228f6669d5e87593f5ce4ddaae542ee06fe941fd09e2eb695ff8c8e715ceb2be3457f19d74d57643a81ccfe163d63dd3050bb1dd0308f03a1f9cceed63b508149d0d5f924ab9282810f4a9f196784427f3f152200096fc3cc1291bdfa0ba841fb93699143e2f7961bc53f18a9f1ad1ac08660311d65a65389fd0974339466ea3949e99bb5221de25f18482ed6f70db56da0bf7e8b8f576e836f1a1a40e6178dfca7c90538bb1c6d440abce67a09c50d6d361fa556faf02387c4e1f25db7337b4947dea254601ecdc06cc5cee7ccc9ae43a920361c61f778e9d9c678579bf851d26ef8674b509287bb4543b5018e3c296b432ac97a99b307550bbb3cdb0885266bfbb82ec1444ccd73d042039830da320b45e83a41534c96487948c34154efe070803d4d2ed2d862cab6536faa05794f72b45b0328421bc1c799e4395d75c67b19acff3daec2f727154c3dedf9063912983c1837a4f68cf72ec8166d5155bba498bd4beaab4f42dda83c1bdb91f97bbc61f38558837d51c94fa2e00b81fe86bec8ade4462f2e4bc554557c61db79ee92729b433f4cd22997af709afabed5cd50e577a708d2a1ab55887de763ac18f37382e30050c97867fd371cb51779d4241bb2703cad3c5854836dbee3057146e6bf1ebb28cd8bd598036087b315bf16f9c4b07ed6f54851985a38aed5ea4494db399e0397b5d07450a67ece928d6591735028554bac6f3a2de0e91291b2a3c805785255f2c5c1bce0eebfd75a07cfcf0f9e6c6969d1577052792eaa9002faf003ba55038df252a96bd29df90c144d867fe63fa3174885497e72cfe2cc08f5cee118fa328f5c0e6bdd675f2c18e2781e0c32da548b497141e323bf1ef7e182868a6d2ad2db607d430917014ca21631b619e39c1ecf919f0c11527dae8e95eab8069bef4ffb35ccf49b0ef40a216f0fe58825961158fa732dd51c8ba13dd6423b21b98107226d75677edea2f2ae7b101f9d76bcaf38288a0a9060353418831e4b69a77d8cd984eae0332e996af3ca11aecefa80f5815c87b84314919a4ec1e29dc1f1b50778253395d8783e85891583c70ca14956beafa629dbf663a3e9b201d1ce329e6240f7e3afca998d4ca3ee3e22bf0b45efa39e8afea5c753be0301e383a3865d03d5ca267971e06914d0b7ded891692be966ed2f47767a35cb315b19812007aaf4322d4662931db8633e48b0515c04594967e4498afc565292e0bd014f4518f2d9db35a71c428138e731089ef1e1a2f5075979322516c4e7af0a3661dfca06e92d233da95d0963e9501007239342910e5ce89e5e446c5d212110e8423116640f952b37295cf20eadd639a3957e97f0f9588a344cea4e824dda2ad56da81ec9bb9f869b9baa92ea8df22cbcdcd9a9eedaa8912e81ce6885618eb8361713d8053d235708b96a5771eb3b638dc3db868359343a328933ac84d1dea9f89bb7ae9d255fb46befa8cebf770b122f2b957ab5e601805411a920bc10c9083ec45dfb309cb6b9fead3d78f2a4ce1dbeaa70f512a8ba454f2507c490399c162057444a37e5ad8cf6d27d7f1c18dc327beadc6fe30bc36ee9c6c13f2e6a324b9338f2f9a01ea0dc58a66cd57993ab6685749a2cf429a108b13c9b8aad453c0a4d33810f8f0eb742e0174f9db396cfc1541955b645cdf3b56fab90b74ece6bce04258ad982f67b46249e7e61bfef1d55386d2f1aba593729efb2b9be1ac26cc68f509fb5e89602ea1073a4ef51fade8c038b686744bae4bc3b6276e4e0f1b95c9217e65593220a876655c5c9618a88c97ee2ed6ba2eff928d132c16520633fa4d89c7f61745f0d02a4a434e963ab73c748132742f5a9237edace77a8e1a5424aa8bd7aa11eddcfb9817b7fa05c2301126e2c8e144d97a7d4128002f2316e94435e36cfa10e2a8964314a63d1ef0d654c9570843b994cbbe2a10bcbd18d053b8a3d9935c1735ccc9b3dd52421b65f343c6155fc492b2cd981b2db9d0094eae56e8e98068a94059b1728fd76d10a8147bf479cfb72d1b9522acb9f5a8849cbdc523edd88ed34244b6eaf854bf9655c8b683d84c06b72400bd3941adabc9adf426669109fe985e9ad1319e45d61097d3e4d3efbe718ae8663465163fa3c433388e26b22bdc60eaf298239192bcb6da785e7970cbc94a803df50b3da7558cb2c36de58c7ed9e3226692aa19c579755bfbac08f52b6e7198cf8325b75f474c6dceaa0f331ff497cb2147dd20ddeef7acb894f66c3d31908575e8fc76aa85e658a11d9556002430c1b15df93a2894ac427815901f684aa542fa6ebd24cf3c82f5767980bb304da512eee38e61da5403471227ddb5350e4c28d189d9e67f145368bdeb96b8dda3ae13677ef1c1d3a8bb91b2d2529780e6f8d6914a6056175e49919906ecd3e0c8995e924562c8777e8aefb10e3383bc78b8d17a0627668a668984338c358b956165c5aa1ca8a820d93ac30cf79fe72604a32ba28260d882a7337eb4917f92e1997254fc11e4c86fde7bc61c7bbb4eaf2cce02718707bbdc50a456714873fce93ec311b133386642ab4e3ebadcacad1c8051958442351f1cdbaa8fdfb62e57008b464654ba97b52be1e4c2f227084facf40097801daef302e94ea7a4c6bc71987887ffd6af2e0a53a4c863064f3a29ef87342116a1f1ad20276df20d7b55365d8c8bedc09f8c4e63f82ca74afd18bec0dde7c740775f9f4ce3e85aeba2bf6851980be77f865de6193afe653c38bd11981e6dae366cf47918e7c6dc96f2a484d9bc8f7d3367e9794b9297e292339bcad2adb25c4cc5ac74058316f9ec30b8a2174111781cda79ac83698e50b406610265097e0c28f8c31d7e7657a10ea7d4528d1dafe6107df8ef52813b3e62984786b942f7fcdd226a55868389fc89ac6226850e61eb698a73fe44058d1bf6a4de25a779f8f0a764eefad1456de91255103eb0082337a7d68969ff6999aca05101eef4744b6c2af07191e24428017244779485939d560bed33142930f8121523cf47b16c86ff182b4ced7d941513991d01fc50cce81a8c417ead90e7035c96502e37c89c8b95fa199b8382d5e11cb9a6e3ef11abcfd451f5c6f2b17e938f5c367c1f249dff41c2dfc06f914d4cea6cb22eac821e98b9c2ae41d2042cb482cb878cbbb56ebee8848bca122be0f0c30df7902a8c3e7674424bf722274da9344e1135646cfd69e799f6654d3faaa5ce5524226c7c989feaa7cfefd227278af6bab5360132f60bdcbd0db8367eb9c6bb4a5476b4e5980fb7d93159705468fb205197735084f235c20ea7377dc6fcc7da071645f5f5b1b3e0adbeea2fd92901362628a7243d3095068588596001bbd5e95651769f4e14498d2031d6eee4119fb0661bafe98c5a0583f1f936060bca5c7a3e1be469d14760f026e6668b11f1161c51b436f056238b3b571e4e46a750b09aab5d3da77a277399f43574e13c342134ac8679dae945f302294c993ac6f38eae7cc274b72ffc19d26c7eeeb3a206030911c01e5e518591586882b18ed1476f9d1a816db24dea2f1257d6ba84b0f1d8ff9ebf977f735b53345be29d88fd02b2fffc91bd8cd4dc4bd15f25b0feaa001b55e4e1d23e93e3f23ec62c6ae1b14d9d1b4d016ef7639e5ea515777dcb83b8e2c85ce392f73b80b27fe5b11d19734d38834bc18a832afd69c89ef827f8d9a2d430c7f28a7540d2dbc00c741207ad7bc67331963695d08625215c6433c50a3b341233b4d4bb46d94508e289289522e77431eea1d4d4ebd424f41b1e1b7442a87804bdd797d2d2add6fcc669f46296e17def2ad09fdc3a39058f2e74206bce0eb970b7d6377694eb0e58b77c6dfb77071f93c5bda1f744a14bca2b31a894290e42d419972696a375557b1bae2fc608f87ce792624c0e732959ec03d5125e81977c73b7032a4097683f86ae98c5cd121f6226b3edec40a9a47c05868d7b48c0a6dc8018ba12b92ee801d45f00062834553d115527b723351b3cbc50ef7e9c2b9649ae94ccaa20ae839d60acc1a1130318f1db769b233000eb3a498c20a2126f3c9c07da68744c166abf67abde205c2b604ac1bad0a1a0a65bfda81856c09ebb211d11fe6b6305088870d500241c67089f5372fcfc9d55c45d607efb4e089f8876b582ea38f65cc25d7bf67d07058e48206ef62a84dbafc535cf212cf9b97f3b673a803b8592b1cf63a452ded4a1039819bd4726ca702c725f5334ea2505e88457b39caf363d1581486c5cbcaa05d972b476907d15088178b67f42201515826059d0576d28ed251071d44e1e8b349d5d1255d9498b4f14be201990c8053ba526371ca5b8f9938ed7e7c8838ba6689d604d37bf489e9f46edc5400fd9c59ca624365a327f891c9f44ea8b6bc746129b6d528d528111b66bde49b71041ca1352a976d067bd0178a7eb4f0fd5aa7dae7399fa9b5470b2f701502b2283c4184318d8d351fdd07d251af6572104e851649a970744b34f323f7304591ec23a43e53f9a60344dad366b230fb2ac876eca799246e230d3ed4927be2303a4a9f2cafa2ad025fe7c3fcfe9b89aad9f6084d255dac7c16cdb73edba71b7187a6eb1979f813dba33f74dbaa900510129fe64b7719d7d29c7875784dd3d6fa95df3a70d992621aea02cc6d7aae68e6a9864bd0f299d351a37b67f81e575e16a93e50dd3dc6a9eadfa9fc992a723073675725c1b922adb7bb60b70d5db3cef5ae468ac394b3873412cfa765a9a86aebb0f8e8707d1324351028e11f229bc71da6d70b6b99db5cf18f111969cac7ced63c36d655f2fabd2f246fdc86d4a35fb6c62e5d9153ce16dba76f950d942ed834e1f457901190669ac5ab1cce96660b6674eadf41668288880458a2ded22beca7ec70e7f6e937ea733a2cf034375f29cea0dd5a836ee77f63633174d59308f9147bab17b85237c19c13cce48e3ba3dac28c4cead4feb6eae007acad93df85aeeb6ba652a7499f503f65c9194fc7665b1ea47e2c2fcf1a1f229411744eae05ed6518ed6536d7c76c512e0ca3573d57a2333ac35f7815aed8e28f9a5d0db89790c1b1f3f6e67bfae1123afeca75210eec58b90c941b7104ff332ba5c623939352c45138fe6de53293ada0675f284184c83ddf9277d62c6c9b31c21e0d97fb874786dcc07dadf58e4bc13fcd8d1930c0a3753601622664e8be6990f46c5948d9107c427800693837a23e41414055bf0bcb81b59855354f35ba0e5d43b212abfa1cf27807935168c2372a646e07e7ddcbd4ab729451d48df5fc79e441521fd248d12b43da8f1a1380a7b71281c0c86daba7fa28a9a36b2364d8e68c6a1ff9421fb50e323f59bbca1868309853bb5ae80542fe8a18cde8cf7b1150750fd7a4dad85032c714b089d96a4c7e34f19737968d3c13abccb6abc544f3f2f4d3600114210507960e895c52a12e1f5959f6d059943fd14f5fc313f0de30e26621a1bfd968d5f812809529a4c9b7cca7a4b1629779bbf604618bd090d719e5f78990335eb8bcb4af6cdd1338c2281f8bfbc40e44b089ece4d557575eb10b87534e639a499966fc407bd386355e46b0d219279a4bee3e29e4d41bb1dd12476b1be8f9327c88beacdc37c94879e2a862f99cbbf78260b107f9491528d0cacb3833a2abe9887b9f5140b9d5049251dc0a7c478893fca71c202ff11124ec49ad82cdba1760c5662f388993facdc78e0513a8dc5d3330b8ff027e67551c9fd40a4dd78b081491cd57a95c2e5f3ca7bba7871acb67f30ac08966bed738b4324b9239230acc3862753b6dd7ca127520d9d14048853458c7a58d41eeea83e6afefbc51e96dae65d817d62a3cc43f0ea27adee1a023bf1f82781dbf7df12c9c57fc02fd81db42ca3ce1268bb9d475ae29a5fa00d0e342b3a1e8390569a03f3b72fbafaa84e2a74418b499a14e579da58776989cd9764881133d21233484ca2619e7d282b687a56367560ff1776a07cf40954fd0639e40b7006daa71b592226a52864f306048f6d993006eafb83e2d78d54fd63869208e41455dc15772675d00bd72c66f28a8119a76ee93260595f7994d0dba1892c70c38d3036b43c1425dc81ff5d609778e376548f45a0ecfff723a3fcb081b9f433dbd229eea6bb098f3d82f26ee1b4fba293cbc70b4cd9b1a1f18696de15c614086b4b4439e8aee30b19c54504a57fd28200a288b4f77fe8cea87846b9e969cfdcb63c6805c949bb642e9575bfab5519973696df1fa49fd0a4a3ba2b7baa85b919e8ab016bc1a596401cce502c9dbd71cd848edc9ca1f858d79f2123e0afa4a2256c623d86cbac85da5de72c04f79e5a7a0d3fdfb68242e01326d930777a14a302167a85327812d43875c2df9e22e9fa250df25c25bb41baea92fcbaa2562965e3e76d0434bb09a7f53dbafb4c160745075016e6115462c3196c1e8ec08ae635f5b8cf915e0a8e3765235721b048a47aee1d94b3a63f6efcfd4dc91065df1f9d4275fb3ee834e4b46214e8a030f5b2deb17f3ec876ef352045536d66c418dba2b590caea5053fca67a50cc63a5dabd1b897c998cd93de964f7546875b34fded14e526efb6b139b02ac0ba8630e5aefd61809f5243e7cb34a8e3b34d27a4a5c29fbb1691e817f2a37e6f048804686994e4c932bfaff0ac6e1b04a0498cd268cf119eb58a78c99dd255bddd27425163b79f03541e6e0166a307d951f58a55e4c8e6586848fe35b2249eb69bbb6a7bd2bd6774ced0a596b59bba9267a7433de580cfa9fc95a5c26cff1211ed85ff33d2ab5cfdc42cc78c5a0410151a8b10621c8039612ef43a225bc006d99542410da9a1ea0a8e1ab304c88cc39be9f1bb0b529eb596a9a2c19d5e77690df9946fa527d09c18b84b315be4c20bfff7d3036f7104cee4bfeb51d7d7864ecd32c1429159a3b42f5590c1cbbe59e65714143d6a3edd4c62a66b145d32b2291ae3f19d77ac0c3b1f810ec0fd7a3e6d402e4ec960335788e46ad25a23f5ce88194892d6bfd1111223403916be26b89ed0e5ad9763cdadd00f591c3edb0cc3f53290013aeded2f9c05969b2a43152d5fa25b977916d754c3447c6a9c05d4816c4ad99a56502f2f31d69d1cf8c89f1302e1de74b6ba4e5ff125f3d6a8b6787e393019a7296fe3bce4f97dc848294f1b907c09f8a501686b4ce72b4633fe12b78b77fcf2c377e6fd23634abb2b143faf1925033daa4e8df9472eeaeb8483217756f7dc2a97626fc8d70647ee2903fdb3eac714232364c81c929bf3e20c5ee5088253d08ad55094bd70082225d931c8958d90723b5b74014a726db1444ee3d646c634f84ddd27b1f7d4b1609f924c172811dc155f700f5d12299867c8b49f7d5fc541ee5ebb282794b2a4e0fe616e5b83afff1965d8ec42770e98ef9a674ce2705bcab9ad308860f36ec55494cdab08c08ce3405a2e3f48b655da35bfb7ae6b87a7855295a9ab71057fa75b12d1a615729d27a454439de6331cef98acc92b38e9f06f215986d1eda4970f1679aa9d4e0971d942374d32a9acdad409733f142eeeba59f37f174693f1fde82e3a3a4e689c0446cf3f6932a8e2d295e8a6ce9a48106ae2c88f583419415d7338d6b0d02c09b155fc46af3b7476ab84a304928da23c525920e0316dc637704c08ae1e8e9ab3fcf3de2722f2d65d6ed6989f9a0e181560ff9dbc3d4956ce2ab9ffac5c60facaccc1cf3bce6789c17b4801838d35817491a0d5c2f73ceb7457d8e633fbed351af7b122c820bf32fd77194fff63b61c8ad1eb558f56d3f4455beb74676aa0d870368d52b3ff17d0d3c9f9c101627579d7e07acf7a4f7676b05fb0f640b044b13ababaef1cfe56d32150dde11bc5ec4f01717b24aed42b9896fda17ac9037f67759a680b719f43abe6b5f14f6bc331f1625cb2f1b3f964f683e51a93731e499af2104679013b2775d581e67c31277f7f857b8a37e4210e4c52dc103642b9159993946f174c87ca58d1a12d4650cac6f4d026b98bf8734093fee0bc29e089f3aaa008e6d55e002d55c5e5fd1693737034b31a5f65c8b652578ea44f00b8ad0d0cc89be49ba252660d4ad8158736a74b050e4b5678c0c850b721c793bd07a31a2055b5c4213d8655e526cbd2129347f70b12dcb4d46d1ec88e69d3477eff82cae23a80e0bd7a4b68fe3ce2e2621bc240eda11de687ab5b888c2ee126e359ee3f802dae8112b596cfe6d92982e25892f0b61b76f2951d2a0f6ce129a7733e76c62f52b60060baa9097a5a20e8be859d8b290820f19bc45afbe3fa62599f913ad54f748396303d615c139263aa8d274b96e32905d13f9696a84bfb341fd123d8d9a9fc2114afb126b84611d4b4e30fdc865112fc72be0b6f40446f35bef64a1dac4e194b39dae41a052b92c365b6bee3dbe72862653357bfb0bccd9a9b1f7cb6a83d67bddf116adefd92b71a11e8b38377787e4df86ba9f4dcb792ab79c0fbd5741b0f4ccaa3d96f830a14121ebd58dbcd2c6e434d9a946a618a4b775df963401735f1ca12e655368d7a212338aa87a7d8cfe45af868661f7794a2706692b8f9d27f060b800b291b261d25ce33511d8a4d7cee55d2a0530d783ac795a5ddeef158fe9891c7f62e101904623c5521a3b50325bf04783afacc6a95244748b0f57b8d8a6daf0f98c62df208ea9540e52e347e3f33d38be9475d9fc89b6b56f6e6d3ace9da52a842512648d2153bdd5855b0de25ae5a435ce330c40b53c8fb8033a6a260ce534c2c44e237e15d4df645657ba145522d51ea1a280f16d059f816b566c8cb888d77229ba2c5c810eeb061a4d33033162625e605a68b7db64973aa66e7f263dce53ce184811f1c2eed3d30426975fc81175cca174660abbb6ef6576c38ad4f2b24412cdcdb2eb4553b9ed9d5102392333f371b79b593d8fb8929f86bb9ef30fc103b5d0df1f5d81cd7ff6da3db205807abf14b89cdd1415bdee9481a22c5a546f06fc08d33d9c9027594b56b7feae87337fcee15184bc46e91a59160aa02cecf28f77befee9e97ad8c1ed93d3c861a6f93b59669d6d7d823987afe97dbb1796c6765684b6dfa182235dc0be2d0dd405d4075501ed2a0d054c2c0a4b618e17e475781cbfb9f8df0813bbf2d1230678d92ecc0f90702ea94804fc7ecd5018fb1a25908a18bb08ad66ed43be82f5e9bc1975bbe39d56d0e5a69a588b8fd2e91fef78743f2c7f585a16df110d11a899cd72b49b46dee369c74ec6b6a6beb7fabc1770e630ab5b18a1277b3d334bbfb7c7f96b3f00493fd76709713132e9ff4b97f662adebf7a4e38f1e7002c7c06a72cb7efe00dfcf48bfbc2ab734074669f3f62d3c92129167bddf12e4c5cb14ea097f1fb14688a3bc62ad901f7467dc4899427aeec6f98ddca64e3e45feda1c46fd682a82e73374ddd7b01f761f276759bf047b24bddeed3e0205da5b42b217041d3d8dca42f2809f951b0824c3f951e16eae380467fca23afde67e390c0d1742dc6e69f9f8ed44a59e78f6dfbcfb38040d80130cab230b6c0ca0cb5028e80d9045051da546b2188cabaaca55c92c6004eef134eac769426848afa0943cf041e3368bf597f61ac2cb5185485105b5e04feadec8bd3d93c2c592edbffda0dc21fc46f9a9cb390a1814536138c148c2b874e560f9c00f8941115fd4c7af53a54f57a913c54333a0af15f5ffd29d3fffeea0d0a6e18f0099e88c55c1d421ee51a41be9c132d1f3c88498a23e5ca9ead126ee3d82148159f25c7825a9daa915eb1717d7d3554c8625c3df1fb70abbb4d424e84d3fc4bb4590a86b6fd59b6eae6937bc23424a96767032a61e371acb8f4e77a9590038ae25181375e3ac5532a63b6b2c3f9491963daf8ed34b8aa0786d210e1812fa21fd12afd12b7b231a3a1ba867e077455fe39c3957bdb764dd5fcd57ae3a47fbc6afaab8e574dd956274d1b04526b82586cbc2f2263194f0f00a36c87b58372ee4cf02ce0a1fb1f1238b7d91d78438c9dbd176e6e798ca403c9f42780e3732b85c867135224d18d4138dae679cfac79cba8be195df70eb31f130212b72cf4982b54214f4d382843922feeebcf87655f2825f3a25af5bed4110423dea527a1df49b2c908b926e90f00f68e0b7e816ccab169d1154a23df856b904228d44a6dd5c58dc4d6f53f37ea1b718a917ddad18064093baf15cb2737528e3dbfa0e3d70b114325917f85e5d6c3a59c6b37b8a324862eed10c77fd3664b09e1bab37b2de1e52943619af4e577b9dc5971b505740aa528d81175a8c0a9cfd5cfb2b9927ccd0e2fdffaf5e4601fd9cd0c943c828ffcdb1032f79030f16d3cce41d47ad3bac820a798b0f791b8e8f5dfb4a8a875e0ac8440ce4a27a0854f54e79b6e978034222afa1736554b90f34d2b3d432b142d7abc986b0a3a65ba645819bf4e7e49558af86e0f90aba3cb421ae7c68effd2e4060d11fd177368e78a39303be457b2cde7389245392f037aa5c19794f3c412f0bfd52e8212deafe82735d53f02bf75a0f748b87ab96749807069bb0d9d115eb6e5a073d245e751c747d73658db4841d6838a721ede60e743863a4907a4446d2bdf321eb69be2d4c6ce9f03450dd966be704ae38af79360414c47b387613d3d7858e8959c3059b7cff209f6e636947e9299eb6c13d4c04e8773367fd3f6bb592abafe82cf024e4e510fefa102831beebd7c227f999523a4adb1ef7eab84652868523004e58f48af8a410ee60415598727ff603159b66cfd8867de090b8e3ff9d7a9d5bf0806ac20738b0f471338c223278b8c238a27eaf09c3e33b7a5f46f72aa7ab7542a6a62351c7185b2f9a3eb4b7ee1cbcbaaf98c70fe6485864c3f4b3d6708d805a096cd029a2067830ef5f6006edca1ddfdd6c206f68fb0685666693ba1b2b1a6c296d65432948ac1f27e4847a77f5c5c34176c57c610dbbf715d74a0e803367c541f87c6a08cc2933333fa24022f1824c4f98de561780b65ec83b0ce724eafcd8777bcda49ae867b06c380623b184efdb6d3bb1e2847ecf8d5d3579115f6d8f88bd5de74f06fb09dae00c88d767b1340f9793526c4ea82bdc936f2d5b045ba20eaa33f0440c8aa5a953250373053d152364ee5d74d7f6eb9410cf810db4d67a51b29526ece0445e14ffbb2aaba00019b12a5c065e524a2df52c20a76a04e6ab34c6cede5abedb4cda417379ca409f3677317bf228e34a00faee3d9dcfda6715b44d08fcc677ee4a58b145ece5028ff47fd0faf0b40ea4d9bd7a5c086796117fecc9199fb8554dd1cf6dc61883395c22c5b0f7d7f735ad7a9a5e4677a51411a1d8db64f647fc40685a0c928745bba2b4c022ab50f60f9f0f33cdd82bac7f3cff91fd4d185ddf3f9cbc544f8ccff6ed727f9be5f5b9595a515b927d8c93e39b041cc89db5e22bd853ee3442e02d07929d7036286320e7b9b291d91972232a070a8842bdf850b0b122218f6cf72d0726af8a93cc9b5657eb9a70b41c65427c20515f50bb2e841fdf4c17255ec2e884c9a9900fcdcf25adbc65cff47c05c96f680c4f55f362c64cfee1b068861bfb83f5150474931a00fc8a68621dc81cbe51a3bea63efdc8b566cfc29ea7948fd1d32d39e8d16520b7946131f215fab1c0c5e7d1f4cd4e117fcecf8650283927e19e43c6f587cb048ed95f35ee28358df708e6d24200546e80093396e0364272d1086db8711e326a60df7b458db4ea80ef2ef9cbf6f399d785a8b5c7d3c032ad7ecfb0ef08dc60e37085565919c099fd954e1651d5ddb15f0cff2a3c2b666f90f1e689a29c2f4a466c2d885369ef0adc0f1780a0c1150c2079a7c40439b8879ed7c8e67eb673cb99cdc5fc0735571dcef1b10f397c5a3460272ffa2fad24688a5aa365199e1cd08477ad6609a86ed3ba7bc4e0dd8ee0b5a6598f0013d027f94da964853d330e5a94f12eeb3e1eaceeac59008930581e0d36da6d208470c3317cf24d9bc2e277307f0170318ce01c4f3a05a822fd87083d17193444e3f487d3c4396e346cd19d331bddc283f6c868136b186b9e95b264061660e70679ec9d101072d4acd46194eb193a231b59e4450e8651036096f70572a311dcf2f94fa077f82dd5e7a507543b763e1fb07980bcbf630b8905d67ed446b9bfbfe6da727931023c2528d26575b56810263f7328e58a214a935945d4796ea5b3c6aafdd11344e9695334b8bd7d056ade9d64b25936552046baadb2dd6731d8cdd85366dc7965156e64db378a259a5f6a42f68480138ed76f517470257947319c3b4c427dbc49c1dd02b953027ff625080fd11fba633c77c2b8c5bd8f25574164df5145ba100b80b0299223552ea24f3d0c09408394341056d40cace2158748ac7561d94e99379ef1b8ace56e8b5bea91c5e1fabeb7264bf3dfdc863d2caaf25dd0df9772aa207591ba7dc074b6e024d4afc47213f69b591bdacc1c31d2ce31a7736e6776783f373b0cd50dd1360313da13208cbf09dcc76db806de94870fb377a60a103b11ad0b2e2c622935bd1f25ab61fb381f725a09ae68bab24b43ddea468988f12fa74ae25f37a2ca9565e5ec73a83b0f8f785f9167b81f3d2a242b7dbe2a915fbe05fed3eb30968f07987f4b2fa6ec1776e3f379b2be6e9c8290f77ef41ddb5f40c7fc8560c0ae9ca4ba22d4c34d8493ffc13948351c79e3cfd7b8982d5080efa18f0bc6c19448673973a065d8cb0ae17b24c16b2fe521bbe6ce3f302dce10e89ecbac72cee5d9908c19e72a472744ee4fe0cc25db2e69ea3668d86e85f2ef8f50cb234cb8d630df0041e5e9daf8c04c5ec6a511299cf38f5c2a2b7d689c60eaf1c45bbc50472d8c4560b684f360e7de0bb53aca8d024bef9445ba138e5bf38edb7217df7b51688fca7731c4d0e21f0e01c44ba3c46c2ab323d14e4ef55b60416f055c14f7b3eb6a46782d7b797abb0699dcda3bd55b8a7f87238826db60e53674725144a1d1c77defea181ef74f4c3d31685def410086f9b204961424ac25c7980cec7745e963426a6db29148d0171a6ca7930d093b634a981d8d42ac939ad3b6756bdb656ea2b251ff96ac4bd4df20d0ac2e1c32fc0e8b494fa5f86f99c5606af73a47c6ddc3c07b11f41dae96764b4da0ca7fe718e5788edd358a609dae418d2f8530cd3b0678d300e05f47818d8dfed9d3d33fff9d8d892d4b78fbf9de7ed4857764656f5db677f36db6b90770264e28bb24abb35efe892ca2a10fe1c30babc0e7acc77e7798aaf0c5497c47cb086083435d05accfc09ead2a7e2a47c437983d552405971da67084e1541f8747c30225efdcf7db93603fd3654061dc06cec9a48ac0cd8bd70fb799002575c6c6a07fa6c576dba539a0ed377bfdea6beef1e39553c65f1afdffbe7da88cd4d788a6375179a9cd894cd71229ca333161df3263e500a30017989434a8502d9651cf58baaa5435192c2f46863c76bc9d4f3793f8d0efd7c1a3cd71009435031771fee1271a9adfcc3f29cdc75f64c8b4cdd4b144b622594ebfcaf209e7900e74dafa8f75c06a162de80cd84dc6bd324b63077891ad99b295b0cc68d51babd134eb97ece194fe512a2620f673e691cb2cba7a0171216f7eec0a0d10e5d20cf279a39301e87bb3c1857439729c85085cb934cca388f3a9b2b02e61b07593a6a444344f6e79428bc647f2d253794ce20ca5c0f760bb6d4ac51451b86beb26f27e78f5261e51e8b622a6b659f7c8324e15aa5aa3f509fde6b017f9a482ebc1300ea5e51f5e5b2ac854930bdd3ad8d352359a6147462818ebfe1de2afa741c8b46345710ca054fbb36eb694ac47518c7c5f7f9e534de5bb48b4b8bfea3353bb57c21899fd7fe790cb48005768d9cc30729df1828e5b0bdc4d5eb4877901afd47c8faf4272aa29cd1afb7857c45b155dc9e12aa28eb63e006033d8443d888664cff2bf056cc5b077b420fdb72f422a625f073eb1caf64ba8f07a8fdf21f4426052438faaad298d6e1e68a9406ab7a1e61853a8cf746f182b28e3d44109fd5989cf285adf5f3336b1a66c13de4e940401557ffc007d5211260660eb691b11d9aa21f5d4f05d5438d2093433803f0fd5f58caf8bb39a66fc585c6a5466d4d2ccab0663c4b9c54834068302433566c7b4b95db80c63403feae9ede6debf935d0cec546186b27f63b78fb3020fe8d4feba478a0fee1684910b31e4f4e1e27374d0a9d3b65547fcd9bdddff6750cc3631c2bae4ea9afa051fee74e06567aba391e9b26f147933a62fd05060874899f72f7290eeb95d81f2d1006201ff81a88a5c5acc19524dca568ceaafca920727a7c7bd62da2c2a3ed17af6bb6f27292448603a9f8b16bdf23f03e8f3f2b93877cd2eff810d9f1c6b7df236b9d7a013594bfb9daa2b985efad7fa3229ccb8a67a9841171148c95c85475be9b4fedd6f5bded921a138a7775dfcc7962a13cc4227f851520b717ba4b9b378c3ecb9a50afdfd6b1e4449f4a960e122e6cb90f595dab2fe8ce27bc3142e274fc2224ce83c4adea02be55f51568c6f1d7581d8ce4cd8d5500553ead6dc306f18dcbaa513cab17e23324e5f24e7f77b3f9995c666acb0018a438375929ba7e5c62aeb17bc7fd6ffb29bfb3c749f22bcfe99b067eef10c1be96277c67aecfb3b3b7932d8511ccfecaf09db7914e4d495af494a0ee82fdf73de02a830896bb8b43c00bc134ccc41c7d4a7a5035c511f571efa3e4d592f174de8085066d0b79e271ecdd20f75c19fe6c1dde9f81000ebc4e9352f07b6b67c3b6237e524cb248c3922be35557b19c665b8968cf12b7cf6314614c771e32e33ec4e7d8efac28bc6a60085d71761a73d326447af56bc8af2220bab4fca1b16757d807f8b57c6407724fa79d3cef3972588bb41019e60be35fe6892e9a3a17eabe01a125140d8c5ea5e04ee5a157f0ce58a29f49af8722e106a40976a110ce63998aa397121962af69aaef15a126a8e4b1b80b3ec37bbe78d74386cff5e03c6def15d42e24afe62b8a973c2468441d4946146817e83849ed8bca2c6a6b31036af2403029ea2110ecc6ab29c6ce4bc07ff693d2b849eeaef5b83696640667d513fc790ec42a8281e0a0af848d5584efaa62f9e26f8d8a01a5c377507c7387f6b0be5d41b3093e554928814e62957e28a6bcab74230a72b20a34cb8d62ae4f76099f59c24a2d30b9e3a63009f29798f2e7e6615bb8b113ce359ca8bde54a5846e7afbaaa113aa262d248f301bd129b0eeee0f02ddb349ddc158abd5023d639096fddd0ab4bb1ba173ab0f96a07f33145781dcdbcd0c768422aa97140515c1f53e628bab488a74e1c10ba7f9925c626fabe1671bbdc05d56b448138044d1aa5b6a4b06338b5c89bb118f288a94e0d24ad04726e1cf476b3a8d486490d66d0048d3762a27fd8b3b67b5494fb9d93605a00f5dea0a6544e9e5ef131d40f295f6fc5b582571665a81082bdcc800fa2a32635a348de68878777a0c85552dd8537e355f403db1e16582bbe770e3226541367c7f16cf5032a217ccef13c9cdfc0114de64bb98a30d18cdd96095a76d67a243ee8a78e83f3fcb66f0d5b882fd03d4dc681dda680a9e86b7de91655273cbf5e61454fe4619885f39901224322ae465b3276b95cd57e3115b0c067e78ae38003853deb4e6c8f6c3ef3c3b85d0d9ad4cad798897f6a491af1f5fd1d0f2a04e9ef1487a04586ba53129c8956769581e1cc1da4dbccc9665914604b823388b55970a3a56e2d62f9dbf05f5f25c525ffe454c7a93c11b6cf31c5e221d4e99e18a43f6b69e4a12fb24d46374f29b6aee43ed78301285b58a382deda0d285448111940b78bbac325015ddd9bfafa838c85f6f1ca7087cd2c91606ca796b56823caeb0753c62ffced06c3927307ec2e559f978cca4dbe797078416aea323e676ea5f196d4ea9da98a53129d50d870b18dbe43c765e3c64a2113c11f5b1acc08c5bed01984d7d3db8381914594b69fb19dbb0100790feb5c03d05fabed0cce15a6d4f5c0ff7a5cc9d94948c07c0af89b5d19b3d013d71f85fc042065a7fa421366db414ccc0196570d1bbed7e25a6e3d56c56ed8d2660d6042d8d90fef19b13bd6200d73793fe8c28bb6295efdf874f42c70d4c05ce4c613643f023eb2af49b13f91285c451674e00e421a81a57235de3e35277ab96a0db856bcc785808910f9fe5ceadff718e26c57b4b22d2c64e0b7a356a0799b5c3a5e8a9f52865a435a9353b88fb9261890202c7aa4752e24945cd8a8a3b7f38bc2a2bb4e810501b0b073993a3fa39b4a563ac15282ba1409349f5275a1f15a943b3322ddb4467ba5d79c77b44e5152f3ada19ed5a69300cc3d2cc6a84c48e997f790c7c0f9ee3aeefecbc7cff6161c0c06413f19aa65a9ea2b6227f552bd42126d594c536f0753e1da74cdec796cd0f3938f539b09f9a0fcdd079712b40777862cdf83fd5f833e88d9bc82018ab3973b0b7c8822c7b75b152535534e8a22f750b79c1dcdb489bccba287425f50044d0d339772e300f1547673552af136f146b8e492d3c1a7bbee0e42e5c29a3413f4705c401cae143894143371dcbc133cbe02d37a7ce9dbf5237c83d10f2660ce379ac1c492941432a0611930fb01ea3b93d52cc181944bf293f1133eb076740623dd59e592073e9ffc1d3a5dbb41c07342842d730056fbcbb7678d3125875160568ecee93ad83942dea7f78647cdea8638758c0c3e99176112d3c936c9b1792d0f510a321740d4fbeb9facb423e894267ec5039b38f7aed19151a1b74bc2df844b413eb43a86d255e91b7eec5a082c383437f8942dccdcda1fb9b1e20f9dd81235fb9bac8a87302745ab4ba05e948ebf5ae853fea04fff35d22ddb355ba0ad3fdb93358d5d8b56ff1c0c1ee52807becd4970b3dc459010f38432551975be53e3ce63d543b70fc93087986d0d93709e66a44ac68a08906ef47eaf1c707e6f99a80966407df3ab224483a9b43376129d237f0718ed096fb64c25f4e7a1721b71db0f2f4dc92ca4be7e9d4339ce58abd4f410480ebd1091e33fb2f57c1c9ef9207ed5abe8caaf0ac4c4789e9bd0b4b94435e35612e72fe95956a053a28e5990737562276f0764d7975e1f901bc9f2e31b3fe33b035d10927c443f0faa2f374c1ba6386bebe0fd7901fed6c67ff94f64bb040fc8cf40efecb842496c102c076f590b63630aeeb7ec53de068b56f5ddf59b7ddade016d7837ff8709bc3eb7e69f0d740a695077080085671d59195ab0ff66e3b86ef369f0c4f77d3af1839241074a445168ad0af94b4f5e93611cc487cb52f32b82f4b7467e498a560e2fe63af3630b3aba4e49c6b63fb964012dc0522bf48a6ee165d3579bd3bd20d66599a76dbca229b357cf27b2e501d776c778c6be59702ba561a5356b0c93518ccc870fbad1fd126bf8149d337719e2668cacec4a7f630d81c4dfb0199d89a1bfb62e04836a120f07ef883e4062c77c4b12afba164d42cb6aa295ef4e7009f9bcea47d56d48d989f35e36167768fa664b7a1c653f60b8640ac60b8cc40dc9d34b476457c1c8f7ec2fc2b27ef6c6215a4275e891168afff912b21924e0bd2da88ee8f1688369e4e8f0932d959f81e78ddd392a7f357fb46c93cb53daa3475938a570bf0d8ef4e797699cb898180b1789f6b9d5bf053d1311d5dad4bc839a446a315c56277f4098d442ea993d85ada076bfac798859f40b7d14893b19fbc22e126151ec73dafc465a593d9173586440d59d3d7f376c0fd00070e15130b658d68a0a162ecbba06060e88a51f79d879354cf63d58c1e6908cd4a2c76b2656609cf42b550bc47806360a7b030e3e6f61a5f18b4f0bdf41f2c71c418e3a2bc01a5ce8ad1d03e6c44a1db84c66636d10ddb1046b1c6d76d22bb36f9248417d6e0d85a4351d0f40ad52accc1217f00d97b1dfc0a2586c46a349b64fd9e8e06c203b6d4bb929fb2506575b8b479236081b2cd57362460e41cf848e8dfe2d0c484c5dd81bcefc42424f05f4c6258d9cacd02b4db9e8fe9ad048802d5c774e39ffb5f0fdef508ffa2542a122c5b93060a9811554018f3812978eaefb83d1d650c70adebe85dae4e0703bb44e952392768dbfa4b44dd52ed23772ca944a3c400a561bf5f7eb51128e512645a8c8505cd3a90ec9a7d09c3dd017ada3a5e83f1f54f175281e5471fd294be52a0b15646e51ae45adb415e42088486838cb237dc619628e493aff4c38edb3e2d5e5fb7f59e8ceeface5ca714a8cfb27a2af9990c0ba7b23170ee056457f5ece53dbd48c5b6122ef2ecfde64e1ddd0747d1ee92269e02a4773a089e053da675c3b6a475976bfe15c5d99117e956b936f7e6df68bb9815a1892945c8dfa43688e9c96859f98e8cddedd5f78e00578486c924908398175089fefa0dd53fe413ad04a9c376d8fa8794291393bcd49d63ec382c7bd634721103f4ead71e4d642cb945d7339c5ada84e9139326288b2d5138562df20e6eb3488c344f9735b51c01dc7f328b3c87a473f5b12cd05e19fcabbe53ba3d1a89f388dff841d6bd4cfaa44617db464dd177fad4bdd9a746870ce67f4dc02e792b6c92a7fc626036e4a51e0bc61bd490fee057adb56467e429f686a403b5d7941c8581d4a32e06b8249a08db1708449a4b2811a769c24a09650cf9ae4e6093c41e7cd4fc4ef4b9ea6e01f18618331fa0680a452df80d6311b3748be66ae0d7f70ef1dca505a491b72467aa7462752da344aa260111e5b9bf8f42a9cf1b7eafc8d37609a5b89b141a3297d8a89c631cbb7c929f982ef32966a534e9fe07c944bf4390a2c876a0f328096a358d64f6fe4fa655ca935a4db0279563f735881949e7955749725031b8a11a584a88b8abb59f0cf8b81188e6262bc7ba487e167b600d1b8dc77f93644e02158abc9219674e770c2f476b023aed43a747bb84ff801c759275e47f0606ef42055a7f3f7ba225e8a5452bc5da1d2227563637fd29095f29a500acc12694bcdf7f37da04c5dc4d78ae591518e8e957fe68c8d7b2aa723c8a064d51d1400eb0b0250702ae2cc79e87e04f3f69c51ed6e674ca33bd73f7053436df5c4836f849e864ff160e7d850aad820fcefbc26b01181bdccd396da08a38010b43090c794ff14e7299b1f303df058a24560cd164000425fbfe97dd74bc57b5c27f6a360cf620a1f6e0e798929130455a6df0dbbec06a5b6e76f4a0286df3a805cb9a8df9ce8f4a34955f3f1f744e8c0a9d2eefd59040bcb4b127b2b740c65a136110305f2ad5b7d7bb01833fc020d4d1672eb9de71a6afb1435e5607944eba3c5ede9508e19f15c6a6c195fb904a9dfc996792de6a11ac08c51aa1e9bb6b791d04fca3d673b68c49d5a7b261e7a0b79395c9872c8feaf3546f2fd506094e37762b5e300d11fe917049a3a5c8478fd71a04ded2fc4ae1f2e07a7ab47069fcd30018c90943d27ba3cc000f6658377c59b9053b03a9f5503315a7c5520cd33461a3a15fd9e585c48f368334612e7e22338bedf48b49d3f73b2ff1ac650a3c00cae779e2ada82a10ee3fb202273bd91d62c1f254aa61fdada831fb7e81f79d742b4fe9e79c3052d2ffb4ebc4d5ad9a40cf72902fd2e7641420bca43ec709a7895661633491260f6d1d752c360b2a4fe6983ef6103b6713f98091df67deb451fd4308bf5316e99c0ef831c78de7e225620c5f2d79aadc0c2c43388d66e801cefe42a1246902b674a4b801d5ecb10a55b1a389278dfcbbf9373f6e79ec08efa934f7490ca5da95198ddf4107a86b87f803258c6c779157c03a707024802b9887b32680089d222c2aeb2f9efe051c1e8b0686b1fbace079739b57cadd1bd3346df1af2e913e316efb1a97fb3d195e34069e6b417522a41da5eae617c1b69aa05b0a8ea1d89385dd7750b29d142fa0d9c11daa651588479baca2e39ec0bbf44227b9bb800dcaa09eb75b18a40ab71014c13ef8dc09560bb358dfb3b5eb80bde569cc84bf94a1b573a919dcc782dc65f447cdeb6efd3b9bff56776e1750bafd8d0b9216fe44a067eb1c3369d35f90f6e5d0ab1edefcb6c282f62d83e39eb83cb7144517bf43b66cc2cc84b2bc484ad2a82ea77b82047f0d0b6931fdf0a21ccb8a342753f7703f463916da437f48980bae27cd9052ca4b1b8d030a721a61abf54e23a0851437aa1532cbb44268bfa73eb17b49b57a7ddec92d6ab5b5d178c94f7fe2a373d2060bae09cbad1a859366527ef35169d993873af0771cf7f8a6996800707cbba913edaa2554ca949cc13c8895f001926d94e0c7507a8499fa693f73b8d89c6bdcf05983a1d68d0cc827fcb825fbea0f90ec6e17302c6886f3de5e6a66be79413ab7d0818fa350741ccc0e5f1b4c72d88fb35363239f8016fc11e521911222e0e4a32585510873c1709bfcff49aff3ab614ea4ee1012ac6f6b964a8725aab5d9b18edf25b63907e1c4be414c855a4eaa0c01842a2fecb951aae17a7e7a00871eb2977ab9af0ad38f4233042c4b5e86e04948ff81fa86ac7afb49d1d83aa3157f6c073ed90c9a671bc168bab47a00caeb44e8d0b86815b997469436b7b940b3a81f731d17bee5d79f59d7bdc58da84a7dec6716387631ed9b2116dd3c280a06196cdce5789f340fc735a4865ca6eafe0f4acb1e889cf4a501edb61f68b93d67ff9412407751bc004a0db0cf17ecacee067f3616e6b83a83ff9f48878dcd5b0f011d33d567b71945f1ffac0bf7e68f87657d8f0dc7082f540c62116fb896605adc7da062a58249c35160a93e29a58ba0df7e80995b8413b274e11ecbaede0de9cbaf37a002a0541aff3e4adb315aaa615a766037778b0f56b74fdd91640676dacace0e38d80417bc9f9cd92b78282f49a84447a744697fd8533164931d1a6e89c0c0cbf896e68171dc6e1fe5f7a9df611c4672f9e340feefad567da7a5aa983a8be3391fa290ce0cc3f38568824dbb84817cf715a9d1e2625c7e4989d8a4b4ce378b57c6f508d26aa870516f7ee63267ffdd58dbe18cb3c60a827a5babf64d5560c01c8a3d9489c52576d0900e5c6e0df4cbca52a0e4138c72f1c247a70c300fca3b18ee15096672b885494711c83d0d7f9ffd41ff9f705c50daa8d211059c510eaa010106371b95cf984b008f158825c360ff8efc48dd66e566d2595ec303608c0693cf9f27d455c2c56178b5d9973cbf6ccb9654b6d5ba08ee732d0d7f115f8a4f50ef56ffb02f2e4d5a12c5446d5e2490e495f5a54b71aef6f1ddc8772dbdc4b7ab1917fe3e152f0a5ec48f574780361ceea18ccbcbcd7a2aab6e63c581cc2c3f780a426796cb5f47bcb05434dd21aa461e82090791b5231befd3b2512122e78332e3a3bb651fd0580d56fa452185d2507e2b3f61b36db4b474c102fdd6d2f0f3db44f3a30cc955b01fdd772c814b40a252a96f2aac994db9e94314098e4d496d18fa33f16e74df250dc2cce079231252601d8c8414d601c4f5e677f2d89d48fac80e02c7656a433a6354ceaa982d8c4f611ff6793e943f1d101ea6972e164cc3e45d043f8e0dbaf5820d06c7209a0340217e2cbaaa2a4d89e98774fbe85eb2f155d99db804121a4e3a9d338a5757aa41941045c7f6ccc89f12f4dbffecaaddc0527f11f0ef71ee90e83c3f1764a044048d158b89cc0111e4a85691e83bbd1caa576b02be8924471604c9789d1e2f5ad9b1bc697aa44fb56de5811be5406ff073d0e3a9722beb2cb947f7c1fcc7e9d6c30e23c09846eeb0a21f6a0e8aab9b001d4da6a65e88ec532fa9c5858a3f6e9189c98a705627fc013ca72f22d2d08356e0407917155c0673715f252169068654c1a22d4341278126d6fd910d4a224206645d7d927aa1c72393c796961dd6c5384180b609d1ab130c9a46e099b0c3dcb9c72dd8cfdf28dac37eedbf3a30326e46df06189959c796277c492fb3dfb48b496c0b3b2a4601711957741a7e930c5c9de2820a33fd7320b59706d6b77106eb666c80995b90313d8e4fb8ab7bba9ddc583b711f18007afaa792a7c9e7a254d227604124c14230c9604256757dfd474ca3d6c92eb8edf3f62bf52e04c148d555b2c69e801b0ecb13cc9c765c0bed14461fc539908aec35dedc7a348d2ecf45c57fc869088cdc4b1bb4f8b79095fac1e06c7567b15cd66209b908903c67a793ae98570adc8a80a4fac6e3cec17be4fe3461cbd35f2c0c8a5e573b78079101b5a7caccffad47e67399d9b4ace263ad9bcb41ec9868ebf11b143869f3b1ac23918606802f311983c819a02fdc7289ffc225e39b8b44368a0b4d97e8f30249451003952cbf5fdcf2de8e14ea2cb0721c2b3d25d0e47456f2553951196df642cc1695c63e68ee7ab1029f8f86dee7c4d4ef78934e4736a02e3721eda38eccf393acdb6ac3e657c899432626787118f96e45f26554924c8e55314e781e7257da4e6a2f0ff6c216b1cd61fb54a7d3d261032ab9976e161f92a391cfb026b97981347b6a12de442359c68c83d0447a9bc285b9c8cae9372fee180dff341b88a431615eb8c425f5e74a8674b47d2ac476cd79f04351a8b50a7aac5a2f5b678bf0b46604ba622e5054a65c5c24bb98c84039486cb9b4437b1e0037fd988c6dba9bc203f5631a7c2febdb64b8a7ff43e2bd3950f7d700fd1aaeaf569867f83d3e01baf05ce7d3c84876b4b6b0d1dc70d96fad115c560737ebdd33f94f26e4f47817fc0b87d36117294748fdf1151ce2e90dbfe6e939e453641e44ee1b67a978bbfd740c7beafab17e6d52f822fe7e44a1609ed7f1773f33e8d4ddb51f040847d908a77fb814e126106d737f0a765dcad2bd465b0a588e89b2f3b19a2bcf4df5dffeed3350b20a8fc4bd3eee5eb55500f34f036eebf475d675cc976f574f30eec70478ac5bf86c3a67d632c7d5954a4be4d8fc1699b4aadb7c28392e4b741054e71313862fe7a32d095d88284c3b65a7c9df84e63cd14bc15cc274c54dcc154a31c4dc9c622851d5f3fd0046caa1844d207bca03d3d82c20dd59b2f4f852b12011a88951940afda134c234a83d40c715fe10b3c661bc46de020333608586d211eb0c3b4dc296bf695fc08b9eefc8af6354e3804378d821ba8cbb83b3fc94d0628b6d46ab870cbccd0bc35344f15cddb268241ea0d71d8ef08d8dcab2ce4f9d2181bb3c6ea9f3f0e1fd41885892f18a631a24e7588d04c11bf4ac0be001f4b5b795b895c3f9d7f28b1f5326bdea1f16d6463cc40209a195afb2b5fb3696d048c5d7ec44b9b1e6ae9ae25b225155bec20796478184c6e468128964b7b1534900fdd5d77ebe97507f6ad375f6ecf52e94606fb08e5c5368cbfbc92512732444bd2e3c0161492c686c9059bb018aabd50f3cd81b6bc678ff16aaf7dd78b165e6324ae4335843c533d3114c2bf2a3b91cac1977cd1f013412ae03426bb6c48a55683cca1dbe7443233e8e8417c0f639250f5b6f87781cd805ca2ec88e3f43ef25df857b96699ef37ada645634e832d3aa9ae1411043b81182262fe5d1e2d5e7653d554e420e46a9ef33ed0d5e78cfff6f0ddbef1efe02b6f9029b6cd59785b884619d4e9e7673210995f1240e76e209817fc5ca2a36d829d46853c09d0826aaddf4342dd076e4e99ecfac2496b5955611a20a7578f1186faf5f34f72928b7753a7c6f852f04b8ed8ffbf294a52e5f76e8523b8726649023825d2de08587fedbd9ce000bee89938dc0b96abb730eff01a174325aee75145f210898b2c42cb4b75516d80d2aabadf5329dd4f2868a91bdbc33d0257ba81d66fa5ffcae48a7333623cd15f30f4159abb390c9707591d5838a88557edfe693262bb995f323d4fdd35b589fae58b925f0aa4e4fc4853334f7cbfa4fae7a48446cd7e2561ecafbf09c1c548e9d9105a9e381fca3dcf1714e2ff891cbb190126dc8794dd1c33d4390245a4cc03f73efe45c5e0b63b1f3e29437f237d396195ce7493907aed3c8047e7f29c9f0e7b2b2a646169279d70f38592c57bfd5f078487d252327e0a7ab014cb1f70f273d261df85929548317c6e755eb1f4eb7871ac0d31bba16960e9b690de015b8e0467b8ec72f601a66b558061bf715325ed16cf2aab599affffcb78564c0ac3be01168179b2aa0560936872c24fd7969e8a5a6eb9da90e4bf5e983de4666185f33eb7eb58fd9479499a595cb6ab5e1776f519592d7336589c2bcbe2edc481ee67853a6549e7fc417731fac163eefe138f9e3ae5e6026a9aab4b715fd75393d7dac7471360a0783b789cf113ae36b1c5413f7b2e0901af1891482f4dedb42bac546d970fccc5946297e9f7840f27b72e880343e48a1b9bb37c9fed3dcc454f13e7a13727c6d63b1e37ef2dec72a572cd568e8805382a0d1ed471f424c1eaeec8e470cd25965eea4e5685ac96ee959673887fe9ec6b83959aa17da5366db65825f68fbbaba4d850630e5dc93739052695fd21704cb44620aa6f5a3d3e721bd0f7ace84c7ec65c114bcaefc055e2e7c22d5e7a59cd6e5b8b02417cb450b8c62b39cfd512afc175f7cd6e5e8d07ac5ee6f806afea28969b7e574d7f37ec4eeb16bff39bb7b1db886fdf245524dbcdcd778b6442fb64b998ff916a4d9c7a63cc46b177850661b6fc35de93fcdf6b48de0b8195bfdb095ca00b659a7fac94be1c8f01f50ac37a233dc0762b8fbef1c002cf68b2374cd7db7c095345359839a0e583d8ceb729756f911d507f2699357c54a40a65e4a10e1c0ec69252c9d79a16b0759595756cdde03d231670eddb70385c536af2437b78ea91373ed7237ffad9d4c2806e8004f4fbdba89d7a9ec1d404add7b5c2a40ce647c9e071e6c6c00414b81a2d72ae5b3c3d75f03e8a9544a4ce1f2578a679bda1e7399665f1d9c559e0404c140898b629aec4cba1dfb0ccced465b8acef461b90e21756e4b1df8cb86815f5d080249deb147a12b9f0dd6163f0dd362af7cab83476d77adaa2020a12d00bf7724343beb718e61aef9f8bad49ff2553dee59375572ec54fd4ccd5ec59dbc17f77ee1d2c139ff9a16bf2ced0ef3a80f68fcb042b142c63563405f83b0aef7500294026b99d87f3fa0dd6007c23a13b076f4a4c39472f06c1148ca3fd6a7a7da01d07eb5662c0b47a518156696e4bb99d7e8d3e84a8f7fc04ee309ecc905476dda9b42051078c0ee869576ead55b3a61699a5c987c01b60a283b9e0290e62268b671d433e0d742c2cb0d2156feadfc5ce4f88b637977e2acaf2de47aaaf2ba825d4001299e1db2b897b273392861d407f9bf85c1ac5e52a8eace4e3f6669ca125b1e6b0cc4bf6c14a34aabd41d6ad856416945d13aacd8144b22cecfa106fd3e319d9e2a8554e7eb1635b4b8724f1f817f32731d38b77862c6eb5a571c62c72dc5ed387c78c91a17d5105820efbed83dbec0214f7a715a76621b4ea46dde359c029b90e34862e577be943435d9e0cc3f1a0f74b6eb1326185130a465fd08f6313078235d56c72830091627827988017161c21f7f8b6805265f88d528bd93735754f9fcadc7da3c5a8aa86e12670dbf072ce5a6c38f0b797cdb353e19200d791b283dd3e80bf2d590fb6fd64deb29c4a46f3301766021291038c2db9b20c11a1d52a71e1865a4f0df3a1f2120061ec556b70e42865353bafbf24bebcc019a8eec73ed82418d6e0660af0cc86ac34cc74c63ff3a1933a777782e56b61b20333294b64e35a636504ff9094d7cf472be5254346fd360fc5f84a85262c1d70b0ffbe172a71fcb9edde7dc417e4cf65224bd197c81ab0c6e82c0b2fed586dde375f0f53e9f83e6846865f3b1f502f2ac9719280fd1961afa19a9034632fffbc327a66af5533ba62f39128016befda8b676b1543b0d1d3443aec6337f498c865c4650f461a9ac5ed25e63f2409b0b866fb6072dce496f01f00049344a3ecdf6c7cf1f84d463cbb9cbf745df604a5514d61126126f56187b7727f091e716e631c4a9d50d8a76399dc29f9042fd9393cefb5b1c28d954d5f669726a8ca73ebdbd62b30934b201d6a93f55afa1fcce68c92cd75b237b2208b5bda15dc5ffb9414caf3fe820e923ebb4319ecc6c12102ce805940311231496ae64a82058e9710c805efaef33d296b8994ee3307cc55b776b32f69531f0d7c1b5816c59d7510d81036d238bffdf09bcae13276db151b9b5fad63c0109b390a2e3252f5180a6669937de657802fcae23461eb8072d8b582d4f5cc573626c6886e70ac71ae8b097edc6d20feac0eb4dbe51f420c8e424557403a1fc10dfa426fe95248ac5a2db4649734449e17ae0ad961ddab6150f3f2b4bd455e657b5581b636bc1a97138cb95618cf5ad0bd31cce4b6ae1458eb5dcada48f3e0a5ef17729be4b08152646c32e95d73c7d59adcd50fb1166cd558299fe5022985d79343b7297a7dc158a9edefe9a43941e8147b58bcf054e39dcedfb9f8252862899faaa1a763b65a79a485b6dcbdeca39cde781dd8c18d90a452f49ae74fe38c822e9196558237193bde309eed78aef7cdf2da9f6a467febfe73987faeff62febb1dbb2c1c6c13b972c91a73c05fee5414dd1cd26ac44d57f60a42d8f9000b20eacbabd1a6ecef5eee0a312a4fb7b1d3f7473722f12fd4ed0e519f0393d4eed4b4d330e9de586f0e9640dd0954a95d82d8bc72cb6028a122f8dfaa6ae2f15228a2799ab2f54aeb0efd88e02577924aa450dda0ce42d78a91994a40fb760e314592ce0d1248c8b2feb98659fb521472197ba476a4afc87bfc40ba5e17e0e133f3160bb79c192f108e7d91cc90e63ba8fa766708b5aa9944828dc4731797e286192c7ec4656b23780731eb162aa17863e37a96b604aec24221779f2e36fa894414cb5e0bd3ece11569c91e1e0a3e09847b997271d39638b1f35b04c8d56df4d6b141e019ef3edabd0c4fa8d311bc20705ee6b6b9419c364e8f2a70cdd7006a08ec5f27f2d69f60cd5bb7179820f2b5e7b70242fddc4ca8a0b89d761894ffa0ae9be139be3c1d617f3637106a20ed86fda90ee603e65aac1e1142de6da6196cb693526fdd4ea5adbe31349a0ae90d53fbbe73fe0a3e7a25527a03725d84367b38715a8f845991befcbd98679120f87d7701a86d42bc1ef28b678e262368c259c64469c22354863023f80bf977a3c00fad53150f3a995fcbf518819fef751f1095cb263d10f0744a09e98bf5b7c8bfa3e3539096d9d1fd23900d4b071aba13e70ce658d799ac211c11b835b8bb5c3b391ecd31ef885f1e4bb1676d50f6b98c4a09cfdcd01db882a0e9f6d37962dcf5a8093b50cd6c743165b344711d81f6fe31249b03d009240e8e595a984658cdb1cfd14774473f2cb16d7af6cb8541f7362c62149b5c24d6ec8619f79e08483220eec6aa9739c0e33396d03609f07d3e84ef27b734ae955764e0e96ae5e6a8e93289f007cfac7386d5f53ca1e07378afa9d75488f7c87c851ac5b6a5ec9c4dc205df694fd794ef2007e070cd009feed223d1dccde195627842cda93bf219115b65ea3e448b62d66a9c35d8217227d556b99c5ebc30dc01b55dc4b8823c77ccacecb1018da255a27fdcbfa6f5957c90b4e6df4e50a9a51c6928414175ba04caf44bece1db20604aec169419bc890b845eaaac842ed5c50553144c6a0918ffe0349fcb46093474f983df5717e0b6fc58b6ff3c5ab42dd640252a76157ea4ed602e8de0f910ff130e6ec93cc0a3f03b597adf38eb249cc713e7ad58806f4c309763e3965a8def12f29e3a28c87e2014461f62c19c51c810c6eeae9cacf69cce74171331489242bcd675248f9d5585203b6a39cd436c4428cd8aa7a7d82202d20124574a47bee3af7f1050e60871cf7af447f0a33c7f839fac1cc603051530bfe2c68672a5dc2d26ea76247acb228ac32e758d86ca5fd53a87fb2e918c787cdef695f1a6bf8170a50e0eb317b6df79240681eb1cfb94e19c267098b633dca726231f7f8929655349c386476656a2018ab7639a7b094ea41d4ea05ce62ee00e65f8fdb5d8360b95d007e85b1b6ea32e2162a9184a5e6ecf930df90bf90326f33e35cb78f9044e05155868e06db213f59aef9f349d2514271109d0dfb7ae263ce36696ea3bd9ee878f4d69de2a593f1da8c70c227698612f1b9dbd6c12904005785b0b941a2cf680c1f55f98668cba07efe2e9f07c43391b703f3ede9ec6efbb6765f5a124e7c2f1111eba0e7c6ec15e50307f3ae4ab18f8a1f25f73117caa7c611c54c633b4b63928d0629683716a1330e7ea349454cd8ac616600868e73bd15fa205da6cdde9ee6a1bdf90012fda145960057ea690dbcabdcb9dfa65c1fb08767e7ce2a369eedc6d6079390f55d92f2b4f516bac23d8c58ba15eb57c92e639ffb0285d3af126dcdf1f46b986134d9168d3300a029b80baceb07c3cf358e6837827e8ded51f4abe8237a48ea987c7133e502fc15fe0c2765a4485ae309e46e8f870e145bcd0431c4ef430a7d526b3bef6b98a400445e7ce4f86b3717824e7a8fd02b04a75381f1da834ab645a4232624cf304b31611c4d31639089e90f635b9c370369f8b7e4f126cc04eee7aa4a00b85313be9f4b4d27eb48f5ccefd6d94213fa9a071506bd18a33a58f24c222cc47de6c54ca9a4c40354b174ea1bc4ad8bb08eb18ffa55965cb7446ed52a4265f691dbfa6a12254eaa153aa3aeb4daed7e0c3aed480e06a7219a4d34d1365160b7e8453e5ca1cada92fdb5711a836a5aacc90586554c3718d53f2a14d9d7d6ec778cb95e32670665e1d0c0ed846ee61d0cd1ca03de09770397449dcea9bbf716f23e0939947ad87709a0bdaf3da726faef2a80235617a5342e7080daee47710527399dc27399b1aa2f07e7b8d53b41db1451f68398aef6f91142a8a9da9e47d03142f731f0f651fad4fb28a04e89692678133b752f563d62fb9901bebe485c5f8a3aa0cb203d0e8cb03ed2c5ff40aa3646cb796633add1a640205e55a4014c9619d4a7473caaa76c7fd2f26bcd46ac2ccab680bc7ef60c246098f8a2e956cee41539dc82b8396672ce8029001675bc769f39cdb7ac90cf4443c84d94af06b10c35433822025a2a97e2ae25bfe2ae0b511ee6835cd5e722208938507260adcb3e353806c67f7c9086cc829949e4778592b653021cb85b547ce286273b1f801004536c6e142ec059261809a91e7276699c3a4d21aed20a6fc2b6b8a3399cd7fa82e019666a573e9b492169cd3d41d8cd98f00b204e9800998ecf8427eb8b087b2b06074e2985c768e8bdca35797ef86e0d7eab1188fc59872e741fe15002882e4e8c4ac61d9737da3b442b56a7349ce4d06c82e13df761fa7d0dde7fc171204fd074c18ad0be090b008e34708628170c605a4ba3b3c2bae97ab5927193a09b542a66f7d558fa2e84b9088311f30ef9c7c2fb6de9a11b101d578d89687dfcff94c231969dd3a6dd5383e7850a0b46e228e42452031668e47218ebcb5d2bc5d1612e4f4a6f85427ecf28cc7a66084b5a9ec6b8b236a95db3437877407f42265fa4a2726bff5a31d39db89247cef9c06564cfde97724673e58e06ef1c91c86c8c555a151b186db23959d1a4b503239202e70470be1d863a524c21be6d00cf267dbbc34ad47e02f1fc8ebe6b74e3adcd77f2cf67cd100836bd291df68ac041cf48cb586ddf906b355d19e4086423201d559568572de6237689f56559f7209a6100098e98b93fbc52afcfc260675de14de9d2775c52e2435bdba4c1145f0caa0da253a9054ccaf71e08b9df8e5ed95e4ca48d005262985a984de01db7491150afb2bebb66d34ff227b3c2acdd372f0e0751825a6974ab4567e3ebc18cb6ea68d21d4263b48bbfcad2937cbd2cd89b2b38166fe6fb5b7c962e219079043a076bc957586a6179d5a61526fa2205c4b319bacde4cc68e25a74708a50d7538eb70b7f2c1bd804c39dd6f9b693ece627b824b46cd1e2aa554dad70fd9676d2e6ad7c575f3407e38320ac9a2823f759202ce10a715100b804f8279198c9eb36dc73a2b860e5a14b7caf084e4300a300a6f0eb68f3b9325d54a06cb52c487fb666f7d3e5f700a69b700020055d8ba2899d769875caa55e878310c387eab89ae7bba30f040cec9298e25a50badff3a5e30a45bd1bae802c06b437e568cda0c70f40f47a93109ebc49d8118affda77d57ede1553933a0bba8fb52065317d551d8330f41586713b0c8cd13f3d7bc1727188431d144841e215ce7b0a570943885bbf6da056db27159d67a81169daa85beece4aac02421a825e9ea0c846c4239b8d1e7c61ad3979be2c387d999515cdce59070747e7fea278c77dabb31ae6d0d1ff9bc1227be6e1802b2aabad2dbe05588cd06387eae76a0d493652680dbe82b305017db8bc41c70d0a390e67fe978160ed83b68f4d9885a170b8026a4dbfbcac7042604df807f10b86342e0a8d3cee4660254537abf36fe5132c4d2b3bbb27414dc37f25270d8d56d70140b14fbd03af934a60f303b947d62946715f9334b14ec258be1a9811c1d83770adf4edfdb04bfbd78bc185a84f282ee65e48707bc0f4fb20f3a54c1119da5187e75100411f3a4884c0af2d0155bf4db3b1d9450a5fe19a6ce97ecccab69ae6ff0610f2156974c6ed87d5d629fdde9d646548b503825a67a7b436ad5871ef2a6bbd0322022f0f07244ec4fd5871ef2a6bbd0322022f0f07244ec4f99bc1e500e3a7c70fe1e341c7f6dc11cbe59055c81e9c00d83bd5a9137c18bd5be59055c81e9c00d83bd5a9137c18bd50c50cf197c91bee30e6453ca3fd3aafad41d8cd98f00b204e9800998ecf8427e7e81fbf7ff77852edf04aa9af62c25057e81fbf7ff77852edf04aa9af62c2505be9de2942de0a7efdb6ef017ed9ee2c6be9de2942de0a7efdb6ef017ed9ee2c698031e6e247a54a8e368a7581429f249cf19c342fd52ad3a15a15231fcff6de66aade63c500bdb95d1bab68c421e9f6b075ee531593cd2520efd768ec0afbe64c70fe2355c5b9532ed2e3c5aa81cbd01fbf9bb3ad8ab1e0852490de527a3c58e5be573fa6b523bae2a09524817eb1934a2a4f76dfb4a56016b429f8dee1f7376084e1408f3337f6b17635403ea9f250d0b0a84f82c798e6cce384b575687f1194a98ebbab06633b114ef8001a33078d3045ced4f694bd6c860c11a86f72c783cc20fdd8196a8c2101125f75dbd160aa56a67a53d0a857e09515d1b1ae867110a9339feacb120e3fabfefb1c321e5ef887fe8482e843fa5261d5315e4a88f792418c087cafc6fc643387c4103d4e657f4e4f53d3c7539c3c60803562efabf07a0643fe2a01cdb80f9d04944d0633a3377e586a523a7481345140cde3bf8031763f476db7e099821fa09fae0a50fafb4dec2fe28ec8705ebc00d917f4c4bb8df61d1534a99ef2c20b33029ebd559da241689976a82aa854ef2b2b9fc3fb7e5ade741016141bf664d349437c25220c2fc949376b55503a3d5f212697b620df6c1783398934df048828d9db3160a83b072236a7e381920237b00f1cfb4eb917d9ff66a7e381920237b00f1cfb4eb917d9ff6ca7f726a686358b09a6bc3455188fb21122e97aebdbcdd5812fc2cdca0c99097f1b186abc7a482548c4e0cdd9d3625882e0bfdc0eb78ca744114b42489f077d32f2227287e2f75e33216ee326fdae4eb4b0f53ffe49aae99335a2d0a81643f176ab37e536b723f6cbe07fca073daef038b9c32a2047ba6ebac2d25d8642274c2d30a2f4fd0714ec184b5365c1782e01ce74891ce550d233ae0da469c1cfed13b72a2f3dbdf1d9fa96ff61da28269b52f9769589490ac420463d64a8b2221ab25dbf4d1cb7450bef9dbf767a6bb6417a80ce4a4ab9799d6ae89da93bb03894410a9c5ebd7285afaad856f565c2af3ced88cda9d7256db2f152645ee7f192dd368661bee7d4753618ba5489cff40571cee329d6e038d4f805c0cdfd65550cbf90cf42b3fecf6fd05bd87d3ebd3d1bf0eaaefb52a3f5ad4d766aef000ce50b31aa4602707015a9d0f62f23716264cb36e02602707015a9d0f62f23716264cb36e02501f6c971a9373a0f891b7b60328f1179084c76508698fa002ca33da5ad774a69084c76508698fa002ca33da5ad774a657a1c8798fa33e8ac01437b1d188b51bffa6108f5290188d0030024744de853ac3227e84d81e5a83dfdd28e5e6d084a06b5b4e1610159d42b062badc5add27f5b0a47fca33808712e30eb1f50001a3369bfb82166760a126b9ef0482a0ae2e9cabc3bc9b9092d2fc338f587e0bed23bf5a14a5b337499415fb6a82546de97375a4cecb764e83d360f4640f554d70903b7ee13cf245d7150105631ec0b283136fb3af09ca4087481a5502e120e9ad626d74a200d8b978baf3c5e93333abdeaca4acf7c91d35dcd826ad96a19de2bd8ed9eb48d1d832e01d829133e2a67fda1a0ef12a094f5993e325598aded094fcd35bd0c162996d68b95af3cb846ddb8a0d59e3172d2881e99659a02703e84ac190a90fea4a48f13700ece12a3496840a83735328f257cfd0790f171bb724247e99a8129d0534362c4bdab2c077b8b29d70e87d0c32cfde8c9770e54afa4cde5b7499ad1348d1e1397761a9932a84f401c4369d8512c0687b74aa811dce6250f8b41c572057a2a843891d29e8a68ac50bdcb4ab19d533023c103473f7b93f44ecbc9bcbde5e13d191b5aea01c64cf8fc6ed1c9ec02c2c8486ba399c5bb2ec499e9fefe37254a5e81130b6acee8fc4fcaa866811d38b0cbc90a63be4dddb8717307358ab2e0742a9ee3a23f812de31c10e10be193709c6f740b4949f90f45f47dd8807d41d8cd98f00b204e9800998ecf8427e87eea4ac69e039d5ea4016c931102a7de84457654df898fd74d330d079bf9c8fd41d8cd98f00b204e9800998ecf8427e0e3c51cc065e1e16dae8548be7ac08b73fcb8b920b77f7db88328dd491cab31f2ceb59d7710fcada64f333bf8345ff2e61b664ad12737cbcb6388ff293c676151c13ae2ab0c6b93289a387dc36dfca8ecd7b2bb3682505e4703c41de084d7ee88ad62d42efd00a531577b500a78c8ceb7e1995df0f8366e50a96877fe9ba8b88845484dd6fc6bd72e8c8290e6b0b07cb770b60a87e7b9134e9a1fa24e28c999183cb91918bb3d25dfc7b8658b78075d8388d97abf7a10fec2b57cb1fc04b75874d17924864897bcd17e138a85e5866bb4d17924864897bcd17e138a85e5866bb34b812ad954b587babd7df633beb657548b594782c2c6886cec240c57959974829df8a88358e774fecc7acf8c3e8b733188c08c39b07968ca0c2586a58185a8b53a57d655a079b505cb7ffada1212fd338465d674731bd67d0050058a30e46f906b8fe59e07e939594f64d5f9f44cc05346394c0e87701205958361b12743002502cccf2aec4fcfe3acfb3f9d1e99440e22c842d9c4f96a9ec09c42c67704647911d17a9b612a08fc71a558933e5ad9b0d6e02f77d598875dbd577db1d193e54a16f6e71d0789a727144d2770da1155042f8ff89f0593769d29050c61459ed057d85b80366b6246e66c8228508508e11257effa6c8370a229f8092c9e14f17af1c8bce6bfa83c594fd6b39592366bf72de03c80328e9a3e875d641e11349ce85d1c9d4d6c8298009b2a3aeecd684db72d5b17207a395d8a544610e7921762bd8b1c42884fa5bdbde53d64cff469374fd3e0975740eec3481da4239017709545c418537cf1891c2fcf900a521c26959541a0a97f908aabcf4957c5314042fa3a015e1e74513773b0b2ace4991635de31e679ecfa6569224e4576452e70266b5a38b7b86b6a42f09c5ee3a2349e42a0dc78b7b86b6a42f09c5ee3a2349e42a0dc7837dde9d393af7be48c20a15e7e9fec665eb0e189dadac7edaa0ad15685e41720a7419178a93de5c1aa000a564363a9c5b31c89d1c8c379730375b9fc5f8b07bcf9d001049bfdf64822a412e349eb08658f3f250e4929cba2fbf96502fa106c33aa1912cfadf2169c6ce2bfee934ec7e6e4530e52c7a42ca970296b457c3af0fcafd9ab382cbe9f6633febdea978fbc6fe7f56a048c7c72b242cc63e865b099744ab4bd21dd81b758e72b7c6fd3c3a4a1a5aeb51218d6e5fd6c40051b72b8a19e87f4f9ac2e46d819ff407b1fddf23c1a2462aad4201c666bd248300bb99b45fe746d6ef428c94679627a5fba74bf6b25745cb21ef1f0acf43ef6ea98ec535ad84f707aac14d76425fb8495c8516df43c520e1904dd6d3a8b92ee2256093c41c2e6537269845624bbf1f86d8e769a330bd07ef1831434136bc09438f3c8ac75c272b53ae68151c0ed13cd7d2ded4c0db45dc98e90fc0bee185125e0653e2aebadbaac1548c0a0b967f086ee620b402fdfe55146f21a495d4f02697ae668f5a1ebe59301bddbf2bea02a986fe6991fe39fa09740a6f5da0902524462f4320691012f5174b535043834ff50e8f19131b4a16245b89b537afd476f9fe3269594c2fb65d6216ac71af588fe69b225b619c12be792e06439c7d53b823221fe4f878a8fa03ef55f5adc02476805adb0d00758b1f2a3b25e41d3f464ca409de75167125649431a2d492904950f238a809141fd07227e900dcc1eb5f930a653d237a92344502b39eb151b7e486179515883595e75a9769d73d54cbaab46ce45ed8b69693133d9dc2a02f0b627abab4524a808733dbb5f1d76e3183f45068a17a2255ee5875cd8d0e79f65c747cce35eed9516c14cb5f4fd1052b73bf8341b211488604737e12e3b87772606614f69a10b3e3945eaffef427edac4d8ed2e0ce027681d90e8b170a95b6734573dbac9f98aa49b026951f3d895f6af1d891d18560040020924712ae1ccc39fe77e8a6ac4ac7a1cfaa991548318699581c8fcb74d12c138fe340b08923f79b25a497a82634936861e55f45046adc0da02a7103694cdeac77e7c5ce248ddbce3859b93046221fe9a2c8e6cb2f1cd0de30225807901db862eb5de42e2ed6cb7bf42791a811d9dccb7c495dbc9cacc35f25b92510a30d1d73ff42a43420912444ddf0f299069d223ecc14851618d7f61a1ea14d9b69ffb299f12062d4b8a89fd9ba879235eefea32480901ea256ddc3032d9fa367a6b87960036dad23a5465402cd1f2c7fb7abadf4c0e5c56e340d83df8970f41be4ec41508802c7bec396b27d8619ab8bb648bbcc64c071db2b6ecc08e6642f384c5ec17632b567b9bb0bcf2ed5079c7c5d1afdd779eb25620183744046ac2b45744759aa63f97626dba14494abb5c843786a794b1b748a1d68a09ca410f629980409c816c3bbfe4a7d084c4e0863321ac19e82e833bca93594dbea6e87a7713c0f4a893377ff9d59f0757a4a2f15581261db5212a1ab8c16056059619fd8fa6fd5e12b1614524ea22d1c93969582a7d1100cd95d2620eb0308ea5ce8a1c9878ef36871ba8360dac8f9498d7d78ae41b7744b280839c25fc8b641f2d23d79966b516d92d3548c8bc90285c3447fedbb6cdceed3bff86591c0d7a4ea6b4dc0703aa8ceb50a2506cd3f1dca958d6ed58b3edbc85e1125bdfc5c1c7221d29325db7a57401512697eafb3ecf6b7c024c5af71e380cf0072774574fb7a397f4d3cb2277cedc892091cdcce0275785a944a752deb776162cc0660933cbbf3f77a8841fe153baa9d84eff37c3a486ca35dd9dfe15e1b5bf67c367c5812402a252ea5afce8e20c7ccccaada4d42d668d88420aa47f74e75ebd843e50284b81e74de54f390d57847b62907ac4dea01e328ba5d3148d5b0417c0ebafe7a8ab150d000a7fc786f7b791889e05315b7a6768621268aa85f59c0a68483fc1fa5e28ad0e48f45cf602cb9f3a3e3c8e1c495ce08d44aff81a137e91047c49c1bff8c9e28d93fe2f2387d0806ec9f1f7c12715d31e008dec7bf5b1fa863606a14cae089af56725081934eefcd43bac6646ac0b866be2cbf4340190ef8226cce638631b25c0c548aba2b0f462133285fae2db46f3c04f76bafae9ecceac1cc84b7245a60923cee8e497ae82b6f89bda2808dec4aa35c4a2299819f6cd474202360f0f944776ca63d6a59be6d3a4f10b232d693f8895dc6acaf3f2ef325cb2bcd1bb0013fedfa34b0953ac0f062711c924576d888bc4f33e59f339422eeafb87dc85c60f4e8b09b2dc05d51562c3b066239d947064145827927d21e648cd819f90fccf53fc111e25ebfe3f8e894ea8863ad0e6f4a0582e7ac4bac7fe18db019b096f7013c1d0641940f90bb4e2a04148d8853932f0281043783fccadcdc3168bc29a0f7cdf295dfc2e874df85cd06f62cf282467ae3588741a898eeb58f165d7d86157d1a4158543e6cefcb7b36113ce0b906bad203f5d0d23dfe2abb5133a6bf4527395f33e19d20538ff360b97e2fa6b086b31f2544a6c5cc35e5e3278b28d3de8dfcd4efefa7e68f7eca84885bc421aa7f6eed7a9fbf15f5f458345842daf7d58a7765f064fccb7cb76ad9c7f8493ec3ba4ef9242e1a39c59e2fca98496b59fa07abfe904fe5582f454eeea2b2b485aa235f568e8ab69e74eabbd56d81e0294cb27b208eb46b601b6507689a172999c643754004e05b0d915b6be61c1e1594c55178d35ec5ee53c91dd2d8d5248162bcad2d8be3b2cf1cbc870830d343a5eb0a520d75e7a2b64b97215d00d530693d204d77e3a1a8ccb2ce2a288f3a8601889d2cb96eeb6d8d969a55bdbd26bc405e4433721cd5eb73591c180d0f1e85fc6e9356a04e631fd557c7f53d7001f33c734d1c7369f9364947737f0e68207824d7fc1e82e4dee3e12916d352b905969b92f6027a13f300bc7637f123c5ef54f181b963606e39d26aba2c97d5531097800521b52ac764d8d0c98ad720c59e5ae06ca5c6817efad521dcb8e21359a4bb1a71e72ec0f50342023c1cf6d870a3d50af358ced2abd01dad4f0ed16c1535bc22211db8c1fbc2213ad21d545714bf0515b3f7377223c96c658805a101f0c29f83100b4b2301f6081daefd0784e3a3fa16b8ead8ec832e934e1dfbb1fec0e1d335b033844feb8127eae70a301b27c2afcecd385bbdac95b601a1d425505cddf0693328bd1f915e560cd3d8ee609da3ed7f43f628551174100513bebe2f83b3b3a7c2e4eb63d3a5543a8491e6663c38dbdb735b67ea05124ec9828af7b7da92fee71d16dcbeecb95fccae81b35be27acfe1a079744d833a0454255047f4f9ae179f97e001698a49c3117e1d4618a4389bd53d3f87624a095faa7b89124bcf10a77e82b46a5fd936a8d949307fdbbe647b3099e62cdaa7e73eb9db1e784bedcaf8ad99e62cdaa7e73eb9db1e784bedcaf8ad99e62cdaa7e73eb9db1e784bedcaf8ad99e62cdaa7e73eb9db1e784bedcaf8ad99e62cdaa7e73eb9db1e784bedcaf8ad99e62cdaa7e73eb9db1e784bedcaf8ad8179b89d08459dffff53e2b2a9fb23e3a83f3b4a00500e2be4ddd075780b7470b4f635dd0349f36f781f8e1a5411f1c579c62345857aff7f890fec80e70d01ac06013db5c69b15f723b5fc7ca8e812b0dc88f085696e1f26bfd8406b7de7b8fb662f9f68d3ba852a2b61436dde9e8d5f90a1b22eec6a2cc1f55f958552c188bb83b5df5ddc66a40179af4678e0aa8eafe898244082c39b443117f7893ce0debf5a8439f4f1d75f19ef2803ab6e366bd0asm-x86rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvzkernel-2.6.32-042stab115.2.src.rpmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkernel-devel-x86_64kernel-develkernel-devel-uname-rvzkernel-develvzkernel-devel(x86-64)     rpmlib(VersionedDependencies)/usr/bin/find/bin/shrpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)rpmlib(PayloadIsBzip2)3.0.3-14.0.4-14.0-13.0.4-13.0.5-14.8.0VÌIÀVÊø@VɦÀVɦÀVÇÀVÄ`ÀV¹ÔÀV¸ƒ@V±ëÀV°š@V¯HÀVªÀV¨±@V§_ÀV È@VŸvÀVœÓÀV˜ß@V—ÀV—ÀV–<@V”êÀVö@V¤ÀVŽS@V‹°@Vr£ÀVqR@Vn¯@VhÀVfÆ@V`.ÀV^Ý@VRÿÀVD@VC-ÀV@ŠÀV7P@V'~@V•@Vò@V”@Uè6@UÔoÀUË5@UÀ©@U®4@U¬âÀU“Ö@U‰J@U‡øÀUa@U~¾@Uyx@UvÕ@UuƒÀUmšÀUlI@U_@UYÔ@UYÔ@UUßÀUQë@UF ÀUCjÀU:0@U0õÀU-@U-@U+¯ÀU&iÀU€ÀUÝÀUF@U£@U ÀU hÀU.@Tý‹@Tù–ÀTõ¢@Tï ÀTí¹@TìgÀTë@TåÐ@TåÐ@Tä~ÀTáÛÀTáÛÀTÜ•ÀTÛD@TØ¡@Tи@TÊ ÀT¿”ÀT¼ñÀT·«ÀT¯ÂÀT­ÀT›ü@T™Y@TÀTŠØÀTˆ5ÀT…’ÀTuÀÀTto@Tm×ÀTk4ÀTeîÀTaú@T[bÀTSyÀTN3ÀT>aÀT2„@T&@TÔÀT š@T ¥ÀTk@Tk@S÷0ÀSíö@Sä»ÀSÛ@S׌ÀSÐõ@SÆi@SÁ#@S¾€@S¶—@Sª¹ÀS©h@S¥sÀS¤"@SžÜ@SšçÀS™–@S™–@S˜DÀS˜DÀS•¡ÀS‘­@S[ÀS @S¸ÀSŒg@S‰Ä@S…ÏÀS8@S|•@S{CÀS{CÀSt¬@Sr @Sp·ÀShÎÀSg}@S_”@SW«@SOÂ@SKÍÀSF‡ÀSCäÀSB“@S=M@S9XÀS1oÀS*Ø@S&ãÀS"ï@S©@Sz@S 4@Sî@Rþ@Róy@Rë@Rç›ÀRÙ@RÏàÀR¹w@R´1@R±Ž@RªöÀR¡¼@R”@RŒ¤@Ru@RxÝÀRté@RpôÀRnQÀRnQÀRe@R[ÜÀRV–ÀRR¢@RIgÀR@-@R1¬ÀR/ ÀR)ÃÀR7ÀR”ÀRÀR ÂÀR ÀRˆ@R6ÀRå@Qÿ“ÀQûŸ@QúMÀQøü@Q÷ªÀQöY@QòdÀQîp@Qé*@Qæ‡@QÞž@QÝLÀQÚ©ÀQÒÀÀQÍzÀQɆ@QÄ@@QÁ@Q»ÀQ¸bÀQ·@Qµ¿ÀQ±Ë@Q±Ë@Q§?@Q¥íÀQŸV@Qš@Q–ÀQ–ÀQ’'@Q’'@QŠ>@Q‡›@Qƒ¦ÀQzl@QvwÀQu&@Qm=@QT0ÀQT0ÀQHS@QGÀQC @Q/FÀQ-õ@Q+R@QÑÀQ€@QÝ@Q¹ÀQh@Pý-ÀPõDÀPóó@Pê¸ÀPårÀPÒýÀPÐZÀPÏ @PÅÎÀPÀˆÀP½åÀPµüÀP¬Â@Pª@P¦*ÀP¢6@Pœð@P—ª@P‘ÀPŠ{@P…5@P@ÀPï@P~ÀP{úÀPx@Pv´ÀPv´ÀPtÀPtÀPtÀPrÀ@Pp@PnËÀPnËÀPnËÀPmz@Pmz@Pl(ÀPl(ÀPj×@Pe‘@Pe‘@Pd?ÀPaœÀP\VÀPY³ÀPWÀPPy@PIáÀPH@P@§@P?UÀP;a@P7lÀP4ÉÀP.2@P.2@P+@P*=ÀP#¦@P"TÀPÈÀPßÀPßÀPßÀPŽ@P <ÀPöÀPSÀP_@OýjÀOü@OõÀOñ@Oí˜ÀOß@OØ€ÀOÈ®ÀOÆ ÀOĺ@O¿t@O»ÀOº.@O²E@O²E@O© ÀOŸÐ@O–•ÀO’¡@O‘OÀO†ÃÀO…r@O„ ÀO}ÀO}‰@Oy”ÀOtNÀOq«ÀOpZ@Ok@Ok@OiÂÀOgÀO`ˆ@OYðÀOUü@OUü@OUü@OTªÀOOdÀON@OLÁÀOLÁÀOKp@OHÍ@OG{ÀOG{ÀOF*@OF*@OB5ÀO>A@O<ïÀO;ž@O8û@O5ÀO3µ@O2cÀOîÀObÀOÀO?@NèÀNÔÉ@NÔÉ@NÂT@N¹ÀN¹ÀN¶vÀN³ÓÀN¯ß@Nª™@N¦¤ÀN¥S@N¡^ÀNj@NšÇ@N•@N”/ÀN’Þ@NŠõ@N‰£ÀN‰£ÀNºÀNyÑÀNx€@Nw.ÀNw.ÀNs:@Nmô@Ng\ÀNch@N_sÀNWŠÀNS–@NK­@NJ[ÀNI @NEÀNCÄ@NCÄ@NBrÀNA!@N>~@N=,ÀN:‰ÀN:‰ÀN:‰ÀN98@N7æÀN6•@N5CÀN/ýÀN/ýÀN.¬@N(ÀN%qÀN +ÀN7@NŸÀNN@N ¶ÀN Â@N|@N|@NÙ@MûAÀMøžÀM÷M@Môª@MìÁ@MäØ@MÜï@MÚL@MÖWÀMÕ@MÑÀMÍ@MËËÀMÉ(ÀMÉ(ÀMÁ?ÀM¾œÀM½K@Mº¨@M¸@M¶³ÀMµb@M°@M®ÊÀM®ÊÀM­y@M¬'ÀM¬'ÀM¤>ÀM¢í@M›@M™²ÀMx@Mx@Mx@M‡=ÀMTÀMTÀMwkÀMwkÀMtÈÀMlßÀMbSÀMZjÀMY@MQ0@MOÞÀMKê@MIG@MGõÀMGõÀMD@MB¯ÀMA^@M@ ÀM>»@M>»@M:ÆÀM9u@M8#ÀM6Ò@M0:ÀM.é@M-—ÀM,F@M'@MÑ@M PÀM­ÀM\@M@Lþ!ÀLþ!ÀLû~ÀLøÛÀLö8ÀLæfÀLâr@LÛÚÀLÉeÀLÆÂÀL¾ÙÀL½ˆ@L½ˆ@L²ü@L±ªÀL¤{ÀL™ïÀLŽ@L~@@LuÀLs´@LrbÀLnn@LjyÀLi(@Le3ÀLa?@La?@L[ù@L[ù@LYV@LXÀLXÀLR¾ÀLQm@LNÊ@LMxÀLEÀLEÀL>ø@L=¦ÀL [2.6.32-621.el6]Aristeu Rozanski [2.6.32-620.el6]Aristeu Rozanski [2.6.32-619.el6]Aristeu Rozanski [2.6.32-618.el6]Aristeu Rozanski [2.6.32-617.el6]Aristeu Rozanski [2.6.32-616.el6]Aristeu Rozanski [2.6.32-615.el6]Aristeu Rozanski [2.6.32-614.el6]Aristeu Rozanski [2.6.32-613.el6]Aristeu Rozanski [2.6.32-612.el6]Aristeu Rozanski [2.6.32-611.el6]Aristeu Rozanski [2.6.32-610.el6]Aristeu Rozanski [2.6.32-609.el6]Aristeu Rozanski [2.6.32-608.el6]Aristeu Rozanski [2.6.32-607.el6]Aristeu Rozanski [2.6.32-606.el6]Aristeu Rozanski [2.6.32-605.el6]Aristeu Rozanski [2.6.32-604.el6]Aristeu Rozanski [2.6.32-603.el6]Aristeu Rozanski [2.6.32-602.el6]Aristeu Rozanski [2.6.32-601.el6]Aristeu Rozanski [2.6.32-600.el6]Aristeu Rozanski [2.6.32-599.el6]Aristeu Rozanski [2.6.32-598.el6]Aristeu Rozanski [2.6.32-597.el6]Aristeu Rozanski [2.6.32-596.el6]Aristeu Rozanski [2.6.32-595.el6]Aristeu Rozanski [2.6.32-594.el6]Aristeu Rozanski [2.6.32-593.el6]Aristeu Rozanski [2.6.32-592.el6]Aristeu Rozanski [2.6.32-591.el6]Aristeu Rozanski [2.6.32-590.el6]Aristeu Rozanski [2.6.32-589.el6]Aristeu Rozanski [2.6.32-588.el6]Aristeu Rozanski [2.6.32-587.el6]Aristeu Rozanski [2.6.32-586.el6]Aristeu Rozanski [2.6.32-585.el6]Aristeu Rozanski [2.6.32-584.el6]Aristeu Rozanski [2.6.32-583.el6]Aristeu Rozanski [2.6.32-582.el6]Aristeu Rozanski [2.6.32-581.el6]Aristeu Rozanski [2.6.32-580.el6]Kurt Stutsman [2.6.32-579.el6]Kurt Stutsman [2.6.32-578.el6]Kurt Stutsman [2.6.32-577.el6]Kurt Stutsman [2.6.32-576.el6]Kurt Stutsman [2.6.32-575.el6]Kurt Stutsman [2.6.32-574.el6]Kurt Stutsman [2.6.32-573.el6]Kurt Stutsman [2.6.32-572.el6]Kurt Stutsman [2.6.32-571.el6]Kurt Stutsman [2.6.32-570.el6]Kurt Stutsman [2.6.32-569.el6]Kurt Stutsman [2.6.32-568.el6]Kurt Stutsman [2.6.32-567.el6]Kurt Stutsman [2.6.32-566.el6]Kurt Stutsman [2.6.32-565.el6]Kurt Stutsman [2.6.32-564.el6]Kurt Stutsman [2.6.32-563.el6]Kurt Stutsman [2.6.32-562.el6]Kurt Stutsman [2.6.32-561.el6]Kurt Stutsman [2.6.32-560.el6]Kurt Stutsman [2.6.32-559.el6]Kurt Stutsman [2.6.32-558.el6]Kurt Stutsman [2.6.32-557.el6]Kurt Stutsman [2.6.32-556.el6]Kurt Stutsman [2.6.32-555.el6]Rafael Aquini [2.6.32-554.el6]Rafael Aquini [2.6.32-553.el6]Rafael Aquini [2.6.32-552.el6]Rafael Aquini [2.6.32-551.el6]Rafael Aquini [2.6.32-550.el6]Rafael Aquini [2.6.32-549.el6]Rafael Aquini [2.6.32-548.el6]Rafael Aquini [2.6.32-547.el6]Rafael Aquini [2.6.32-546.el6]Rafael Aquini [2.6.32-545.el6]Rafael Aquini [2.6.32-544.el6]Rafael Aquini [2.6.32-543.el6]Rafael Aquini [2.6.32-542.el6]Rafael Aquini [2.6.32-541.el6]Rafael Aquini [2.6.32-540.el6]Rafael Aquini [2.6.32-539.el6]Rafael Aquini [2.6.32-538.el6]Rafael Aquini [2.6.32-537.el6]Rafael Aquini [2.6.32-536.el6]Rafael Aquini [2.6.32-535.el6]Rafael Aquini [2.6.32-534.el6]Rafael Aquini [2.6.32-533.el6]Rafael Aquini [2.6.32-532.el6]Rafael Aquini [2.6.32-531.el6]Rafael Aquini [2.6.32-530.el6]Rafael Aquini [2.6.32-529.el6]Rafael Aquini [2.6.32-528.el6]Rafael Aquini [2.6.32-527.el6]Rafael Aquini [2.6.32-526.el6]Rafael Aquini [2.6.32-525.el6]Rafael Aquini [2.6.32-524.el6]Rafael Aquini [2.6.32-523.el6]Rafael Aquini [2.6.32-522.el6]Rafael Aquini [2.6.32-521.el6]Rafael Aquini [2.6.32-520.el6]Rafael Aquini [2.6.32-519.el6]Rafael Aquini [2.6.32-518.el6]Rafael Aquini [2.6.32-517.el6]Rafael Aquini [2.6.32-516.el6]Rafael Aquini [2.6.32-515.el6]Rafael Aquini [2.6.32-514.el6]Rafael Aquini [2.6.32-513.el6]Rafael Aquini [2.6.32-512.el6]Rafael Aquini [2.6.32-511.el6]Rafael Aquini [2.6.32-510.el6]Rafael Aquini [2.6.32-509.el6]Rafael Aquini [2.6.32-508.el6]Rafael Aquini [2.6.32-507.el6]Rafael Aquini [2.6.32-506.el6]Rafael Aquini [2.6.32-505.el6]Rafael Aquini [2.6.32-504.el6]Rafael Aquini [2.6.32-503.el6]Rafael Aquini [2.6.32-502.el6]Rafael Aquini [2.6.32-501.el6]Rafael Aquini [2.6.32-500.el6]Rafael Aquini [2.6.32-499.el6]Rafael Aquini [2.6.32-498.el6]Rafael Aquini [2.6.32-497.el6]Rafael Aquini [2.6.32-496.el6]Rafael Aquini [2.6.32-495.el6]Rafael Aquini [2.6.32-494.el6]Rafael Aquini [2.6.32-493.el6]Rafael Aquini [2.6.32-492.el6]Rafael Aquini [2.6.32-491.el6]Rafael Aquini [2.6.32-490.el6]Rafael Aquini [2.6.32-489.el6]Rafael Aquini [2.6.32-488.el6]Rafael Aquini [2.6.32-487.el6]Rafael Aquini [2.6.32-486.el6]Rafael Aquini [2.6.32-485.el6]Rafael Aquini [2.6.32-484.el6]Rafael Aquini [2.6.32-483.el6]Rafael Aquini [2.6.32-482.el6]Rafael Aquini [2.6.32-481.el6]Rafael Aquini [2.6.32-480.el6]Rafael Aquini [2.6.32-479.el6]Rafael Aquini [2.6.32-478.el6]Rafael Aquini [2.6.32-477.el6]Rafael Aquini [2.6.32-476.el6]Rafael Aquini [2.6.32-475.el6]Rafael Aquini [2.6.32-474.el6]Rafael Aquini [2.6.32-473.el6]Rafael Aquini [2.6.32-472.el6]Rafael Aquini [2.6.32-471.el6]Rafael Aquini [2.6.32-470.el6]Rafael Aquini [2.6.32-469.el6]Rafael Aquini [2.6.32-468.el6]Rafael Aquini [2.6.32-467.el6]Rafael Aquini [2.6.32-466.el6]Rafael Aquini [2.6.32-465.el6]Rafael Aquini [2.6.32-464.el6]Rafael Aquini [2.6.32-463.el6]Rafael Aquini [2.6.32-462.el6]Rafael Aquini [2.6.32-461.el6]Rafael Aquini [2.6.32-460.el6]Rafael Aquini [2.6.32-459.el6]Rafael Aquini [2.6.32-458.el6]Rafael Aquini [2.6.32-457.el6]Rafael Aquini [2.6.32-456.el6]Rafael Aquini [2.6.32-455.el6]Rafael Aquini [2.6.32-454.el6]Rafael Aquini [2.6.32-453.el6]Rafael Aquini [2.6.32-452.el6]Rafael Aquini [2.6.32-451.el6]Rafael Aquini [2.6.32-450.el6]Rafael Aquini [2.6.32-449.el6]Rafael Aquini [2.6.32-448.el6]Rafael Aquini [2.6.32-447.el6]Rafael Aquini [2.6.32-446.el6]Rafael Aquini [2.6.32-445.el6]Rafael Aquini [2.6.32-444.el6]Rafael Aquini [2.6.32-443.el6]Rafael Aquini [2.6.32-442.el6]Rafael Aquini [2.6.32-441.el6]Rafael Aquini [2.6.32-440.el6]Rafael Aquini [2.6.32-439.el6]Rafael Aquini [2.6.32-438.el6]Rafael Aquini [2.6.32-437.el6]Rafael Aquini [2.6.32-436.el6]Rafael Aquini [2.6.32-435.el6]Rafael Aquini [2.6.32-434.el6]Rafael Aquini [2.6.32-433.el6]Rafael Aquini [2.6.32-432.el6]Rafael Aquini [2.6.32-431.el6]Rafael Aquini [2.6.32-430.el6]Rafael Aquini [2.6.32-429.el6]Rafael Aquini [2.6.32-428.el6]Rafael Aquini [2.6.32-427.el6]Rafael Aquini [2.6.32-426.el6]Rafael Aquini [2.6.32-425.el6]Rafael Aquini [2.6.32-424.el6]Rafael Aquini [2.6.32-423.el6]Rafael Aquini [2.6.32-422.el6]Rafael Aquini [2.6.32-421.el6]Rafael Aquini [2.6.32-420.el6]Rafael Aquini [2.6.32-419.el6]Rafael Aquini [2.6.32-418.el6]Rafael Aquini [2.6.32-417.el6]Rafael Aquini [2.6.32-416.el6]Rafael Aquini [2.6.32-415.el6]Rafael Aquini [2.6.32-414.el6]Rafael Aquini [2.6.32-413.el6]Rafael Aquini [2.6.32-412.el6]Rafael Aquini [2.6.32-411.el6]Rafael Aquini [2.6.32-410.el6]Rafael Aquini [2.6.32-409.el6]Rafael Aquini [2.6.32-408.el6]Rafael Aquini [2.6.32-407.el6]Rafael Aquini [2.6.32-406.el6]Rafael Aquini [2.6.32-405.el6]Rafael Aquini [2.6.32-404.el6]Rafael Aquini [2.6.32-403.el6]Rafael Aquini [2.6.32-402.el6]Rafael Aquini [2.6.32-401.el6]Rafael Aquini [2.6.32-400.el6]Rafael Aquini [2.6.32-399.el6]Rafael Aquini [2.6.32-398.el6]Jarod Wilson [2.6.32-397.el6]Jarod Wilson [2.6.32-396.el6]Jarod Wilson [2.6.32-395.el6]Jarod Wilson [2.6.32-394.el6]Jarod Wilson [2.6.32-393.el6]Jarod Wilson [2.6.32-392.el6]Jarod Wilson [2.6.32-391.el6]Jarod Wilson [2.6.32-390.el6]Jarod Wilson [2.6.32-389.el6]Jarod Wilson [2.6.32-388.el6]Jarod Wilson [2.6.32-387.el6]Jarod Wilson [2.6.32-386.el6]Jarod Wilson [2.6.32-385.el6]Jarod Wilson [2.6.32-384.el6]Jarod Wilson [2.6.32-383.el6]Jarod Wilson [2.6.32-382.el6]Jarod Wilson [2.6.32-381.el6]Jarod Wilson [2.6.32-380.el6]Jarod Wilson [2.6.32-379.el6]Jarod Wilson [2.6.32-378.el6]Jarod Wilson [2.6.32-377.el6]Jarod Wilson [2.6.32-376.el6]Jarod Wilson [2.6.32-375.el6]Jarod Wilson [2.6.32-374.el6]Jarod Wilson [2.6.32-373.el6]Jarod Wilson [2.6.32-372.el6]Jarod Wilson [2.6.32-371.el6]Jarod Wilson [2.6.32-370.el6]Jarod Wilson [2.6.32-369.el6]Jarod Wilson [2.6.32-368.el6]Jarod Wilson [2.6.32-367.el6]Jarod Wilson [2.6.32-366.el6]Jarod Wilson [2.6.32-365.el6]Jarod Wilson [2.6.32-364.el6]Jarod Wilson [2.6.32-363.el6]Jarod Wilson [2.6.32-362.el6]Jarod Wilson [2.6.32-361.el6]Jarod Wilson [2.6.32-360.el6]Jarod Wilson [2.6.32-359.el6]Jarod Wilson [2.6.32-358.el6]Jarod Wilson [2.6.32-357.el6]Jarod Wilson [2.6.32-356.el6]Jarod Wilson [2.6.32-355.el6]Jarod Wilson [2.6.32-354.el6]Jarod Wilson [2.6.32-353.el6]Jarod Wilson [2.6.32-352.el6]Jarod Wilson [2.6.32-351.el6]Jarod Wilson [2.6.32-350.el6]Jarod Wilson [2.6.32-349.el6]Jarod Wilson [2.6.32-348.el6]Jarod Wilson [2.6.32-347.el6]Jarod Wilson [2.6.32-346.el6]Jarod Wilson [2.6.32-345.el6]Jarod Wilson [2.6.32-344.el6]Jarod Wilson [2.6.32-343.el6]Jarod Wilson [2.6.32-342.el6]Jarod Wilson [2.6.32-341.el6]Jarod Wilson [2.6.32-340.el6]Jarod Wilson [2.6.32-339.el6]Jarod Wilson [2.6.32-338.el6]Jarod Wilson [2.6.32-337.el6]Jarod Wilson [2.6.32-336.el6]Jarod Wilson [2.6.32-335.el6]Jarod Wilson [2.6.32-334.el6]Jarod Wilson [2.6.32-333.el6]Jarod Wilson [2.6.32-332.el6]Jarod Wilson [2.6.32-331.el6]Jarod Wilson [2.6.32-330.el6]Jarod Wilson [2.6.32-329.el6]Jarod Wilson [2.6.32-328.el6]Jarod Wilson [2.6.32-327.el6]Jarod Wilson [2.6.32-326.el6]Jarod Wilson [2.6.32-325.el6]Jarod Wilson [2.6.32-324.el6]Jarod Wilson [2.6.32-323.el6]Jarod Wilson [2.6.32-322.el6]Jarod Wilson [2.6.32-321.el6]Jarod Wilson [2.6.32-320.el6]Jarod Wilson [2.6.32-319.el6]Jarod Wilson [2.6.32-318.el6]Jarod Wilson [2.6.32-317.el6]Jarod Wilson [2.6.32-316.el6]Jarod Wilson [2.6.32-315.el6]Jarod Wilson [2.6.32-314.el6]Jarod Wilson [2.6.32-313.el6]Jarod Wilson [2.6.32-312.el6]Jarod Wilson [2.6.32-311.el6]Jarod Wilson [2.6.32-310.el6]Jarod Wilson [2.6.32-309.el6]Jarod Wilson [2.6.32-308.el6]Jarod Wilson [2.6.32-307.el6]Jarod Wilson [2.6.32-306.el6]Jarod Wilson [2.6.32-305.el6]Jarod Wilson [2.6.32-304.el6]Jarod Wilson [2.6.32-303.el6]Jarod Wilson [2.6.32-302.el6]Jarod Wilson [2.6.32-301.el6]Jarod Wilson [2.6.32-300.el6]Jarod Wilson [2.6.32-299.el6]Jarod Wilson [2.6.32-298.el6]Jarod Wilson [2.6.32-297.el6]Jarod Wilson [2.6.32-296.el6]Jarod Wilson [2.6.32-295.el6]Jarod Wilson [2.6.32-294.el6]Jarod Wilson [2.6.32-293.el6]Jarod Wilson [2.6.32-292.el6]Jarod Wilson [2.6.32-291.el6]Jarod Wilson [2.6.32-290.el6]Jarod Wilson [2.6.32-289.el6]Jarod Wilson [2.6.32-288.el6]Jarod Wilson [2.6.32-287.el6]Jarod Wilson [2.6.32-286.el6]Jarod Wilson [2.6.32-285.el6]Jarod Wilson [2.6.32-284.el6]Jarod Wilson [2.6.32-283.el6]Jarod Wilson [2.6.32-282.el6]Jarod Wilson [2.6.32-281.el6]Jarod Wilson [2.6.32-280.el6]Jarod Wilson [2.6.32-279.el6]Jarod Wilson [2.6.32-278.el6]Jarod Wilson [2.6.32-277.el6]Jarod Wilson [2.6.32-276.el6]Jarod Wilson [2.6.32-275.el6]Jarod Wilson [2.6.32-274.el6]Jarod Wilson [2.6.32-273.el6]Jarod Wilson [2.6.32-272.el6]Jarod Wilson [2.6.32-271.el6]Jarod Wilson [2.6.32-270.el6]Jarod Wilson [2.6.32-269.el6]Jarod Wilson [2.6.32-268.el6]Aristeu Rozanski [2.6.32-267.el6]Aristeu Rozanski [2.6.32-266.el6]Aristeu Rozanski [2.6.32-265.el6]Aristeu Rozanski [2.6.32-264.el6]Aristeu Rozanski [2.6.32-263.el6]Aristeu Rozanski [2.6.32-262.el6]Aristeu Rozanski [2.6.32-261.el6]Aristeu Rozanski [2.6.32-260.el6]Aristeu Rozanski [2.6.32-259.el6]Aristeu Rozanski [2.6.32-258.el6]Aristeu Rozanski [2.6.32-257.el6]Aristeu Rozanski [2.6.32-256.el6]Aristeu Rozanski [2.6.32-255.el6]Aristeu Rozanski [2.6.32-254.el6]Aristeu Rozanski [2.6.32-253.el6]Aristeu Rozanski [2.6.32-252.el6]Aristeu Rozanski [2.6.32-251.el6]Aristeu Rozanski [2.6.32-250.el6]Aristeu Rozanski [2.6.32-249.el6]Aristeu Rozanski [2.6.32-248.el6]Aristeu Rozanski [2.6.32-247.el6]Aristeu Rozanski [2.6.32-246.el6]Aristeu Rozanski [2.6.32-245.el6]Aristeu Rozanski [2.6.32-244.el6]Aristeu Rozanski [2.6.32-243.el6]Aristeu Rozanski [2.6.32-242.el6]Aristeu Rozanski [2.6.32-241.el6]Aristeu Rozanski [2.6.32-240.el6]Aristeu Rozanski [2.6.32-239.el6]Aristeu Rozanski [2.6.32-238.el6]Aristeu Rozanski [2.6.32-237.el6]Aristeu Rozanski [2.6.32-236.el6]Aristeu Rozanski [2.6.32-235.el6]Aristeu Rozanski [2.6.32-234.el6]Aristeu Rozanski [2.6.32-233.el6]Aristeu Rozanski [2.6.32-232.el6]Aristeu Rozanski [2.6.32-231.el6]Aristeu Rozanski [2.6.32-230.el6]Aristeu Rozanski [2.6.32-229.el6]Aristeu Rozanski [2.6.32-228.el6]Aristeu Rozanski [2.6.32-227.el6]Aristeu Rozanski [2.6.32-226.el6]Aristeu Rozanski [2.6.32-225.el6]Aristeu Rozanski [2.6.32-224.el6]Aristeu Rozanski [2.6.32-223.el6]Aristeu Rozanski [2.6.32-222.el6]Aristeu Rozanski [2.6.32-221.el6]Aristeu Rozanski [2.6.32-220.el6]Aristeu Rozanski [2.6.32-219.el6]Aristeu Rozanski [2.6.32-218.el6]Aristeu Rozanski [2.6.32-217.el6]Aristeu Rozanski [2.6.32-216.el6]Aristeu Rozanski [2.6.32-215.el6]Aristeu Rozanski [2.6.32-214.el6]Aristeu Rozanski [2.6.32-213.el6]Aristeu Rozanski [2.6.32-212.el6]Aristeu Rozanski [2.6.32-211.el6]Aristeu Rozanski [2.6.32-210.el6]Aristeu Rozanski [2.6.32-209.el6]Aristeu Rozanski [2.6.32-208.el6]Aristeu Rozanski [2.6.32-207.el6]Aristeu Rozanski [2.6.32-206.el6]Aristeu Rozanski [2.6.32-205.el6]Kyle McMartin [2.6.32-204.el6]Kyle McMartin [2.6.32-203.el6]Aristeu Rozanski [2.6.32-202.el6]Aristeu Rozanski [2.6.32-201.el6]Aristeu Rozanski [2.6.32-200.el6]Aristeu Rozanski [2.6.32-199.el6]Kyle McMartin [2.6.32-198.el6]Aristeu Rozanski [2.6.32-197.el6]Aristeu Rozanski [2.6.32-196.el6]Aristeu Rozanski [2.6.32-195.el6]Aristeu Rozanski [2.6.32-194.el6]Aristeu Rozanski [2.6.32-193.el6]Aristeu Rozanski [2.6.32-192.el6]Kyle McMartin [2.6.32-191.el6]Aristeu Rozanski [2.6.32-190.el6]Aristeu Rozanski [2.6.32-189.el6]Kyle McMartin [2.6.32-188.el6]Kyle McMartin [2.6.32-187.el6]Aristeu Rozanski [2.6.32-186.el6]Aristeu Rozanski [2.6.32-185.el6]Aristeu Rozanski [2.6.32-184.el6]Kyle McMartin [2.6.32-183.el6]Aristeu Rozanski [2.6.32-182.el6]Kyle McMartin [2.6.32-181.el6]Aristeu Rozanski [2.6.32-180.el6]Aristeu Rozanski [2.6.32-179.el6]Kyle McMartin [2.6.32-178.el6]Aristeu Rozanski [2.6.32-177.el6]Aristeu Rozanski [2.6.32-176.el6]Kyle McMartin [2.6.32-175.el6]Aristeu Rozanski [2.6.32-174.el6]Aristeu Rozanski [2.6.32-173.el6]Kyle McMartin [2.6.32-172.el6]Kyle McMartin [2.6.32-171.el6]Kyle McMartin [2.6.32-170.el6]Aristeu Rozanski [2.6.32-169.el6]Kyle McMartin [2.6.32-168.el6]Aristeu Rozanski [2.6.32-167.el6]Kyle McMartin [2.6.32-166.el6]Aristeu Rozanski [2.6.32-165.el6]Kyle McMartin [2.6.32-164.el6]Aristeu Rozanski [2.6.32-163.el6]Aristeu Rozanski [2.6.32-162.el6]Kyle McMartin [2.6.32-161.el6]Aristeu Rozanski [2.6.32-160.el6]Aristeu Rozanski [2.6.32-159.el6]Aristeu Rozanski [2.6.32-158.el6]Aristeu Rozanski [2.6.32-157.el6]Aristeu Rozanski [2.6.32-156.el6]Aristeu Rozanski [2.6.32-155.el6]Aristeu Rozanski [2.6.32-154.el6]Aristeu Rozanski [2.6.32-153.el6]Aristeu Rozanski [2.6.32-152.el6]Aristeu Rozanski [2.6.32-151.el6]Aristeu Rozanski [2.6.32-150.el6]Aristeu Rozanski [2.6.32-149.el6]Aristeu Rozanski [2.6.32-148.el6]Aristeu Rozanski [2.6.32-147.el6]Aristeu Rozanski [2.6.32-146.el6]Aristeu Rozanski [2.6.32-145.el6]Aristeu Rozanski [2.6.32-144.el6]Aristeu Rozanski [2.6.32-143.el6]Aristeu Rozanski [2.6.32-142.el6]Aristeu Rozanski [2.6.32-141.el6]Aristeu Rozanski [2.6.32-140.el6]Aristeu Rozanski [2.6.32-139.el6]Aristeu Rozanski [2.6.32-138.el6]Aristeu Rozanski [2.6.32-137.el6]Aristeu Rozanski [2.6.32-136.el6]Aristeu Rozanski [2.6.32-135.el6]Aristeu Rozanski [2.6.32-134.el6]Aristeu Rozanski [2.6.32-133.el6]Aristeu Rozanski [2.6.32-132.el6]Aristeu Rozanski [2.6.32-131.el6]Aristeu Rozanski [2.6.32-130.el6]Aristeu Rozanski [2.6.32-129.el6]Aristeu Rozanski [2.6.32-128.el6]Aristeu Rozanski [2.6.32-127.el6]Aristeu Rozanski [2.6.32-126.el6]Aristeu Rozanski [2.6.32-125.el6]Aristeu Rozanski [2.6.32-124.el6]Aristeu Rozanski [2.6.32-123.el6]Aristeu Rozanski [2.6.32-122.el6]Aristeu Rozanski [2.6.32-121.el6]Aristeu Rozanski [2.6.32-120.el6]Aristeu Rozanski [2.6.32-119.el6]Aristeu Rozanski [2.6.32-118.el6]Aristeu Rozanski [2.6.32-117.el6]Aristeu Rozanski [2.6.32-116.el6]Aristeu Rozanski [2.6.32-115.el6]Aristeu Rozanski [2.6.32-114.el6]Aristeu Rozanski [2.6.32-113.el6]Aristeu Rozanski [2.6.32-112.el6]Aristeu Rozanski [2.6.32-111.el6]Aristeu Rozanski [2.6.32-110.el6]Aristeu Rozanski [2.6.32-109.el6]Aristeu Rozanski [2.6.32-108.el6]Aristeu Rozanski [2.6.32-107.el6]Aristeu Rozanski [2.6.32-106.el6]Aristeu Rozanski [2.6.32-105.el6]Aristeu Rozanski [2.6.32-104.el6]Aristeu Rozanski [2.6.32-103.el6]Aristeu Rozanski [2.6.32-102.el6]Aristeu Rozanski [2.6.32-101.el6]Aristeu Rozanski [2.6.32-100.el6]Aristeu Rozanski [2.6.32-99.el6]Aristeu Rozanski [2.6.32-98.el6]Aristeu Rozanski [2.6.32-97.el6]Aristeu Rozanski [2.6.32-96.el6]Aristeu Rozanski [2.6.32-95.el6]Aristeu Rozanski [2.6.32-94.el6]Aristeu Rozanski [2.6.32-93.el6]Aristeu Rozanski [2.6.32-92.el6]Aristeu Rozanski [2.6.32-91.el6]Aristeu Rozanski [2.6.32-90.el6]Aristeu Rozanski [2.6.32-89.el6]Aristeu Rozanski [2.6.32-88.el6]Aristeu Rozanski [2.6.32-87.el6]Aristeu Rozanski [2.6.32-86.el6]Aristeu Rozanski [2.6.32-85.el6]Aristeu Rozanski [2.6.32-84.el6]Aristeu Rozanski [2.6.32-83.el6]Aristeu Rozanski [2.6.32-82.el6]Aristeu Rozanski [2.6.32-81.el6]Aristeu Rozanski [2.6.32-80.el6]Aristeu Rozanski [2.6.32-79.el6]Aristeu Rozanski [2.6.32-78.el6]Aristeu Rozanski [2.6.32-77.el6]Aristeu Rozanski [2.6.32-76.el6]Aristeu Rozanski [2.6.32-75.el6]Aristeu Rozanski [2.6.32-74.el6]Aristeu Rozanski [2.6.32-73.el6]Aristeu Rozanski [2.6.32-72.el6]Aristeu Rozanski [2.6.32-71.el6]Aristeu Rozanski [2.6.32-70.el6]Aristeu Rozanski [2.6.32-69.el6]Aristeu Rozanski [2.6.32-68.el6]Aristeu Rozanski [2.6.32-67.el6]Aristeu Rozanski [2.6.32-66.el6]Aristeu Rozanski [2.6.32-65.el6]Aristeu Rozanski [2.6.32-64.el6]Aristeu Rozanski [2.6.32-63.el6]Aristeu Rozanski [2.6.32-62.el6]Aristeu Rozanski [2.6.32-61.el6]Aristeu Rozanski [2.6.32-60.el6]Aristeu Rozanski [2.6.32-59.el6]Aristeu Rozanski [2.6.32-58.el6]Aristeu Rozanski [2.6.32-57.el6]Aristeu Rozanski [2.6.32-56.el6]Aristeu Rozanski [2.6.32-55.el6]Aristeu Rozanski [2.6.32-54.el6]Aristeu Rozanski [2.6.32-53.el6]Aristeu Rozanski [2.6.32-52.el6]Aristeu Rozanski [2.6.32-51.el6]Aristeu Rozanski [2.6.32-50.el6]Aristeu Rozanski [2.6.32-49.el6]Aristeu Rozanski [2.6.32-48.el6]Aristeu Rozanski [2.6.32-47.el6]Aristeu Rozanski [2.6.32-46.el6]Aristeu Rozanski [2.6.32-45.el6]Aristeu Rozanski [2.6.32-44.el6]Aristeu Rozanski [2.6.32-43.el6]Aristeu Rozanski [2.6.32-42.el6]Aristeu Rozanski [2.6.32-41.el6]Aristeu Rozanski [2.6.32-40.el6]Aristeu Rozanski [2.6.32-39.el6]Aristeu Rozanski [2.6.32-38.el6]Aristeu Rozanski [2.6.32-37.el6]Aristeu Rozanski [2.6.32-36.el6]Aristeu Rozanski [2.6.32-35.el6]Aristeu Rozanski [2.6.32-34.el6]Aristeu Rozanski [2.6.32-33.el6]Aristeu Rozanski [2.6.32-32.el6]Aristeu Rozanski [2.6.32-31.el6]Aristeu Rozanski [2.6.32-30.el6]Aristeu Rozanski [2.6.32-29.el6]Aristeu Rozanski [2.6.32-28.el6]Aristeu Rozanski [2.6.32-27.el6]Aristeu Rozanski [2.6.32-26.el6]Aristeu Rozanski [2.6.32-25.el6]Aristeu Rozanski [2.6.32-24.el6]Aristeu Rozanski [2.6.32-23.el6]Aristeu Rozanski [2.6.32-22.el6]Aristeu Rozanski [2.6.32-21.el6]Aristeu Rozanski [2.6.32-20.el6]Aristeu Rozanski [2.6.32-19.el6]Aristeu Rozanski [2.6.32-18.el6]Aristeu Rozanski [2.6.32-17.el6]Aristeu Rozanski [2.6.32-16.el6]Aristeu Rozanski [2.6.32-15.el6]Aristeu Rozanski [2.6.32-14.el6]Aristeu Rozanski [2.6.32-13.el6]Aristeu Rozanski [2.6.32-12.el6]Aristeu Rozanski [2.6.32-11.el6]Aristeu Rozanski [2.6.32-10.el6]Aristeu Rozanski [2.6.32-9.el6]Aristeu Rozanski [2.6.32-8.el6]Aristeu Rozanski [2.6.32-7.el6]Aristeu Rozanski [2.6.32-6.el6]Aristeu Rozanski [2.6.32-5.el6]Aristeu Rozanski [2.6.32-4.el6]Aristeu Rozanski [2.6.32-3.el6]Aristeu Rozanski [2.6.32-2.el6]Aristeu Rozanski [2.6.32-1.el6]Aristeu Rozanski [2.6.32-0.54.el6]Aristeu Rozanski [2.6.32-0.53.el6]Aristeu Rozanski [2.6.32-0.52.el6]Aristeu Rozanski [2.6.32-0.51.el6]Aristeu Rozanski [2.6.32-0.50.el6]- [netdrv] net/mlx4_en: Wake TX queues only when there's enough room (Don Dutile) [1309893] - [netdrv] revert " net/mlx4_core: Fix mailbox leak in error flow when performing update qp" (Don Dutile) [1309893] - [netdrv] revert "mlx4-en: add missing patch to init rss_rings in get_profile" (Don Dutile) [1309893] - [netdrv] revert "mlx4-en: disable traffic class queueing by default" (Don Dutile) [1309893]- [netdrv] mlx4-en: disable traffic class queueing by default (Don Dutile) [1309893] - [netdrv] mlx4-en: add missing patch to init rss_rings in get_profile (Don Dutile) [1309893] - [netdrv] net/mlx4_core: Fix mailbox leak in error flow when performing update qp (Don Dutile) [1309893]- [netdrv] cxgb4: add device ID for few T5 adapters (Sai Vemuri) [1252598] - [netdrv] cxgb4: Fix for write-combining stats configuration (Sai Vemuri) [1252598] - [netdrv] cxgb4: Fix tx flit calculation (Sai Vemuri) [1252598] - [netdrv] cxgb4: changes for new firmware 1.14.4.0 (Sai Vemuri) [1252598] - [netdrv] cxgb4: memory corruption in debugfs (Sai Vemuri) [1252598] - [netdrv] cxgb4: Force uninitialized state if FW in adapter is unsupported (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add MPS tracing support (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add some more details to sge qinfo (Sai Vemuri) [1252598] - [netdrv] cxgb4: missing curly braces in t4_setup_debugfs (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add support to dump edc bist status (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add debugfs support to dump meminfo (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Read correct FL congestion threshold for T5 and T6 (Sai Vemuri) [1252598] - [netdrv] cxgb4: Allow firmware flash, only if cxgb4 is the master driver (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add debugfs entry to enable backdoor access (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Fix check to use new User Doorbell mechanism (Sai Vemuri) [1252598] - [netdrv] cxgb4: Enable cim_la dump to support T6 (Sai Vemuri) [1252598] - [netdrv] cxgb4: Read stats for only available channels (Sai Vemuri) [1252598] - [netdrv] cxgb4: Update register ranges for T6 adapter (Sai Vemuri) [1252598] - [netdrv] cxgb4: Don't use entire L2T table, use only its slice (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add PCI device ids for few more T5 and T6 adapters (Sai Vemuri) [1252598] - [netdrv] cxgb4: Fix incorrect sequence numbers shown in devlog (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add PCI device ID for custom T522 & T520 adapter (Sai Vemuri) [1252598] - [infiniband] iw_cxgb4: support for bar2 qid densities exceeding the page size (Sai Vemuri) [1252598] - [netdrv] cxgb4: Support for user mode bar2 mappings with T4 (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add debugfs entry to dump channel rate (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add debugfs entry to dump CIM PIF logic analyzer contents (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add a debugfs entry to dump CIM MA logic analyzer logs (Sai Vemuri) [1252598] - [netdrv] cxgb4: Fix static checker warning (Sai Vemuri) [1252598] - [netdrv] cxgb4: Use FW LDST cmd to access TP_PIO_ADDR, TP_PIO_DATA register first (Sai Vemuri) [1252598] - [netdrv] cxgb4: program pci completion timeout (Sai Vemuri) [1252598] - [netdrv] cxgb4: Set mac addr from vpd, when we can't contact firmware (Sai Vemuri) [1252598] - [netdrv] cxgb4: Rename t4_link_start to t4_link_l1cfg (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add sge ec context flush service (Sai Vemuri) [1252598] - [netdrv] cxgb4: Free Virtual Interfaces in remove routine (Sai Vemuri) [1252598] - [netdrv] cxgb4: Remove WOL get/set ethtool support (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add support to dump loopback port stats (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add support in ethtool to dump channel stats (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add ethtool support to get adapter stats (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Adds SRIOV driver changes for T6 adapter (Sai Vemuri) [1252598] - [netdrv] cxgb4: Adds support for T6 adapter (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add is_t6 macro and T6 register ranges (Sai Vemuri) [1252598] - [netdrv] cxgb4: remove unused fn to enable/disable db coalescing (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: function and argument name cleanup (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add debugfs facility to inject FL starvation (Sai Vemuri) [1252598] - [netdrv] cxgb4: Add PHY firmware support for T420-BT cards (Sai Vemuri) [1252598] - [netdrv] cxgb4: Update T4/T5 adapter register ranges (Sai Vemuri) [1252598] - [netdrv] cxgb4: Optimize and cleanup setup memory window code (Sai Vemuri) [1252598] - [netdrv] cxgb4: replace ntohs, ntohl and htons, htonl calls with the generic byteorder (Sai Vemuri) [1252598] - [netdrv] cxgb4: Remove dead function t4_read_edc and t4_read_mc (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Cleanup macros, add comments and add new MACROS (Sai Vemuri) [1252598] - [netdrv] cxgb4: Initialize RSS mode for all Ports (Sai Vemuri) [1252598] - [netdrv] cxgb4: Discard the packet if the length is greater than mtu (Sai Vemuri) [1252598] - [netdrv] cxgb4: Move SGE Ingress DMA state monitor (Don Dutile) [1252598] - [netdrv] cxgb4: Add device node to ULD info (Don Dutile) [1252598] - [netdrv] cxgb4: Pass in a Congestion Channel Map to t4_sge_alloc_rxq (Sai Vemuri) [1252598] - [netdrv] cxgb4: Enable congestion notification from SGE for IQs and FLs (Sai Vemuri) [1252598] - [netdrv] cxgb4: Make sure that Freelist size is larger than Egress Congestion Threshold (Sai Vemuri) [1252598] - [infiniband] iw_cxgb4: Cleanup register defines/MACROS (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Fix sparse warnings (Sai Vemuri) [1252598] - [netdrv] cxgb4: Improve IEEE DCBx support, other minor open-lldp fixes (Sai Vemuri) [1252598] - [scsi] cxgb4i: Call into recently added cxgb4 ipv6 api (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Fix queue allocation for 40G adapter (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Initialize mdio_addr before using it (Sai Vemuri) [1252598] - [netdrv] cxgb4vf: Fix ethtool get_settings for VF driver (Sai Vemuri) [1252598] - [netdrv] csiostor: Cleanup macros/register defines related to port and VI (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Fix DCB priority groups being returned in wrong order (Sai Vemuri) [1252598] - [netdrv] cxgb4: dcb open-lldp interop fixes (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Fix bug in DCB app deletion (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Handle dcb enable correctly (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Improve handling of DCB negotiation or loss thereof (Sai Vemuri) [1252598] - [netdrv] cxgb4: IEEE fixes for DCBx state machine (Sai Vemuri) [1252598] - [netdrv] cxgb4: Fix endian bug introduced in cxgb4 dcb patchset (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Makefile & Kconfig changes for DCBx support (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Integrate DCBx support into cxgb4 module. Register dbcnl_ops to give access to DCBx functions (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Add DCBx support codebase and dcbnl_ops (Sai Vemuri) [1252598] - [netdrv] cxgb4 : Update fw interface file for DCBx support. Adds all the required fields to fw interface to communicate DCBx info (Sai Vemuri) [1252598]- [documentation] filesystems: describe the shared memory usage/accounting (Rodrigo Freire) [1293615] - [kernel] Fix cgclear failure when encountering the rpciod kernel thread (Larry Woodman) [1220828] - [netdrv] qlcnic: constify qlcnic_mbx_ops structure (Harish Patil) [1252119] - [netdrv] net: qlcnic: delete redundant memsets (Harish Patil) [1252119] - [netdrv] qlcnic: Update version to 5.3.63 (Harish Patil) [1252119] - [netdrv] qlcnic: Don't use kzalloc unncecessarily for allocating large chunk of memory (Harish Patil) [1252119] - [netdrv] qlcnic: Add new VF device ID 0x8C30 (Harish Patil) [1252119] - [netdrv] qlcnic: Print firmware minidump buffer and template header addresses (Harish Patil) [1252119] - [netdrv] qlcnic: Add support to enable capability to extend minidump for iSCSI (Harish Patil) [1252119] - [netdrv] qlcnic: Rearrange ordering of header files inclusion (Harish Patil) [1252119] - [netdrv] qlcnic: Fix corruption while copying (Harish Patil) [1252119] - [netdrv] net: qlcnic: Deletion of unnecessary memset (Harish Patil) [1252119] - [netdrv] net: qlcnic: clean up sysfs error codes (Harish Patil) [1252119] - [netdrv] qlcnic: codespell comment spelling fixes (Harish Patil) [1252119] - [netdrv] qlcnic: Fix typo in printk messages (Harish Patil) [1252119] - [netdrv] qlcnic: Fix trivial typo in comment (Harish Patil) [1252119] - [netdrv] qlogic: Deletion of unnecessary checks before two function calls (Harish Patil) [1252119] - [netdrv] qlcnic: Fix dump_skb output (Harish Patil) [1252119] - [virt] kvm: x86: Don't report guest userspace emulation error to userspace (Bandan Das) [1163764] {CVE-2010-5313 CVE-2014-7842} - [virt] kvm: inject #UD if instruction emulation fails and exit to userspace (Bandan Das) [1163764] {CVE-2010-5313 CVE-2014-7842} - [netdrv] iwlwifi: Add new PCI IDs for the 8260 series (John Linville) [1286871 1308636] - [netdrv] iwlwifi: pcie: fix (again) prepare card flow (John Linville) [1286871 1308636] - [netdrv] nl80211: Fix potential memory leak from parse_acl_data (John Linville) [1286871 1308636] - [netdrv] mac80211: fix divide by zero when NOA update (John Linville) [1286871 1308636] - [netdrv] mac80211: allow null chandef in tracing (John Linville) [1286871 1308636] - [netdrv] mac80211: fix driver RSSI event calculations (John Linville) [1286871 1308636] - [netdrv] mac80211: Fix local deauth while associating (John Linville) [1286871 1308636] - [fs] xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly (Brian Foster) [747564] - [fs] mm: introduce set_page_writeback_keepwrite() (Brian Foster) [747564] - [fs] xfs: always log the inode on unwritten extent conversion (Zorro Lang) [1018465] - [fs] vfs: fix data corruption when blocksize < pagesize for mmaped data (Lukas Czerner) [1205014]- [infiniband] rdma/ocrdma: Bump up ocrdma version number to 11.0.0.0 (Don Dutile) [1253021] - [infiniband] rdma/ocrdma: Prevent CQ-Doorbell floods (Don Dutile) [1253021] - [infiniband] rdma/ocrdma: Check resource ids received in Async CQE (Don Dutile) [1253021] - [infiniband] rdma/ocrdma: Avoid a possible crash in ocrdma_rem_port_stats (Don Dutile) [1253021] - [kernel] driver core : Fix use after free of dev->parent in device_shutdown (Tomas Henzl) [1303215] - [kernel] driver core: fix shutdown races with probe/remove (Tomas Henzl) [1303215] - [kernel] driver core: Protect device shutdown from hot unplug events (Tomas Henzl) [1303215] - [netdrv] bnx2x: Add new device ids under the Qlogic vendor (Michal Schmidt) [1304252] - [kernel] klist: fix starting point removed bug in klist iterators (Ewan Milne) [1190273] - [md] raid1: extend spinlock to protect raid1_end_read_request against inconsistencies (Jes Sorensen) [1309154] - [md] raid1: fix test for 'was read error from last working device' (Jes Sorensen) [1309154] - [s390] cio: update measurement characteristics (Hendrik Brueckner) [1304257] - [s390] cio: ensure consistent measurement state (Hendrik Brueckner) [1304257] - [s390] cio: fix measurement characteristics memleak (Hendrik Brueckner) [1304257] - [fs] pipe: fix offset and len mismatch on pipe_iov_copy_to_user failure (Seth Jennings) [1302223] {CVE-2016-0774}- [kernel] isolcpus: Output warning when the 'isolcpus=' kernel parameter is invalid (Prarit Bhargava) [1304216] - [mmc] Prevent 1.8V switch for SD hosts that don't support UHS modes (Petr Oros) [1307065] - [mmc] sdhci-pci-o2micro: Fix Dell E5440 issue (Petr Oros) [1307065] - [mmc] sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support (Petr Oros) [1307065] - [watchdog] hung task debugging: Inject NMI when hung and going to panic (Don Zickus) [1305919] - [watchdog] add sysctl knob hardlockup_panic (Don Zickus) [1305919] - [watchdog] perform all-CPU backtrace in case of hard lockup (Don Zickus) [1305919] - [drm] i915: Drop intel_update_sprite_watermarks (Lyude) [1306425] - [drm] i915: Setup DDI clk for MST on SKLi (Lyude) [1306425] - [drm] i915: Explicitly check for eDP in skl_ddi_pll_select (Lyude) [1306425] - [drm] i915: Don't skip mst encoders in skl_ddi_pll_select (Lyude) [1306425] - [scsi] qla2xxx: Set relogin flag when we fail to queue login requests (Chad Dupuis) [1306033] - [s390] kernel/syscalls: correct syscall number for __NR_setns (Hendrik Brueckner) [1219586] - [edac] sb_edac: fix channel/csrow emulation on Broadwell (Aristeu Rozanski) [1301230] - [usb] xhci: Workaround to get Intel xHCI reset working more reliably (Gopal Tiwari) [1146875] - [fs] revert "revert "dlm: print kernel message when we get an error from kernel_sendpage" (Robert S Peterson) [1264492] - [fs] revert "[fs] dlm: Replace nodeid_to_addr with kernel_getpeername" (Robert S Peterson) [1264492] - [s390] sclp: Determine HSA size dynamically for zfcpdump (Hendrik Brueckner) [1303557] - [s390] sclp: Move declarations for sclp_sdias into separate header file (Hendrik Brueckner) [1303557] - [netdrv] mlx4_en: add missing tx_queue init in en_start_port (Don Dutile) [1304016]- [s390] qeth: initialize net_device with carrier off (Hendrik Brueckner) [1198666] - [netdrv] Add rtlwifi driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525]- [powerpc] pseries: Limit EPOW reset event warnings (Gustavo Duarte) [1300202] - [perf] tools: Do not show trace command if it's not compiled in (Jiri Olsa) [1212539] - [perf] tools spec: Disable trace command on ppc arch (Jiri Olsa) [1212539] - [netdrv] mlx4_en: Fix the blueflame in TX path (Kamal Heib) [1295872 1303661 1303863 1304272] - [netdrv] mlx4_en: Fix HW timestamp init issue upon system startup (Kamal Heib) [1295872 1304272] - [netdrv] mlx4_en: Remove dependency between timestamping capability and service_task (Kamal Heib) [1295872 1304272] - [netdrv] mlx5_core: Fix trimming down IRQ number (Kamal Heib) [1304272] - [x86] Mark Intel Broadwell-DE SoC supported (Steve Best) [1253856] - [s390] zfcpdump: Fix collecting of registers (Hendrik Brueckner) [1303558] - [s390] dasd: fix failfast for disconnected devices (Hendrik Brueckner) [1303559] - [netdrv] bnxt_en: Fix crash in bnxt_free_tx_skbs() during tx timeout (John Linville) [1303703] - [netdrv] bnxt_en: Exclude rx_drop_pkts hw counter from the stack's rx_dropped counter (John Linville) [1303703] - [netdrv] bnxt_en: Ring free response from close path should use completion ring (John Linville) [1303703] - [block] Fix q_suspended logic error for io submission (David Milburn) [1227342] - [block] nvme: No lock while DMA mapping data (David Milburn) [1227342]- [drm] nouveau: remove stray header (Rob Clark) [1249807] - [kernel] ntp: Do leapsecond adjustment in adjtimex read path (Jerry Snitselaar) [1224408] - [kernel] time: Prevent early expiry of hrtimers CLOCK_REALTIME at the leap second edge (Jerry Snitselaar) [1224408] - [kernel] ntp: Introduce and use SECS_PER_DAY macro instead of 86400 (Jerry Snitselaar) [1224408] - [kernel] hrtimer: Make offset update smarter (Jerry Snitselaar) [1224408] - [kernel] timekeeping: Use ktime_t data for ktime_get_update_offsets (Jerry Snitselaar) [1224408] - [kernel] timekeeping: Provide internal ktime_t based data (Jerry Snitselaar) [1224408] - [kernel] timekeeping: indicate clock was set (Jerry Snitselaar) [1224408] - [kernel] timekeeping: Avoid possible deadlock from clock_was_set_delayed (Jerry Snitselaar) [1224408]- [netdrv] ixgbevf: Minor cleanups (John Greene) [1249245] - [netdrv] ixgbevf: fix spoofed packets with random MAC (John Greene) [1249245] - [netdrv] ixgbevf: use ether_addr_copy instead of memcpy (John Greene) [1249245] - [netdrv] ixgbevf: Limit lowest interrupt rate for adaptive interrupt moderation to 12K (John Greene) [1249245] - [netdrv] drivers/net/intel: use napi_complete_done - ixgbevf only (John Greene) [1249245] - [netdrv] ixgbevf: add support for reporting RSS key and hash table for X550 (John Greene) [1249245] - [netdrv] ixgbevf: Set Rx hash type for ingress packets (John Greene) [1249245] - [netdrv] ixgbevf: fold ixgbevf_pull_tail into ixgbevf_add_rx_frag (John Greene) [1249245] - [netdrv] ixgbevf: Use dev_kfree_skb_any in xmit path, not dev_kfree_skb (John Greene) [1249245] - [netdrv] ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key (John Greene) [1249245] - [netdrv] ixgbevf: Add RSS Key query code (John Greene) [1249245] - [netdrv] ixgbevf: Add a RETA query code (John Greene) [1249245] - [netdrv] ixgbevf: Use ether_addr_copy instead of memcpy (John Greene) [1249245] - [netdrv] ixgbevf: Fix code comments and whitespace (John Greene) [1249245] - [netdrv] ethernet: codespell comment spelling fixes (John Greene) [1249245] - [netdrv] ixgbevf: combine all of the tasks into a single service task (John Greene) [1249245] - [netdrv] ixgbevf: rewrite watchdog task to function similar to igbvf (John Greene) [1249245] - [netdrv] ethernet/intel: Use eth_skb_pad and skb_put_padto helpers - ixgbevf only (John Greene) [1249245] - [netdrv] ixgbevf: add netpoll support (John Greene) [1249244 1277784] - [netdrv] ixgbevf: compare total_rx_packets and budget in ixgbevf_clean_rx_irq (John Greene) [1249245] - [netdrv] ixgbevf: Change receive model to use double buffered page based receives (John Greene) [1249245] - [netdrv] ixgbevf: convert to ndo_fix_features - part 2 (John Greene) [1249244] - [netdrv] ixgbe: do not report 2.5 Gbps as supported (John Greene) [1249244] - [netdrv] ixgbe: Clear stale pool mappings (John Greene) [1249244] - [netdrv] ixgbe: Reorder search to work from the top down instead of bottom up (John Greene) [1249244] - [netdrv] ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVF (John Greene) [1249244] - [netdrv] ixgbe: Simplify configuration of setting VLVF and VLVFB (John Greene) [1249244] - [netdrv] ixgbe: Reduce VT code indent in set_vfta by introducing jump label (John Greene) [1249244] - [netdrv] ixgbe: Simplify definitions for regidx and bit in set_vfta (John Greene) [1249244] - [netdrv] ixgbe: Fix SR-IOV VLAN pool configuration (John Greene) [1249244] - [netdrv] ixgbe: Return error on failure to allocate mac_table (John Greene) [1249244] - [netdrv] ixgbe: Always turn PHY power on when requested (John Greene) [1249244] - [netdrv] ixgbe: Save VF info and take references (John Greene) [1249244] - [netdrv] ixgbe: Wait for master disable to be set (John Greene) [1249244] - [netdrv] ixgbe: Correct spec violations by waiting after reset (John Greene) [1249244] - [netdrv] ixgbe: Refactor MAC address configuration code (John Greene) [1249244] - [netdrv] ixgbe: Use private workqueue to avoid certain possible hangs (John Greene) [1249244] - [netdrv] ixgbe: Add support for newer thermal alarm (John Greene) [1249244] - [netdrv] ixgbe: Prevent KR PHY reset in ixgbe_init_phy_ops_x550em (John Greene) [1249244] - [netdrv] ixgbe: Remove CS4227 diagnostic code (John Greene) [1249244] - [netdrv] ixgbe: Add KR mode support for CS4227 chip (John Greene) [1249244] - [netdrv] ixgbe: Fix handling of NAPI budget when multiple queues are enabled per vector (John Greene) [1249244] - [netdrv] ixgbe: fix multiple kernel-doc errors (John Greene) [1249244] - [netdrv] intel: use napi_complete_done (John Greene) [1249244] - [netdrv] drivers/net: get rid of unnecessary initializations in .get_drvinfo (John Greene) [1249244] - [netdrv] ixgbe: Check for setup_internal_link method (John Greene) [1249244] - [netdrv] ixgbe: Fix CS4227-related semaphore error on reset failure (John Greene) [1249244] - [netdrv] ixgbe: disable LRO by default (John Greene) [1249244] - [netdrv] ixgbe: add flow control ethertype to the anti-spoofing filter (John Greene) [1249244] - [netdrv] ixgbe: Advance version to 4.2.1 (John Greene) [1249244] - [netdrv] ixgbe: X540 thermal warning interrupt not a GPI (John Greene) [1249244] - [netdrv] ixgbe: Fix FCRTH value in VM-to-VM loopback mode (John Greene) [1249244] - [netdrv] ixgbe: Only clear adapter_stopped if ixgbe_setup_fc succeeded (John Greene) [1249244] - [netdrv] ixgbe: Correct several flaws with with DCA setup (John Greene) [1249244] - [netdrv] ixgbe: Add new X550EM SFP+ device ID (John Greene) [1249244] - [netdrv] ixgbe: Update ixgbe_disable_pcie_master flow for X550 (John Greene) [1249244] - [netdrv] ixgbe: Add small packet padding support for X550 (John Greene) [1249244] - [netdrv] ixgbe: Correct setting of RDRXCTL register for X550 devices (John Greene) [1249244] - [netdrv] ixgbe: Correct error path in semaphore handling (John Greene) [1249244] - [netdrv] ixgbe: Limit SFP polling rate (John Greene) [1249244] - [netdrv] ixgbe: Allow SFP+ on more than 82598 and 82599 (John Greene) [1249244] - [netdrv] ixgbe: Add logic to reset CS4227 when needed (John Greene) [1249244] - [netdrv] ixgbe: Fix 1G and 10G link stability for X550EM_x SFP+ (John Greene) [1249244] - [netdrv] ixgbe: Add X550EM_x dual-speed SFP+ support (John Greene) [1249244] - [netdrv] ixgbe: Allow reduced delays during SFP detection (John Greene) [1249244] - [netdrv] ixgbe: Clear I2C destination location (John Greene) [1249244] - [netdrv] ixgbe: Enable bit-banging mode on X550 (John Greene) [1249244] - [netdrv] ixgbe: Set lan_id before first I2C eeprom access (John Greene) [1249244] - [netdrv] ixgbe: Provide unlocked I2C methods (John Greene) [1249244] - [netdrv] ixgbe: Provide I2C combined on X550EM (John Greene) [1249244] - [netdrv] ixgbe: Add X550EM support for SFP insertion interrupt (John Greene) [1249244] - [netdrv] ixgbe: Accept SFP not present errors on all devices (John Greene) [1249244] - [netdrv] ixgbe: Add fdir support for SCTP on X550 (John Greene) [1249244] - [netdrv] ixgbe: Add SFP+ detection for X550 hardware (John Greene) [1249244] - [netdrv] ixgbe: Teardown SR-IOV before unregister_netdev (John Greene) [1249244] - [netdrv] ixgbe: fix issue with SFP events with new X550 devices (John Greene) [1249244] - [netdrv] ixgbe: Resolve "initialized field overwritten" warnings (John Greene) [1249244] - [netdrv] ixgbe: Add support for reporting 2.5G link speed (John Greene) [1249244] - [netdrv] ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 (John Greene) [1249244] - [netdrv] ixgbe: support for ethtool set_rxfh (John Greene) [1249244] - [netdrv] ixgbe: Avoid needless PHY access on copper phys (John Greene) [1249244] - [netdrv] ixgbe: cleanup to use cached mask value (John Greene) [1249244] - [netdrv] ixgbe: Remove second instance of lan_id variable (John Greene) [1249244] - [netdrv] ixgbe: use kzalloc for allocating one thing (John Greene) [1249244] - [netdrv] ixgbe: Remove unused PCI bus types (John Greene) [1249244] - [netdrv] ixgbe: add new bus type for intergrated I/O interface (IOSF) (John Greene) [1249244] - [netdrv] ixgbe: add get_bus_info method for X550 (John Greene) [1249244] - [netdrv] ixgbe: Add support for entering low power link up state (John Greene) [1249244] - [netdrv] ixgbe: Add support for VXLAN RX offloads (John Greene) [1249244] - [netdrv] ixgbe: Add support for UDP-encapsulated tx checksum offload (John Greene) [1249244] - [netdrv] ixgbe: Check whether FDIRCMD writes actually complete (John Greene) [1249244] - [netdrv] ixgbe: Assign set_phy_power dynamically where needed (John Greene) [1249244] - [netdrv] ixgbe: add new function to check for management presence (John Greene) [1249244] - [netdrv] ixgbe: Simplify port-specific macros (John Greene) [1249244] - [netdrv] ixgbe: Don't report flow director filter's status (John Greene) [1249244] - [netdrv] ixgbe: Specify Rx hash type WRT Rx desc RSS type (John Greene) [1249244] - [netdrv] ixgbe: only report generic filters in get_ts_info (John Greene) [1249244] - [netdrv] ixgbe: Remember to write ixfi changes after modifying (John Greene) [1249244] - [netdrv] ixgbe: fix X550 default set_phy_power method (John Greene) [1249244] - [netdrv] ixgbe: Set lan_id before using I2C (John Greene) [1249244] - [netdrv] ixgbe: add link check for X550 copper (John Greene) [1249244] - [netdrv] ixgbe: Add support for another X550 device (John Greene) [1249244] - [netdrv] ixgbe: fix X550 PHY function pointers (John Greene) [1249244] - [netdrv] ixgbe: fix X550 devices init flow (John Greene) [1249244] - [netdrv] ixgbe: fix bug in not clearing counters for X550 devices (John Greene) [1249244] - [netdrv] ixgbe: fix issue with sfp events with new X550 devices (John Greene) [1249244] - [netdrv] ixgbe: add support for interrupts from X550 external PHY (John Greene) [1249244] - [netdrv] ixgbe: Add const string for overheat message (John Greene) [1249244] - [netdrv] ixgbe: Add reset for X550 device (John Greene) [1249244] - [netdrv] ixgbe: add X550 support for external PHY and forced 1G/10G support (John Greene) [1249244] - [netdrv] ixgbe: Restore ESDP settings after MAC reset (John Greene) [1249244] - [netdrv] ixgbe: Add a PHY power state method (John Greene) [1249244] - [netdrv] ixgbe: add define for X557 PHY ID (John Greene) [1249244] - [netdrv] ixgbe: add support for WoL and autoneg FC for some X550 devices (John Greene) [1249244] - [netdrv] ixgbe: add array of MAC type dependent values (John Greene) [1249244] - [netdrv] ixgbe: Use a signed type to hold error codes (John Greene) [1249244] - [netdrv] ixgbe: Release semaphore bits in the right order (John Greene) [1249244] - [netdrv] ixgbe: Fix IOSF SB access issues (John Greene) [1249244] - [netdrv] ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set (John Greene) [1249244] - [netdrv] ixgbe: Add a RETA query command to VF-PF channel API (John Greene) [1249244] - [netdrv] ixgbe: Add a new netdev op to allow/prevent a VF from querying an RSS info (John Greene) [1186052 1246195 1249244 1271403] - [netdrv] ixgbe: Add the appropriate ethtool ops to query RSS indirection table and key (John Greene) [1249244] - [netdrv] ixgbe: Refactor the RSS configuration code (John Greene) [1249244] - [netdrv] ixgbe: Drop unnecessary call to rcu_barrier (John Greene) [1249244] - [netdrv] ixgbe: adds x550 specific FCoE offloads (John Greene) [1249244] - [netdrv] ethernet: Use bool function returns of true/false instead of 1/0 (John Greene) [1249244] - [netdrv] ixgbe: cleanup make ixgbe_set_ethertype_anti_spoofing_X550 static (John Greene) [1249244] - [netdrv] ixgbe: Clean up type inconsistency (John Greene) [1249244] - [netdrv] ixgbe: add new wrapper for X550 support (John Greene) [1249244] - [netdrv] ethernet: codespell comment spelling fixes (John Greene) [1249244] - [netdrv] ixgbe: add Tx anti spoofing support (John Greene) [1249244] - [netdrv] ixgbe: add VXLAN offload support for X550 devices (John Greene) [1249244] - [netdrv] ixgbe: improve mac filter handling (John Greene) [1249244] - [netdrv] ixgbe: enable l2 forwarding acceleration for macvlans (John Greene) [1249244] - [netdrv] ixgbe: show <2 for encoding loss on PCIe Gen3 (John Greene) [1249244] - [netdrv] ixgbe: call pcie_get_mimimum_link to check if device has enough bandwidth (John Greene) [1249244] - [netdrv] revert "ixgbe: Update ixgbe driver to use __netdev_pick_tx in ixgbe_select_queue" (John Greene) [1249244] - [netdrv] ixgbe: Add function for setting XPS queue mapping (John Greene) [1249244] - [netdrv] ixgbe: finish ixgbe: Update ixgbe to use new vlan accleration (John Greene) [1249244] - [netdrv] net/mlx5e: Assign random MAC address if needed (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Write vlan list into vport context (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Write UC/MC list and promisc mode into vport context (Kamal Heib) [1246031] - [netdrv] net/mlx5: Introduce access functions to modify/query vport vlans (Kamal Heib) [1246031] - [netdrv] net/mlx5: Introduce access functions to modify/query vport promisc mode (Kamal Heib) [1246031] - [netdrv] net/mlx5: Introduce access functions to modify/query vport state (Kamal Heib) [1246031] - [netdrv] net/mlx5: Introduce access functions to modify/query vport mac lists (Kamal Heib) [1246031] - [netdrv] net/mlx5: Update access functions to Query/Modify vport MAC address (Kamal Heib) [1246031] - [netdrv] net/mlx5: Add HW capabilities and structs for SR-IOV E-Switch (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Use the right DMA free function on TX path (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Max mtu comparison fix (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Added self loopback prevention (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Fix inline header size calculation (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Fix LSO vlan insertion (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Re-eanble client vlan TX acceleration (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Return error in case mlx5e_set_features fails (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Don't allow more than max supported channels (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Use the the real irqn in eq->irqn (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Wait for RX buffers initialization in a more proper manner (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Avoid NULL pointer access in case of configuration failure (Kamal Heib) [1246031] - [netdrv] ib/mlx5: Remove dead fmr code (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Wait for FW readiness on startup (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Add pci error handlers to mlx5_core driver (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix internal error detection conditions (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Use private health thread for each device (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Use accessor functions to read from device memory (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Prepare cmd interface to system errors handling (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Improve mlx5 messages (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Update health syndromes (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix wrong name in struct (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: New init and exit flow for mlx5_core (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix notification of page supplement error (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix async commands return code (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Remove redundant "err" variable usage (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix struct type in the DESTROY_TIR/TIS device commands (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Priv state flag not rolled-back upon netdev open error (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Disable VLAN filter in promiscuous mode (Kamal Heib) [1246031] - [netdrv] net/mlx5: Fix typo in mlx5_query_port_pvlc (Kamal Heib) [1246031] - [netdrv] ib/mlx5: Remove dead code from alloc_cached_mr (Kamal Heib) [1246031] - [netdrv] mlx5: Expose correct page_size_cap in device attributes (Kamal Heib) [1246031] - [netdrv] mlx5: Fix missing device local_dma_lkey (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Avoid accessing NULL pointer at ndo_select_queue (Kamal Heib) [1246031] - [netdrv] mlx5e: Fix sparse warnings in mlx5e_handle_csum (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Support RX CHECKSUM_COMPLETE (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Support ethtool get/set_pauseparam (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Ethtool link speed setting fixes (Kamal Heib) [1246031] - [netdrv] net/mlx5e: HW LRO changes/fixes (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Support smaller RX/TX ring sizes (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Add ethtool RSS configuration options (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Make RSS indirection table size a constant (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Have a single RSS Toeplitz hash key (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Support physical port counters (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Disable async events before unregister_netdev (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Rename/move functions following the ndo_stop flow change (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Light-weight netdev open/stop (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Introduce access function to modify RSS/LRO params (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Introduce the "Drop RQ" (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Unify the RX flow (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove the mlx5e_update_priv_params() function (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Introduce create/destroy RSS indir table access functions (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Do not use netdev_err before the netdev is registered (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Avoid redundant de-reference (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove redundant assignment of sq->user_index (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove redundant field mlx5e_priv->num_tc (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Use hard-coded 4K page size for RQ/SQ/CQ (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Check the return value of mlx5_command_exec (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Input IPSEC.SPI into the RX RSS hash function (Kamal Heib) [1246031] - [netdrv] net/mlx5e: cosmetics: use BIT instead of "1 <<", and others (Kamal Heib) [1246031] - [netdrv] net/mlx5e: TX latency optimization to save DMA reads (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Allocate DMA coherent memory on reader NUMA node (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Support ETH_RSS_HASH_XOR (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Set log_uar_page_sz for non 4K page size architecture (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Prefetch skb data on RX (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Pop cq outside mlx5e_get_cqe (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove mlx5e_cq.sqrq back-pointer (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove extra spaces (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Avoid TX CQE generation if more xmit packets expected (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Avoid redundant dev_kfree_skb() upon NOP completion (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Remove re-assignment of wq type in mlx5e_enable_rq (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Use skb_shinfo(skb)->gso_segs rather than counting them (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Static mapping of netdev priv resources to/from netdev TX queues (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Add transport domain to the ethernet TIRs/TISs (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Add transport domain alloc/dealloc support (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Support NETIF_F_SG (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Enforce max flow-tables level >= 3 (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Disable client vlan TX acceleration (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Add HW cacheline start padding (Kamal Heib) [1246031] - [netdrv] net/mlx5e: Fix HW MTU settings (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: fix an error code (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Fix static checker warnings around system guid query flow (Kamal Heib) [1246031] - [netdrv] mlx5: Enable mutual support for IB and Ethernet (Kamal Heib) [1246031] - [netdrv] ib/mlx5: Don't create IB instance over Ethernet ports (Kamal Heib) [1246031] - [netdrv] ib/mlx5: Avoid using the MAD_IFC command under ISSI > 0 mode (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Add more query port helpers (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Use port number when querying port ptys (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Use port number in the query port mtu helpers (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Get vendor-id using the query adapter command (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Add new query HCA vport commands (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Make the vport helpers available for the IB driver too (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Check the return bitmask when querying ISSI (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Enable XRCs and SRQs when using ISSI > 0 (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Apply proper name convention to helpers (Kamal Heib) [1246031] - [netdrv] net/mlx5_en: Add missing check for memory allocation failure (Kamal Heib) [1246031] - [netdrv] net/mlx5: Extend mlx5_core to support ConnectX-4 Ethernet functionality (Kamal Heib) [1246031] - [netdrv] net/mlx5: Ethernet resource handling files (Kamal Heib) [1246031] - [netdrv] net/mlx5: Ethernet Datapath files (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Set/Query port MTU commands (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Modify CQ moderation parameters (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Implement get/set port status (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Implement access functions of ptys register fields (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: New device capabilities handling (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: HW data structs/types definitions cleanup (Kamal Heib) [1246031] - [netdrv] net/mlx5_core: Set irq affinity hints (Kamal Heib) [1246031] - [netdrv] net/mlx5_core, mlx5_ib: Do not use vmap on coherent memory (Kamal Heib) [1246031] - [drm] revert 'drm/i915: resume MST after reading back hw state' (Rob Clark) [1292402] - [drm] i915: Wait for mst to finish suspending before disabling interrupts (Rob Clark) [1292402] - [drm] upstream sync to 4.4 (Rob Clark) [1135349 1248507] - [drm] nouveau/gr/gf117-: assume no PPC if NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK is zero (Rob Clark) [1249814] - [drm] nouveau/gr/gf117-: read NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK from correct GPC (Rob Clark) [1249814] - [drm] nouveau/gr/gf100-: split out per-gpc address calculation macro (Rob Clark) [1249814] - [drm] nouveau/bios: return actual size of the buffer retrieved via _ROM (Rob Clark) [1249814] - [drm] nouveau/pmu: remove whitelist for PGOB-exit WAR, enable by default (Rob Clark) [1218795 1218796] - [drm] nouveau/pmu/gk107: enable PGOB codepaths (Rob Clark) [1218795 1218796] - [drm] nouveau/pmu/gk104: check fuse to determine presence of PGOB (Rob Clark) [1218795 1218796] - [drm] radeon: Retry DDC probing on DVI on failure if we got an HPD interrupt (Rob Clark) [1249814] - [drm] drm: import vmwgfx (Rob Clark) [1281592] - [firmware] add i915 GuC firmware (Rob Clark) [1135349] - [firmware] add i915 DMC firmware (Rob Clark) [1135349] - [drm] upstream sync to 4.3 (Rob Clark) [1249814] - [drm] upstream sync to 4.2 (Rob Clark) [1249812 1274061] - [drm] upstream sync to 4.1 (Rob Clark) [1249810] - [drm] upstream sync to 4.0 (Rob Clark) [1249807] - [drm] upstream sync to 3.19 (Rob Clark) [1249806] - [kernel] iommu: Export intel_iommu_enabled to signal when iommu is in use (Rob Clark) [1249806] - [kernel] time: export nsec_to_jiffies64 (Rob Clark) [1249806] - [kernel] component: fix bug with legacy API (Rob Clark) [1249806] - [kernel] component: add support for component match array (Rob Clark) [1249806] - [kernel] component: ignore multiple additions of the same component (Rob Clark) [1249806] - [kernel] component: fix missed cleanup in case of devres failure (Rob Clark) [1249806] - [kernel] base: fix devres handling for master device (Rob Clark) [1249806] - [kernel] base: provide an infrastructure for componentised subsystems (Rob Clark) [1249806]- [target] fcoe: Add tag support to tcm_fc (Andy Grover) [882092] - [scsi] don't store LUN bits in CDB byte 1 for USB mass-storage devices (Ewan Milne) [1255846] - [scsi] usb-storage: add try_rc_10_first flag (Ewan Milne) [1255846] - [scsi] usb-storage: add flags for VPD pages and REPORT LUNS (Ewan Milne) [1255846] - [mm] hugetlbfs: skip shared VMAs when unmapping private pages to satisfy a fault (Andrea Arcangeli) [1291248]- [infiniband] mlx4_core: Fix fallback from MSI-X to INTx (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/cma: Fix broken AF_IB UD support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/cm: Change reject message type when destroying cm_id (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Update ocrdma version number (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Fail connection for MTU lesser than 512 (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Fix dmac resolution for link local address (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Prevent allocation of DPP PDs if FW doesnt support it (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Fix the request length for RDMA_QUERY_QP mailbox command to FW (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Use VID 0 if PFC is enabled and vlan is not configured (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Fix QP state transition in destroy_qp (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Report EQ full fatal error (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Fix EQ destroy failure during driver unload (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Avoid 'may be used uninitialized' warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] Remove duplicated KERN_ from pr_ uses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: fix test of unsigned variable (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/core: Fix for parsing netlink string attribute (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: use wildcard mapping for getting remote addr info (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ehca: use correct destination for memcpy (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: rds-tcp: only initiate reconnect attempt on outgoing TCP socket (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: rds-tcp: Always create a new rds_sock for an incoming connection (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Work properly with EQ numbers > 256 in SRIOV (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Fix off-by-one in counters manipulation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ipoib/cm: Fix indentation level (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: Remove negative advice dmesg warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Fix unaligned accesses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: change rdma_gid2ip into void function as it always return zero (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: use arch_phys_wc_add (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: add acounting for MTRR (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4: Report the actual address of the remote connecting peer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/nes: Report the actual address of the remote connecting peer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: enforce qp/cq id requirements (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: 32b platform fixes (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cma: Canonize IPv4 on IPV6 sockets properly (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: Fix new sparse warning (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: fix unaligned memory access (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Schedule napi when RX buffers allocation fails (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix unaligned accesses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix MC1 memory offset calculation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Fix ndo_get_iflink (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: drop __GFP_NOFAIL allocation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: check for mapping error (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib_uverbs: Fix pages leak when using XRC SRQs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Fix WQE LSO segment calculation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Remove IPOIB_MCAST_RUN bit (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Save only IPOIB_MAX_PATH_REC_QUEUE skb's (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Handle QP in SQE state (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Update broadcast record values after each successful join request (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipoib: Use one linear skb in RX flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: don't disallow registering region starting at 0x0 (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: disallow registering 0-sized memory region (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Change alias guids default to be host assigned (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Return the admin alias GUID upon host view request (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Raise slave shutdown event upon FLR (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Request alias GUID on demand (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Change init flow to request alias GUIDs for active VFs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Manage admin alias GUID upon admin request (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Set initial admin GUIDs for VFs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Manage alias GUID per VF (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Alias GUID adding persistency support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Don't call t4_slow_intr_handler when we're not the Master PF (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add comment for calculate tx flits and sge length code (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Use device node in page allocation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Freelist starving threshold varies from adapter to adapter (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rds: make sure not to loop forever inside rds_send_xmit (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rds: only use passive connections when addresses match (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Move ethtool related code to a separate file (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Extend struct mlx5_interface to support multiple protocols (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Move completion eqs from mlx5_ib to mlx5_core (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Update module info macros for ConnectX4 Support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Fix Mellanox copyright note (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix Mellanox copyright note (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix a bug in alloc_token (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Avoid usage command work entry after writing command doorbell (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Avoid copying outbox in aysnc command completion (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Use coherent memory for command interface page (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Use the right inbox struct in destroy mkey command (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Clear doorbell record inside mlx5_db_alloc() (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Avoid setting DC requestor/responder resources (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Coding style fix (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix call to mlx5_core_qp_modify (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Allocate firmware pages from device's NUMA node (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Add interface identify support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add SET_PORT opcode modifiers enumeration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Set enhanced QoS support by default when ETS supported (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Warn users of depracated QoS Firmware (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Added qos_vport QP configuration in VST mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Allocate VPPs for each port on PF init (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Query device for QoS per VF support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add mlx4_SET_VPORT_QOS implementation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add mlx4_ALLOCATE_VPP implementation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: New file for QoS related firmware commands (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Aesthetic code changes in multi_func_init (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Make mlx4_is_eth visible inline funcion (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add RSS support for fragmented IP datagrams (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] chelsio cxgb/cxgb3: Make stats_strings arrays const (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Moderate ethtool callback to show more statistics (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Add Flow control statistics display via ethtool (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Protect access to the statistics bitmap (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Support general selective view of ethtool statistics (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Move statistics bitmap setting to the Ethernet driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Create new header file for all statistics info (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Fix port counters statistics bitmask (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: fix boolreturn.cocci warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: update Kconfig and Makefile for FCoE support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: add cxgb4_fcoe.c for FCoE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: add cxgb4_fcoe.h and macro definitions for FCoE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf/csiostor: Make PCI Device ID Tables be "const" (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add device ID for new adapter (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: mlx4_en_set_tx_maxrate() can be static (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add basic support for QP max-rate limiting (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add basic elements for QCN (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Try and provide an RDMA CIQ per cpu (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Move offload Rx queue allocation to separate function (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] debugfs: Provide a file creation function that also takes an initial size (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix to dump devlog, even if FW is crashed (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Disable interrupts and napi before unregistering netdev (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Allocate dynamic mem. for egress and ingress queue maps (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix frame size warning for 32 bit arch (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Call register_netdevice in the proper location (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Set statistics bitmap at port init (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Saturate RoCE port PMA counters in case of overflow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Fix off-by-one in ethtool statistics display (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Verify net device validity on port change event (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rds: avoid potential stack overflow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: fix coccinelle warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Disbale GRO for incoming loopback/selftest packets (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix wrong mask and error flow for the update-qp command (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix PCI-E Memory window interface for big-endian systems (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix incorrect 'c' suffix to pI4, use pISc instead (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: Add blank line after declaration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: Fix checkpatch warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Enable the ODP capability query verb (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Add support for extended query device caps (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4: Don't hang threads forever waiting on WR replies (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Add support for IB stack compliant stats in sysfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Update the dev in reg_create (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: In mlx4_ib_demux_cm, print out GUID in host-endian order (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Bug fixes in mlx4_ib_resize_cq (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Fix memory leak in __mlx4_ib_modify_qp (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Fix deadlock on uverbs modify_qp error flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: When marshaling ucma path from user-space, clear unused fields (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: Fix sizeof checkpatch warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: Replace rcu_assign_pointer with RCU_INIT_POINTER in qib_keys.c (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/qib: Replace rcu_assign_pointer with RCU_INIT_POINTER in qib_qp.c (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Fix error code in get_port_caps (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/ipath: Remove unused function in ipath_wc_ppc64 (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4: Serialize CQ event upcalls with CQ destruction (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix configuration of log_uar_page_sz (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net: mellanox: Delete unnecessary checks before the function call "vunmap" (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support in cxgb4 to get expansion rom version via ethtool (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Reset flow support for IB kernel ULPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Always use the correct port for mirrored multicast attachments (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix trace observed while dumping clip_tbl (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support in debugfs to dump the congestion control table (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support to dump mailbox content in debugfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for ULP RX logic analyzer output in debugfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Added support in debugfs to display TP logic analyzer output (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support in debugfs to display sensor information (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net: rds: Remove repeated function names from debug output (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Delete an unnecessary check before the function call "release_firmware" (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add low latency socket busy_poll support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Adjust RX frag strides to frag sizes (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Print page allocator information (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Move to use hex PCI device IDs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix misleading debug print on CQE stride support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: mlx4_config_dev_retrieval - Initialize struct config_dev before using (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix mpt_entry initialization in mlx4_mr_rereg_mem_write (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Load balance ports in port aggregation mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Create mirror flows in port aggregation mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Add port aggregation support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Reuse mlx4_mac_to_u64 (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Port aggregation upper layer interface (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Port aggregation low level interface (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Remove preprocessor check for CONFIG_CXGB4_DCB (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Update the HCA core clock frequency after INIT_PORT (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix device capabilities dumping (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Fix memory corruption in mlx4_MAD_IFC_wrapper (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use ethtool cmd->autoneg as a hint for ethtool set settings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Remove duplicate code line from procedure mlx4_bf_alloc (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix struct mlx4_vhcr_cmd to make implicit padding explicit (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix HW2SW_EQ to conform to the firmware spec (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Adjust command timeouts to conform to the firmware spec (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix mem leak in SRIOV mlx4_init_one error flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add reserved lkey for VFs to QUERY_FUNC_CAP (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add bad-cable event support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Added support in debugfs to dump different timer and clock values of the adapter (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Added support in debugfs to dump PM module stats (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Addded support in debugfs to dump CIM outbound queue content (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Added support in debugfs to dump cim ingress bound queue contents (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Added support in debugfs to dump sge_qinfo (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fixes cxgb4_inet6addr_notifier unregister call (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mode_t whack-a-mole: chelsio (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Reset flow activation upon SRIOV fatal command cases (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Enable device recovery flow with SRIOV (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Handle AER flow properly (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Manage interface state for Reset flow cases (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Activate reset flow upon fatal command cases (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Enhance the catas flow to support device reset (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Refactor the catas flow to work per device (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Set device configuration data to be persistent across reset (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add debugfs options to dump the rss key, config for PF, VF, etc (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add debugfs entry to dump the contents of the flash (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4: Cleanup register defines/MACROS defined in t4.h (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4 : Update ipv6 address handling api (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: avoid a compile-time warning (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: avoid build warnings on 32-bit (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Ripping out old hard-wired initialization code in driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4/cxgb4/cxgb4vf/cxgb4i/csiostor: Cleanup register defines/macros related to all other cpl messages (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iw_cxgb4/cxgb4/cxgb4i: Cleanup register defines/MACROS related to CM CPL messages (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for mps_tcam debugfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for cim_qcfg entry in debugfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for cim_la entry in debugfs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for devlog (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add PCI device ID for new T5 adapter (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf/csiostor: Cleanup PL, XGMAC, SF and MC related register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/csiostor: Cleanup TP, MPS and TCAM related register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxg4vf/csiostor: Cleanup MC, MA and CIM related register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf/csiostor: Cleanup SGE and PCI related register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4/cxgb4vf/csiostor: Cleanup SGE register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: include clocksource.h again (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix kernel Oops - mem corruption - when working with more than 80 VFs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix error flow in mlx4_init_hca (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Correcly update the mtt's offset in the MR re-reg flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Doorbell is byteswapped in Little Endian archs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix decoding QSA module for ethtool get settings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Cache line CQE/EQE stride fixes (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/srp: Allow newline separator for connection string (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Add function to read WQE from user-space (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Add umem function to read data from user-space (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Enhance UMR support to allow partial page table update (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Remove per-MR pas and dma pointers (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Always resolve destination mac from GRH for UD QPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4_core: Check for DPDP violation only when DPDP is not supported (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Fix an incorrectly shadowed variable in mlx4_ib_rereg_user_mr (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/addr: Improve address resolution callback scheduling (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Fix mgid key handling in SA agent multicast data-base (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Do not resolve VLAN if already resolved (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Avoid double dumping of the PF device capabilities (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fixed memory leak and incorrect refcount in mlx4_load_one (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for QSA modules (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Refactor QUERY_PORT (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add explicit error message when rule doesn't meet configuration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add A0 hybrid steering (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add mlx4_bitmap zone allocator (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Add a check if there are too many reserved QPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4: Change QP allocation scheme (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Use tasklet for user-space CQ completion events (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Mask out host side virtualization features for guests (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf: global named must be unique (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Update firmware version after flashing it via ethtool (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf: Use new interfaces to calculate BAR2 SGE Queue Register addresses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf: Add code to calculate T5 BAR2 Offsets for SGE Queue Registers (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4vf: Add and initialize some sge params for VF driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Support for configurable RSS hash function (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Fix error flow in add_keys (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Fix sparse warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Add more supported devices (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Clear outbox of dealloc uar (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Print resource number on QP/SRQ async events (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Remove unused dev cap enum fields (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix command queue size enforcement (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix min vectors value in mlx5_enable_msix (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Request the mlx5 IB module on driver load (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf/csiostor: Add T4/T5 PCI ID Table (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: fix mlx4_en_set_rxfh (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4/cxgb4vf/csiostor: Cleanup macros/register defines related to PCIE, RSS and FW (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4/cxgb4vf/csiostor: Cleanup macros/register defines related to queues (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4/csiostor: Cleansup FW related macros/register defines for PF/VF and LDST (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4: Cleanup Filter related macros/register defines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: mlx4_en_set_settings always fails when autoneg is set (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: don't duplicate kvfree (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: don't duplicate kvfree (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] lib/scatterlist: mark input buffer parameters as 'const' (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] lib/scatterlist.c: fix kerneldoc for sg_pcopy_to_buffer, sg_pcopy_from_buffer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] lib/scatterlist: introduce sg_pcopy_from_buffer and sg_pcopy_to_buffer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] lib/scatterlist: factor out sg_miter_get_next_page from sg_miter_next (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: use netdev_rss_key_fill helper (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Support more than 64 VFs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add QUERY_FUNC firmware command (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Refactor mlx4_load_one (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Refactor mlx4_cmd_init and mlx4_cmd_cleanup (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Use correct variable type for mlx4_slave_cap (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Fix wrong reading of reserved_eqs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4i/cxgb4 : Refactor macros to conform to uniform standards (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix static checker warning (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Remove unnecessary struct in6_addr * casts (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Cleanup macros so they follow the same style and look consistent (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add cxgb4_debugfs.c, move all debugfs code to new file (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add retrieval of CONFIG_DEV parameters (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Add __GFP_COLD gfp flags in alloc_pages (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Remove RX buffers alignment to IP_ALIGN (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Protect port type setting by mutex (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Prevent VF from changing port configuration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Report actual number of rings in indirection table (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Move spinlocks and work initalizations to beginning of init_netdev (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Call napi_synchronize on stop_port (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Cleanups suggested by clang static checker (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use PTYS register to set ethtool settings - Speed (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use PTYS register to query ethtool settings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ethtool, net/mlx4_en: Add 100M, 20G, 56G speeds ethtool reporting support:q (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Add ethernet backplane autoneg device capability (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Introduce ACCESS_REG CMD and eth_prot_ctrl dev cap (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Introduce mlx4_get_module_info for cable module info reading (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ethtool, net/mlx4_en: Cable info, get_module_info/eeprom ethtool support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Limit count field to 24 bits in qp_alloc_res (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix race on driver load (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Fix race in create EQ (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Avoid leaking steering rules on flow creation error flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Don't attempt to TX offload the outer UDP checksum for VXLAN (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Call synchronize_irq before freeing EQ buffer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Call synchronize_irq before freeing EQ buffer (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rds: avoid calling sock_kfree_s on allocation failure (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/cxgb4: Add missing neigh_release in find_route (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Fix XRC race condition in ib_uverbs_open_qp (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Clear AH attr variable to prevent garbage data (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: fix race accessing page->_count (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Use extended internal signature layout (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Modify to work with arbitrary page size (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Remove duplicate code from mlx5_set_path (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Fix possible array overflow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/core: Avoid leakage from kernel to user space (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Improve debug prints in mlx5_ib_reg_user_mr (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx5: Clear umr resources after ib_unregister_device (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: remove NETDEV_TX_BUSY (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: tx_info->ts_requested was not cleared (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use local var for skb_headlen skb (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use local var in tx flow for skb_shinfo skb (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: mlx4_en_xmit() reads ring->cons once, and ahead of time to avoid stalls (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Avoid false sharing in mlx4_en_en_process_tx_cq (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Use prefetch in tx path (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Avoid a cache line miss in TX completion for single frag skb's (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Avoid calling bswap in tx fast path (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Align tx path structures to cache lines (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Code cleanups in tx path (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Add ConnectX-4 to list of supported devices (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Identify resources by their type (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: use set/get macros in device caps (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Use hardware registers description header file (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx5_core: Update device capabilities handling (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: do proper house keeping if connection fails in rds_tcp_conn_connect (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/rds: call rds_conn_drop instead of open code it at rds_connect_complete (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Protect QUERY_PORT wrapper from untrusted guests (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Don't disable SRIOV if there are active VFs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Use BAR2 Going To Sleep (GTS) for T5 and later (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mellanox: Change en_print to return void (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_en: Add mlx4_en_get_cqe helper (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Cache line EQE size support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Enable CQE/EQE stride support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] net/mlx4_core: Allow not to specify probe_vf in SRIOV IB mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Fix VF mac handling in RoCE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Do not allow APM under RoCE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Don't update QP1 in native mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib/mlx4: Avoid accessing netdevice when building RoCE qp1 header (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Fix mlx4 reg/unreg mac to work properly with 0-mac addresses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] rdma/ocrdma: Resolve L2 address when creating user AH (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Correct error flows in rereg_mr (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Disable TSO for Connect-X rev A0 HCAs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ipath: Change get_user_pages usage to always NULL vmas (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ib_umem_release should decrement mm->pinned_vm from ib_umem_get (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Set vlan stripping policy by the right command (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Avoid dealing with MAC index in UPDATE_QP wrapper if not needed (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Use the correct VSD mask in UPDATE_QP (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Correctly configure single ported VFs from the host (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Move the tunnel steering helper function to mlx4_core (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ocrdma: Obtain SL from device structure (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Use ARRAY_SIZE instead of sizeof/sizeof (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Use ARRAY_SIZE instead of sizeof/sizeof (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] amso1100: Check for integer overflow in c2_alloc_cq_buf (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mad: Add user space RMPP support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mad: add new ioctl to ABI to support new registration options (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mad: Add dev_notice messages for various umad/mad registration failures (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mad: Update module to pr_, dev_ style print messages (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] umad: Update module to pr_, dev_ style print messages (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] cxgb4 : Disable recursive mailbox commands when enabling vi (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [scsi] cxgb4i : Move stray CPL definitions to cxgb4 driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ipath: Add P_Key change event support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Add support for secure-host and SMP firewall (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] iwcm: Use a default listen backlog if needed (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Fix residual handling (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Fix deadlock between host removal and multipathd (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [scsi] scsi_transport_srp: Fix fast_io_fail_tmo=dev_loss_tmo=off behavior (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4_ib: Add support for user MR re-registration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4_core: Add helper functions to support MR re-registration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Add user MR re-registration support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ocrdma: Fix a sparse warning (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] ocrdma: Delete AH table if ocrdma_init_hw fails after AH table creation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] ocrdma: Remove hardcoding of the max DPP QPs supported (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] ocrdma: Handle shutdown event from be2net driver (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] ocrdma: Add hca_type and fixing fw_version string in device atrributes (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx5: Adjust events to use unsigned long param instead of void (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx5: minor fixes mainly avoidance of hidden casts (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx5: Move pci device handling from mlx5_ib to mlx5_core (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: mlx4_en_gset_priv_flags can be static (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Remove MCG in case it is attached to promiscuous QPs only (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: In SR-IOV mode host should add promisc QP to default entry only (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Make sure the max number of QPs per MCG isn't exceeded (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Make sure that negative array index isn't used (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix leakage of SW multicast entries (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Do not count LLC/SNAP in MTU calculation (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Do not disable vlan filter during promiscuous mode (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Run loopback test only when port is up (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Fix set port ratelimit for 40GE (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] cxgb4 : Update copyright year on all cxgb4 files (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: mark napi id for gro_skb (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Call iwpm_init only once (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx5_core: Fix possible race between mr tree insert/delete (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] cxgb4: use dev_port to identify ports (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix the error flow when probing with invalid VF configuration (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Keep only one driver entry release mlx4_priv (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix SRIOV free-pool management when enforcing resource quotas (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Add support for iWARP Port Mapper user space service (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] nes: Add support for iWARP Port Mapper user space service (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Add support for iWARP Port Mapper user space service (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Fix gfp passing in create_qp_common (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] umad: Fix use-after-free on close (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Fix kobject leak on device register error flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix GFP flags parameters to be gfp_t (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Fix port kobject deletion during error flow (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Remove unneeded kobject_get/put calls (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] core: Fix sparse warnings about redeclared functions (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] Add a QP creation flag to use GFP_NOIO allocations (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] Allow build of hw/ and ulp/ subdirectories independently (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [rds] tcp_listen: Replace comma with semicolon (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [rds] rdma: Replace comma with semicolon (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4_core: Move handling of MLX4_QP_ST_MLX to proper switch statement (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Avoid problems if a header uses pr_fmt (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] umad: Fix error handling (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Add interface for selecting VFs to enable QP0 via MLX proxy QPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: Preparation for VFs to issue/receive SMI QP0 requests/responses (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4: SET_PORT called by mlx4_ib_modify_port should be wrapped (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix incorrect FLAGS1 bitmap test in mlx4_QUERY_FUNC_CAP (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4_core: Fix memory leaks in SR-IOV error paths (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb3: Remove a couple unneeded conditions (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx4: fix unitialised variable is_mcast (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ipath: Use time_before/_after (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Fix warning about cast of wr_id back to pointer on 32 bits (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ipath: Translate legacy diagpkt into newer extended diagpkt (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb3: Fix information leak in send_abort (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: add missing padding at end of struct mlx5_ib_create_srq (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: add missing padding at end of struct mlx5_ib_create_cq (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Refactor UMR to have its own context struct (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Set QP offsets and parameters for user QPs and not just for kernel QPs (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5_core: Store MR attributes in mlx5_mr_core during creation and after UMR (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Add MR to radix tree in reg_mr_callback (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5: Fix error handling in reg_umr (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5_core: Simplify signature handover wqe for interleaved buffers (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mlx5_core: Fix signature handover operation for interleaved buffers (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Add fast registration support (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Rename FMR-related variables (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: One FMR pool per SRP connection (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Introduce the 'register_always' kernel module parameter (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Introduce srp_finish_mapping (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Introduce srp_map_fmr (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Introduce an additional local variable (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Fix kernel-doc warnings (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] srp: Fix a sporadic crash triggered by cable pulling (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] ocrdma: Convert to use simple_open (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] cxgb4: Fix memory leaks in c4iw_alloc error paths (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [rds] Use time_after for time comparison (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Fix uninitialized use of 'port_up' in mlx4_en_set_channels (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix inaccurate return value of mlx4_flow_attach (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: Using positive error value for unsigned (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Removed unnecessary bit operation condition (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_core: Fix smatch error - possible access to a null variable (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] mlx4_en: User prio mapping gets corrupted when changing number of channels (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [netdrv] rds: remove the unneed NULL checking (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492] - [infiniband] mellanox: Logging message cleanups (Don Dutile) [1120022 1142056 1192551 1246059 1253021 1271492]- [netdrv] qlge: make local function static (Harish Patil) [1252123] - [netdrv] delete non-required instances of include linux/init.h (Harish Patil) [1252123] - [netdrv] qlge: Fix compilation warning (Harish Patil) [1252123] - [netdrv] qlge: Convert newlines (Harish Patil) [1252123] - [netdrv] qlogic: use pci_zalloc_consistent (Harish Patil) [1252123] - [netdrv] qlge: Use pci_enable_msix_range instead of pci_enable_msix (Harish Patil) [1252123] - [netdrv] net: get rid of unnecessary initializations in .get_drvinfo (Harish Patil) [1252123] - [netdrv] qlge: Get rid of an redundant assignment (Harish Patil) [1252123] - [netdrv] net: get rid of SET_ETHTOOL_OPS (Harish Patil) [1252123] - [netdrv] qlge: remove open-coded skb_cow_head (Harish Patil) [1252123] - [netdrv] qlge: Move jiffies_to_usecs immediately before loop (Harish Patil) [1252123] - [md] dm snapshot: fix hung bios when copy error occurs (Mike Snitzer) [889368] - [md] dm thin: fix race condition when destroying thin pool workqueue (Mike Snitzer) [1292602] - [x86] Broadwell EP and EX have the same cpuid (David Arcari) [1299962] - [netdrv] bonding: make mii_status sysfs node consistent (Jarod Wilson) [1278008] - [netdrv] bna: fix Rx data corruption with VLAN stripping enabled and MTU > 4096 (Ivan Vecera) [1206064] - [netdrv] ibmveth: add support for TSO6 (Gustavo Duarte) [1252712] - [trace] tracing/filter: Do not allow infix to exceed end of string (Pratyush Anand) [1290666] - [trace] tracing/filter: Do not WARN on operand count going below zero (Pratyush Anand) [1290666] - [trace] tracing: Have filter check for balanced ops (Pratyush Anand) [1290666] - [trace] tracing: Fix double free when function profile init failed (Pratyush Anand) [1290666] - [trace] ring-buffer: Fix race between integrity check and readers (Pratyush Anand) [1290666] - [trace] ftrace: Fix memory leak with function graph and cpu hotplug (Pratyush Anand) [1290666] - [trace] ring-buffer: Fix typo of time extends per page (Pratyush Anand) [1290666] - [net] tcp: select(writefds) don't hang up when a peer close connection (Marcelo Leitner) [1293543] - [net] ipv6: addrlabel: fix ip6addrlbl_get() (Hannes Frederic Sowa) [1299720] - [firmware] add rtlwifi images (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [firmware] add brcmfmac images (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] iwlwifi: add new -16 firmware for iwlmvm devices (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] iwlwifi: add new -13 firmware for iwlmvm devices (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Add brcmfmac driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Update remaining wireless drivers to new 802.11 stack from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport brcmsmac driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport b43 driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Bakcport SSB driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport BCMA bus driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport iwlegacy driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport rt2x00 driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport carl9170 driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport ath5k driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport ath9k driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] Backport iwlwifi driver from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [net] Backport mac80211 from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [net] Backport wireless core from linux 4.3 (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [kernel] atomic: implement generic atomic_dec_if_positive (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [netdrv] average: provide macro to create static EWMA (Stanislaw Gruszka) [1245452 1263386 1289574 761525] - [perf] x86: Improve HT workaround GP counter constraint (Jiri Olsa) [1238702] - [perf] x86: Fix event/group validation (Jiri Olsa) [1238702] - [perf] x86: Disable PEBS-LL in intel_pmu_pebs_disable (Jiri Olsa) [1238702] - [perf] x86/intel: Reset more state in PMU reset (Jiri Olsa) [1238702] - [perf] x86/intel: Make the HT bug workaround conditional on HT enabled (Jiri Olsa) [1238702] - [perf] x86/intel: Limit to half counters when the HT workaround is enabled, to avoid exclusive mode starvation (Jiri Olsa) [1238702] - [perf] x86/intel: Fix intel_get_event_constraints() for dynamic constraints (Jiri Olsa) [1238702] - [perf] x86/intel: Enforce HT bug workaround for SNB/IVB/HSW (Jiri Olsa) [1238702] - [perf] x86/intel: Implement cross-HT corruption bug workaround (Jiri Olsa) [1238702] - [perf] x86/intel: Add cross-HT counter exclusion infrastructure (Jiri Olsa) [1238702] - [perf] x86: Add 'index' param to get_event_constraint callback (Jiri Olsa) [1238702] - [perf] x86: Add 3 new scheduling callbacks (Jiri Olsa) [1238702] - [perf] x86: Vectorize cpuc->kfree_on_online (Jiri Olsa) [1238702] - [perf] x86: Reduce stack usage of x86_schedule_events (Jiri Olsa) [1238702] - [kernel] watchdog: Add watchdog enable/disable all functions (Jiri Olsa) [1238702] - [perf] kernel: Change ASSIGN_ONCEval, x to WRITE_ONCE x, val (Jiri Olsa) [1238702] - [perf] kernel: Provide READ_ONCE and ASSIGN_ONCE (Jiri Olsa) [1238702] - [netdrv] i40evf: avoid mutex re-init (Stefan Assmann) [1212361]- [sched] revert "rt: Update rq clock when unthrottling of an otherwise idle CPU" (Aristeu Rozanski) [1263613] - [sched] revert "sched: Revert "Set skip_clock_update in yield_task_fair" (Aristeu Rozanski) [1263613] - [sched] Revert "Remove useless code in yield_to" (Aristeu Rozanski) [1263613] - [sched] revert "core: Rework rq->clock update skips" (Aristeu Rozanski) [1263613] - [perf] annotate: Fix 32-bit compilation error in util/annotate.c (Jiri Olsa) [1189317] - [perf] report: Display cycles in branch sort mode (Jiri Olsa) [1189317] - [perf] tools: Move branch option parsing to own file (Jiri Olsa) [1189317] - [perf] tool: Add conditional branch filter 'cond' to perf record (Jiri Olsa) [1189317] - [perf] top: branch annotation code to top (Jiri Olsa) [1189317] - [perf] annotate: Finally display IPC and cycle accounting (Jiri Olsa) [1189317] - [perf] annotate: Compute IPC and basic block cycles (Jiri Olsa) [1189317] - [perf] report: Add processing for cycle histograms (Jiri Olsa) [1189317] - [perf] report: Add infrastructure for a cycles histogram (Jiri Olsa) [1189317] - [perf] annotate: Rename source_line_percent to source_line_samples (Jiri Olsa) [1189317] - [perf] annotate: Display total number of samples with --show-total-period (Jiri Olsa) [1189317] - [perf] annotation: Add symbol__get_annotation (Jiri Olsa) [1189317] - [perf] report: Add flag for non ANY branch mode (Jiri Olsa) [1189317] - [perf] tools: Add support for cycles, weight branch_info field (Jiri Olsa) [1189317] - [perf] x86/intel: Use 0x11 as extra reg test value (Jiri Olsa) [1189317] - [perf] x86/intel: Protect LBR and extra_regs against KVM lying (Jiri Olsa) [1189317] - [perf] x86: Make merge_attr global to use from perf_event_intel (Jiri Olsa) [1189317] - [perf] x86/intel/lbr: Limit LBR accesses to TOS in callstack mode (Jiri Olsa) [1189317] - [perf] x86/intel/lbr: Use correct index to save/restore LBR_INFO with call stack (Jiri Olsa) [1189317] - [perf] x86/intel: Add Intel Skylake PMU support (Jiri Olsa) [1189317] - [perf] x86/intel/lbr: Optimize v4 LBR unfreezing (Jiri Olsa) [1189317] - [perf] x86/intel: Streamline LBR MSR handling in PMI (Jiri Olsa) [1189317] - [perf] x86/intel: Move PMU ACK to after LBR read (Jiri Olsa) [1189317] - [perf] x86/intel: Handle new arch perfmon v4 status bits (Jiri Olsa) [1189317] - [perf] x86/intel/lbr: Add support for LBRv5 (Jiri Olsa) [1189317] - [perf] Add cycles to branch_info (Jiri Olsa) [1189317] - [perf] x86: Add new MSRs and MSR bits used for Intel Skylake PMU support (Jiri Olsa) [1189317] - [perf] x86/intel: Add support for PEBSv3 profiling (Jiri Olsa) [1189317] - [perf] x86: Add a native_perf_sched_clock_from_tsc (Jiri Olsa) [1189317] - [perf] x86: Rename x86_pmu::er_flags to 'flags' (Jiri Olsa) [1189317] - [perf] x86: Revamp PEBS event selection (Jiri Olsa) [1189317] - [perf] x86/asm/msr: Make wrmsrl_safe a function (Jiri Olsa) [1189317] - [perf] x86/intel/uncore: Use Sandy Bridge client PMU on Haswell/Broadwell (Jiri Olsa) [1250641] - [perf] x86/intel/uncore: Add support for ARB uncore PMU on Sandy/IvyBridge (Jiri Olsa) [1250641] - [perf] x86/intel/uncore: Add Broadwell-U uncore IMC PMU support (Jiri Olsa) [1250641] - [perf] x86/intel/uncore: Move PCI IDs for IMC to uncore driver (Jiri Olsa) [1250641] - [perf] x86/intel/uncore: Add support for Intel Haswell ULT - lower power Mobile Processor - IMC uncore PMUs (Jiri Olsa) [1250641] - [perf] x86/intel/uncore: Update support for client uncore IMC PMU (Jiri Olsa) [1250641] - [perf] x86/uncore: Fix missing end markers for SNB/IVB/HSW IMC PMU (Jiri Olsa) [1250641] - [perf] x86/uncore: use MiB unit for events for SNB/IVB/HSW IMC (Jiri Olsa) [1250641] - [perf] x86/uncore: add hrtimer to SNB uncore IMC PMU (Jiri Olsa) [1250641] - [perf] x86/uncore: add SNB/IVB/HSW client uncore memory controller support (Jiri Olsa) [1250641] - [perf] x86/uncore: add PCI ids for SNB/IVB/HSW IMC (Jiri Olsa) [1250641] - [perf] Add active_entry list head to struct perf_event (Jiri Olsa) [1250641] - [perf] tools: Use getconf to determine number of online CPUs (Jiri Olsa) [1291071] - [perf] probe: Fix segfault if passed with '' (Jiri Olsa) [1291071] - [perf] report: Fix -T/--threads option to work again (Jiri Olsa) [1291071] - [perf] bench numa: Fix immediate meeting of convergence condition (Jiri Olsa) [1291071] - [perf] bench numa: Fixes of --quiet argument (Jiri Olsa) [1291071] - [perf] bench futex: Fix hung wakeup tasks after requeueing (Jiri Olsa) [1291071] - [perf] probe: Fix bug with global variables handling (Jiri Olsa) [1291071] - [perf] top: Fix a segfault when kernel map is restricted (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Fix build failure on 32-bit arch (Jiri Olsa) [1291071] - [perf] kmem: Fix compiles on RHEL6/OL6 (Jiri Olsa) [1291071] - [perf] tools lib api: Undefine _FORTIFY_SOURCE before setting it (Jiri Olsa) [1291071] - [perf] kmem: Consistently use PRIu64 for printing u64 values (Jiri Olsa) [1291071] - [perf] trace: Disable events and drain events when forked workload ends (Jiri Olsa) [1291071] - [perf] trace: Enable events when doing system wide tracing and starting a workload (Jiri Olsa) [1291071] - [perf] probe: Fix segfault when probe with lazy_line to file (Jiri Olsa) [1291071] - [perf] probe: Find compilation directory path for lazy matching (Jiri Olsa) [1291071] - [perf] probe: Set retprobe flag when probe in address-based alternative mode (Jiri Olsa) [1291071] - [perf] kmem: Analyze page allocator events also (Jiri Olsa) [1291071] - [perf] evlist: Fix type for references to data_head/tail (Jiri Olsa) [1291071] - [perf] probe: Check the orphaned -x option (Jiri Olsa) [1291071] - [perf] probe: Support multiple probes on different binaries (Jiri Olsa) [1291071] - [perf] buildid-list: Fix segfault when show DSOs with hits (Jiri Olsa) [1291071] - [perf] tools: Fix cross-endian analysis (Jiri Olsa) [1291071] - [perf] tools: Fix error path to do closedir() when synthesizing threads (Jiri Olsa) [1291071] - [perf] tools: Fix synthesizing fork_event.ppid for non-main thread (Jiri Olsa) [1291071] - [perf] tools: Add 'I' event modifier for exclude_idle bit (Jiri Olsa) [1291071] - [perf] report: Don't call map__kmap if map is NULL (Jiri Olsa) [1291071] - [perf] tests: Fix attr tests (Jiri Olsa) [1291071] - [perf] probe: Fix ARM 32 building error (Jiri Olsa) [1291071] - [perf] tools: Merge all perf_event_attr print functions (Jiri Olsa) [1291071] - [perf] sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10 (Jiri Olsa) [1291071] - [perf] sched replay: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] sched replay: Fix the EMFILE error caused by the limitation of the maximum open files (Jiri Olsa) [1291071] - [perf] sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task (Jiri Olsa) [1291071] - [perf] sched replay: Fix the segmentation fault problem caused by pr_err in threads (Jiri Olsa) [1291071] - [perf] sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations (Jiri Olsa) [1291071] - [perf] sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max (Jiri Olsa) [1291071] - [perf] sched replay: Increase the MAX_PID value to fix assertion failure problem (Jiri Olsa) [1291071] - [perf] sched replay: Use struct task_desc instead of struct task_task for correct meaning (Jiri Olsa) [1291071] - [perf] kmem: Respect -i option (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Honor operator priority (Jiri Olsa) [1291071] - [perf] kmaps: Check kmaps to make code more robust (Jiri Olsa) [1291071] - [perf] evlist: Fix inverted logic in perf_mmap__empty (Jiri Olsa) [1291071] - [perf] data: Support using -f to override perf.data file ownership for 'convert' (Jiri Olsa) [1291071] - [perf] trace: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] timechart: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] script: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] mem: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] lock: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] kvm: Support using -f to override perf.data.guest file ownership (Jiri Olsa) [1291071] - [perf] kmem: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] inject: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] evlist: Support using -f to override perf.data file ownership (Jiri Olsa) [1291071] - [perf] probe: Fix to track down unnamed union/structure members (Jiri Olsa) [1291071] - [perf] db-export: No need to have ->thread twice in struct export_sample (Jiri Olsa) [1291071] - [perf] db-export: No need to pass thread twice to db_export__sample (Jiri Olsa) [1291071] - [perf] scripting: No need to pass thread twice to the scripting callbacks (Jiri Olsa) [1291071] - [perf] script: No need to lookup thread twice (Jiri Olsa) [1291071] - [perf] ordered_samples: Remove references to perf_{evlist, tool} and machines (Jiri Olsa) [1291071] - [perf] session: Always initialize ordered_events (Jiri Olsa) [1291071] - [perf] tools: Fix ppid for synthesized fork events (Jiri Olsa) [1291071] - [perf] tools: Refactor comm/tgid lookup (Jiri Olsa) [1291071] - [perf] callchain: Fix kernel symbol resolution by remembering the cpumode (Jiri Olsa) [1291071] - [perf] build: Disable libbabeltrace check by default (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Zero should not be considered "not found" in eval_flag (Jiri Olsa) [1291071] - [perf] trace: Fix syscall enter formatting bug (Jiri Olsa) [1291071] - [perf] tools: Set JOBS based on CPU or processor (Jiri Olsa) [1291071] - [perf] perf: Bump max number of cpus to 1024 (Jiri Olsa) [1291071] - [perf] evlist: Return the first evsel with an invalid filter in apply_filters() (Jiri Olsa) [1291071] - [perf] timechart: Fix SIBGUS error on sparc64 (Jiri Olsa) [1291071] - [perf] tools: Add pid/tid filtering to report and script commands (Jiri Olsa) [1291071] - [perf] diff: Add kallsyms option (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Add support for __print_array (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Free filter tokens in process_filter (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Add way to find sub buffer boundary (Jiri Olsa) [1291071] - [perf] tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Make plugin options either string or boolean (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Add pevent_data_pid_from_comm (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Handle z in bprint format (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Copy trace_clock and free it (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Handle NULL comm name (Jiri Olsa) [1291071] - [perf] symbols: Save DSO loading errno to better report errors (Jiri Olsa) [1291071] - [perf] target: Simplify handling of strerror_r return (Jiri Olsa) [1291071] - [perf] tools: Work around lack of sched_getcpu in glibc < 2.6 (Jiri Olsa) [1291071] - [perf] kmem: Print big numbers using thousands' group (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Factor out allocating and processing args (Jiri Olsa) [1291071] - [perf] probe: Fix to get ummapped symbol address on kernel (Jiri Olsa) [1291071] - [perf] tools: Remove (null) value of "Sort order" for perf mem report (Jiri Olsa) [1291071] - [perf] annotate: Allow annotation for decompressed kernel modules (Jiri Olsa) [1291071] - [perf] tools: Try to lookup kernel module map before creating one (Jiri Olsa) [1291071] - [perf] tools: Remove is_kmodule_extension function (Jiri Olsa) [1291071] - [perf] tools: Remove compressed argument from is_kernel_module (Jiri Olsa) [1291071] - [perf] tools: Use kmod_path__parse in is_kernel_module (Jiri Olsa) [1291071] - [perf] tools: Use kmod_path__parse in decompress_kmodule (Jiri Olsa) [1291071] - [perf] tools: Use kmod_path__parse in map_groups__set_modules_path_dir (Jiri Olsa) [1291071] - [perf] tools: Use kmod_path__parse for machine__new_dso (Jiri Olsa) [1291071] - [perf] tools: Add machine__module_dso function (Jiri Olsa) [1291071] - [perf] tools: Add dsos__addnew function (Jiri Olsa) [1291071] - [perf] tools: Add kmod_path__parse function (Jiri Olsa) [1291071] - [perf] tools: Add lzma decompression support for kernel module (Jiri Olsa) [1291071] - [perf] tools build: Add feature check for lzma library (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Add destructor for format_field (Jiri Olsa) [1291071] - [perf] hists browser: Indicate which callchain entries are annotated (Jiri Olsa) [1291071] - [perf] build: Move feature checks code under tools/build (Jiri Olsa) [1291071] - [perf] build: Make features checks directory configurable (Jiri Olsa) [1291071] - [perf] build: Separate feature make support into config/Makefile.feature (Jiri Olsa) [1291071] - [perf] build: Fix feature_check name clash (Jiri Olsa) [1291071] - [perf] trace: Fix summary_only option (Jiri Olsa) [1291071] - [perf] probe: Fix failure to add multiple probes without debuginfo (Jiri Olsa) [1291071] - [perf] build: Add config/feature-checks/*.output to the .gitignore file (Jiri Olsa) [1291071] - [perf] build: Use FEATURE-DUMP instead of PERF-FEATURES in the .gitignore file (Jiri Olsa) [1291071] - [perf] tools: Don't allow empty argument for field-separator (Jiri Olsa) [1291071] - [perf] report: Don't allow empty argument for '-t' (Jiri Olsa) [1291071] - [perf] callchain: Separate eh/debug frame offset cache (Jiri Olsa) [1291071] - [perf] tools: Avoid confusion with preloaded bash function for perf bash completion (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf trace (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf timechart (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf test (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf script (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf help (Jiri Olsa) [1291071] - [perf] tools: Add the bash completion for listing subsubcommands of perf data (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion for listing subcommands of perf (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion to support listing events for --event (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion for listing events of perf subcommand record|stat|top -e (Jiri Olsa) [1291071] - [perf] tools: Provide the right bash completion for listing options of perf subcommand subsubcommand (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion for listing subsubcommands of perf subcommand (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion for listing options of perf subcommand (Jiri Olsa) [1291071] - [perf] tools: Fix perf-read-vdsox32 not building and lib64 install dir (Jiri Olsa) [1291071] - [perf] build: Rename feature_print_var_code to print_var_code (Jiri Olsa) [1291071] - [perf] build: Rename PERF-FEATURES into FEATURE-DUMP (Jiri Olsa) [1291071] - [perf] build: Rename display_vf to feature_verbose (Jiri Olsa) [1291071] - [perf] build: Rename display_lib into feature_display (Jiri Olsa) [1291071] - [perf] build: Get rid of VF_FEATURE_TESTS (Jiri Olsa) [1291071] - [perf] build: Rename CORE_FEATURE_TESTS to FEATURE_TESTS (Jiri Olsa) [1291071] - [perf] build: Get rid of LIB_INCLUDE variable (Jiri Olsa) [1291071] - [perf] build: Fix pthread-attr-setaffinity-np include in test-all (Jiri Olsa) [1291071] - [perf] build: Move features build output under features directory (Jiri Olsa) [1291071] - [perf] build: Disable default check for libbabeltrace (Jiri Olsa) [1291071] - [perf] tools: Fix building error for arm64 (Jiri Olsa) [1291071] - [perf] hists browser: Allow annotating entries in callchains (Jiri Olsa) [1291071] - [perf] hists: Remove hist_entry->used, not used anymore (Jiri Olsa) [1291071] - [perf] hists browser: Fix up some branch alignment (Jiri Olsa) [1291071] - [perf] hists browser: Simplify symbol annotation menu setup (Jiri Olsa) [1291071] - [perf] data: Add tracepoint events fields CTF conversion support (Jiri Olsa) [1291071] - [perf] kmem: Fix alignment of slab result table (Jiri Olsa) [1291071] - [perf] kmem: Allow -v option (Jiri Olsa) [1291071] - [perf] kmem: Fix segfault when invalid sort key is given (Jiri Olsa) [1291071] - [perf] stat: Always correctly indent ratio column (Jiri Olsa) [1291071] - [perf] stat: Fix IPC and other formulas with -A (Jiri Olsa) [1291071] - [perf] stat: Output running time and run/enabled ratio in CSV mode (Jiri Olsa) [1291071] - [perf] hists browser: Fix UI bug after fold/unfold (Jiri Olsa) [1291071] - [perf] robe: Fix compiles due to declarations using perf_probe_point (Jiri Olsa) [1291071] - [perf] hists browser: Fix UI bug after zoom into thread/dso/symbol (Jiri Olsa) [1291071] - [perf] probe: Fix possible double free on error (Jiri Olsa) [1291071] - [perf] tools: Output feature detection's gcc output to a file (Jiri Olsa) [1291071] - [perf] build: Fix libbabeltrace detection (Jiri Olsa) [1291071] - [perf] probe: Allow weak symbols to be probed (Jiri Olsa) [1291071] - [perf] symbols: Allow symbol alias when loading map for symbol name (Jiri Olsa) [1291071] - [perf] revert "perf probe: Fix to fall back to find probe point in symbols" (Jiri Olsa) [1291071] - [perf] probe: Fix --line to handle aliased symbols in glibc (Jiri Olsa) [1291071] - [perf] probe: Fix to handle aliased symbols in glibc (Jiri Olsa) [1291071] - [perf] ordered_events: Adopt queue method (Jiri Olsa) [1291071] - [perf] tools: Remove superfluous thread->comm_set setting (Jiri Olsa) [1291071] - [perf] tools: tool->finished_round() doesn't need perf_session (Jiri Olsa) [1291071] - [perf] ordered_events: Allow tools to specify a deliver method (Jiri Olsa) [1291071] - [perf] ordered_events: Shorten function signatures (Jiri Olsa) [1291071] - [perf] ordered_events: Untangle from perf_session (Jiri Olsa) [1291071] - [perf] sched: No need to keep the session around (Jiri Olsa) [1291071] - [perf] tools: Reference count struct thread (Jiri Olsa) [1291071] - [perf] revert "perf: Remove the extra validity check on nr_pages" (Jiri Olsa) [1291071] - [perf] tools: Initialize cpu set in pthread_attr_setaffinity_np feature test (Jiri Olsa) [1291071] - [perf] probe: Remove bias offset to find probe point by address (Jiri Olsa) [1291071] - [perf] probe: Warn if given uprobe event accesses memory on older kernel (Jiri Olsa) [1291071] - [perf] tools: Improve 'libbabel' feature check failure message (Jiri Olsa) [1291071] - [perf] tools: Improve feature test debuggability (Jiri Olsa) [1291071] - [perf] tools: Improve libbfd detection message (Jiri Olsa) [1291071] - [perf] tools: Improve libperl detection message (Jiri Olsa) [1291071] - [perf] tools: Improve Python feature detection messages (Jiri Olsa) [1291071] - [perf] tools: Remove annoying extra message from the features build (Jiri Olsa) [1291071] - [perf] tools: Add PERF-FEATURES to the .gitignore file (Jiri Olsa) [1291071] - [perf] record: Document --group option (Jiri Olsa) [1291071] - [perf] record: Get rid of -l option from Documentation (Jiri Olsa) [1291071] - [perf] tools: Fix build error on ARCH=i386/x86_64/sparc64 (Jiri Olsa) [1291071] - [perf] tools: Fix FORK after COMM when synthesizing records for pre-existing threads (Jiri Olsa) [1291071] - [perf] stat: Report unsupported events properly (Jiri Olsa) [1291071] - [perf] tools: Compare JOBS to 0 after grep (Jiri Olsa) [1291071] - [perf] report: Fix branch stack mode cannot be set (Jiri Olsa) [1291071] - [perf] buildid-cache: Show usage with incorrect params (Jiri Olsa) [1291071] - [perf] buildid-cache: Use pr_debug instead of verbose and pr_info (Jiri Olsa) [1291071] - [perf] buildid-cache: Add --purge FILE to remove all caches of FILE (Jiri Olsa) [1291071] - [perf] tools: Fix the bash completion problem of 'perf --*' (Jiri Olsa) [1291071] - [perf] list: Extend raw-dump to certain kind of events (Jiri Olsa) [1291071] - [perf] list: Clean up the printing functions of hardware/software events (Jiri Olsa) [1291071] - [perf] tools: Remove the '--(null)' long_name for --list-opts (Jiri Olsa) [1291071] - [perf] list: Avoid confusion of perf output and the next command prompt (Jiri Olsa) [1291071] - [perf] list: Allow listing events with 'tracepoint' prefix (Jiri Olsa) [1291071] - [perf] list: Sort the output of 'perf list' to view more clearly (Jiri Olsa) [1291071] - [perf] data: Fix sentinel setting for data_cmds array (Jiri Olsa) [1291071] - [perf] probe: Fix a precedence bug (Jiri Olsa) [1291071] - [perf] diff: Support for different binaries (Jiri Olsa) [1291071] - [perf] buildid-cache: Add new buildid cache if update target is not cached (Jiri Olsa) [1291071] - [perf] probe: Handle strdup failure (Jiri Olsa) [1291071] - [perf] probe: Fix get_real_path to free allocated memory in error path (Jiri Olsa) [1291071] - [perf] probe: Check kprobes blacklist when adding new events (Jiri Olsa) [1291071] - [perf] trace: Fix SIGBUS failures due to misaligned accesses (Jiri Olsa) [1291071] - [perf] data: Add a 'perf' prefix to the generic fields (Jiri Olsa) [1291071] - [perf] data: Add perf data to CTF conversion support (Jiri Olsa) [1291071] - [perf] tools: Add new 'perf data' command (Jiri Olsa) [1291071] - [perf] tools: Add feature check for libbabeltrace (Jiri Olsa) [1291071] - [perf] record: Support recording running/enabled time (Jiri Olsa) [1291071] - [perf] tools: Print the thread's tid on PERF_RECORD_COMM events when -D is asked (Jiri Olsa) [1291071] - [perf] trace: Dump stack on segfaults (Jiri Olsa) [1291071] - [perf] tools: Introduce dump_stack signal helper (Jiri Olsa) [1291071] - [perf] ordered_events: Stop using tool->ordered_events (Jiri Olsa) [1291071] - [perf] session: Remove perf_session from dump_event (Jiri Olsa) [1291071] - [perf] session: Remove perf_session from some deliver event routines (Jiri Olsa) [1291071] - [perf] session: Remove perf_session from warn_errors signature (Jiri Olsa) [1291071] - [perf] evlist: Adopt events_stats from perf_session (Jiri Olsa) [1291071] - [perf] session: Remove wrappers to machines__find (Jiri Olsa) [1291071] - [perf] trace: Separate routine that handles an event from the one that reads it (Jiri Olsa) [1291071] - [perf] trace: Add man page entry for --event (Jiri Olsa) [1291071] - [perf] trace: Introduce --filter-pids (Jiri Olsa) [1291071] - [perf] evlist: Introduce set_filter_pids method (Jiri Olsa) [1291071] - [perf] trace: Filter out the trace pid when no threads are specified (Jiri Olsa) [1291071] - [perf] evlist: Introduce set_filter_pid method (Jiri Olsa) [1291071] - [perf] trace: Only insert blank duration bracket when tracing syscalls (Jiri Olsa) [1291071] - [perf] trace: Support --events foo:bar --no-syscalls (Jiri Olsa) [1291071] - [perf] trace: Allow mixing with other events (Jiri Olsa) [1291071] - [perf] trace: Handle multiple threads better wrt syscalls being intermixed (Jiri Olsa) [1291071] - [perf] trace: Print thread info when following children (Jiri Olsa) [1291071] - [perf] list: Place the header text in its right position (Jiri Olsa) [1291071] - [perf] Remove the extra validity check on nr_pages (Jiri Olsa) [1291071] - [perf] tools: Fix a bug of segmentation fault (Jiri Olsa) [1291071] - [perf] build: Display make commands on V=1 (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Use tools build framework (Jiri Olsa) [1291071] - [perf] tools lib api: Rename libapikfs.a to libapi.a (Jiri Olsa) [1291071] - [perf] tools lib api: Use tools build framework (Jiri Olsa) [1291071] - [perf] build: Add build documentation (Jiri Olsa) [1291071] - [perf] build: Remove PERF-CFLAGS file (Jiri Olsa) [1291071] - [perf] build: Remove uneeded variables (Jiri Olsa) [1291071] - [perf] build: Remove directory dependency rules (Jiri Olsa) [1291071] - [perf] build: Add single target build framework support (Jiri Olsa) [1291071] - [perf] build: Add arch sparc objects building (Jiri Olsa) [1291071] - [perf] build: Add arch sh objects building (Jiri Olsa) [1291071] - [perf] build: Add arch s390 objects building (Jiri Olsa) [1291071] - [perf] build: Add arch powerpc objects building (Jiri Olsa) [1291071] - [perf] build: Add arch arm64 objects building (Jiri Olsa) [1291071] - [perf] build: Add arch arm objects building (Jiri Olsa) [1291071] - [perf] build: Add arch x86 objects building (Jiri Olsa) [1291071] - [perf] build: Add perf.o object building (Jiri Olsa) [1291071] - [perf] build: Add zlib objects building (Jiri Olsa) [1291071] - [perf] build: Add perf regs objects building (Jiri Olsa) [1291071] - [perf] build: Add scripts objects building (Jiri Olsa) [1291071] - [perf] build: Add gtk objects building (Jiri Olsa) [1291071] - [perf] build: Add slang objects building (Jiri Olsa) [1291071] - [perf] build: Add ui objects building (Jiri Olsa) [1291071] - [perf] build: Add dwarf unwind objects building (Jiri Olsa) [1291071] - [perf] build: Add dwarf objects building (Jiri Olsa) [1291071] - [perf] build: Add probe objects building (Jiri Olsa) [1291071] - [perf] build: Add libperf objects building (Jiri Olsa) [1291071] - [perf] build: Add builtin objects building (Jiri Olsa) [1291071] - [perf] build: Add tests objects building (Jiri Olsa) [1291071] - [perf] build: Add bench objects building (Jiri Olsa) [1291071] - [perf] build: Disable make's built-in rules (Jiri Olsa) [1291071] - [perf] tools: Remove api fs object from python build (Jiri Olsa) [1291071] - [perf] tools build: Add subdir support (Jiri Olsa) [1291071] - [perf] tools build: Add detected config support (Jiri Olsa) [1291071] - [perf] tools build: Add new build support (Jiri Olsa) [1291071] - [perf] buildid-cache: Consolidate .build-id cache path generators (Jiri Olsa) [1291071] - [perf] buildid-cache: Remove unneeded debugdir parameters (Jiri Olsa) [1291071] - [perf] symbols: Define STT_GNU_IFUNC for glibc 2.9 and older (Jiri Olsa) [1291071] - [perf] tools: Make perf aware of tracefs (Jiri Olsa) [1291071] - [perf] tools lib api fs: Add tracefs_configured, debugfs_configured functions (Jiri Olsa) [1291071] - [perf] tools lib api debugfs: Add DEBUGFS_DEFAULT_PATH macro (Jiri Olsa) [1291071] - [perf] tools lib api fs: Add tracefs mount helper functions (Jiri Olsa) [1291071] - [perf] tools: Add helper to find mounted file systems (Jiri Olsa) [1291071] - [perf] tools: Do not check debugfs MAGIC for tracing files (Jiri Olsa) [1291071] - [perf] evlist: Fix typo in comment (Jiri Olsa) [1291071] - [perf] trace: No need to enable evsels for workload started from perf (Jiri Olsa) [1291071] - [perf] tools: Introduce event_format__fprintf method (Jiri Olsa) [1291071] - [perf] tools lib traceevent: Introduce trace_seq_do_fprintf function (Jiri Olsa) [1291071] - [perf] symbols: debuglink should take symfs option into account (Jiri Olsa) [1291071] - [perf] symbols: Ignore mapping symbols on aarch64 (Jiri Olsa) [1291071] - [perf] probe: Update man page (Jiri Olsa) [1291071] - [perf] probe: Fix to handle optimized not-inlined functions (Jiri Olsa) [1291071] - [perf] tools: Fix a dso open fail message (Jiri Olsa) [1291071] - [perf] ests: Do not rely on dso__data_read_offset to open dso (Jiri Olsa) [1291071] - [perf] test: Fix dso cache testcase (Jiri Olsa) [1291071] - [perf] tools: Construct LBR call chain (Jiri Olsa) [1291071] - [perf] tools: Enable LBR call stack support (Jiri Olsa) [1291071] - [perf] x86: Remove redundant calls to perf_pmu_disable,perf_pmu_enable (Jiri Olsa) [1291071] - [perf] x86/intel: Expose LBR callstack to user space tooling (Jiri Olsa) [1291071] - [perf] x86/intel: Discard zero length call entries in LBR call stack (Jiri Olsa) [1291071] - [perf] /x86/intel: Disable FREEZE_LBRS_ON_PMI when LBR operates in callstack mode (Jiri Olsa) [1291071] - [perf] x86/intel: Re-organize code that implicitly enables LBR/PEBS (Jiri Olsa) [1291071] - [perf] Simplify the branch stack check (Jiri Olsa) [1291071] - [perf] x86/intel: Save/restore LBR stack during context switch (Jiri Olsa) [1291071] - [perf] x86/intel: Track number of events that use the LBR callstack (Jiri Olsa) [1291071] - [perf] x86/intel: Allocate space for storing LBR stack (Jiri Olsa) [1291071] - [perf] Always switch pmu specific data during context switch (Jiri Olsa) [1291071] - [perf] Add pmu specific data for perf task context (Jiri Olsa) [1291071] - [perf] revert "perf: Always destroy groups on exit" (Jiri Olsa) [1291071] - [perf] Fix event->ctx locking (Jiri Olsa) [1291071] - [perf] Fix perf_pmu_migrate_context (Jiri Olsa) [1291071] - [perf] Fix unclone_ctx vs locking (Jiri Olsa) [1291071] - [perf] Fix lockdep warning on process exit (Jiri Olsa) [1291071] - [perf] Fix use after free in perf_remove_from_context (Jiri Olsa) [1291071] - [perf] x86/intel: Add basic Haswell LBR call stack support (Jiri Olsa) [1291071] - [perf] x86/intel: Use context switch callback to flush LBR stack (Jiri Olsa) [1291071] - [perf] Introduce pmu context switch callback (Jiri Olsa) [1291071] - [perf] x86/intel: Reduce lbr_sel_map[] size (Jiri Olsa) [1291071] - [perf] x86: Add conditional branch filtering support (Jiri Olsa) [1291071] - [perf] Add new conditional branch filter 'PERF_SAMPLE_BRANCH_COND' (Jiri Olsa) [1291071] - [perf] Update shadow timestamp before add event (Jiri Olsa) [1291071] - [perf] x86/intel/uncore: Delete an unnecessary check before pci_dev_put call (Jiri Olsa) [1291071]- [hv] fcopy: switch to using the hvutil_device_state state machine (Vitaly Kuznetsov) [1216950] - [hv] vss: switch to using the hvutil_device_state state machine (Vitaly Kuznetsov) [1216950] - [hv] kvp: switch to using the hvutil_device_state state machine (Vitaly Kuznetsov) [1216950] - [hv] util: introduce state machine for util drivers (Vitaly Kuznetsov) [1216950] - [hv] fcopy: rename fcopy_work -> fcopy_timeout_work (Vitaly Kuznetsov) [1216950] - [hv] kvp: rename kvp_work -> kvp_timeout_work (Vitaly Kuznetsov) [1216950] - [hv] vss: process deferred messages when we complete the transaction (Vitaly Kuznetsov) [1216950] - [hv] fcopy: process deferred messages when we complete the transaction (Vitaly Kuznetsov) [1216950] - [hv] kvp: move poll_channel() to hyperv_vmbus.h (Vitaly Kuznetsov) [1216950] - [hv] kvp: reset kvp_context (Vitaly Kuznetsov) [1216950] - [hv] util: move kvp/vss function declarations to hyperv_vmbus.h (Vitaly Kuznetsov) [1216950] - [kernel] kprobes: initialize before using a hlist (Pratyush Anand) [1290663] - [perf] x86/intel/uncore: Add Broadwell-EP uncore support (Jiri Olsa) [1242694 1249700 1283155] - [perf] x86/intel/uncore: Add Broadwell-DE uncore support (Jiri Olsa) [1242694 1249700 1283155] - [perf] Decouple unthrottling and rotating (Jiri Olsa) [1242694 1249700 1283155] - [x86] perf: Add more Broadwell model numbers (Jiri Olsa) [1242694 1249700 1283155] - [perf] perf/x86/intel: Remove incorrect model number from Haswell perf (Jiri Olsa) [1242694 1249700 1283155] - [watchdog] avoid races between /proc handlers and CPU hotplug (Aaron Tomlin) [1263774] - [watchdog] update watchdog_thresh properly (Aaron Tomlin) [1263774] - [watchdog] update watchdog attributes atomically (Aaron Tomlin) [1263774] - [watchdog] Use hotplug thread infrastructure (Aaron Tomlin) [1263774] - [watchdog] make sure the watchdog thread gets CPU on loaded system (Aaron Tomlin) [1263774] - [watchdog] Drop FIFO policy in exit path (Aaron Tomlin) [1263774] - [mmc] sdhci-pci: Build o2micro support in the same module (Don Zickus) [1089109] - [mmc] sdhci-pci: add support of O2Micro/BayHubTech SD hosts (Don Zickus) [1089109] - [mmc] sdhci-pci: break out definitions to header file (Don Zickus) [1089109] - [mmc] sdhci: add auto CMD12 support for eSDHC driver (Don Zickus) [1089109] - [mmc] s3c6410: add new quirk in sdhci driver and update ADMA descriptor build (Don Zickus) [1089109] - [kernel] memcg: clear mm->owner when last possible owner leaves (Aaron Tomlin) [1272655] - [mm] thp: don't hold mmap_sem in khugepaged when allocating THP (Aaron Tomlin) [1272655] - [mm] thp: khugepaged: add policy for finding target node (Aaron Tomlin) [1272655] - [mm] thp: cleanup: mv alloc_hugepage to better place (Aaron Tomlin) [1272655] - [mm] thp: khugepaged_prealloc_page forgot to reset the page alloc indicator (Aaron Tomlin) [1272655] - [mm] thp: remove unnecessary set_recommended_min_free_kbytes (Aaron Tomlin) [1272655] - [mm] thp: use khugepaged_enabled to remove duplicate code (Aaron Tomlin) [1272655] - [mm] thp: remove khugepaged_loop (Aaron Tomlin) [1272655] - [mm] thp: introduce khugepaged_prealloc_page and khugepaged_alloc_page (Aaron Tomlin) [1272655] - [mm] thp: release page in page pre-alloc path (Aaron Tomlin) [1272655] - [mm] thp: merge page pre-alloc in khugepaged_loop into khugepaged_do_scan (Aaron Tomlin) [1272655] - [mm] thp: remove some code depend on CONFIG_NUMA (Aaron Tomlin) [1272655] - [mm] thp: remove wake_up_interruptible in the exit path (Aaron Tomlin) [1272655] - [mm] thp: remove unnecessary khugepaged_thread check (Aaron Tomlin) [1272655] - [mm] thp: move khugepaged_mutex out of khugepaged (Aaron Tomlin) [1272655] - [mm] thp: remove unnecessary check in start_khugepaged (Aaron Tomlin) [1272655] - [mm] thp: optimize memcg charge in khugepaged (Aaron Tomlin) [1272655]- [fs] dlm: Replace nodeid_to_addr with kernel_getpeername (Robert S Peterson) [1264492] - [fs] dlm: print kernel message when we get an error from kernel_sendpage (Robert S Peterson) [1264492] - [x86] fpu: Fix double-increment in setup_xstate_features (Herbert Xu) [1232495] - [x86] fpu/xstate: Don't assume the first zero xfeatures zero bit means the end (Herbert Xu) [1232495] - [scsi] ipr: Driver version 2.6.3 (Gustavo Duarte) [1252713] - [scsi] ipr: Issue Configure Cache Parameters command (Gustavo Duarte) [1252713] - [scsi] ipr: Inquiry IOA page 0xC4 during initialization (Gustavo Duarte) [1252713] - [scsi] ipr: Don't set NO_ULEN_CHK bit when resource is a vset (Gustavo Duarte) [1252713] - [scsi] ipr: Add delay to ensure coherent dumps (Gustavo Duarte) [1252713] - [scsi] ipr: Enable SIS pipe commands for SIS-32 devices (Gustavo Duarte) [1252713] - [scsi] ipr: Inhibit underlength data check for AFDASD in raw mode (Gustavo Duarte) [1252713] - [scsi] ipr: Driver version 2.6.2 (Gustavo Duarte) [1252713] - [scsi] ipr: Endian / sparse fixes (Gustavo Duarte) [1252713] - [scsi] ipr: Byte swapping for device_id attribute in sysfs (Gustavo Duarte) [1252713] - [scsi] ipr: Fix locking for unit attention handling (Gustavo Duarte) [1252713] - [scsi] ipr: Driver version 2.6.1 (Gustavo Duarte) [1252713] - [scsi] ipr: AF DASD raw mode implementation in ipr driver (Gustavo Duarte) [1252713] - [scsi] ipr: Fix possible error path oops during initialization (Gustavo Duarte) [1252713] - [scsi] ipr: Reset in task context (Gustavo Duarte) [1252713] - [scsi] ipr: Reboot speed improvements (Gustavo Duarte) [1252713] - [scsi] ipr: set scsi_level correctly for disk arrays (Gustavo Duarte) [1252713] - [scsi] ipr: add support for async scanning to speed up boot (Gustavo Duarte) [1252713] - [mm] ksm: add reschedule points to unmerge_and_remove_all_rmap_items (Andrea Arcangeli) [1262294] - [mm] ksm: introduce ksm_max_page_sharing per page deduplication limit (Andrea Arcangeli) [1262294] - [net] unix: properly account for FDs passed over unix sockets (Hannes Frederic Sowa) [1297406] - [net] unix: garbage: fixed several comment and whitespace style issues (Hannes Frederic Sowa) [1297406] - [net] net_sched: invoke ->attach() after setting dev->qdisc (Phil Sutter) [1288472] - [net] pkt_sched: move the sanity test in qdisc_list_add() (Phil Sutter) [1288472] - [net] pkt_sched: set root qdisc before change() in attach_default_qdiscs() (Phil Sutter) [1288472] - [net] pkt_sched: give visibility to mq slave qdiscs (Phil Sutter) [1288472] - [net] qdisc: fix build with !CONFIG_NET_SCHED (Phil Sutter) [1288472] - [net] qdisc: allow setting default queuing discipline (Phil Sutter) [1288472] - [kdump] Reuse KEXEC_RESERVE_UPPER_LIMIT in arch_crash_auto_scale (Baoquan He) [1007642] - [kdump] Add a KEXEC_RESERVE_UPPER_LIMIT to limit the bootmem reserving for crashkernel (Baoquan He) [1007642] - [kernel] ftrace: Allow to remove a single function from function graph filter (Jiri Olsa) [1063695] - [kernel] function-graph: Allow writing the same val to set_graph_function (Jiri Olsa) [1063695] - [kernel] tracing: Simplify test for function_graph tracing start point (Jiri Olsa) [1063695]- [fs] configfs: Fix race between configfs_readdir() and configfs_d_iput() (Robert S Peterson) [1267681] - [fs] gfs2: Add module parameter gl_hash_size to increase hash table size (Robert S Peterson) [1259879] - [fs] GFS2: Don't add all glocks to the lru (Robert S Peterson) [1228381] - [fs] gfs2: Reintroduce a timeout in function gfs2_gl_hash_clear (Robert S Peterson) [1291458] - [fs] gfs2: Add missing else in trans_add_meta/data (Robert S Peterson) [1267995] - [fs] fs-cache: Add missing initialization of ret in cachefiles_write_page (David Howells) [1277622] - [fs] fs-cache: Handle a write to the page immediately beyond the EOF marker (David Howells) [1277622] - [fs] cachefiles: perform test on s_blocksize when opening cache file (David Howells) [1277622] - [fs] fs-cache: Don't override netfs's primary_index if registering failed (David Howells) [1277622] - [fs] fs-cache: Increase reference of parent after registering, netfs success (David Howells) [1277622] - [fs] fs-cache: Retain the netfs context in the retrieval op earlier (David Howells) [1277622] - [fs] fs-cache: The operation cancellation method needs calling in more places (David Howells) [1170397 1277622] - [fs] fs-cache: Put an aborted initialised op so that it is accounted correctly (David Howells) [1277622] - [fs] fs-cache: Fix cancellation of in-progress operation (David Howells) [1277622] - [fs] fs-cache: Count the number of initialised operations (David Howells) [1277622] - [fs] fs-cache: Out of line fscache_operation_init (David Howells) [1277622] - [fs] fs-cache: Permit fscache_cancel_op() to cancel in-progress operations too (David Howells) [1277622] - [fs] fs-cache: fscache_object_is_dead() has wrong logic, kill it (David Howells) [1277622] - [fs] fs-cache: Synchronise object death state change vs operation submission (David Howells) [1096893 1277622] - [fs] fs-cache: Handle a new operation submitted against a killed object (David Howells) [1277622] - [fs] fs-cache: When submitting an op, cancel it if the target object is dying (David Howells) [1277622] - [fs] fs-cache: Move fscache_report_unexpected_submission() to make it more available (David Howells) [1277622] - [fs] fs-cache: Count culled objects and objects rejected due to lack of space (David Howells) [1277622] - [fs] fs/fscache/object-list.c: use __seq_open_private (David Howells) [1277622] - [fs] cachefiles: Fix incorrect test for in-memory object collision (David Howells) [1277622] - [fs] cachefiles: Handle object being killed before being set up (David Howells) [1149103 1277622] - [fs] cachefiles: add missing \n to kerror conversions (David Howells) [1277622] - [fs] fs-cache: refcount becomes corrupt under vma pressure (David Howells) [1277622] - [fs] fs-cache: Reduce cookie ref count if submit fails (David Howells) [1277622] - [fs] fs-cache: Timeout for releasepage (David Howells) [1277622] - [fs] cachefiles: replace kerror by pr_err (David Howells) [1277622] - [fs] cachefiles: convert printk to pr_foo() (David Howells) [1277622] - [fs] fscache: replace seq_printf by seq_puts (David Howells) [1277622] - [fs] fscache: convert printk to pr_foo (David Howells) [1277622] - [fs] get rid of pointless checks for NULL ->i_op (David Howells) [1277622] - [fs] fs-cache: Handle removal of unadded object to the fscache_object_list rb tree (David Howells) [1277622] - [fs] nfs: Use i_writecount to control whether to get an fscache cookie in nfs_open (David Howells) [1277622] - [fs] fs-cache: Provide the ability to enable/disable cookies (David Howells) [1277622] - [fs] fs-cache: Add use/unuse/wake cookie wrappers (David Howells) [1277622] - [fs] cachefiles: Don't try to dump the index key if the cookie has been cleared (David Howells) [1277622] - [fs] cachefiles: Fix memory leak in cachefiles_check_auxdata error paths (David Howells) [1277622] - [fs] fscache: check consistency does not decrement refcount (David Howells) [1277622] - [fs] fscache: Netfs function for cleanup post readpages (David Howells) [1277622] - [fs] cachefiles: Implement interface to check cache consistency (David Howells) [1277622] - [fs] fs-cache: Add interface to check consistency of a cached object (David Howells) [1277622] - [fs] fs-cache: Don't use spin_is_locked() in assertions (David Howells) [1277622] - [netdrv] be2net: Avoid accessing eq object in be_msix_register routine, when i < 0 (Ivan Vecera) [1253018] - [netdrv] be2net: remove local variable 'status' (Ivan Vecera) [1253018] - [netdrv] be2net: replace hardcoded values with existing define (Ivan Vecera) [1253018] - [netdrv] be2net: remove unused local rsstable array (Ivan Vecera) [1253018] - [netdrv] be2net: remove vlan promisc capability from VF's profile descriptors (Ivan Vecera) [1253018] - [netdrv] be2net: set pci_func_num while issuing GET_PROFILE_CONFIG cmd (Ivan Vecera) [1253018] - [netdrv] be2net: pad skb to meet minimum TX pkt size in BE3 (Ivan Vecera) [1253018] - [netdrv] be2net: release mcc-lock in a failure case in be_cmd_notify_wait (Ivan Vecera) [1253018] - [netdrv] be2net: fix BE3-R FW download compatibility check (Ivan Vecera) [1253018] - [netdrv] drivers/net: get rid of unnecessary initializations in .get_drvinfo (Ivan Vecera) [1253018] - [netdrv] be2net: Revert "make the RX_FILTER command asynchronous" commit (Ivan Vecera) [1253018] - [netdrv] be2net: protect eqo->affinity_mask from getting freed twice (Ivan Vecera) [1253018] - [netdrv] be2net: post buffers before destroying RXQs in Lancer (Ivan Vecera) [1253018] - [netdrv] be2net: enable IFACE filters only after creating RXQs (Ivan Vecera) [1253018] - [netdrv] be2net: support ndo_get_phys_port_id (Ivan Vecera) [1253018] - [netdrv] be2net: bump up the driver version to 10.6.0.3 (Ivan Vecera) [1253018] - [netdrv] be2net: make SET_LOOPBACK_MODE cmd asynchrounous (Ivan Vecera) [1253018] - [netdrv] be2net: make the RX_FILTER command asynchronous (Ivan Vecera) [1253018] - [netdrv] be2net: return error status from be_mcc_notify (Ivan Vecera) [1253018] - [netdrv] be2net: convert dest field in udp-hdr to host-endian (Ivan Vecera) [1253018] - [netdrv] be2net: fix wrong return value in be_check_ufi_compatibility (Ivan Vecera) [1253018] - [netdrv] be2net: remove redundant D0 power state set (Ivan Vecera) [1253018] - [netdrv] be2net: query FW to check if EVB is enabled (Ivan Vecera) [1253018] - [netdrv] be2net: remove duplicate code in be_setup_wol (Ivan Vecera) [1253018] - [netdrv] be2net: Replace dma/pci_alloc_coherent calls with dma_zalloc_coherent (Ivan Vecera) [1253018] - [netdrv] cpumask_set_cpu_local_first => cpumask_local_spread, lament (Ivan Vecera) [1253018] - [netdrv] be2net: Support for OS2BMC (Ivan Vecera) [1253018] - [netdrv] be2net: Report a "link down" to the stack when a fatal error or fw reset happens (Ivan Vecera) [1253018] - [netdrv] be2net: Export board temperature using hwmon-sysfs interface (Ivan Vecera) [1253018] - [netdrv] be2net: update copyright year to 2015 (Ivan Vecera) [1253018] - [netdrv] be2net: use be_virtfn instead of !be_physfn (Ivan Vecera) [1253018] - [netdrv] be2net: simplify UFI compatibility checking (Ivan Vecera) [1253018] - [netdrv] be2net: post full RXQ on interface enable (Ivan Vecera) [1253018] - [netdrv] be2net: check for INSUFFICIENT_VLANS error (Ivan Vecera) [1253018] - [netdrv] be2net: receive pkts with L3, L4 errors on VFs (Ivan Vecera) [1253018] - [netdrv] be2net: set interrupt moderation for Skyhawk-R using EQ-DB (Ivan Vecera) [1253018] - [netdrv] be2net: add support for spoofchk setting (Ivan Vecera) [1253018] - [netdrv] be2net: Fix a bug in Rx buffer posting (Ivan Vecera) [1253018] - [netdrv] be2net: bump up the driver version to 10.6.0.1 (Ivan Vecera) [1253018] - [netdrv] be2net: setup xps queue mapping (Ivan Vecera) [1253018] - [netdrv] be2net: assign CPU affinity hints to be2net IRQs (Ivan Vecera) [1253018] - [kernel] cpumask: Utility function to set n'th cpu - local cpu first (Ivan Vecera) [1253018] - [netdrv] be2net: restrict MODIFY_EQ_DELAY cmd to a max of 8 EQs (Ivan Vecera) [1253018] - [netdrv] be2net: Prevent VFs from enabling VLAN promiscuous mode (Ivan Vecera) [1253018] - [netdrv] ethernet: codespell comment spelling fixes (Ivan Vecera) [1253018] - [netdrv] be2net: implement .sriov_configure PCI callback (Ivan Vecera) [1253018] - [netdrv] be2net: re-distribute SRIOV resources allowed by FW (Ivan Vecera) [1253018] - [netdrv] be2net: avoid creating the non-RSS default RXQ if FW allows to (Ivan Vecera) [1253018] - [netdrv] be2net: move be_func_init call inside be_setup (Ivan Vecera) [1253018] - [netdrv] be2net: refactor adapter resource cleanup sequence into be_cleanup (Ivan Vecera) [1253018] - [netdrv] be2net: refactor adapter resource initialzation sequence into be_resume (Ivan Vecera) [1253018] - [netdrv] be2net: remove code duplication relating to Lancer reset sequence (Ivan Vecera) [1253018] - [netdrv] be2net: refactor error detect/recovery function (Ivan Vecera) [1253018] - [netdrv] be2net: use a wrapper to schedule and cancel error detection task (Ivan Vecera) [1253018] - [netdrv] be2net: refactor function initalization sequence into be_func_init (Ivan Vecera) [1253018] - [netdrv] be2net: get rid of be_get_initial_config call from be_probe (Ivan Vecera) [1253018] - [netdrv] be2net: move adapter fields alloc/free code to new routines (Ivan Vecera) [1253018] - [netdrv] be2net: fix wrong handling of be_setup failure in be_probe (Ivan Vecera) [1253018] - [netdrv] be2net: Add a few inline functions to test TXQ conditions (Ivan Vecera) [1253018] - [netdrv] be2net: Minor code cleanup in tx completion process (Ivan Vecera) [1253018] - [netdrv] be2net: Refactor be_xmit_enqueue routine (Ivan Vecera) [1253018] - [netdrv] be2net: Refactor wrb_fill_hdr routine (Ivan Vecera) [1253018] - [netdrv] be2net: support TX batching using skb->xmit_more flag (Ivan Vecera) [1253018] - [md] flush ->event_work before stopping array (Jes Sorensen) [1220555] - [net] flow_dissector: remove unused function flow_get_hlen declaration (Ivan Vecera) [1298479] - [net] flow_keys: n_proto type should be __be16 (Ivan Vecera) [1298479] - [netdrv] 3c59x: fix another page map/single unmap imbalance (Neil Horman) [1291401] - [netdrv] 3c59x: balance page maps and unmaps (Neil Horman) [1291401] - [netdrv] 3c59x: Fix bad offset spec in skb_frag_dma_map (Neil Horman) [1291401] - [netdrv] 3c59x: Add dma error checking and recovery (Neil Horman) [1291401] - [mfd] lpc_ich: Intel device IDs for PCH (Steve Best) [1244017] - [i2c] i801: add Intel Lewisburg device IDs (Steve Best) [1244017] - [sound] alsa: hda - Add Intel Lewisburg device IDs Audio (Steve Best) [1244017] - [sched] core: Rework rq->clock update skips (Aaron Tomlin) [1263613] - [sched] Remove useless code in yield_to() (Aaron Tomlin) [1263613] - [sched] Set skip_clock_update in yield_task_fair() (Aaron Tomlin) [1263613] - [sched] rt: Update rq clock when unthrottling of an otherwise idle CPU (Aaron Tomlin) [1263613] - [pci] PCIe / hotplug: Drop pointless ACPI-based "slot detection" check (Jarod Wilson) [1211804] - [netdrv] remove NETIF_F_NO_CSUM feature bit (Michal Schmidt) [1291941] - [mm] memcg: oom_notify use-after-free fix (Rafael Aquini) [1294400] - [mm] make lru_add_drain_all() selective (Jerome Marchand) [1266146] - [char] random: Fix "Missing strategy" warnings in debug kernel (Prarit Bhargava) [1296944] - [netdrv] bna: fix error handling (Ivan Vecera) [1258535] - [netdrv] bna: check for dma mapping errors (Ivan Vecera) [1258535] - [netdrv] bna: remove superfluous parentheses (Ivan Vecera) [1258535] - [netdrv] bna: make pointers to read-only inputs const (Ivan Vecera) [1258535] - [netdrv] bna: remove unnecessary cast of BIT value (Ivan Vecera) [1258535] - [netdrv] bna: use netdev_* and dev_* instead of printk and pr_* (Ivan Vecera) [1258535] - [netdrv] bna: fix timeout API argument type (Ivan Vecera) [1258535] - [netdrv] bna: use list_for_each_entry where appropriate (Ivan Vecera) [1258535] - [netdrv] bna: get rid of private macros for manipulation with lists (Ivan Vecera) [1258535] - [netdrv] bna: use memdup_user to copy userspace buffers (Ivan Vecera) [1258535] - [netdrv] bna: correct comparisons/assignments to bool (Ivan Vecera) [1258535] - [netdrv] bna: remove TX_E_PRIO_CHANGE event and BNA_TX_F_PRIO_CHANGED flag (Ivan Vecera) [1258535] - [netdrv] bna: remove paused from bna_rx_config and flags from bna_rxf (Ivan Vecera) [1258535] - [netdrv] bna: remove RXF_E_PAUSE and RXF_E_RESUME events (Ivan Vecera) [1258535] - [netdrv] bna: remove prio_change_cbfn oper_state_cbfn from struct bna_tx (Ivan Vecera) [1258535] - [netdrv] bna: remove oper_state_cbfn from struct bna_rxf (Ivan Vecera) [1258535] - [netdrv] bna: remove pause_cbfn from struct bna_enet (Ivan Vecera) [1258535] - [netdrv] bna: remove unused cbfn parameter (Ivan Vecera) [1258535] - [netdrv] bna: use BIT(x) instead of (1 << x) (Ivan Vecera) [1258535] - [netdrv] bna: get rid of duplicate and unused macros (Ivan Vecera) [1258535] - [netdrv] bna: replace pragma(pack) with attribute __packed (Ivan Vecera) [1258535] - [netdrv] bna: get rid of mac_t (Ivan Vecera) [1258535] - [netdrv] bna: use ether_addr_copy instead of memcpy (Ivan Vecera) [1258535] - [netdrv] bna: remove obsolete use of EXTRA_CFLAGS (Ivan Vecera) [1258535] - [netdrv] bna: fix soft lock-up during firmware initialization failure (Ivan Vecera) [1258535] - [netdrv] bna: remove unreasonable iocpf timer start (Ivan Vecera) [1258535] - [netdrv] bna: fix firmware loading on big-endian machines (Ivan Vecera) [1258535] - [netdrv] ethernet: codespell comment spelling fixes (Ivan Vecera) [1258535] - [netdrv] bna: Update the Driver and Firmware Version (Ivan Vecera) [1258535] - [netdrv] bna: QLogic BR-series Adapters Driver Rebranding (Ivan Vecera) [1258535] - [netdrv] net: incorrect use of init_completion fixup (Ivan Vecera) [1258535] - [netdrv] bna: use netdev_rss_key_fill() helper (Ivan Vecera) [1258535] - [netdrv] bna: fix skb->truesize underestimation (Ivan Vecera) [1258535] - [netdrv] bna: use container_of to resolve bufdesc_ex from bufdesc (Ivan Vecera) [1258535] - [netdrv] bna: remove unnecessary break after return (Ivan Vecera) [1258535] - [netdrv] net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Ivan Vecera) [1258535] - [netdrv] net: get rid of SET_ETHTOOL_OPS (Ivan Vecera) [1258535] - [netdrv] bna: remove open-coded skb_cow_head (Ivan Vecera) [1258535] - [netdrv] bnad: Call dev_kfree_skb_any instead of dev_kfree_skb (Ivan Vecera) [1258535] - [netdrv] bna: Replace large udelay() with mdelay() (Ivan Vecera) [1258535] - [netdrv] brocade: Convert uses of __constant_ to (Ivan Vecera) [1258535] - [netdrv] bna: Use pci_enable_msix_range() instead of pci_enable_msix() (Ivan Vecera) [1258535] - [netdrv] bnad: code cleanup (Ivan Vecera) [1258535] - [netdrv] bna: Fix build due to missing use of dma_unmap_len_set() (Ivan Vecera) [1258535] - [netdrv] bna: make pointers to read-only inputs const (Ivan Vecera) [1258535] - [netdrv] bnad: do vlan cleanup (Ivan Vecera) [1258535]- [netdrv] i40e: trivial fixes (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump version to 1.4.7 for i40e and 1.4.3 for i40evf (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: use logical operator (Stefan Assmann) [1249247] - [netdrv] i40evf: use correct types (Stefan Assmann) [1249247] - [netdrv] i40evf: don't use atomic allocation (Stefan Assmann) [1249247] - [netdrv] i40e: Fix memory leaks, sideband filter programming (Stefan Assmann) [1249247] - [netdrv] i40e: Detection and recovery of TX queue hung logic moved to service_task from tx_timeout (Stefan Assmann) [1249247] - [netdrv] i40evf: remove duplicate string (Stefan Assmann) [1249247] - [netdrv] i40evf: set real num queues (Stefan Assmann) [1249247] - [netdrv] i40evf: increase max number of queues (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e version to 1.4.4 and i40evf to 1.4.1 (Stefan Assmann) [1249247] - [netdrv] i40evf: allocate ring structs dynamically (Stefan Assmann) [1249247] - [netdrv] i40evf: allocate queue vectors dynamically (Stefan Assmann) [1249247] - [netdrv] i40evf: quoth the VF driver, Nevermore (Stefan Assmann) [1249247] - [netdrv] i40evf: add new fields to store user configuration of RSS (Stefan Assmann) [1249247] - [netdrv] i40evf: create a generic get RSS function (Stefan Assmann) [1249247] - [netdrv] i40evf: create a generic config RSS function (Stefan Assmann) [1249247] - [netdrv] i40evf: rename VF adapter specific RSS function (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: prefetch skb data on transmit (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix RS bit update in Tx path and disable force WB workaround (Stefan Assmann) [1249247] - [netdrv] i40evf: handle many MAC filters correctly (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: clean up error messages (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add comment to #endif (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add a stat to track how many times we have to do a force WB (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: remove unused tunnel parameter (Stefan Assmann) [1249247] - [netdrv] i40evf: fix compiler warning of unused variable (Stefan Assmann) [1249247] - [netdrv] i40evf: clean up local variable initialization (Stefan Assmann) [1249247] - [netdrv] i40evf: add missing kernel-doc argument (Stefan Assmann) [1249247] - [netdrv] i40e: re-use *ph specifier to hexdump a data (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e to 1.3.46 and i40evf to 1.3.33 (Stefan Assmann) [1249247] - [netdrv] i40evf: use correct struct for list manipulation (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add a workaround to drop all flow control frames (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e to 1.3.38 and i40evf to 1.3.25 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix an accidental error with BIT_ULL replacement (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: adjust interrupt throttle less frequently (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: change dynamic interrupt thresholds (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix bug in throttle rate math (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: refactor IRQ enable function (Stefan Assmann) [1249247] - [netdrv] i40evf: don't give up (Stefan Assmann) [1249247] - [netdrv] i40evf: fix overlong BIT defines (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e to 1.3.34 and i40evf to 1.3.21 (Stefan Assmann) [1249247] - [netdrv] i40evf: relax and stagger init timing a bit (Stefan Assmann) [1249247] - [netdrv] i40evf: correctly populate vlan_features (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: moderate interrupts differently (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix compile issue related to const string (Stefan Assmann) [1249247] - [netdrv] drivers/net/intel: use napi_complete_done() (Stefan Assmann) [1249247] - [netdrv] i40evf: Add support for netpoll (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Drop useless "IN_NETPOLL" flag (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix handling of napi budget (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e version to 1.3.28 and i40evf to 1.3.19 (Stefan Assmann) [1249247] - [netdrv] i40evf: speed up init (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: remove redundant declarations of a variable and a function (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add WB_ON_ITR offload support (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e version to 1.3.25 and i40evf to 1.3.17 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Refactor PHY structure and add phy_capabilities enum (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add module_types and update_link_info (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: split device ids into a separate file (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add info to nvm info struct for OEM version data (Stefan Assmann) [1249247] - [netdrv] i40evf: properly handle ndo_set_mac_address calls (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add new link status defines (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: pass QOS handle to VF (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: clean up some code (Stefan Assmann) [1249247] - [netdrv] i40evf: detect reset more reliably (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Explicitly assign enum index for VSI type (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Store CEE DCBX DesiredCfg and RemoteCfg (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: remove unused opcode (Stefan Assmann) [1249247] - [netdrv] i40evf: propagate interrupt allocation failure (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add a stat to keep track of linearization count (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: give up the __func__ (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: assure clean asq status report (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix a potential type compare issue (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add driver support for new device ids (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: set AQ count after memory allocation (Stefan Assmann) [1249247] - [netdrv] i40evf: don't blow away MAC address (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: grab the AQ spinlocks before clearing registers (Stefan Assmann) [1249247] - [netdrv] i40evf: tweak init timing (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add new device id 1588 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix Tx hang workaround code (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix up type clash in i40e_aq_rc_to_posix conversion (Stefan Assmann) [1249247] - [netdrv] i40evf: missing rtnl_unlock in i40evf_resume() (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: check for stopped admin queue (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: refactor tx timeout logic (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e to 1.3.21 and i40evf to 1.3.13 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add get AQ result command to nvmupdate utility (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add exec_aq command to nvmupdate utility (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add wait states to NVM state machine (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add GetStatus command for nvmupdate (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add handling of writeback descriptor (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: save aq writeback for future inspection (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e to 1.3.9 and i40evf to 1.3.5 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Cache the CEE TLV status returned from firmware (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag (Stefan Assmann) [1249247] - [netdrv] i40evf: Remove PF specific register definitions from the VF (Stefan Assmann) [1249247] - [netdrv] i40evf: Use the correct defines to match the VF registers (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add capability to gather VEB per TC stats (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add TX/RX outer UDP checksum support for X722 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add support for writeback on ITR feature for X722 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: RSS changes for X722 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Update register.h file for X722 (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Update FW API with X722 support (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add flags for X722 capabilities (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add device ids for X722 (Stefan Assmann) [1249247] - [netdrv] i40e: use BIT and BIT_ULL macros (Stefan Assmann) [1249247] - [netdrv] i40e: clean up error status messages (Stefan Assmann) [1249247] - [netdrv] i40evf: support virtual channel API version 1.1 (Stefan Assmann) [1249247] - [netdrv] i40evf: handle big resets (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: add macros for virtual channel API version and device capability (Stefan Assmann) [1249247] - [netdrv] i40e: add VF capabilities to virtual channel interface (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix and refactor dynamic ITR code (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump version to 1.3.6 for i40e and 1.3.2 for i40evf (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add support for pre-allocated pages for PD (Stefan Assmann) [1249247] - [netdrv] i40evf: add MAC address filter in open, not init (Stefan Assmann) [1249247] - [netdrv] i40evf: don't delete all the filters (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Update the admin queue command header (Stefan Assmann) [1249247] - [netdrv] i40evf: Allow for an abundance of vectors (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Update Flex-10 related device/function capabilities (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add stats to track FD ATR and SB dynamic enable state (Stefan Assmann) [1249247] - [netdrv] i40evf: don't configure unused RSS queues (Stefan Assmann) [1249247] - [netdrv] i40evf: fix panic during MTU change (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Fix mixed size frags and linearization (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: remove time_stamp member (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: force inline transmit functions (Stefan Assmann) [1249247] - [netdrv] i40evf: skb->xmit_more support (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Remove unneeded TODO (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add stats to count Tunnel ATR hits (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add ATR support for tunneled TCP/IPv4/IPv6 packets (Stefan Assmann) [1249247] - [netdrv] net: batch of last_rx update avoidance in ethernet drivers (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities (Stefan Assmann) [1249247] - [netdrv] i40evf: remove aq_pending (Stefan Assmann) [1249247] - [netdrv] i40evf: fix bad indentation (Stefan Assmann) [1249247] - [netdrv] i40evf: Refactor VF RSS code (Stefan Assmann) [1249247] - [netdrv] i40evf: protect VLAN filter list (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Set Ethernet protocol correctly when Tx VLAN offloads are disabled (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix bug when skb allocation fails (Stefan Assmann) [1249247] - [netdrv] i40evf: Fix Outer UDP RX checksum code (Stefan Assmann) [1249247] - [netdrv] i40evf: add FW version to ethtool info (Stefan Assmann) [1249247] - [netdrv] i40evf: resequence close operations (Stefan Assmann) [1249247] - [netdrv] i40evf: delay releasing rings (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump i40e/i40evf version (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: fix accidental write to ITR registers (Stefan Assmann) [1249247] - [netdrv] i40vf: don't stop me now (Stefan Assmann) [1249247] - [netdrv] ethernet: codespell comment spelling fixes (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump version (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: enable prefetch of Tx descriptors during cleanup (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Simplify tunnel selection logic (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Refactor i40e_debug_aq and make some functions static (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Version bump (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Clean up some formatting and other things (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: grab NVM devstarter version not image version (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Bump versions (Stefan Assmann) [1249247] - [netdrv] i40evf: ethtool RSS fixes (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: Add missing packet types for VXLAN encapsulated packet types (Stefan Assmann) [1249247] - [netdrv] i40e/i40evf: print FW build number in version string (Stefan Assmann) [1249247] - [x86] hyperv: restore irq accounting (Vitaly Kuznetsov) [1282387] - [x86] irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V (Vitaly Kuznetsov) [1282387] - [xen] Add proper irq accounting for HYPERCALL vector (Vitaly Kuznetsov) [1282387] - [x86] irq: Properly tag virtualization entry in /proc/interrupts (Vitaly Kuznetsov) [1282387] - [x86] Add proper vector accounting for HYPERVISOR_CALLBACK_VECTOR (Vitaly Kuznetsov) [1282387] - [tpm] revert the list handling logic fixed in 398a1e7 (Jerry Snitselaar) [1254015 1293409] - [tpm] Avoid reference to potentially freed memory (Jerry Snitselaar) [1254015 1293409] - [tpm] tpm_tis: restore IRQ vector in IO memory after failed probing (Jerry Snitselaar) [1254015 1293409] - [tpm] tpm_tis: free irq after probing (Jerry Snitselaar) [1254015 1293409] - [tpm] remove unnecessary little endian conversion (Jerry Snitselaar) [1254015 1293409] - [tpm] tpm_crb: fix unaligned read of the command buffer address (Jerry Snitselaar) [1254015 1293409] - [tpm] tpm_crb: fail when TPM2 ACPI table contents look corrupted (Jerry Snitselaar) [1254015 1293409] - [tpm] Fix initialization of the cdev (Jerry Snitselaar) [1254015 1293409] - [tpm] tpm, tpm_crb: fix le64_to_cpu conversions in crb_acpi_add (Jerry Snitselaar) [1254015 1293409] - [tpm] fix: sanitized code paths in tpm_chip_register (Jerry Snitselaar) [1254015 1293409] - [sched] kernel: sched: Fix nohz load accounting -- again (Rafael Aquini) [1167755] - [sched] kernel: sched: Move sched_avg_update to update_cpu_load (Rafael Aquini) [1167755] - [sched] kernel: sched: Cure more NO_HZ load average woes (Rafael Aquini) [1167755] - [sched] kernel: sched: Cure load average vs NO_HZ woes (Rafael Aquini) [1167755] - [netdrv] bnxt_en: Zero pad firmware messages to 128 bytes (John Linville) [1253659] - [netdrv] bnxt_en: Add BCM57301 & BCM57402 devices (John Linville) [1253659] - [netdrv] bnxt_en: Update to Firmware interface spec 1.0.0 (John Linville) [1253659] - [fs] lockd: Register callbacks on the inetaddr_chain and inet6addr_chain (Scott Mayhew) [1262362] - [fs] nfsd: Register callbacks on the inetaddr_chain and inet6addr_chain (Scott Mayhew) [1262362] - [fs] sunrpc: Add a function to close temporary transports immediately (Scott Mayhew) [1262362] - [fs] dlm: sctp_accept_from_sock() can be static (Xin Long) [1217712] - [fs] dlm: fix reconnecting but not sending data (Xin Long) [1217712] - [fs] dlm: replace BUG_ON with a less severe handling (Xin Long) [1217712] - [fs] dlm: use sctp 1-to-1 API (Xin Long) [1217712] - [fs] dlm: fix not reconnecting on connecting error handling (Xin Long) [1217712] - [fs] dlm: fix race while closing connections (Xin Long) [1217712] - [fs] avoid the dependency of DLM module on SCTP by using 1-to-1 API (0/7) (Xin Long) [1217712] - [fs] dlm: disable nagle for SCTP (Xin Long) [1217712] - [fs] dlm: retry failed SCTP sends (Xin Long) [1217712] - [fs] dlm: try other IPs when sctp init assoc fails (Xin Long) [1217712] - [fs] dlm: prevent connections during shutdown (Xin Long) [1217712] - [fs] sync: Use a separate wq for do_sync_work() to avoid a potential deadlock (Aaron Tomlin) [1147510] - [fs] SUNRPC: Fix callback channel (Benjamin Coddington) [1232402] - [fs] quota: Make quota code not call tty layer with dqptr_sem held (Lukas Czerner) [1232387] - [fs] __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE (Abhijith Das) [1206720]- [netdrv] i40e: Fix i40e_print_features() VEB mode output (Stefan Assmann) [1249246] - [netdrv] i40e: trivial fixes (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump version to 1.4.7 for i40e and 1.4.3 for i40evf (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: use logical operator (Stefan Assmann) [1249246] - [netdrv] i40e: fix whitespace (Stefan Assmann) [1249246] - [netdrv] i40e: Remove separate functions gathering XOFF Rx stats (Stefan Assmann) [1249246] - [netdrv] i40e: use priv flags to control packet split (Stefan Assmann) [1249246] - [netdrv] i40e: propagate properly (Stefan Assmann) [1249246] - [netdrv] i40e: Fix memory leaks, sideband filter programming (Stefan Assmann) [1249246] - [netdrv] i40e: Detection and recovery of TX queue hung logic moved to service_task from tx_timeout (Stefan Assmann) [1249246] - [netdrv] i40e: remove unused argument (Stefan Assmann) [1249246] - [netdrv] i40e: fix: do not sleep in netdev_ops (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e version to 1.4.4 and i40evf to 1.4.1 (Stefan Assmann) [1249246] - [netdrv] i40e: make error message more useful (Stefan Assmann) [1249246] - [netdrv] i40e: fix confusing message (Stefan Assmann) [1249246] - [netdrv] i40e: Update error messaging (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: prefetch skb data on transmit (Stefan Assmann) [1249246] - [netdrv] i40e: rename rss_size to alloc_rss_size in i40e_pf (Stefan Assmann) [1249246] - [netdrv] i40e: add new fields to store user configuration (Stefan Assmann) [1249246] - [netdrv] i40e: Bump version to 1.4.2 (Stefan Assmann) [1249246] - [netdrv] i40e: create a generic configure rss function (Stefan Assmann) [1249246] - [netdrv] i40e: rework the functions to configure RSS with similar parameters (Stefan Assmann) [1249246] - [netdrv] i40e: return the number of enabled queues for ETHTOOL_GRXRINGS (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: clean up error messages (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add comment to #endif (Stefan Assmann) [1249246] - [netdrv] i40e: Move the saving of old link info from handle_link_event to link_event (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add a stat to track how many times we have to do a force WB (Stefan Assmann) [1249246] - [netdrv] i40e: Workaround fix for mss < 256 issue (Stefan Assmann) [1249246] - [netdrv] i40e: remove BUG_ON from FCoE setup (Stefan Assmann) [1249246] - [netdrv] i40e: remove BUG_ON from feature string building (Stefan Assmann) [1249246] - [netdrv] i40e: Change BUG_ON to WARN_ON in service event complete (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: remove unused tunnel parameter (Stefan Assmann) [1249246] - [netdrv] intel: i40e: fix confused code (Stefan Assmann) [1249246] - [netdrv] i40e: fix unconditional execution of cpu_to_le16() (Stefan Assmann) [1249246] - [netdrv] i40e: clean up local variable initialization (Stefan Assmann) [1249246] - [netdrv] i40e: add missing kernel-doc argument (Stefan Assmann) [1249246] - [netdrv] i40e: re-use *ph specifier to hexdump a data (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e to 1.3.46 and i40evf to 1.3.33 (Stefan Assmann) [1249246] - [netdrv] i40e: Disable VEB bridge mode with SR-IOV failure (Stefan Assmann) [1249246] - [netdrv] i40e: Fix an incorrect OEM version string (Stefan Assmann) [1249246] - [netdrv] i40e: fix inconsistent statuses after a PF reset (Stefan Assmann) [1249246] - [netdrv] i40e: Fix VEB/VEPA bridge mode mismatch issue (Stefan Assmann) [1249246] - [netdrv] i40e: fix a bug in debugfs with add/del macaddr (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add a workaround to drop all flow control frames (Stefan Assmann) [1249246] - [netdrv] i40e: fix annoying message (Stefan Assmann) [1249246] - [netdrv] i40e: fix stats offsets (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e to 1.3.38 and i40evf to 1.3.25 (Stefan Assmann) [1249246] - [netdrv] i40e: declare rather than initialize int object (Stefan Assmann) [1249246] - [netdrv] i40e: Move error message to debug level (Stefan Assmann) [1249246] - [netdrv] i40e: Fix order of checks when enabling/disabling autoneg in ethtool (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Fix an accidental error with BIT_ULL replacement (Stefan Assmann) [1249246] - [netdrv] i40e: fix for PHY NVM interaction problem (Stefan Assmann) [1249246] - [netdrv] i40e: Fix for Tools loopback test failing after driver load (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: adjust interrupt throttle less frequently (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: change dynamic interrupt thresholds (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix bug in throttle rate math (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: refactor IRQ enable function (Stefan Assmann) [1249246] - [netdrv] i40e: Fix basic support for X722 devices (Stefan Assmann) [1249246] - [netdrv] i40e: Lock for VSI's MAC filter list (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e to 1.3.34 and i40evf to 1.3.21 (Stefan Assmann) [1249246] - [netdrv] i40e: increase AQ work limit (Stefan Assmann) [1249246] - [netdrv] i40e: Recognize 1000Base_T_Optical phy type when link is up (Stefan Assmann) [1249246] - [netdrv] i40e: reset the invalid msg counter in vf when a valid msg is received (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: moderate interrupts differently (Stefan Assmann) [1249246] - [netdrv] i40e: Add support for non-willing Apps (Stefan Assmann) [1249246] - [netdrv] i40e: priv flag for controlling VEB stats (Stefan Assmann) [1249246] - [netdrv] i40e: Removed unused defines (Stefan Assmann) [1249246] - [netdrv] i40e: remove read/write failed messages from nvmupdate (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Fix compile issue related to const string (Stefan Assmann) [1249246] - [netdrv] i40e: generate fewer startup messages (Stefan Assmann) [1249246] - [netdrv] drivers/net/intel: use napi_complete_done() (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Drop useless "IN_NETPOLL" flag (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Fix handling of napi budget (Stefan Assmann) [1249246] - [netdrv] drivers/net: get rid of unnecessary initializations in .get_drvinfo() (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e version to 1.3.28 and i40evf to 1.3.19 (Stefan Assmann) [1249246] - [netdrv] i40e: remove unnecessary string copy operations (Stefan Assmann) [1249246] - [netdrv] i40e: X722 is on the IOSF bus and does not report the PCI bus info (Stefan Assmann) [1249246] - [netdrv] i40e: Store off PHY capabilities (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: remove redundant declarations of a variable and a function (Stefan Assmann) [1249246] - [netdrv] i40e: remove FD atr control from debugfs (Stefan Assmann) [1249246] - [netdrv] i40e: allow FD SB if MFP mode only has 1 partition (Stefan Assmann) [1249246] - [netdrv] i40e: remove obsolete version check (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add WB_ON_ITR offload support (Stefan Assmann) [1249246] - [netdrv] i40e: Remove 100M SGMII unless hw is X722 (Stefan Assmann) [1249246] - [netdrv] i40e: Change some messages from info to debug only (Stefan Assmann) [1249246] - [netdrv] i40e: use priv flags to control flow director (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e version to 1.3.25 and i40evf to 1.3.17 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Refactor PHY structure and add phy_capabilities enum (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add module_types and update_link_info (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: split device ids into a separate file (Stefan Assmann) [1249246] - [netdrv] i40e: update fw version text string per previous product formats (Stefan Assmann) [1249246] - [netdrv] i40e: don't panic on VSI allocation failure (Stefan Assmann) [1249246] - [netdrv] i40e: remove redundant call (Stefan Assmann) [1249246] - [netdrv] i40e: Convert CEE App TLV selector to IEEE selector (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add info to nvm info struct for OEM version data (Stefan Assmann) [1249246] - [netdrv] i40e: Use BIT() macro for priority map parsing (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add new link status defines (Stefan Assmann) [1249246] - [netdrv] i40e: print neato new features (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: pass QOS handle to VF (Stefan Assmann) [1249246] - [netdrv] i40e: refactor code to remove indent (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: clean up some code (Stefan Assmann) [1249246] - [netdrv] i40e: Support FW CEE DCB UP to TC map nibble swap (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Explicitly assign enum index for VSI type (Stefan Assmann) [1249246] - [netdrv] i40e: add switch for link polling (Stefan Assmann) [1249246] - [netdrv] i40e: Fix multiple link up messages (Stefan Assmann) [1249246] - [netdrv] i40e: Fix for extra Flow Director filter in table after error (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Store CEE DCBX DesiredCfg and RemoteCfg (Stefan Assmann) [1249246] - [netdrv] i40e: Add parsing for CEE DCBX TLVs (Stefan Assmann) [1249246] - [netdrv] i40e: add more verbose error messages (Stefan Assmann) [1249246] - [netdrv] i40e: inline interrupt enable (Stefan Assmann) [1249246] - [netdrv] i40e: fix erroneous WARN_ON (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: remove unused opcode (Stefan Assmann) [1249246] - [netdrv] i40e: Additional checks for CEE APP priority validity (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add a stat to keep track of linearization count (Stefan Assmann) [1249246] - [netdrv] i40e: fix bug in return from get_link_status and avoid spurious link messages (Stefan Assmann) [1249246] - [netdrv] i40e: add little endian conversion for checksum (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: give up the __func__ (Stefan Assmann) [1249246] - [netdrv] i40e: Never let speed get set to 0 in get_settings (Stefan Assmann) [1249246] - [netdrv] i40e: Fix for truncated interrupt name (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: assure clean asq status report (Stefan Assmann) [1249246] - [netdrv] i40e: make i40e_init_pf_fcoe to void (Stefan Assmann) [1249246] - [netdrv] i40e: fix bad CEE status shift value (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix a potential type compare issue (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add driver support for new device ids (Stefan Assmann) [1249246] - [netdrv] i40e: stop VF rings (Stefan Assmann) [1249246] - [netdrv] i40e: enable WoL operation if config bit show WoL capable (Stefan Assmann) [1249246] - [netdrv] i40e: Increase the amount of time we wait for reset to be done (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: set AQ count after memory allocation (Stefan Assmann) [1249246] - [netdrv] i40e: fix offload of GRE tunnels (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: grab the AQ spinlocks before clearing registers (Stefan Assmann) [1249246] - [netdrv] i40e: Fix a memory leak in X722 rss config path (Stefan Assmann) [1249246] - [netdrv] i40e: fix 32 bit build warnings (Stefan Assmann) [1249246] - [netdrv] i40e: fix kbuild warnings (Stefan Assmann) [1249246] - [netdrv] i40e: warn on double free (Stefan Assmann) [1249246] - [netdrv] i40e: refactor interrupt enable (Stefan Assmann) [1249246] - [netdrv] i40e: Strip VEB stats if they are disabled in HW (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add new device id 1588 (Stefan Assmann) [1249246] - [netdrv] i40e: Remove useless message (Stefan Assmann) [1249246] - [netdrv] i40e: limit debugfs io ops (Stefan Assmann) [1249246] - [netdrv] i40e: use QOS field consistently (Stefan Assmann) [1249246] - [netdrv] i40e: count drops in netstat interface (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix Tx hang workaround code (Stefan Assmann) [1249246] - [netdrv] i40e: fixup padding issue in get_cee_dcb_cfg_v1_resp (Stefan Assmann) [1249246] - [netdrv] i40e: Fix a port VLAN configuration bug (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix up type clash in i40e_aq_rc_to_posix conversion (Stefan Assmann) [1249246] - [netdrv] i40e: rtnl_lock called twice in i40e_pci_error_resume() (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: check for stopped admin queue (Stefan Assmann) [1249246] - [netdrv] i40e: fix VLAN inside VXLAN (Stefan Assmann) [1249246] - [netdrv] i40e: Fix for recursive RTNL lock during PROMISC change (Stefan Assmann) [1249246] - [netdrv] i40e: Fix RS bit update in Tx path and disable force WB workaround (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: improve Tx performance with a small tweak (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: refactor tx timeout logic (Stefan Assmann) [1249246] - [netdrv] i40e: Move i40e_get_head into header file (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e to 1.3.21 and i40evf to 1.3.13 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add get AQ result command to nvmupdate utility (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add exec_aq command to nvmupdate utility (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add wait states to NVM state machine (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add GetStatus command for nvmupdate (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add handling of writeback descriptor (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: save aq writeback for future inspection (Stefan Assmann) [1249246] - [netdrv] i40e: rename variable to prevent clash of understanding (Stefan Assmann) [1249246] - [netdrv] i40e: Set defport behavior for the Main VSI when in promiscuous mode (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e to 1.3.9 and i40evf to 1.3.5 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Cache the CEE TLV status returned from firmware (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag (Stefan Assmann) [1249246] - [netdrv] i40e: Remove redundant and unneeded messages (Stefan Assmann) [1249246] - [netdrv] i40e: correct spelling error (Stefan Assmann) [1249246] - [netdrv] i40e: Fix comment for ethtool diagnostic link test (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add capability to gather VEB per TC stats (Stefan Assmann) [1249246] - [netdrv] i40e: Fix ethtool offline diagnostic with netqueues (Stefan Assmann) [1249246] - [netdrv] i40e: Fix legacy interrupt mode in the driver (Stefan Assmann) [1249246] - [netdrv] i40e: Move function calls to i40e_shutdown instead of i40e_suspend (Stefan Assmann) [1249246] - [netdrv] i40e: add RX to port CRC errors label (Stefan Assmann) [1249246] - [netdrv] i40e: don't degrade __le16 (Stefan Assmann) [1249246] - [netdrv] i40e: Add AQ commands for NVM Update for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add ATR HW eviction support for X722 (Stefan Assmann) [1249246] - [netdrv] i40e: Add IWARP support for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add TX/RX outer UDP checksum support for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add support for writeback on ITR feature for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: RSS changes for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Update register.h file for X722 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Update FW API with X722 support (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add flags for X722 capabilities (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add device ids for X722 (Stefan Assmann) [1249246] - [netdrv] i40e: use BIT and BIT_ULL macros (Stefan Assmann) [1249246] - [netdrv] i40e: clean up error status messages (Stefan Assmann) [1249246] - [netdrv] i40e: provide correct API version to older VF drivers (Stefan Assmann) [1249246] - [netdrv] i40e: support virtual channel API 1.1 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: add macros for virtual channel API version and device capability (Stefan Assmann) [1249246] - [netdrv] i40e: add VF capabilities to virtual channel interface (Stefan Assmann) [1249246] - [netdrv] i40e: clean up unneeded gotos (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Fix and refactor dynamic ITR code (Stefan Assmann) [1249246] - [netdrv] i40e: only report generic filters in get_ts_info (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump version to 1.3.6 for i40e and 1.3.2 for i40evf (Stefan Assmann) [1249246] - [netdrv] i40e: Refine an error message to avoid confusion (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add support for pre-allocated pages for PD (Stefan Assmann) [1249246] - [netdrv] i40e: un-disable VF after reset (Stefan Assmann) [1249246] - [netdrv] i40e: do a proper reset when disabling a VF (Stefan Assmann) [1249246] - [netdrv] i40e: correctly program filters for VFs (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Update the admin queue command header (Stefan Assmann) [1249246] - [netdrv] i40e: ignore duplicate port VLAN requests (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Update Flex-10 related device/function capabilities (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add stats to track FD ATR and SB dynamic enable state (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Fix mixed size frags and linearization (Stefan Assmann) [1249246] - [netdrv] i40e: Bump version to 1.3.4 (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: remove time_stamp member (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: force inline transmit functions (Stefan Assmann) [1249246] - [netdrv] i40e: Move the FD ATR/SB messages to a higher debug level (Stefan Assmann) [1249246] - [netdrv] i40e: fix unrecognized FCOE EOF case (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Remove unneeded TODO (Stefan Assmann) [1249246] - [netdrv] i40e: Remove unnecessary pf members (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add stats to count Tunnel ATR hits (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add ATR support for tunneled TCP/IPv4/IPv6 packets (Stefan Assmann) [1249246] - [netdrv] i40e: Disable offline diagnostics if VFs are enabled (Stefan Assmann) [1249246] - [netdrv] i40e: Collect PFC XOFF RX stats even in single TC case (Stefan Assmann) [1249246] - [netdrv] net: batch of last_rx update avoidance in ethernet drivers (Stefan Assmann) [1249246] - [netdrv] i40e: Bump version to 1.3.2 (Stefan Assmann) [1249246] - [netdrv] i40e: Use new 40G speeds (Stefan Assmann) [1249246] - [netdrv] i40e: get rid of unused locals (Stefan Assmann) [1249246] - [netdrv] i40e: handle possible memory allocation failure (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities (Stefan Assmann) [1249246] - [netdrv] i40e: enable user dump of internal hardware state (Stefan Assmann) [1249246] - [netdrv] i40e: print FCoE capability reported by the device function (Stefan Assmann) [1249246] - [netdrv] i40e: For VF reset (VFR and VFLR) add some more delay (Stefan Assmann) [1249246] - [netdrv] i40e: move VF notification routines up (Stefan Assmann) [1249246] - [netdrv] i40e: notify VFs of link state (Stefan Assmann) [1249246] - [netdrv] i40e: Add support to program FDir SB rules for VF from PF through ethtool (Stefan Assmann) [1249246] - [netdrv] i40e: stop VF rings (Stefan Assmann) [1249246] - [netdrv] i40e: Bump to version 1.3.1 (Stefan Assmann) [1249246] - [netdrv] i40e: Communicate VSI id in place of VSI index to the VFs (Stefan Assmann) [1249246] - [netdrv] i40e: stop flow director on shutdown (Stefan Assmann) [1249246] - [netdrv] i40e: fix up VXLAN messages (Stefan Assmann) [1249246] - [netdrv] i40e: Don't register/de-register apps on NIC partitions in MFP mode (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Set Ethernet protocol correctly when Tx VLAN offloads are disabled (Stefan Assmann) [1249246] - [netdrv] i40e: warn at the right time (Stefan Assmann) [1249246] - [netdrv] i40e: fix invalid void return in FCoE code (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix bug when skb allocation fails (Stefan Assmann) [1249246] - [netdrv] i40e: Change some memcpys to struct assignments (Stefan Assmann) [1249246] - [netdrv] i40e: Print some more info to help figure out the cause of HMC error (Stefan Assmann) [1249246] - [netdrv] i40e: validate VSI param from VFs (Stefan Assmann) [1249246] - [netdrv] i40e: Bump version to 1.2.43 (Stefan Assmann) [1249246] - [netdrv] i40e: Increase PF reset max loop limit (Stefan Assmann) [1249246] - [netdrv] i40e: add NVM update events to AQ clean (Stefan Assmann) [1249246] - [netdrv] i40e: add ethtool RSS support (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump i40e/i40evf version (Stefan Assmann) [1249246] - [netdrv] i40e: add MAC printing to debugfs dump VSI (Stefan Assmann) [1249246] - [netdrv] i40e: Fix inconsistent use of PF/VF vs pf/vf (Stefan Assmann) [1249246] - [netdrv] i40e: tame the nvmupdate read and write complaints (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: fix accidental write to ITR registers (Stefan Assmann) [1249246] - [netdrv] i40e: future proof some sizeof calls (Stefan Assmann) [1249246] - [netdrv] i40e: Remove "hello world" strings from i40e driver (Stefan Assmann) [1249246] - [netdrv] i40e: Strip configfs code (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump version (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: enable prefetch of Tx descriptors during cleanup (Stefan Assmann) [1249246] - [netdrv] i40e: Simplify code for rss_size_max config (Stefan Assmann) [1249246] - [netdrv] i40e: FD filters flush policy changes (Stefan Assmann) [1249246] - [netdrv] i40e: Avoid logs while adding/deleting FD-SB filters (Stefan Assmann) [1249246] - [netdrv] i40e: print port stats only on partition 1 (Stefan Assmann) [1249246] - [netdrv] i40e: Move code to enable/disable Loopback to the main file (Stefan Assmann) [1249246] - [netdrv] i40e: rework vector reservation (Stefan Assmann) [1249246] - [netdrv] i40e: clean up debug_read_register (Stefan Assmann) [1249246] - [netdrv] i40e: store msg_enable in the right size (Stefan Assmann) [1249246] - [netdrv] i40e: Remove unneeded conversion (Stefan Assmann) [1249246] - [netdrv] i40e: Remove duplicate code (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Refactor i40e_debug_aq and make some functions static (Stefan Assmann) [1249246] - [netdrv] i40e: Fix mismatching type for ioremap_len (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Version bump (Stefan Assmann) [1249246] - [netdrv] i40e: don't spam the system log (Stefan Assmann) [1249246] - [netdrv] i40e: move IRQ tracking setup into MSIX setup (Stefan Assmann) [1249246] - [netdrv] i40e: Ioremap changes (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Clean up some formatting and other things (Stefan Assmann) [1249246] - [netdrv] i40e: Add AOC PHY types to case statements (Stefan Assmann) [1249246] - [netdrv] i40e: Fix ethtool offline test\ (Stefan Assmann) [1249246] - [netdrv] i40e: Reassign incorrect PHY type to fix a FW bug (Stefan Assmann) [1249246] - [netdrv] i40e: use more portable sign extension (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: grab NVM devstarter version not image version (Stefan Assmann) [1249246] - [netdrv] i40e: Don't check operational or sync bit for App TLV (Stefan Assmann) [1249246] - [netdrv] i40e: during LED interaction ignore activity LED src modes (Stefan Assmann) [1249246] - [netdrv] i40e: Fix NPAR Tx Scheduler init (Stefan Assmann) [1249246] - [netdrv] i40e: Fix dependencies in the i40e driver on configfs (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Bump versions (Stefan Assmann) [1249246] - [netdrv] i40e: Only enable TC0 for NIC partition type (Stefan Assmann) [1249246] - [netdrv] i40e: Register DCBNL ops in MFP mode (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: Add missing packet types for VXLAN encapsulated packet types (Stefan Assmann) [1249246] - [netdrv] i40e: Fix issue with removal of apps from DBCNL app table (Stefan Assmann) [1249246] - [netdrv] i40e: Add FW check to disable DCB and wrap autoneg workaround with FW check (Stefan Assmann) [1249246] - [netdrv] i40e: don't disable PF LB when disabling VFs (Stefan Assmann) [1249246] - [netdrv] i40e: Add safety net for switch calling (Stefan Assmann) [1249246] - [netdrv] i40e/i40evf: print FW build number in version string (Stefan Assmann) [1249246] - [netdrv] i40e: Skip the priority tagging if DCB is not enabled (Stefan Assmann) [1249246] - [netdrv] i40e: setup FCoE device type (Stefan Assmann) [1249246] - [netdrv] i40e: use dev_port for fcoe netdev (Stefan Assmann) [1249246] - [usb] serial: mos7840: Use setup_timer (Don Zickus) [891652] - [usb] mos7840: remove unused code (Don Zickus) [891652] - [usb] mos7840: replace unnecessary atomic allocations (Don Zickus) [891652] - [usb] mos7840: remove unnecessary null test before kfree (Don Zickus) [891652] - [usb] serial: remove redundant OOM messages (Don Zickus) [891652] - [usb] serial: clean up ioctl debugging (Don Zickus) [891652] - [usb] mos7840: correct handling of CS5 setting (Don Zickus) [891652] - [usb] mos7840: fix tiocmget error handling (Don Zickus) [891652] - [usb] mos7840: fix big-endian probe (Don Zickus) [891652] - [usb] mos7840: fix pointer casts (Don Zickus) [891652] - [usb] mos7840: fix race in led handling (Don Zickus) [891652] - [usb] mos7840: fix device-type detection (Don Zickus) [891652] - [usb] mos7840: fix race in register handling (Don Zickus) [891652] - [usb] mos7840: fix memory leak in open (Don Zickus) [891652] - [usb] mos7840: remove broken chase implementation (Don Zickus) [891652] - [usb] mos7840: fix DMA to stack (Don Zickus) [891652] - [usb] mos7840: remove bogus disconnect test in close (Don Zickus) [891652] - [usb] mos7840: fix broken TIOCMIWAIT (Don Zickus) [891652] - [usb] serial: Remove redundant NULL check before kfree (Don Zickus) [891652] - [usb] mos7840: fix port_probe flow (Don Zickus) [891652] - [usb] mos7840: fix port-data memory leak (Don Zickus) [891652] - [usb] mos7840: remove invalid disconnect handling (Don Zickus) [891652] - [usb] mos7840: remove NULL-urb submission (Don Zickus) [891652] - [usb] mos7840: fix port-device leak in error path (Don Zickus) [891652] - [usb] mos7840: fix urb leak at release (Don Zickus) [891652] - [usb] serial: mos7840.c: remove dbg usage (Don Zickus) [891652] - [usb] serial: Fix mos7840 timeout (Don Zickus) [891652] - [usb] serial: mos7840: Fixup mos7840_chars_in_buffer (Don Zickus) [891652] - [usb] mos7840.c: remove dbg tracing calls (Don Zickus) [891652] - [usb] serial: mos7840: add support for MCS7810 devices (Don Zickus) [891652] - [usb] serial: mos7840: Fixed MCS7820 device attach problem (Don Zickus) [891652] - [usb] serial: remove unnecessary reinitialisations of urb->dev (Don Zickus) [891652] - [usb] serial: remove duplicate returns (Don Zickus) [891652] - [usb] serial: mos7840: Add USB IDs to support more B&B USB/RS485 converters (Don Zickus) [891652] - [usb] serial: mos7840: Add USB ID to support the B&B Electronics USOPTL4-2P (Don Zickus) [891652] - [usb] Remove unnecessary return's from void functions (Don Zickus) [891652] - [usb] mos7840: fix null-pointer dereference (Don Zickus) [891652] - [usb] mos7840: Cleanup useless header (Don Zickus) [891652] - [usb] mos7840: fix DMA buffers on stack and endianess bugs (Don Zickus) [891652] - [usb] serial: Extra device/vendor ID for mos7840 driver (Don Zickus) [891652]- [netdrv] bnx2x: remove rx_pkt/rx_calls (Michal Schmidt) [1252126] - [netdrv] bnx2x: avoid soft lockup in bnx2x_poll (Michal Schmidt) [1220624 1252126] - [netdrv] bnx2x: simplify distinction between port and func stats (Michal Schmidt) [1252126] - [netdrv] bnx2x: change FW GRO error message to WARN_ONCE (Michal Schmidt) [1252126] - [netdrv] bnx2x: drop redundant error message about allocation failure (Michal Schmidt) [1130780 1252126] - [netdrv] bnx2x: Utilize FW 7.13.1.0 (Michal Schmidt) [1252126] - [netdrv] bnx2x: Show port statistics in Multi-function (Michal Schmidt) [1252126 1271916] - [netdrv] bnx2x: Add new SW stat 'tx_exhaustion_events' (Michal Schmidt) [1252126] - [netdrv] bnx2x: Prevent UDP 4-tuple configurations on older adapters (Michal Schmidt) [1252126] - [netdrv] bnx2x: get rid of unnecessary initializations in .get_drvinfo() (Michal Schmidt) [1252126] - [netdrv] bnx2x: byte swap rss_key to comply to Toeplitz specs (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix vxlan removal (Michal Schmidt) [1252126] - [netdrv] bnx2x: track vxlan port count (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix vxlan endianity issue (Michal Schmidt) [1252126] - [netdrv] redhat/configs: add CONFIG_BNX2X_VXLAN as a disabled feature (Michal Schmidt) [1252126] - [netdrv] bnx2x: Add vxlan RSS support (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix bandwidth allocation for some MF modes (Michal Schmidt) [1252126] - [netdrv] bnx2x: Free NVRAM lock at end of each page (Michal Schmidt) [1252126] - [netdrv] bnx2x: Prevent null pointer dereference on SKB release (Michal Schmidt) [1252126] - [netdrv] bnx2x: Add BD support for storage (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix VLANs null-pointer for 57710, 57711 (Michal Schmidt) [1252126] - [netdrv] bnx2x: Correct logic for pvid configuration (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix compilation when CONFIG_BNX2X_SRIOV is not set (Michal Schmidt) [1252126] - [netdrv] bnx2x: add vlan filtering offload (Michal Schmidt) [1252126] - [netdrv] bnx2x: Bump up driver version to 1.712.30 (Michal Schmidt) [1252126] - [netdrv] bnx2x: Add MFW dump support (Michal Schmidt) [1252126] - [netdrv] bnx2x: new Multi-function mode - BD (Michal Schmidt) [1252126] - [netdrv] bnx2x: Add 84858 phy support (Michal Schmidt) [1252126] - [netdrv] bnx2x: Rebrand from 'broadcom' into 'qlogic' (Michal Schmidt) [1252126] - [netdrv] bnx2x: Utilize FW 7.12.30 (Michal Schmidt) [1252126] - [netdrv] bnx2x: only report most generic filters in get_ts_info (Michal Schmidt) [1252126] - [netdrv] bnx2x: fix lockdep splat (Michal Schmidt) [1252126] - [netdrv] bnx2x: Release nvram lock on error flow (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix statistics gathering on link change (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix self-test for 20g devices (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix VF MAC removal (Michal Schmidt) [1252126] - [netdrv] bnx2x: Don't notify about scratchpad parities (Michal Schmidt) [1252126] - [netdrv] bnx2x: Prevent false warning when accessing MACs (Michal Schmidt) [1252126] - [netdrv] bnx2x: Correct speed from baseT into KR (Michal Schmidt) [1252126] - [netdrv] bnx2x: Correct asymmetric flow-control (Michal Schmidt) [1252126] - [netdrv] bnx2x: fix DMA API usage (Michal Schmidt) [1130780 1252126] - [netdrv] bnx2x: Alloc 4k fragment for each rx ring buffer element (Michal Schmidt) [1130780 1252126] - [netdrv] bnx2x: limit fw delay in kdump to 5s after boot (Michal Schmidt) [1252126] - [netdrv] bnx2x: Delay during kdump load (Michal Schmidt) [1252126] - [netdrv] bnx2x: remove TPA_ENABLE_FLAG,GRO_ENABLE_FLAG (Michal Schmidt) [1252126] - [netdrv] bnx2x: merge fp->disable_tpa with fp->mode (Michal Schmidt) [1252126] - [netdrv] bnx2x: mark LRO as a fixed disabled feature if disable_tpa is set (Michal Schmidt) [1252126] - [netdrv] bnx2x: really disable TPA if 'disable_tpa' option is set (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix to prevent inner-reload (Michal Schmidt) [1145063 1252126] - [netdrv] bnx2x: Prevent inner-reload while VFs exist (Michal Schmidt) [1145063 1252126] - [netdrv] bnx2x: use netdev_rss_key_fill() helper (Michal Schmidt) [1252126] - [netdrv] bnx2x: Use bool function returns of true/false instead of 1/0 (Michal Schmidt) [1252126] - [netdrv] bnx2x: Prevent probe as early as possible (Michal Schmidt) [1252126] - [netdrv] bnx2x: Count number of link changes (Michal Schmidt) [1252126] - [netdrv] bnx2x: Configure IFir et al. according to nvram (Michal Schmidt) [1252126] - [netdrv] bnx2x: codespell comment spelling fixes (Michal Schmidt) [1252126] - [netdrv] bnx2x: Fix typo in printk message (Michal Schmidt) [1252126] - [netdrv] bnx2x: fix napi poll return value for repoll (Michal Schmidt) [1252126] - [virt] hv_netvsc: Fix race condition on Multi-Send Data field (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: remove locking in netvsc_send (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: move subchannel existence check to netvsc_select_queue (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Don't ask for additional head room in the skb (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminate send_completion_ctx from struct hv_netvsc_packet (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminate send_completion from struct hv_netvsc_packet (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminatte the data field from struct hv_netvsc_packet (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminate rndis_msg pointer from hv_netvsc_packet structure (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Resize some of the variables in hv_netvsc_packet (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: remove unused variable in netvsc_send (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Fix a bug in netvsc_start_xmit (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: introduce netif-msg into netvsc module (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Implement partial copy into send buffer (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: try linearizing big SKBs before dropping them (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: use single existing drop path in netvsc_start_xmit (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Fix the packet free when it is in skb headroom (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Define a macro RNDIS_AND_PPI_SIZE (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Clean up two unused variables (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Eliminate memory allocation in the packet send path (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Cleanup the test for freeing skb when we use sendbuf mechanism (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: remove vmbus_are_subchannels_present in rndis_filter_device_add (Vitaly Kuznetsov) [1264931] - [virt] hv_netvsc: Implement batching in send buffer (Vitaly Kuznetsov) [1264931] - [virt] hyperv: fix sparse warnings (Vitaly Kuznetsov) [1264931] - [virt] hyperv: Fix the error processing in netvsc_send (Vitaly Kuznetsov) [1264931] - [virt] hyperv: match wait_for_completion_timeout return type (Vitaly Kuznetsov) [1264931] - [virt] hyperv: Add processing of MTU reduced by the host (Vitaly Kuznetsov) [1264931] - [dm] space map metadata: remove unused variable in brb_pop (Mike Snitzer) [1290912] - [dm] space map metadata: fix ref counting bug when bootstrapping a new space map (Mike Snitzer) [1290912] - [dm] thin metadata: fix bug when taking a metadata snapshot (Mike Snitzer) [1290912] - [dm] btree: fix bufio buffer leaks in dm_btree_del() error path (Mike Snitzer) [1219634] - [dm] btree: fix leak of bufio-backed block in btree_split_sibling error path (Mike Snitzer) [1219634] - [tpm] config: enable tpm_crb driver support (Jerry Snitselaar) [1254015] - [tpm] fix call order in tpm-chip.c (Jerry Snitselaar) [1254015] - [tpm] tpm, tpm_tis: fix TPM 2.0 probing (Jerry Snitselaar) [1254015] - [tpm] fix suspend/resume paths for TPM 2.0 (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Add missing ifdef CONFIG_ACPI for pnp_acpi_device (Jerry Snitselaar) [1254015] - [tpm] fix format string error in tpm-chip.c (Jerry Snitselaar) [1254015] - [tpm] tpm_crb: fix build error (Jerry Snitselaar) [1254015] - [tpm] TPM 2.0 FIFO Interface (Jerry Snitselaar) [1254015] - [tpm] TPM 2.0 CRB Interface (Jerry Snitselaar) [1254015] - [tpm] TPM 2.0 baseline support (Jerry Snitselaar) [1254015] - [tpm] device class for tpm (Jerry Snitselaar) [1254015] - [tpm] rename chip->dev to chip->pdev (Jerry Snitselaar) [1254015] - [tpm] fix raciness of PPI interface lookup (Jerry Snitselaar) [1254015] - [tpm] two-phase chip management functions (Jerry Snitselaar) [1254015] - [tpm] merge duplicate transmit_cmd functions (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: verify interrupt during init (Jerry Snitselaar) [1254015] - [tpm] Add new TPMs to the tail of the list to prevent inadvertent change of dev (Jerry Snitselaar) [1254015] - [tpm] simplify code by using *phN specifier (Jerry Snitselaar) [1254015] - [tpm] Provide a generic means to override the chip returned timeouts (Jerry Snitselaar) [1254015] - [tpm] Properly clean sysfs entries in error path (Jerry Snitselaar) [1254015] - [tpm] acpi / tpm: Fix resume regression on Chromebooks (Jerry Snitselaar) [1254015] - [tpm] acpi / tpm: detect PPI features by checking availability of _DSM functions (Jerry Snitselaar) [1254015] - [tpm] acpi / tpm: replace open-coded _DSM code with helper functions (Jerry Snitselaar) [1254015] - [tpm] acpi / tpm: match node name instead of full path when searching for TPM device (Jerry Snitselaar) [1254015] - [tpm] tpm-sysfs: active_show() can be static (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Fix compile problems with CONFIG_PM_SLEEP/CONFIG_PNP (Jerry Snitselaar) [1254015] - [tpm] Make tpm-dev allocate a per-file structure (Jerry Snitselaar) [1254015] - [tpm] Use the ops structure instead of a copy in tpm_vendor_specific (Jerry Snitselaar) [1254015] - [tpm] Create a tpm_class_ops structure and use it in the drivers (Jerry Snitselaar) [1254015] - [tpm] Pull all driver sysfs code into tpm-sysfs.c (Jerry Snitselaar) [1254015] - [tpm] Move sysfs functions from tpm-interface to tpm-sysfs (Jerry Snitselaar) [1254015] - [tpm] Pull everything related to /dev/tpmX into tpm-dev.c (Jerry Snitselaar) [1254015] - [tpm] acpi / tpm: fix memory leak when walking ACPI namespace (Jerry Snitselaar) [1254015] - [tpm] Merge the tpm-bios module with tpm.o (Jerry Snitselaar) [1254015] - [tpm] Rename tpm.c to tpm-interface.c (Jerry Snitselaar) [1254015] - [tpm] cleanup checkpatch warnings (Jerry Snitselaar) [1254015] - [tpm] Remove tpm_show_caps_1_2 (Jerry Snitselaar) [1254015] - [tpm] Use container_of to locate the tpm_chip in tpm_open (Jerry Snitselaar) [1254015] - [tpm] Store devname in the tpm_chip (Jerry Snitselaar) [1254015] - [tpm] atmel: Call request_region with the correct base (Jerry Snitselaar) [1254015] - [tpm] convert tpm_tis driver to use dev_pm_ops from legacy pm_ops (Jerry Snitselaar) [1254015] - [tpm] move TPM_DIGEST_SIZE defintion (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: missing platform_driver_unregister() on error in init_tis (Jerry Snitselaar) [1254015] - [tpm] tpm_ppi: use strlcpy instead of strncpy (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: check pnp_acpi_device return code (Jerry Snitselaar) [1254015] - [tpm] Wait for TPM_ACCESS tpmRegValidSts to go high at startup (Jerry Snitselaar) [1254015] - [tpm] Fix cancellation of TPM commands - interrupt mode (Jerry Snitselaar) [1254015] - [tpm] Fix cancellation of TPM commands - polling mode (Jerry Snitselaar) [1254015] - [tpm] Store TPM vendor ID (Jerry Snitselaar) [1254015] - [tpm] Work around buggy TPMs that block during continue self test (Jerry Snitselaar) [1254015] - [tpm] rename vendor data to priv and provide an accessor (Jerry Snitselaar) [1254015] - [tpm] Retry SaveState command in suspend path (Jerry Snitselaar) [1254015] - [tpm] Use true and false for bools (Jerry Snitselaar) [1254015] - [tpm] Switch to __packed instead of __attribute__ packed (Jerry Snitselaar) [1254015] - [tpm] Issue TPM_STARTUP at driver load if the TPM has not been started (Jerry Snitselaar) [1254015] - [tpm] simplify duration calculation and eliminate smatch warning (Jerry Snitselaar) [1254015] - [tpm] Remove duplicated lookup table (Jerry Snitselaar) [1254015] - [tpm] add documentation for sysfs interfaces (Jerry Snitselaar) [1254015] - [tpm] Propagate error from tpm_transmit to fix a timeout hang (Jerry Snitselaar) [1254015] - [tpm] fix tpm_acpi sparse warning on different address spaces (Jerry Snitselaar) [1254015] - [tpm] Do not dereference NULL pointer if acpi_os_map_memory fails (Jerry Snitselaar) [1254015] - [tpm] compile out unused code in the PNP and PM cases (Jerry Snitselaar) [1254015] - [tpm] fix double write race and tpm_release free issue (Jerry Snitselaar) [1254015] - [tpm] tpm_tis / pm: Fix unused function warning for CONFIG_PM_SLEEP (Jerry Snitselaar) [1254015] - [tpm] check the chip reference before using it (Jerry Snitselaar) [1254015] - [tpm] chip disabled state erronously being reported as error (Jerry Snitselaar) [1254015] - [tpm] tpm_nsc: Use struct dev_pm_ops for power management (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Use struct dev_pm_ops for power management (Jerry Snitselaar) [1254015] - [tpm] tpm_atmel: Use struct dev_pm_ops for power management (Jerry Snitselaar) [1254015] - [tpm] pm / tpm: Drop unused pm_message_t argument from tpm_pm_suspend (Jerry Snitselaar) [1254015] - [tpm] Zero buffer whole after copying to userspace (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Clean up after module_param cleanup (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Only probe iTPMs (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: fix tis_lock with respect to RCU (Jerry Snitselaar) [1254015] - [tpm] fix ACPI S3 suspend regression (Jerry Snitselaar) [1254015] - [tpm] make bool parameters really bool (Jerry Snitselaar) [1254015] - [tpm] fix transmit_cmd error logic (Jerry Snitselaar) [1254015] - [tpm] TIS driver X86 dependency fix (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: add delay after aborting command (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Check return code from getting timeouts/durations (Jerry Snitselaar) [1254015] - [tpm] Introduce function to poll for result of self test (Jerry Snitselaar) [1254015] - [tpm] Cleanup tpm_continue_selftest (Jerry Snitselaar) [1254015] - [tpm] Have tpm_get_timeouts return an error code (Jerry Snitselaar) [1254015] - [tpm] suppress durations sysfs output if not read (Jerry Snitselaar) [1254015] - [tpm] Call tpm_transmit with correct size (Jerry Snitselaar) [1254015] - [tpm] tpm: tpm_nsc: Fix a double free of pdev in cleanup_nsc (Jerry Snitselaar) [1254015] - [tpm] TCG_ATMEL should depend on HAS_IOPORT (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: fix build when ACPI is not enabled (Jerry Snitselaar) [1254015] - [tpm] tpm_nsc: Fix bug when loading multiple TPM drivers (Jerry Snitselaar) [1254015] - [tpm] Move tpm_tis_reenable_interrupts out of CONFIG_PNP block (Jerry Snitselaar) [1254015] - [tpm] Fix compilation warning when CONFIG_PNP is not defined (Jerry Snitselaar) [1254015] - [tpm] Fix a typo (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Probing function for Intel iTPM bug (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Fix the probing for interrupts (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Delay ACPI S3 suspend while the TPM is busy (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Re-enable interrupts upon S3 resume (Jerry Snitselaar) [1254015] - [tpm] Fix display of data in pubek sysfs entry (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Add timeouts sysfs entry (Jerry Snitselaar) [1254015] - [tpm] Adjust interface timeouts if they are too small (Jerry Snitselaar) [1254015] - [tpm] Use interface timeouts returned from the TPM (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: Introduce durations sysfs entry (Jerry Snitselaar) [1254015] - [tpm] Adjust the durations if they are too small (Jerry Snitselaar) [1254015] - [tpm] Use durations returned from TPM (Jerry Snitselaar) [1254015] - [tpm] fix panic caused by "tpm: Autodetect itpm devices" (Jerry Snitselaar) [1254015] - [tpm] Autodetect itpm devices (Jerry Snitselaar) [1254015] - [tpm] key: add tpm_send command (Jerry Snitselaar) [1254015] - [tpm] add default function definitions (Jerry Snitselaar) [1254015] - [tpm] add module_put wrapper (Jerry Snitselaar) [1254015] - [tpm] change 'tpm_suspend_pcr' to be module parameter (Jerry Snitselaar) [1254015] - [tpm] tpm_tis: fix subsequent suspend failures (Jerry Snitselaar) [1254015] - [tpm] ACPI/PNP dependency removal (Jerry Snitselaar) [1254015] - [tpm] workaround to enforce PCR updates across suspends (Jerry Snitselaar) [1254015] - [tpm] increase default TPM buffer (Jerry Snitselaar) [1254015] - [tpm] fix header for modular build (Jerry Snitselaar) [1254015] - [tpm] pnp: change pnp bus pm_ops to invoke pnp driver dev_pm_ops if specified (Jerry Snitselaar) [1254015] - [tpm] acpi: introduce helper interfaces for _DSM method (Jerry Snitselaar) [1254015] - [tpm] acpi: introduce module_acpi_driver helper macro (Jerry Snitselaar) [1254015] - [sound] alsa: hda/ca0132 - ctefx firmware for DSP (Jaroslav Kysela) [1007460] - [sound] alsa: hda/ca0132 - use generic parser for some models (Jaroslav Kysela) [1007460] - [sound] alsa: hda/ca0132 - quirk for Alienware 17 2015 (Jaroslav Kysela) [1007460] - [sound] alsa: hda/ca0132: support for Alienware 15 Creative Sound Core3D-EX (Jaroslav Kysela) [1007460] - [sound] alsa: hda - Disable 64bit address for Creative HDA controllers (Jaroslav Kysela) [1007460] - [netdrv] tg3: Fix temperature reporting (Ivan Vecera) [1253054] - [netdrv] net/tg3: Release IRQs on permanent error (Ivan Vecera) [1253054] - [netdrv] ptp: tg3: use helpers for converting ns to timespec (Ivan Vecera) [1253054] - [netdrv] tg3: use napi_complete_done() (Ivan Vecera) [1253054] - [netdrv] tg3: Add skb->xmit_more support (Ivan Vecera) [1253054] - [netdrv] tg3: remove __dev* attributes (Ivan Vecera) [1253054] - [netdrv] tg3: Fix to use multi queue BQL interfaces (Ivan Vecera) [1253054] - [netdrv] tg3: Support for byte queue limits (Ivan Vecera) [1253054] - [sound] alsa: hda - Treat stereo-to-mono mix properly (Jaroslav Kysela) [1018955] - [sound] alsa: hda - Don't access stereo amps for mono channel widgets (Jaroslav Kysela) [1018955] - [netdrv] bnx2: free temp_stats_blk on error path (Ivan Vecera) [1252124] - [netdrv] bnx2: fix a Null Pointer for stats_blk (Ivan Vecera) [1252124] - [netdrv] bnx2: disable toggling of rxvlan if necessary (Ivan Vecera) [1252124] - [netdrv] bnx2-cnic: Driver Version Update (Ivan Vecera) [1252124] - [netdrv] bnx2: Fix for Chip Initialization (Ivan Vecera) [1252124] - [netdrv] bnx2-cnic: Driver Rebranding Changes (Ivan Vecera) [1252124]- [input] wacom: set stylus_in_proximity before checking touch_down (Aristeu Rozanski) [1252898] - [input] wacom: use wacom_wac_finger_count_touches to set touch_down (Aristeu Rozanski) [1252898] - [input] wacom: add support for three new Intuos devices (Aristeu Rozanski) [1252898] - [firmware] dmi_scan: uuid: fix endianess for smbios >= 0x206 (Jarod Wilson) [1232557] - [firmware] dmi_scan: Coding style cleanups (Jarod Wilson) [1232557] - [firmware] dmi_scan: Trim DMI table length before exporting it (Jarod Wilson) [1232557] - [firmware] dmi_scan: Rename dmi_table to dmi_decode_table (Jarod Wilson) [1232557] - [firmware] dmi_scan: Only honor end-of-table for 64-bit tables (Jarod Wilson) [1232557] - [firmware] dmi_scan: Fix ordering of product_uuid (Jarod Wilson) [1232557] - [firmware] dmi_scan: Simplified displayed version (Jarod Wilson) [1232557] - [firmware] dmi_scan: Use direct access to static vars (Jarod Wilson) [1232557] - [firmware] dmi_scan: Fix dmi_len type (Jarod Wilson) [1232557] - [firmware] dmi_scan: Use full dmi version for SMBIOS3 (Jarod Wilson) [1232557] - [firmware] dmi_scan: Prevent dmi_num integer overflow (Jarod Wilson) [1232557] - [firmware] dmi_scan: Fix dmi scan to handle "End of Table" structure (Jarod Wilson) [1232557] - [firmware] dmi: add support for SMBIOS 3.0 64-bit entry point (Jarod Wilson) [1232557] - [x86] efi: dmi: add support for SMBIOS 3.0 UEFI configuration table (Jarod Wilson) [1232557] - [firmware] dmi_scan: generalize for use by other archs (Jarod Wilson) [1232557] - [firmware] dmi_scan: constify strings (Jarod Wilson) [1232557] - [firmware] dmi_scan: drop OOM messages (Jarod Wilson) [1232557] - [firmware] dmi_scan: fix most checkpatch errors and warnings (Jarod Wilson) [1232557] - [firmware] dmi_scan: drop obsolete comment (Jarod Wilson) [1232557] - [firmware] dmi_scan: add comments on dmi_present and the loop in dmi_scan_machine (Jarod Wilson) [1232557] - [firmware] dmi_scan: refactor dmi_scan_machine, _present (Jarod Wilson) [1232557] - [firmware] dmi: morph dmi_dump_ids into dmi_format_ids which formats into a buffer (Jarod Wilson) [1232557] - [firmware] dmi_scan: fix missing check for _DMI_ signature in smbios_present (Jarod Wilson) [1232557] - [firmware] dmi_scan.c: fetch dmi version from SMBIOS if it exists (Jarod Wilson) [1232557] - [netdrv] enic: do hang reset only in case of tx timeout (Stefan Assmann) [1253853] - [netdrv] enic: handle spurious error interrupt (Stefan Assmann) [1253853] - [netdrv] enic: reduce ioread in devcmd2 (Stefan Assmann) [1253853] - [netdrv] enic: Fix build failure with SRIOV disabled (Stefan Assmann) [1253853] - [netdrv] enic: Fix namespace pollution causing build errors (Stefan Assmann) [1253853] - [netdrv] enic: Fix sparse warning in vnic_devcmd_init (Stefan Assmann) [1253853] - [netdrv] enic: add devcmd2 (Stefan Assmann) [1253853] - [netdrv] enic: add devcmd2 resources (Stefan Assmann) [1253853] - [netdrv] enic: use netdev_ or dev_ instead of pr_ (Stefan Assmann) [1253853] - [netdrv] enic: move struct definition from .c to .h file (Stefan Assmann) [1253853] - [netdrv] enic: fix issues in enic_poll (Stefan Assmann) [1253853] - [netdrv] enic: fix memory leak in rq_clean (Stefan Assmann) [1253853] - [netdrv] enic: check return value for stat dump (Stefan Assmann) [1253853] - [netdrv] enic: unlock napi busy poll before unmasking intr (Stefan Assmann) [1253853] - [netdrv] enic: do notify_check before returning credits (Stefan Assmann) [1253853] - [netdrv] enic: enic_main: fix sparse warnings (Stefan Assmann) [1253853] - [netdrv] enic: enic_ethtool: fix sparse warning (Stefan Assmann) [1253853] - [netdrv] enic: reconfigure resources for kdump crash kernel (Stefan Assmann) [1253853] - [netdrv] enic: add support for set/get rss hash key (Stefan Assmann) [1253853] - [netdrv] enic: use netdev_rss_key_fill helper (Stefan Assmann) [1253853] - [edac] sb_edac: fix TAD presence check for sbridge_mci_bind_devs (Seth Jennings) [1245372] - [edac] sb_edac: support for Broadwell -EP and -EX (Seth Jennings) [1245372] - [edac] sb_edac: Fix support for systems with two home agents per socket (Seth Jennings) [1245372] - [edac] sb_edac: Fix a typo and a thinko in address handling for Haswell (Seth Jennings) [1245372] - [edac] Remove arbitrary limit on number of channels (Seth Jennings) [1245372] - [edac] sb_edac: Fix detection on SNB machines (Seth Jennings) [1245372] - [edac] sb_edac: Claim a different PCI device (Seth Jennings) [1245372] - [sched] rt: Provide means of disabling cross-cpu bandwidth sharing (mtanino) [1074360] - [infiniband] ib/iser: Bump version to 1.6 (Honggang Li) [1271497] - [infiniband] ib/iser: Modify struct iser_mem_reg members (Honggang Li) [1271497] - [infiniband] ib/iser: Make fastreg pool cache friendly (Honggang Li) [1271497] - [infiniband] ib/iser: Move PI context alloc/free to routines (Honggang Li) [1271497] - [infiniband] ib/iser: Move fastreg descriptor pool get/put to helper functions (Honggang Li) [1271497] - [infiniband] ib/iser: Merge build page-vec into register page-vec (Honggang Li) [1271497] - [infiniband] ib/iser: Get rid of struct iser_rdma_regd (Honggang Li) [1271497] - [infiniband] ib/iser: Remove redundant assignments in iser_reg_page_vec (Honggang Li) [1271497] - [infiniband] ib/iser: Move memory reg/dereg routines to iser_memory.c (Honggang Li) [1271497] - [infiniband] ib/iser: Don't pass ib_device to fall_to_bounce_buff routine (Honggang Li) [1271497] - [infiniband] ib/iser: Remove a redundant struct iser_data_buf (Honggang Li) [1271497] - [infiniband] ib/iser: Remove redundant cmd_data_len calculation (Honggang Li) [1271497] - [infiniband] ib/iser: Fix wrong calculation of protection buffer length (Honggang Li) [1271497] - [infiniband] ib/iser: Handle fastreg/local_inv completion errors (Honggang Li) [1271497] - [infiniband] ib/iser: Fix unload during ep_poll wrong dereference (Honggang Li) [1271497] - [x86] cacheinfo: Base cache sharing info on CPUID 0x8000001d on AMD (Kim Naru) [987679] - [x86] cacheinfo: Make use of CPUID 0x8000001d for cache information on AMD (Kim Naru) [987679] - [x86] cacheinfo: Determine number of cache leafs using CPUID 0x8000001d on AMD (Kim Naru) [987679] - [fs] nfs4: limit callback decoding to received bytes (Benjamin Coddington) [1232402] - [fs] nfs4: start callback_ident at idr 1 (Benjamin Coddington) [1232402] - [fs] xprtrdma: Store RDMA credits in unsigned variables (Honggang Li) [1271499] - [fs] xprtrdma: Address sparse complaint in rpcr_to_rdmar() (Honggang Li) [1271499] - [fs] xprtrdma: Allocate RPC/RDMA receive buffer separately from struct rpcrdma_rep (Honggang Li) [1271499] - [fs] xprtrdma: Allocate RPC/RDMA send buffer separately from struct rpcrdma_req (Honggang Li) [1271499] - [fs] xprtrdma: Allocate RPC send buffer separately from struct rpcrdma_req (Honggang Li) [1271499] - [fs] xprtrdma: Add struct rpcrdma_regbuf and helpers (Honggang Li) [1271499] - [fs] xprtrdma: Refactor rpcrdma_buffer_create() and rpcrdma_buffer_destroy() (Honggang Li) [1271499] - [fs] xprtrdma: Simplify synopsis of rpcrdma_buffer_create() (Honggang Li) [1271499] - [fs] xprtrdma: Take struct ib_qp_attr and ib_qp_init_attr off the stack (Honggang Li) [1271499] - [fs] xprtrdma: Take struct ib_device_attr off the stack (Honggang Li) [1271499] - [fs] xprtrdma: Free the pd if ib_query_qp() fails (Honggang Li) [1271499] - [fs] xprtrdma: Move credit update to RPC reply handler (Honggang Li) [1271499] - [fs] xprtrdma: Remove rl_mr field, and the mr_chunk union (Honggang Li) [1271499] - [fs] xprtrdma: Remove rpcrdma_ep::rep_ia (Honggang Li) [1271499] - [fs] xprtrdma: Clean up hdrlen (Honggang Li) [1271499] - [fs] xprtrdma: Display XIDs in host byte order (Honggang Li) [1271499] - [fs] xprtrdma: Modernize htonl and ntohl (Honggang Li) [1271499] - [fs] xprtrdma: human-readable completion status (Honggang Li) [1271499] - [fs] svcrdma: Handle additional inline content (Honggang Li) [1271499] - [fs] svcrdma: Move read list XDR round-up logic (Honggang Li) [1271499] - [fs] svcrdma: Support RDMA_NOMSG requests (Honggang Li) [1271499] - [fs] svcrdma: rc_position sanity checking (Honggang Li) [1271499] - [fs] svcrdma: Plant reader function in struct svcxprt_rdma (Honggang Li) [1271499] - [fs] svcrdma: Find rmsgp more reliably (Honggang Li) [1271499] - [fs] svcrdma: Scrub BUG_ON() and WARN_ON() call sites (Honggang Li) [1271499] - [fs] svcrdma: Clean up read chunk counting (Honggang Li) [1271499] - [fs] svcrdma: Remove unused variable (Honggang Li) [1271499] - [fs] svcrdma: Clean up dprintk (Honggang Li) [1271499] - [fs] xprtrdma: Display async errors (Honggang Li) [1271499] - [fs] xprtrdma: Enable pad optimization (Honggang Li) [1271499] - [fs] xprtrdma: Re-write rpcrdma_flush_cqs() (Honggang Li) [1271499] - [fs] xprtrdma: Refactor tasklet scheduling (Honggang Li) [1271499] - [fs] xprtrdma: unmap all FMRs during transport disconnect (Honggang Li) [1271499] - [fs] xprtrdma: Cap req_cqinit (Honggang Li) [1271499] - [fs] xprtrdma: Return an errno from rpcrdma_register_external() (Honggang Li) [1271499] - [fs] svcrdma: advertise the correct max payload (Honggang Li) [1271499] - [fs] svcrdma: remove rdma_create_qp() failure recovery logic (Honggang Li) [1271499] - [fs] xprtrdma: Handle additional connection events (Honggang Li) [1271499] - [fs] xprtrdma: Remove RPCRDMA_PERSISTENT_REGISTRATION macro (Honggang Li) [1271499] - [fs] xprtrdma: Make rpcrdma_ep_disconnect() return void (Honggang Li) [1271499] - [fs] xprtrdma: Schedule reply tasklet once per upcall (Honggang Li) [1271499] - [fs] xprtrdma: Allocate each struct rpcrdma_mw separately (Honggang Li) [1271499] - [fs] xprtrdma: Rename frmr_wr (Honggang Li) [1271499] - [fs] xprtrdma: Disable completions for LOCAL_INV Work Requests (Honggang Li) [1271499] - [fs] xprtrdma: Disable completions for FAST_REG_MR Work Requests (Honggang Li) [1271499] - [fs] xprtrdma: Don't post a LOCAL_INV in rpcrdma_register_frmr_external() (Honggang Li) [1271499] - [fs] xprtrdma: Reset FRMRs after a flushed LOCAL_INV Work Request (Honggang Li) [1271499] - [fs] xprtrdma: Reset FRMRs when FAST_REG_MR is flushed by a disconnect (Honggang Li) [1271499] - [fs] xprtrdma: Properly handle exhaustion of the rb_mws list (Honggang Li) [1271499] - [fs] xprtrdma: Chain together all MWs in same buffer pool (Honggang Li) [1271499] - [fs] xprtrdma: Back off rkey when FAST_REG_MR fails (Honggang Li) [1271499] - [fs] xprtrdma: Unclutter struct rpcrdma_mr_seg (Honggang Li) [1271499] - [fs] xprtrdma: Don't invalidate FRMRs if registration fails (Honggang Li) [1271499] - [fs] xprtrdma: On disconnect, don't ignore pending CQEs (Honggang Li) [1271499] - [fs] xprtrdma: Update rkeys after transport reconnect (Honggang Li) [1271499] - [fs] xprtrdma: Limit data payload size for ALLPHYSICAL (Honggang Li) [1271499] - [fs] xprtrdma: Protect ia->ri_id when unmapping/invalidating MRs (Honggang Li) [1271499] - [fs] xprtrdma: Fix panic in rpcrdma_register_frmr_external() (Honggang Li) [1271499] - [fs] svcrdma: Add zero padding if the client doesn't send it (Honggang Li) [1271499] - [fs] xprtrdma: Fix DMA-API-DEBUG warning by checking dma_map result (Honggang Li) [1271499] - [fs] svcrdma: send_write() must not overflow the device's max sge (Honggang Li) [1271499] - [fs] svcrdma: Fence LOCAL_INV work requests (Honggang Li) [1271499] - [fs] svcrdma: refactor marshalling logic (Honggang Li) [1271499] - [fs] xprtrdma: Disconnect on registration failure (Honggang Li) [1271499] - [fs] xprtrdma: Remove BUG_ON() call sites (Honggang Li) [1271499] - [fs] xprtrdma: Avoid deadlock when credit window is reset (Honggang Li) [1271499] - [fs] SUNRPC: Move congestion window constants to header file (Honggang Li) [1271499] - [fs] xprtrdma: Reset connection timeout after successful reconnect (Honggang Li) [1271499] - [fs] xprtrdma: Use macros for reconnection timeout constants (Honggang Li) [1271499] - [fs] xprtrdma: Allocate missing pagelist (Honggang Li) [1271499] - [fs] xprtrdma: Remove Tavor MTU setting (Honggang Li) [1271499] - [fs] xprtrdma: Ensure ia->ri_id->qp is not NULL when reconnecting (Honggang Li) [1271499] - [fs] xprtrdma: Reduce the number of hardway buffer allocations (Honggang Li) [1271499] - [fs] xprtrdma: Limit work done by completion handler (Honggang Li) [1271499] - [fs] xprtrmda: Reduce calls to ib_poll_cq() in completion handlers (Honggang Li) [1271499] - [fs] xprtrmda: Reduce lock contention in completion handlers (Honggang Li) [1271499] - [fs] xprtrdma: Split the completion queue (Honggang Li) [1271499] - [fs] xprtrdma: Make rpcrdma_ep_destroy() return void (Honggang Li) [1271499] - [fs] xprtrdma: Simplify rpcrdma_deregister_external() synopsis (Honggang Li) [1271499] - [fs] xprtrdma: mount reports "Invalid mount option" if memreg mode not supported (Honggang Li) [1271499] - [fs] xprtrdma: Fall back to MTHCAFMR when FRMR is not supported (Honggang Li) [1271499] - [fs] xprtrdma: Remove REGISTER memory registration mode (Honggang Li) [1271499] - [fs] xprtrdma: Remove MEMWINDOWS registration modes (Honggang Li) [1271499] - [fs] xprtrdma: Remove BOUNCEBUFFERS memory registration mode (Honggang Li) [1271499] - [fs] xprtrdma: RPC/RDMA must invoke xprt_wake_pending_tasks() in process context (Honggang Li) [1271499] - [fs] nfs-rdma: Fix for FMR leaks (Honggang Li) [1271499] - [fs] xprtrdma: mind the device's max fast register page list depth (Honggang Li) [1271499] - [fs] NFSD: Ignore client's source port on RDMA transports (Honggang Li) [1271499] - [fs] redhat: update NFSoRDMA options for config-generic (Honggang Li) [1271499] - [fs] xprtrdma: add separate Kconfig options for NFSoRDMA client and server support (Honggang Li) [1271499] - [fs] svcrdma: fix printk when memory allocation fails (Honggang Li) [1271499] - [fs] SUNRPC: remove KERN_INFO from dprintk() call sites (Honggang Li) [1271499] - [fs] SUNRPC: Fix large reads on NFS/RDMA (Honggang Li) [1271499] - [fs] svcrdma: underflow issue in decode_write_list() (Honggang Li) [1271499] - [fs] SUNRPC: Pass a pointer to struct rpc_xprt to the connect callback (Honggang Li) [1271499] - [fs] SUNRPC: Eliminate task->tk_xprt accesses that bypass rcu_dereference() (Honggang Li) [1271499] - [fs] xprtrdma: Remove assumption that each segment is <= PAGE_SIZE (Honggang Li) [1271499] - [fs] xprtrdma: The transport should not bug-check when a dup reply is received (Honggang Li) [1271499] - [fs] svcrdma: Cleanup sparse warnings in the svcrdma module (Honggang Li) [1271499] - [fs] SUNRPC: create svc_xprt in proper network namespace (Honggang Li) [1271499] - [fs] RDMA: Increasing RPCRDMA_MAX_DATA_SEGS (Honggang Li) [1271499] - [fs] sunrpc: fix printk format warning (Honggang Li) [1271499] - [fs] rpcrdma: Fix FRMR registration/invalidate handling (Honggang Li) [1271499] - [fs] rpcrdma: Fix to XDR page base interpretation in marshalling logic (Honggang Li) [1271499] - [fs] net/sunrpc: Convert (void)snprintf to snprintf (Honggang Li) [1271499] - [fs] net/sunrpc: Remove uses of NIPQUAD, use pI4 (Honggang Li) [1271499] - [fs] gfs2: change gfs2 readdir cookiey (Benjamin Marzinski) [1151962] - [fs] gfs2: keep offset when splitting dir leaf blocks (Benjamin Marzinski) [1151962] - [fs] Fix to check Unique id and FileType when client refer file directly (Sachin Prabhu) [1202682] - [fs] xfs: fix splice/direct-IO deadlock (Bill O'Donnell) [697750] - [fs] vfs: split generic splice code from i_mutex locking (Bill O'Donnell) [697750] - [fs] nfsv4: Don't try to reclaim unused state owners (Benjamin Coddington) [1272687] - [fs] nfsv4: Keep dropped state owners on the LRU list for a while (Benjamin Coddington) [1272687] - [fs] nfsv4: Ensure that we don't drop a state owner more than once (Benjamin Coddington) [1272687] - [fs] nfsv4: Ensure we do not reuse open owner names (Benjamin Coddington) [1151962 1272687] - [fs] nfs: Remove nfs_unique_id (Benjamin Coddington) [1151962 1272687] - [fs] nfs: Move struct nfs_unique_id into struct nfs_seqid_counter (Benjamin Coddington) [1272687] - [fs] nfsv4: Replace lock_owner->ld_id with an ida based allocator (Benjamin Coddington) [1272687] - [fs] nfsv4: Replace state_owner->so_owner_id with an ida based allocator (Benjamin Coddington) [1272687] - [fs] nfsv4: Move contents of struct rpc_sequence into struct nfs_seqid_counter (Benjamin Coddington) [1272687] - [fs] nfsv4: Clean up nfs4_get_state_owner (Benjamin Coddington) [1272687] - [fs] cifs: obtain file access during backup intent lookup (Sachin Prabhu) [821893] - [fs] cifs: Include backup intent search flags during searches (Sachin Prabhu) [821893] - [fs] ext4: fix label jump on broken fs in ext4_fill_super (Lukas Czerner) [1266862] {CVE-2015-8324} - [fs] xfs: return errors from partial I/O failures to files (David Jeffery) [1270959] - [fs] cifs: Make echo interval tunable (Sachin Prabhu) [1234960] - [fs] xfs: don't perform discard if the given range length is less than block size (Bill O'Donnell) [1088688] - [fs] xfs: check for possible overflow in xfs_ioc_trim (Bill O'Donnell) [1088688] - [fs] gfs2: Reduce size of incore inode (Robert S Peterson) [1215794] - [fs] gfs2: Make rgrp reservations part of the gfs2_inode structure (Robert S Peterson) [1215794] - [fs] gfs2: Extract quota data from reservations structure (revert 5407e24) (Robert S Peterson) [1215794] - [fs] gfs2: Clean up reservation removal (Robert S Peterson) [1215794]- [x86] fix corruption of XMM registers when interrupt handlers use FPU (Mikulas Patocka) [1259023] - [x86] ftrace: Do not trace copy_user_generic (Steven Rostedt) [1278884] - [x86] MCE/intel: Cleanup CMCI storm logic (Prarit Bhargava) [1229510] - [netdrv] be2net: log link status (Ivan Vecera) [1191287] - [netdrv] ixgbe: Remove bimodal SR-IOV disabling (John Greene) [1205576] - [mm] vmscan: avoid OOM killing when swappiness == 0 (Jerome Marchand) [1126228] - [pm] hibernate: Enable suspend to both for in-kernel hibernation (Lenny Szubowicz) [910715] - [powercap] rapl: fix BIOS lock check (Steve Best) [1295818] - [infiniband] qib: Change lkey table allocation to support more MRs (Don Dutile) [1246059 1247981] - [block] nvme: default to 4k device page size (David Milburn) [1252733] - [firmware] add bnx2x FW 7.13.1.0 (Michal Schmidt) [1252126] - [firmware] add bnx2x FW 7.12.30 (Michal Schmidt) [1252126] - [video] efifb: Enable write-combining (Tomoaki Nishimura) [1290686] - [tracing] Fix lockdep warning in global_clock (Steven Rostedt) [1232081] - [perf] symbols: Fix endless loop in dso__split_kallsyms_for_kcore (Jiri Olsa) [1233243] - [kernel] ftrace: Fix function graph with loading of modules (Steven Rostedt) [1033299] - [tty] change WARN_ON() on tty_reopen() (Aristeu Rozanski) [1263035] - [kernel] compat: copy missing fields in compat_statfs64 to user (Dave Anderson) [1158963] - [kernel] Usage of cgroup names containing percent characters triggers kernel panic (Larry Woodman) [1064788] - [kernel] signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo (Oleg Nesterov) [1252216] - [kernel] utrace: move utrace->freeze_stop to work around gcc 52080 bug (Oleg Nesterov) [1031159] - [block] Always check queue limits for cloned requests (Mike Snitzer) [1229911] - [block] Return EBUSY from BLKRRPART for mounted whole-dev fs (Eric Sandeen) [1247057] - [ata] SATL compliance for Inquiry Product Revision (David Milburn) [1260694] - [scsi] report 'INQUIRY result too short' once per host (Vitaly Kuznetsov) [1208771] - [scsi] scsi_scan: don't dump trace when scsi_prep_async_scan is called twice (Vitaly Kuznetsov) [1208771] - [scsi] libiscsi: Fix host busy blocking during connection teardown (Chris Leech) [948886] - [scsi] mpt3sas: A correction in unmap_resources (Tomas Henzl) [1248810] - [scsi] mpt3sas: fix for a PTE Read access errors with IOMMU passthrough (Tomas Henzl) [1276662] - [scsi] mpt3sas: create two binaries from a single source (Tomas Henzl) [1248810] - [scsi] mpt3sas: fix Kconfig dependency problem for mpt2sas back compatibility (Tomas Henzl) [1248810] - [scsi] mpt3sas: Add dummy Kconfig option for backwards compatibility (Tomas Henzl) [1248810] - [scsi] mpt3sas: Fix use sas_is_tlr_enabled API before enabling MPI2_SCSIIO_CONTROL_TLR_ON flag (Tomas Henzl) [1248810] - [scsi] mpt3sas: fix inline markers on non inline function declarations (Tomas Henzl) [1248810] - [scsi] mpt3sas: Bump mpt3sas driver version to 09.102.00.00 (Tomas Henzl) [1248810] - [scsi] mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs (Tomas Henzl) [1248810] - [scsi] mpt2sas, mpt3sas: Update the driver versions (Tomas Henzl) [1248810] - [scsi] mpt3sas: setpci reset kernel oops fix (Tomas Henzl) [1248810] - [scsi] mpt3sas: Added OEM Gen2 PnP ID branding names (Tomas Henzl) [1248810] - [scsi] mpt3sas: Refcount fw_events and fix unsafe list usage (Tomas Henzl) [1248810] - [scsi] mpt3sas: Refcount sas_device objects and fix unsafe list usage (Tomas Henzl) [1248810] - [scsi] mpt3sas: sysfs attribute to report Backup Rail Monitor Status (Tomas Henzl) [1248810] - [scsi] mpt3sas: Ported WarpDrive product SSS6200 support (Tomas Henzl) [1248810] - [scsi] mpt3sas: fix for driver fails EEH, recovery from injected pci bus error (Tomas Henzl) [1248810] - [scsi] mpt3sas: Manage MSI-X vectors according to HBA device type (Tomas Henzl) [1248810] - [scsi] mpt3sas: Don't send PHYDISK_HIDDEN RAID action request on SAS2 HBAs (Tomas Henzl) [1248810] - [scsi] mpt3sas: Build MPI SGL LIST on GEN2 HBAs and IEEE SGL LIST on GEN3 HBAs (Tomas Henzl) [1248810] - [scsi] mpt2sas, mpt3sas: Remove SCSI_MPTXSAS_LOGGING entry from Kconfig (Tomas Henzl) [1248810] - [scsi] mpt3sas: Define 'hba_mpi_version_belonged' IOC variable (Tomas Henzl) [1248810] - [scsi] mpt2sas: Remove .c and .h files from mpt2sas driver (Tomas Henzl) [1248810] - [scsi] mpt2sas: Move Gen2 HBA's device registration to a separate file (Tomas Henzl) [1248810] - [scsi] mpt3sas: Move Gen3 HBA's device registration to a separate file (Tomas Henzl) [1248810] - [scsi] mpt3sas: Added mpt2sas driver definitions (Tomas Henzl) [1248810] - [scsi] mpt2sas: Use mpi headers from mpt3sas (Tomas Henzl) [1248810] - [scsi] mpt2sas: setpci reset kernel oops fix (Tomas Henzl) [1248810] - [scsi] mpt2sas: Refcount fw_events and fix unsafe list usage (Tomas Henzl) [1248810] - [scsi] mpt2sas: Refcount sas_device objects and fix unsafe list usage (Tomas Henzl) [1248810] - [scsi] mpt3sas: Bump mpt3sas driver version to 9.100.00.00 (Tomas Henzl) [1248810] - [scsi] mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os (Tomas Henzl) [1248810] - [scsi] mpt3sas: Call dma_mapping_error() API after mapping an address with dma_map_single() API (Tomas Henzl) [1248810] - [scsi] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API (Tomas Henzl) [1248810] - [scsi] mpt3sas: Added support for customer specific branding (Tomas Henzl) [1248810] - [scsi] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command (Tomas Henzl) [1248810] - [scsi] mpt3sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 (Tomas Henzl) [1248810] - [scsi] mpt3sas: MPI 2.5 Rev K (2.5.6) specifications (Tomas Henzl) [1248810] - [scsi] mpt3sas: Bump mpt3sas driver version to v6.100.00.00 (Tomas Henzl) [1248810] - [scsi] mpt3sas: Add branding string support for OEM custom HBA (Tomas Henzl) [1248810] - [scsi] mpt3sas: Add branding string support for OEM's HBA (Tomas Henzl) [1248810] - [scsi] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files (Tomas Henzl) [1248810] - [scsi] mpt3sas: Update MPI2 strings to MPI2.5 (Tomas Henzl) [1248810] - [scsi] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 (Tomas Henzl) [1248810] - [scsi] mpt3sas: Provides the physical location of sas drives (Tomas Henzl) [1248810] - [scsi] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications (Tomas Henzl) [1248810] - [scsi] mpt3sas: Remove redundancy code while freeing the controller resources (Tomas Henzl) [1248810] - [scsi] mpt3sas: Don't block the drive when drive addition under the control of SML (Tomas Henzl) [1248810] - [scsi] mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state (Tomas Henzl) [1248810] - [scsi] mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support (Tomas Henzl) [1248810] - [scsi] mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected (Tomas Henzl) [1248810] - [security] keys: Fix race between read and revoke (David Howells) [1293402] {CVE-2015-7550}- [netdrv] igb: improve handling of disconnected adapters (Stefan Assmann) [1249242] - [netdrv] igb: fix NULL derefs due to skipped SR-IOV enabling (Stefan Assmann) [1249242] - [netdrv] igb: use the correct i210 register for EEMNGCTL (Stefan Assmann) [1249242] - [netdrv] igb: don't unmap NULL hw_addr (Stefan Assmann) [1249242] - [netdrv] igb: add 88E1543 initialization code (Stefan Assmann) [1249242] - [netdrv] intel: use napi_complete_done (Stefan Assmann) [1249242] - [netdrv] igb: assume MSI-X interrupts during initialization (Stefan Assmann) [1249242] - [netdrv] igb: make sure SR-IOV init uses the right number of queues (Stefan Assmann) [1249242] - [netdrv] igb: Fix a memory leak in igb_probe (Stefan Assmann) [1249242] - [netdrv] igb: Fix a deadlock in igb_sriov_reinit (Stefan Assmann) [1249242] - [netdrv] igb: Teardown SR-IOV before unregister_netdev (Stefan Assmann) [1249242] - [netdrv] igb: do not re-init SR-IOV during probe (Stefan Assmann) [1249242] - [netdrv] igb: missing rtnl_unlock in igb_sriov_reinit (Stefan Assmann) [1249242] - [netdrv] igb: Fix oops caused by missing queue pairing (Stefan Assmann) [1249242] - [netdrv] igb: bump version to igb-5.3.0 (Stefan Assmann) [1249242] - [netdrv] igb: use ARRAY_SIZE to replace calculating sizeofa/sizeof a0 (Stefan Assmann) [1249242] - [netdrv] igb: report unsupported ethtool settings in set_coalesce (Stefan Assmann) [1249242] - [netdrv] igb: Fix i354 88E1112 PHY on RCC boards using AutoMediaDetect (Stefan Assmann) [1249242] - [netdrv] igb: only report generic filters in get_ts_info (Stefan Assmann) [1249242] - [netdrv] igb: bump version of igb to 5.2.18 (Stefan Assmann) [1249242] - [netdrv] igb: disable IPv6 extension header processing (Stefan Assmann) [1249242] - [netdrv] igb: Don't use NETDEV_FRAG_PAGE_MAX_SIZE in descriptor calculation (Stefan Assmann) [1249242] - [netdrv] igb: Fix NULL assignment to incorrect variable in igb_reset_q_vector (Stefan Assmann) [1249242] - [netdrv] igb: Fix oops on changing number of rings (Stefan Assmann) [1249242] - [netdrv] igb: simplify and clean up igb_enable_mas (Stefan Assmann) [1249242] - [netdrv] igb: use netif_carrier_off earlier when bringing if down (Stefan Assmann) [1249242] - [netdrv] codespell comment spelling fixes (Stefan Assmann) [1249242] - [ethernet] igb: use netdev_rss_key_fill helper (Stefan Assmann) [1249242] - [pci] iommu/vt-d: Fix dmar_domain leak in iommu_attach_device (Linda Knippers) [1053879] - [pci] iommu/vt-d: Only remove domain when device is removed (Linda Knippers) [1053879] - [kernel] driver core: Add BUS_NOTIFY_REMOVED_DEVICE event (Linda Knippers) [1053879] - [net] tcp: honour SO_BINDTODEVICE for TW_RST case too (Florian Westphal) [1292300] - [net] add inet_sk_transparent() helper (Florian Westphal) [1292300] - [net] ipv6: tcp_ipv6 policy route issue (Florian Westphal) [1292300] - [net] ipv6: reuse rt6_need_strict (Florian Westphal) [1292300] - [net] tcp: resets are misrouted (Florian Westphal) [1292300] - [net] tcp: tcp_v4_send_reset: binding oif to iif in no sock case (Florian Westphal) [1292300] - [net] af_unix: fix a fatal race with bit fields (Gustavo Duarte) [1238062] - [net] add validation for the socket syscall protocol argument (Hannes Frederic Sowa) [1291627] {CVE-2015-8543} - [net] ipv6: fix the incorrect return value of throw route (Sabrina Dubroca) [1245357] - [net] Fix behaviour of unreachable, blackhole and prohibit routes (Sabrina Dubroca) [1245357] - [net] ipv6: Fixed support for blackhole and prohibit routes (Sabrina Dubroca) [1245357] - [net] ipv6: fix handling of throw routes (Sabrina Dubroca) [1245357] - [net] ipv6: fix handling of blackhole and prohibit routes (Sabrina Dubroca) [1245357] - [netdrv] intel: use napi_complete_done (Stefan Assmann) [1249243] - [netdrv] igbvf: clear buffer_info->dma after dma_unmap_single (Stefan Assmann) [1249243] - [netdrv] igbvf: use netif_carrier_off earlier when bringing if down (Stefan Assmann) [1249243] - [netdrv] igbvf: cleanup msleep and min/max usage (Stefan Assmann) [1249243] - [netdrv] igbvf: Fix code comments and whitespace (Stefan Assmann) [1249243] - [i2c] i801: Add device ID for Intel Wildcat Point PCH (Jeremy McNicoll) [1291132] - [sound] alsa: Enable CONFIG_SND_HDA_PATCH_LOADER and CONFIG_SND_HDA_RECONFIG (Jaroslav Kysela) [1178178] - [sound] alsa: driver core: create write-only attribute macros for devices and drivers (Jaroslav Kysela) [1178178] - [sound] alsa: oxygen: Simplify PM callbacks (Jaroslav Kysela) [1024771] - [sound] alsa: Convert to new pm_ops for PCI drivers (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: Fix logical-not-parentheses warning (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: add XIO2001 initialization (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: add support for third analog input (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: do not create useless S/PDIF controls (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: Delete an unnecessary check before the function call "snd_pcm_suspend" (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: Remove unnecessary snd_pcm_lib_preallocate_free_for_all (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: set fifo_size (Jaroslav Kysela) [1024771] - [sound] alsa: virtuoso: add partial Xonar Xense support (Jaroslav Kysela) [1024771] - [sound] alsa: virtuoso: add Xonar Essence STX II daughterboard support (Jaroslav Kysela) [1024771] - [sound] alsa: virtuoso: add one more headphone impedance setting (Jaroslav Kysela) [1024771] - [sound] alsa: virtuoso: add Xonar Essence STX II support (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: fix Stereo Upmixing regression (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: Use standard printk helpers (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: cleanup and minor changes (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: modify high-pass filter control (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: modify input select functions (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: modify capture volume functions (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dg(x): use headphone volume control (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dg(x): modify playback output select (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: capture from I2S channel 1, not 2 (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dg(x): move the mixer code into another file (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: modify CS4245 register dumping function (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: modify adjust_dg_dac_routing function (Jaroslav Kysela) [1024771] - [sound] ALSA: oxygen: Xonar DG X: modify DAC/ADC parameters function (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dgx: modify initialization functions (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: xonar dg: add new CS4245 SPI functions (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: additional definitions for the Xonar DG/DGX card (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: change description of the xonar_dg.c file (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: export oxygen_update_dac_routing symbol (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: add mute mask for the OXYGEN_PLAY_ROUTING register (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: modify the SPI writing function (Jaroslav Kysela) [1024771] - [sound] alsa: oxygen: add the separate SPI waiting function (Jaroslav Kysela) [1024771] - [sound] alsa: virtuoso: Xonar DSX support (Jaroslav Kysela) [1024771] - [netdrv] bnxt_en: Implement missing tx timeout reset logic (John Linville) [1245739] - [netdrv] bnxt_en: Don't cancel sp_task from bnxt_close_nic (John Linville) [1245739] - [netdrv] bnxt_en: Change bp->state to bitmap (John Linville) [1245739] - [netdrv] bnxt_en: Fix bitmap declaration to work on 32-bit arches (John Linville) [1245739] - [netdrv] bnxt_en: Setup uc_list mac filters after resetting the chip (John Linville) [1245739] - [netdrv] bnxt_en: enforce proper storing of MAC address (John Linville) [1245739] - [netdrv] bnxt_en: Fixed incorrect implementation of ndo_set_mac_address (John Linville) [1245739] - [netdrv] bnxt_en: More robust SRIOV cleanup sequence (John Linville) [1245739] - [netdrv] bnxt_en: Fix comparison of u16 sw_id against negative value (John Linville) [1245739] - [netdrv] bnxt_en: map CAG_REG_LEGACY_INT_STATUS_MASK to GRC window #4 (John Linville) [1245739] - [netdrv] bnxt_en: Determine tcp/ipv6 RSS hash type correctly (John Linville) [1245739] - [netdrv] bnxt_en: Change sp events definitions to represent bit position (John Linville) [1245739] - [netdrv] bnxt_en: Fix compile warnings when CONFIG_INET is not set (John Linville) [1245739] - [netdrv] bnxt_en: Fix compile errors when CONFIG_BNXT_SRIOV is not set (John Linville) [1245739] - [netdrv] add config for BNXT (John Linville) [1245739] - [netdrv] bnxt: remove vxlan offload support (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'net: Add support for hardware-offloaded...' (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'hlist: drop the node parameter from iterators' (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'net: allocate tx queues in register_netdevice' (John Linville) [1245739] - [netdrv] bnxt: access msix_cap through struct pci_dev_rh1 (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'net: convert multicast list to list_head' (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'net: introduce IFF_UNICAST_FLT private flag' (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'ipip: add GSO/TSO support' (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'ipv6: sit: add GSO/TSO support' (John Linville) [1245739] - [netdrv] bnxt: access hw_features through netdev_extended macro (John Linville) [1245739] - [netdrv] bnxt: create bnxt_pci_driver_rh and add appropriate declarations (John Linville) [1245739] - [netdrv] bnxt: account for missing 'net: Clarification of CHECKSUM_UNNECESSARY' (John Linville) [1245739] - [netdrv] bnxt: create bnxt_netdev_opt_ext and move applicable declarations (John Linville) [1245739] - [netdrv] bnxt: adjust for lack of 'net: Pull out core bits of __netdev_alloc_skb...' (John Linville) [1245739] - [netdrv] bnxt: adjust for lack of 'net: Add GSO support for UDP tunnels...' (John Linville) [1245739] - [netdrv] bnxt: adjust for lack of 'net: allow skb->head to be a page fragment' (John Linville) [1245739] - [netdrv] bnxt: remove qos offload support (John Linville) [1245739] - [netdrv] bnxt: make necessary changes for ndo_busy_poll in rhel6 (John Linville) [1245739] - [netdrv] bnxt: remove 802.1ad bits (John Linville) [1245739] - [netdrv] bnxt: move some bits to ethtool_ops_ext structure for rhel6 (John Linville) [1245739] - [netdrv] bnxt: account for lack of 'ethtool: Clean up definitions of rule...' (John Linville) [1245739] - [netdrv] bnxt: account for lack of VF minimum Tx rate (John Linville) [1245739] - [netdrv] bnxt: rewrite flow dissector bits for RHEL 6.8 (John Linville) [1245739] - [netdrv] bnxt: relocate files to be consistent with other ethernet drivers (John Linville) [1245739] - [netdrv] bnxt_en: New Broadcom ethernet driver (John Linville) [1245739]- [net] export get_net_ns_by_fd() (Ivan Vecera) [1249638] - [net] add name_assign_type netdev attribute (Ivan Vecera) [1249638] - [kernel] ktime: Introduce ktime_ms_delta (Ivan Vecera) [1249638] - [kernel] list: use list_{first, last}_entry() (Ivan Vecera) [1249638] - [kernel] list: change list_for_each_entry*() to use list_*_entry() (Ivan Vecera) [1249638] - [sched] replace INIT_COMPLETION with reinit_completion (Ivan Vecera) [1249638] - [net] help compiler generate better code in eth_get_headlen (Ivan Vecera) [1249638] - [net] Add function for parsing the header length out of linear ethernet frames (Ivan Vecera) [1249638] - [net] make skb an optional parameter for__skb_flow_dissect() (Ivan Vecera) [1249638] - [net] Allow raw buffers to be passed into the flow dissector (Ivan Vecera) [1249638] - [net] sched: shrink struct qdisc_skb_cb to 28 bytes (Ivan Vecera) [1249638] - [net] flow_dissector: Use IPv6 flow label in flow_dissector (Ivan Vecera) [1249638] - [net] flow_dissector: Record IP layer protocol in skb_flow_dissect() (Ivan Vecera) [1249638] - [net] ipv6: add ip6_flowlabel helper (Ivan Vecera) [1249638] - [net] flow_dissector: factor out the ports extraction in skb_flow_get_ports (Ivan Vecera) [1249638] - [net] flow_dissector: fix thoff for IPPROTO_AH (Ivan Vecera) [1249638] - [net] introduce skb_probe_transport_header() (Ivan Vecera) [1249638] - [net] flow_dissector: add __skb_get_poff to get a start offset to payload (Ivan Vecera) [1249638] - [net] flow_keys: include thoff into flow_keys for later usage (Ivan Vecera) [1249638] - [net] flow_dissector: support L2 GRE (Ivan Vecera) [1249638] - [net] introduce skb_transport_header_was_set() (Ivan Vecera) [1249638] - [net] ethtool: documentation & whitespace errors (Ivan Vecera) [1249638] - [net] ethtool: Support for configurable RSS hash function (Ivan Vecera) [1249638] - [net] ethtool: Check that reserved fields of struct ethtool_rxfh are 0 (Ivan Vecera) [1249638] - [net] ethtool: Replace ethtool_ops::{get, set}_rxfh_indir() with {get, set}_rxfh() (Ivan Vecera) [1249638] - [net] ethtool: constify array pointer parameters to ethtool_ops::set_rxfh (Ivan Vecera) [1249638] - [net] ethtool: Disallow ETHTOOL_SRSSH with both indir table and hash key unchanged (Ivan Vecera) [1249638] - [net] ethtool: Expand documentation of ethtool_ops::{get, set}_rxfh() (Ivan Vecera) [1249638] - [net] ethtool: Improve explanation of the two arrays following struct ethtool_rxfh (Ivan Vecera) [1249638] - [net] ethtool: Name the 'no change' value for setting RSS hash key but not indir table (Ivan Vecera) [1249638] - [net] ethtool: Return immediately on error in ethtool_copy_validate_indir() (Ivan Vecera) [1249638] - [net] ethtool: exit the loop when invalid index occurs (Ivan Vecera) [1249638] - [net] gro: fix possible panic in skb_gro_receive() (Ivan Vecera) [1249638] - [net] gro: selective flush of packets (Ivan Vecera) [1249638] - [net] gro: add a per device gro flush timer (Ivan Vecera) [1249638] - [net] introduce extended napi_struct (Ivan Vecera) [1249638] - [netdrv] ethernet: Use eth__addr instead of memset (Ivan Vecera) [1249638] - [netdrv] remove init of dev->perm_addr in drivers (Ivan Vecera) [1249638] - [net] init perm_addr in register_netdevice() (Ivan Vecera) [1249638] - [net] rename vlan_tx_* helpers since "tx" is misleading there (Ivan Vecera) [1249638] - [net] ethtool: Added port speed macros (Ivan Vecera) [1249638]- [scsi] scsi_sysfs: Fix queue_ramp_up_period return code (Ewan Milne) [1292576] - [scsi] Increase REPORT_LUNS timeout (Ewan Milne) [1292576] - [scsi] retry MODE SENSE on unit attention (Ewan Milne) [1292576] - [scsi] bnx2fc: Update version number to 2.9.6 (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Remove explicit logouts (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Fix FCP RSP residual parsing (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Set ELS transfer length correctly for middle path commands (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Remove 'NetXtreme II' from source files (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Update copyright for 2015 (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: reduce stack usage in __bnx2fc_enable (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Do not log error for netevents that need no action (Maurizio Lombardi) [1252118] - [scsi] bnx2fc: Read npiv table from nvram and create vports (Maurizio Lombardi) [1252118] - [scsi] Add ALUA state change UA handling (Ewan Milne) [1292520] - [scsi] fcoe: extend ethtool to FC port speed mapping (Chris Leech) [1138403] - [scsi] scsi_transport_fc: Add support for 25Gbit speed (Chris Leech) [1138403] - [scsi] add defines for new FC port speeds (Chris Leech) [1138403] - [scsi] scsi_transport_fc: Add 32Gbps speed definition (Chris Leech) [1138403] - [scsi] be2iscsi: bump the driver version (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Add warning message for unsupported adapter (Maurizio Lombardi) [1253016] - [MAINTAINERS] Update MAINTAINER list (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Revert ownership to Emulex (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Fix bogus WARN_ON length check (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Fix updating the next pointer during WRB posting (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Logout of FW Boot Session (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Fix memory check before unmapping (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: change email domain (Maurizio Lombardi) [1253016] - [scsi] be2iscsi: Fix the copyright year (Maurizio Lombardi) [1253016] - [scsi] st: fix potential null pointer dereference (Maurizio Lombardi) [875277] - [scsi] hpsa: stop zeroing reset_cmds_out and ioaccel_cmds_out during rescan (Joseph Szczypek) [1247729] - [scsi] hpsa: move lockup_detected attribute to host attr (Joseph Szczypek) [1247729] - [scsi] hpsa: fix rmmod issues (Joseph Szczypek) [1247729] - [scsi] hpsa: add in new offline mode (Joseph Szczypek) [1247729] - [scsi] hpsa: Change how controllers in mixed mode are handled (Joseph Szczypek) [1247729] - [scsi] hpsa: add in new controllers (Joseph Szczypek) [1247729] - [scsi] hpsa: cleanup update scsi devices (Joseph Szczypek) [1247729] - [scsi] hpsa: add sysfs entry path_info to show box and bay information (Joseph Szczypek) [1247729] - [scsi] hpsa: add PMC to copyright (Joseph Szczypek) [1247729] - [scsi] hpsa: correct static checker warnings on driver init cleanup (Joseph Szczypek) [1247729] - [scsi] hpsa: correct decode sense data (Joseph Szczypek) [1247729] - [scsi] hpsa: Correct double unlock of mutex (Joseph Szczypek) [1247729] - [scsi] hpsa: fix an sprintf() overflow in the reset handler (Joseph Szczypek) [1247729] - [scsi] hpsa: update driver version to 3.4.10-1-RH1 (Joseph Szczypek) [1247729] - [scsi] hpsa: add in new controller id (Joseph Szczypek) [1247729] - [scsi] hpsa: cleanup reset (Joseph Szczypek) [1247729] - [scsi] hpsa: propagate the error code in hpsa_kdump_soft_reset (Joseph Szczypek) [1247729] - [scsi] hpsa: use scsi host_no as hpsa controller number (Joseph Szczypek) [1247729] - [scsi] hpsa: enable and activate SCSI layer tcq support (Joseph Szczypek) [1247729] - [scsi] hpsa: use block layer tag for command allocation (Joseph Szczypek) [1247729] - [scsi] hpsa: add interrupt number to /proc/interrupts interrupt name (Joseph Szczypek) [1247729] - [scsi] hpsa: create workqueue after the driver is ready for use (Joseph Szczypek) [1247729] - [scsi] hpsa: fix try_soft_reset error handling (Joseph Szczypek) [1247729] - [scsi] hpsa: cleanup for init_one step 2 in kdump (Joseph Szczypek) [1247729] - [scsi] hpsa: skip free_irq calls if irqs are not allocated (Joseph Szczypek) [1247729] - [scsi] hpsa: call pci_release_regions after pci_disable_device (Joseph Szczypek) [1247729] - [scsi] hpsa: performance tweak for hpsa_scatter_gather() (Joseph Szczypek) [1247729] - [scsi] hpsa: refactor and rework support for sending TEST_UNIT_READY (Joseph Szczypek) [1247729] - [scsi] hpsa: don't return abort request until target is complete (Joseph Szczypek) [1247729] - [scsi] hpsa: use helper routines for finishing commands (Joseph Szczypek) [1247729] - [scsi] hpsa: add support sending aborts to physical devices via the ioaccel2 path (Joseph Szczypek) [1247729] - [scsi] hpsa: do not print ioaccel2 warning messages about unusual completions (Joseph Szczypek) [1247729] - [scsi] hpsa: clean up some error reporting output in abort handler (Joseph Szczypek) [1247729] - [scsi] hpsa: clean up driver init (Joseph Szczypek) [1247729] - [scsi] hpsa: correct return values from driver functions (Joseph Szczypek) [1247729] - [scsi] hpsa: do not check cmd_alloc return value - it cannnot return NULL (Joseph Szczypek) [1247729] - [scsi] hpsa: add more ioaccel2 error handling, including underrun statuses (Joseph Szczypek) [1247729] - [scsi] hpsa: add ioaccel sg chaining for the ioaccel2 path (Joseph Szczypek) [1247729] - [scsi] hpsa: refactor freeing of resources into more logical functions (Joseph Szczypek) [1247729] - [scsi] hpsa: clean up error handling (Joseph Szczypek) [1247729] - [scsi] hpsa: break hpsa_free_irqs_and_disable_msix into two functions (Joseph Szczypek) [1247729] - [scsi] hpsa: Get queue depth from identify physical bmic for physical disks (Joseph Szczypek) [1247729] - [scsi] hpsa: use ioaccel2 path to submit IOs to physical drives in HBA mode (Joseph Szczypek) [1247729] - [scsi] hpsa: print accurate SSD Smart Path Enabled status (Joseph Szczypek) [1247729] - [scsi] hpsa: factor out hpsa_ioaccel_submit function (Joseph Szczypek) [1247729] - [scsi] hpsa: try resubmitting down raid path on task set full (Joseph Szczypek) [1247729] - [scsi] hpsa: do not ignore return value of hpsa_register_scsi (Joseph Szczypek) [1247729] - [scsi] hpsa: factor out hpsa_init_cmd function (Joseph Szczypek) [1247729] - [scsi] hpsa: make function names consistent (Joseph Szczypek) [1247729] - [scsi] hpsa: allow lockup detected to be viewed via sysfs (Joseph Szczypek) [1247729] - [scsi] hpsa: hpsa decode sense data for io and tmf (Joseph Szczypek) [1247729] - [scsi] hpsa: decrement h->commands_outstanding in fail_all_outstanding_cmds (Joseph Szczypek) [1247729] - [scsi] hpsa: Add atomic operations (Joseph Szczypek) [1247729] - [scsi] hpsa: clean up aborts (Joseph Szczypek) [1247729] - [scsi] hpsa: rework controller command submission (Joseph Szczypek) [1247729] - [scsi] hpsa: clean up host, channel, target, lun prints (Joseph Szczypek) [1247729] - [scsi] hpsa: add masked physical devices into struct h's dev array (Joseph Szczypek) [1247729] - [scsi] hpsa: Fix weird uses of num_online_cpus() (Joseph Szczypek) [1247729] - [scsi] megaraid_sas: Fix sparse warning (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Remove debug print from function megasas_update_span_set (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Driver version upgrade (Tomas Henzl) [1248207] - [scsi] megaraid_sas: SMAP restriction--do not access user memory from IOCTL code (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Make PI enabled VD 8 byte DMA aligned (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Initialize tasklet before setting up IRQs (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Indicate online firmware upgrade support for Secure JBOD feature (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Update OCR capability on controller properties change (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Do not use PAGE_SIZE for max_sectors (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Support for Cutlass (12 Gbps) controller (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Support for Intruder (12 Gbps) controller (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Remove PCI id checks (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Version update (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Code refactor for use of requestorId (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Fix validHandles check in I/O path (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Print critical firmware event messages (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Chip reset if driver fails to get IOC ready (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Support for max_io_size 1MB (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Code cleanup-use local variable drv_ops inside megasas_ioc_init_fusion (Tomas Henzl) [1248207] - [scsi] megaraid_sas: JBOD sequence number support (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Increase timeout to 60 secs for abort frames during shutdown (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Synchronize driver headers with firmware APIs (Tomas Henzl) [1248207] - [scsi] megaraid_sas: fix whitespace errors (Tomas Henzl) [1248207] - [scsi] megaraid_sas: use dev_printk when possible (Tomas Henzl) [1248207] - [scsi] megaraid_sas: use pci_zalloc_consistent (megaraid_sas only) (Tomas Henzl) [1248207] - [scsi] megaraid_sas: fix TRUE and FALSE re-define build error (Tomas Henzl) [1248207] - [scsi] megaraid: fix irq setup process regression (Tomas Henzl) [1248207] - [scsi] megaraid_sas: fix kerneldoc (Tomas Henzl) [1248207] - [scsi] megaraid_sas: swap whole register in megasas_register_aen (Tomas Henzl) [1248207] - [scsi] megaraid_sas: fix megasas_fire_cmd_fusion calling convention (Tomas Henzl) [1248207] - [scsi] megaraid_sas: add missing byte swaps to the sriov code (Tomas Henzl) [1248207] - [scsi] megaraid_sas: bytewise or should be done on native endian variables (Tomas Henzl) [1248207] - [scsi] megaraid_sas: move endianness conversion into caller of megasas_get_seq_num (Tomas Henzl) [1248207] - [scsi] megaraid_sas: add endianness conversions for all ones (Tomas Henzl) [1248207] - [scsi] megaraid_sas: add endianness annotations (Tomas Henzl) [1248207] - [scsi] megaraid_sas: add missing __iomem annotations (Tomas Henzl) [1248207] - [scsi] megaraid_sas: megasas_complete_outstanding_ioctls() can be static (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Support for Avago's Single server High Availability product (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Add release date and update driver version (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Modify driver's meta data to reflect Avago (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Use Block layer tag support for internal command indexing (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Enhanced few prints (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Move controller's queue depth calculation in adapter specific function (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Add separate functions for building sysPD IOs and non RW LDIOs (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Add separate function for refiring MFI commands (Tomas Henzl) [1248207] - [scsi] megaraid_sas: Add separate function for setting up IRQs (Tomas Henzl) [1248207] - [scsi] megaraid_sas: use raw_smp_processor_id() (Tomas Henzl) [1248207] - [scsi] qla2xxx: Update version number to 8.07.00.26.06.8-k (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add pci device id 0x2261 (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix missing device login retries (Chad Dupuis) [1252111] - [scsi] qla2xxx: do not clear slot in outstanding cmd array (Chad Dupuis) [1252111] - [scsi] qla2xxx: Remove decrement of sp reference count in abort handler (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add support to show MPI and PEP FW version for ISP27xx (Chad Dupuis) [1252111] - [scsi] qla2xxx: Do not reset adapter if SRB handle is in range (Chad Dupuis) [1252111] - [scsi] qla2xxx: Do not crash system for sp ref count zero (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add adapter checks for FAWWN functionality (Chad Dupuis) [1252111] - [scsi] qla2xxx: Pause risc before manipulating risc semaphore (Chad Dupuis) [1252111] - [scsi] qla2xxx: Use ssdid to gate semaphore manipulation (Chad Dupuis) [1252111] - [scsi] qla2xxx: Handle AEN8014 incoming port logout (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add serdes register read/write support for ISP25xx (Chad Dupuis) [1252111] - [scsi] qla2xxx: Remove dead code (Chad Dupuis) [1252111] - [scsi] qla2xxx: Remove a superfluous test (Chad Dupuis) [1252111] - [scsi] qla2xxx: Avoid that sparse complains about duplicate _noderef_ attributes (Chad Dupuis) [1252111] - [scsi] qla2xxx: Report both rsp_info and rsp_info_len (Chad Dupuis) [1252111] - [scsi] qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled (Chad Dupuis) [1252111] - [scsi] qla2xxx: Prevent multiple firmware dump collection for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Disable Interrupt handshake for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add debugging info for MBX timeout (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add serdes read/write support for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add udev notification to save fw dump for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Add message for sucessful FW dump collected for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix beacon blink for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix crash due to wrong casting of reg for ISP27XX (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix warnings reported by static checker (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix printks in ql_log message (Chad Dupuis) [1252111] - [scsi] qla2xxx: Fix printk in qla25xx_setup_mode (Chad Dupuis) [1252111] - [scsi] qla2xxx: Increase the request queue size to 8K for ISP2031 (Chad Dupuis) [1252111] - [scsi] qla2xxx: Increase room in request queue for sending priority packets (Chad Dupuis) [1252111] - [scsi] ses: Fix problems with simple enclosures (Ewan Milne) [1102140] - [scsi] scsi_dh_alua: fix stpg sense handling (Ewan Milne) [1194984] - [scsi] lpfc: driver update for Rhel6.8, lpfc rev 11.0.0.4 (Rob Evers) [1227036] - [scsi] lpfc: Fix default RA_TOV and ED_TOV in the FC/FCoE driver for all topologies (Rob Evers) [1227036] - [scsi] lpfc: The linux driver does not reinitiate discovery after a failed FLOGI (Rob Evers) [1227036] - [scsi] lpfc: Add support for Lancer G6 and 32G FC links (Rob Evers) [1227036] - [scsi] lpfc: Fix for discovery failure in PT2PT when FLOGI's ELS ACC response gets aborted (Rob Evers) [1227036] - [scsi] lpfc: fix lpfc_send_rscn_event sends bigger buffer size (Rob Evers) [1227036] - [scsi] lpfc: Make the function lpfc_sli4_mbox_completions_pending static in order to comply with function prototype (Rob Evers) [1227036] - [scsi] lpfc: Fix kmalloc overflow in LPFC driver at large core count (Rob Evers) [1227036] - [scsi] lpfc: Destroy lpfc_hba_index IDR on module exit (Rob Evers) [1227036] - [scsi] lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize (Rob Evers) [1227036] - [scsi] lpfc: Remove unnessary cast (Rob Evers) [1227036] - [scsi] lpfc: fix model description (Rob Evers) [1227036] - [scsi] lpfc: Use && instead of & for boolean expression (Rob Evers) [1227036] - [scsi] lpfc: Fix to drop PLOGIs from fabric node till LOGO processing completes (Rob Evers) [1227036] - [scsi] lpfc: Fix scsi task management error message (Rob Evers) [1227036] - [scsi] lpfc: Fix scsi prep dma buf error (Rob Evers) [1227036] - [scsi] lpfc: Devices are not discovered during takeaway/giveback testing (Rob Evers) [1227036] - [scsi] lpfc: Fix vport deletion failure (Rob Evers) [1227036] - [scsi] lpfc: Fix incorrect log message reported for empty FCF record (Rob Evers) [1227036] - [scsi] lpfc: Fix rport leak (Rob Evers) [1227036] - [scsi] lpfc: Correct loss of RSCNs during array takeaway/giveback testing (Rob Evers) [1227036] - [scsi] lpfc: Fix crash in vport_delete (Rob Evers) [1227036] - [scsi] lpfc: Fix to remove IRQF_SHARED flag for MSI/MSI-X vectors (Rob Evers) [1227036] - [scsi] lpfc: Fix discovery issue when changing from Pt2Pt to Fabric (Rob Evers) [1227036] - [scsi] lpfc: Correct reporting of vport state on fdisc command failure (Rob Evers) [1227036] - [scsi] lpfc: Fix ABORTs WQ selection in terminate_rport_io (Rob Evers) [1227036] - [scsi] lpfc: Correct reference counting of rport (Rob Evers) [1227036] - [scsi] lpfc: Fix cq_id masking problem (Rob Evers) [1227036] - [netdrv] revert "netxen: remove use of ndo_set_multicast_list in drivers" (Tony Camuso) [1213207 1229986]- [netdrv] bonding: "primary_reselect" with "failure" is not working properly (Jarod Wilson) [1290672]- [net] sctp: start t5 timer only when peer rwnd is 0 and local state is SHUTDOWN_PENDING (Xin Long) [855392] - [net] sctp: convert sack_needed and sack_generation to bits (Xin Long) [855392] - [net] sctp: only drop the reference on the datamsg after sending a msg (Xin Long) [1008268] - [net] sctp: hold the chunks only after the chunk is enqueued in outq (Xin Long) [1008268] - [net] unix: avoid use-after-free in ep_remove_wait_queue (Paolo Abeni) [1284900] - [net] Abstract default ADVMSS behind an accessor (Sabrina Dubroca) [1198374] - [net] ipv6: Dont add RT6_LOOKUP_F_IFACE flag if saddr set (Xin Long) [1273241] - [net] ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set (Xin Long) [1273241] - [i2c] i801: Create iTCO device on newer Intel PCHs (Jeremy McNicoll) [1188865] - [watchdog] itco_wdt: Expose watchdog properties using platform data (Jeremy McNicoll) [1188865] - [watchdog] itco_wdt: Add support for TCO on Intel Sunrisepoint (Jeremy McNicoll) [1188865] - [kernel] Platform device - introduce resNdata (Jeremy McNicoll) [1188865] - [i2c] i801: Check if interrupts are disabled (Jeremy McNicoll) [1188865] - [i2c] i801: Fallback to polling if request_irq() fails (Jeremy McNicoll) [1188865] - [i2c] i2c-i801: Enable IRQ for SMBus transactions (Jeremy McNicoll) [1188865] - [i2c] i2c-i801: Rename some SMBHSTCNT bit constants (Jeremy McNicoll) [1188865] - [i2c] i2c-i801: Check and return errors during byte-by-byte transfers (Jeremy McNicoll) [1188865] - [i2c] i2c-i801: Use usleep_range to wait for command completion (Jeremy McNicoll) [1188865] - [mfd] Add platform data pointer back (Jeremy McNicoll) [1188865] - [char] random: account for entropy loss due to overwrites (Herbert Xu) [1110915] - [char] random: allow fractional bits to be tracked (Herbert Xu) [1110915] - [char] random: statically compute poolbitshift, poolbytes, poolbits (Herbert Xu) [1110915] - [crypto] api: Only abort operations on fatal signal (Herbert Xu) [1272314] - [crypto] testmgr: don't use interruptible wait in tests (Herbert Xu) [1272314] - [kernel] sched: add wait_for_completion_killable_timeout (Herbert Xu) [1272314] - [fs] lockd: don't clear sm_monitored on nsm_reboot_lookup (Scott Mayhew) [1278932] - [fs] lockd: release reference to nsm_handle in nlm_host_rebooted (Scott Mayhew) [1278932] - [fs] ext2: Fix oops in ext2_get_block() called from ext2_quota_write() (Lukas Czerner) [1287165] - [fs] ext3: Don't check quota format when there are no quota files (Lukas Czerner) [1287165] - [fs] jbd2: use GFP_NOFS in jbd2_cleanup_journal_tail() (Lukas Czerner) [1286668] - [fs] ext4: fix race between truncate and __ext4_journalled_writepage() (Lukas Czerner) [1286668] - [fs] ext4: bail out from make_indexed_dir() on first error (Lukas Czerner) [1286668] - [fs] ext4: don't check quota format when there are no quota files (Lukas Czerner) [1286668] - [fs] ext4: fix BUG_ON in mb_free_blocks() (Lukas Czerner) [1286668] - [fs] ext4: fix ext4_discard_allocated_blocks() if we can't allocate the pa struct (Lukas Czerner) [1286668] - [fs] ext4: cleanup in ext4_discard_allocated_blocks() (Lukas Czerner) [1286668] - [fs] ext4: check for zero length extent explicitly (Lukas Czerner) [1286668] - [fs] ext4: check for overlapping extents in ext4_valid_extent_entries() (Lukas Czerner) [1286668] - [fs] ext4: don't allow ext4_free_blocks() to fail due to ENOMEM (Lukas Czerner) [1286668] - [fs] ext4: Add error checking to kmem_cache_alloc() call in ext4_free_blocks() (Lukas Czerner) [1286668] - [fs] ext3, ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() (Lukas Czerner) [1286668] - [fs] ext4: fix potential deadlock in ext4_nonda_switch() (Lukas Czerner) [1286668] - [fs] jbd2: use GFP_NOFS for blkdev_issue_flush (Lukas Czerner) [1286668] - [fs] ext4: call sync_blockdev() before invalidate_bdev() in put_super() (Lukas Czerner) [1286668] - [fs] ext4: fix oops when loading block bitmap failed (Lukas Czerner) [1286668] - [fs] ext4: use i_size_read in ext4_unaligned_aio() (Lukas Czerner) [1286668] - [fs] ext4: fix use-after-free in ext4_mb_new_blocks (Lukas Czerner) [1286668] - [fs] ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea() (Lukas Czerner) [1286668] - [fs] ext4: fix memory leak in xattr (Lukas Czerner) [1286668] - [fs] ext4: fix race in ext4_mb_add_n_trim() (Lukas Czerner) [1286668] - [fs] ext4: do not try to write superblock on ro remount w/o journal (Lukas Czerner) [1286668] - [fs] ext4: fix memory leak in ext4_xattr_set_acl()'s error path (Lukas Czerner) [1286668] - [fs] ext4: always set i_op in ext4_mknod() (Lukas Czerner) [1286668] - [fs] ext4: online defrag is not supported for journaled files (Lukas Czerner) [1286668] - [fs] Failing to send a CLOSE if file is opened WRONLY and server reboots on a 4.x mount (Benjamin Coddington) [1227851] - [fs] fixing infinite OPEN loop in 4.0 stateid recovery (Benjamin Coddington) [1227851] - [fs] nfs: verify open flags before allowing an atomic open (Benjamin Coddington) [1119760] - [fs] gfs2: Update timestamps on fallocate (Andrew Price) [1265994] - [fs] gfs2: Update i_size properly on fallocate (Andrew Price) [1265994] - [fs] gfs2: Use inode_newsize_ok and get_write_access in fallocate (Andrew Price) [1265994] - [fs] NFS check bitmap for valid file type (Paulo Andrade) [1236630] - [fs] nfsd: fix rare symlink decoding bug (J. Bruce Fields) [1089397] - [fs] vfs: Test for and handle paths that are unreachable from their mnt_root (Eric W. Biederman) [1209369] {CVE-2015-2925} - [fs] dcache: Handle escaped paths in prepend_path (Eric W. Biederman) [1209369] {CVE-2015-2925}- [tty] ldisc: fix open flag handling (Prarit Bhargava) [1285803] - [pci] Set ->mask_pos correctly (Myron Stowe) [1288629] - [pci] Remove "extern" from function declarations (Myron Stowe) [1288629] - [pci] Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK (Myron Stowe) [1288629] - [pci] Drop msi_mask_reg and remove drivers/pci/msi.h (Myron Stowe) [1288629] - [pci] Use msix_table_size directly, drop multi_msix_capable (Myron Stowe) [1288629] - [pci] Drop msix_table_offset_reg and msix_pba_offset_reg macros (Myron Stowe) [1288629] - [pci] Drop is_64bit_address and is_mask_bit_support macros (Myron Stowe) [1288629] - [pci] Drop msi_data_reg macro (Myron Stowe) [1288629] - [pci] Drop msi_lower_address_reg and msi_upper_address_reg macros (Myron Stowe) [1288629] - [pci] Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly (Myron Stowe) [1288629] - [pci] Use cached MSI/MSI-X offsets from dev, not from msi_desc (Myron Stowe) [1288629] - [pci] Clean up MSI/MSI-X capability #defines (Myron Stowe) [1288629] - [pci] Use cached MSI-X cap while enabling MSI-X (Myron Stowe) [1288629] - [pci] Use cached MSI cap while enabling MSI interrupts (Myron Stowe) [1288629] - [pci] Remove MSI/MSI-X cap check in pci_msi_check_device (Myron Stowe) [1288629] - [pci] Cache MSI/MSI-X capability offsets in struct pci_dev (Myron Stowe) [1288629] - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) [1288629] - [pci] add PCI_MSIX_TABLE/PBA defines (Myron Stowe) [1288629] - [x86] intel_pstate: Fix "performance" mode behavior with HWP enabled (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: Fix limits->max_perf rounding error (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: Fix limits->max_policy_pct rounding error (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: Add separate support for Airmont cores (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: Replace BYT with ATOM (Prarit Bhargava) [1288250] - [x86] intel_pstate: decrease number of "HWP enabled" messages (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: Fix intel_pstate powersave min_perf_pct value (Prarit Bhargava) [1288250] - [x86] cpufreq: intel_pstate: get P1 from TAR when available (Prarit Bhargava) [1288250] - [x86] cpufreq: intel-pstate: Use separate max pstate for scaling (Prarit Bhargava) [1288250] - [ipmi] Stop the timer immediately if idle (Tony Camuso) [1274302] - [ipmi] Start the timer and thread on internal msgs (Tony Camuso) [1274302] - [ipmi] move timer init to before irq is setup (Tony Camuso) [1274302] - [ipmi] Compensate for BMCs that wont set the irq enable bit (Tony Camuso) [1274302] - [ipmi] Don't call receive handler in the panic context (Tony Camuso) [1274302] - [ipmi] Avoid touching possible corrupted lists in the panic context (Tony Camuso) [1274302] - [ipmi] Factor out message flushing procedure (Tony Camuso) [1274302] - [ipmi] Remove unneeded set_run_to_completion call (Tony Camuso) [1274302] - [ipmi] Add a comment in how messages are delivered from the lower layer (Tony Camuso) [1274302] - [ipmi] Fix a problem that messages are not issued in run_to_completion mode (Tony Camuso) [1274302] - [ipmi] Report an error if ACPI _IFT doesn't exist (Tony Camuso) [1274302] - [ipmi] Don't report err in the SI driver for SSIF devices (Tony Camuso) [1274302] - [ipmi] Handle BMCs that don't allow clearing the rcv irq bit (Tony Camuso) [1274302] - [ipmi] Fix a memory ordering issue (Tony Camuso) [1274302] - [ipmi] Use is_visible callback for conditional sysfs entries (Tony Camuso) [1274302] - [ipmi] Free ipmi_recv_msg messages from the linked list on close (Tony Camuso) [1274302] - [ipmi] avoid gcc warning (Tony Camuso) [1274302] - [ipmi] Cleanup DEBUG_TIMING ifdef usage (Tony Camuso) [1274302] - [ipmi] Remove unneeded FIXME comment in the file, ipmi_si_intf.c (Tony Camuso) [1274302] - [ipmi] Remove a FIXME for slab conversion (Tony Camuso) [1274302] - [ipmi] Finish cleanup of BMC attributes (Tony Camuso) [1274302] - [ipmi] Check the BT interrupt enable periodically (Tony Camuso) [1274302] - [ipmi] Fix attention handling for system interfaces (Tony Camuso) [1274302] - [ipmi] Periodically check to see if irqs and messages are set right (Tony Camuso) [1274302] - [ipmi] Remove the now unnecessary message queue (Tony Camuso) [1274302] - [ipmi] Make the message handler easier to use for SMI interfaces (Tony Camuso) [1274302] - [ipmi] Move message sending into its own function (Tony Camuso) [1274302] - [ipmi] Fix handling of BMC flags (Tony Camuso) [1274302] - [ipmi] Initialize BMC device attributes (Tony Camuso) [1274302] - [ipmi] Unregister previously registered driver in error case (Tony Camuso) [1274302] - [ipmi] Fix a bug in hot add/remove (Tony Camuso) [1274302] - [ipmi] Remove useless sysfs_name parameters (Tony Camuso) [1274302] - [ipmi] clean up the device handling for the bmc device (Tony Camuso) [1274302] - [ipmi] Move the address source to string to ipmi-generic code (Tony Camuso) [1274302] - [ipmi] Ignore SSIF in the PNP handling (Tony Camuso) [1274302] - [ipmi] work around gcc-4.9 build warning (Tony Camuso) [1274302] - [ipmi] Clean up the error handling for channel config errors (Tony Camuso) [1274302] - [netdrv] sfc: use ALIGN macro for aligning frame sizes (Jarod Wilson) [1123046] - [netdrv] sfc: Add PCI ID for Solarflare 8000 series 10/40G NIC (Jarod Wilson) [1123046] - [netdrv] sfc: make TSO version a per-queue parameter (Jarod Wilson) [1123046] - [netdrv] sfc: constify pci_error_handlers structures (Jarod Wilson) [1123046] - [netdrv] sfc: don't call dma_supported (Jarod Wilson) [1123046] - [netdrv] sfc: fully reset if MC_REBOOT event received without warm_boot_count increment (Jarod Wilson) [1123046] - [netdrv] sfc: Allow driver to cope with a lower number of VIs than it needs for RSS (Jarod Wilson) [1123046] - [netdrv] sfc: MC allocations must be restored following an entity reset (Jarod Wilson) [1123046] - [netdrv] sfc: allow ethtool selftest and MC reboot to complete on an unprivileged function (Jarod Wilson) [1123046] - [netdrv] sfc: update MCDI protocol definitions (Jarod Wilson) [1123046] - [netdrv] siena: only report generic filters in get_ts_info (Jarod Wilson) [1123046] - [mfd] rtsx: Add support for rts522A (Don Zickus) [1245441] - [mfd] rtsx: Add support for rts524A (Don Zickus) [1245441] - [mfd] rtsx: Update phy register (Don Zickus) [1245441] - [mfd] rtsx: Fix PM suspend for 5227 & 5249 (Don Zickus) [1245441] - [netdrv] get rid of unnecessary initializations in .get_drvinfo (Ken Cox) [1249241] - [netdrv] e1000e: Modify Tx/Rx configurations to avoid null pointer dereferences in e1000_open (Ken Cox) [1249241] - [netdrv] e1000e: Increase driver version number (Ken Cox) [1249241] - [netdrv] e1000e: Fix tight loop implementation of systime read algorithm (Ken Cox) [1249241] - [netdrv] e1000e: Fix incorrect ASPM locking (Ken Cox) [1249241] - [netdrv] e1000e: Cosmetic changes (Ken Cox) [1249241] - [netdrv] e1000e: Fix EEE in Sx implementation (Ken Cox) [1249241] - [netdrv] e1000e: Cleanup qos request in error handling of e1000_open (Ken Cox) [1249241] - [netdrv] e1000e: i219 - k1 workaround for LPT is not required for SPT (Ken Cox) [1249241] - [netdrv] e1000e: i219 - Increase minimum FIFO read/write min gap (Ken Cox) [1249241] - [netdrv] e1000e: i219 - increase IPG for speed 10/100 full duplex (Ken Cox) [1249241] - [netdrv] e1000e: i219 - fix to enable both ULP and EEE in Sx state (Ken Cox) [1249241] - [netdrv] e1000e: synchronization of MAC-PHY interface only on non- ME systems (Ken Cox) [1249241] - [netdrv] e1000e: fix locking issue with e1000e_disable_aspm (Ken Cox) [1249241] - [scsi] bfa: Update driver version to 3.2.25.0 (Chad Dupuis) [1258533] - [scsi] bfa: File header and user visible string changes (Chad Dupuis) [1258533] - [scsi] bfa: Update copyright messages (Chad Dupuis) [1258533] - [scsi] bfa: Fix incorrect de-reference of pointer (Chad Dupuis) [1258533] - [scsi] bfa: Fix indentation (Chad Dupuis) [1258533]- [kernel] panic: release stale console lock to always get the logbuf printed out (Vitaly Kuznetsov) [1233975] - [video] hyperv: hyperv_fb: refresh the VM screen by force on VM panic (Vitaly Kuznetsov) [1233975] - [virt] hyperv-fb: add blanking support (Vitaly Kuznetsov) [1233975] - [x86] efi: Disable interrupts around EFI calls, not in the epilog/prolog calls (Vitaly Kuznetsov) [1220286] - [x86] Use larger chunks in mtrr_cleanup (Prarit Bhargava) [1259424] - [netdrv] iwlwifi: add a few more PCI subvendor IDs for the 7265 series (Stanislaw Gruszka) [1285102] - [netdrv] genetlink-compat: register multicast groups (Stanislaw Gruszka) [1259870] - [kernel] hrtimer: add force_hrtimer_reprogram kernel parameter (Prarit Bhargava) [1285142] - [powerpc] perf: Add Power8 cache & TLB events (Gustavo Duarte) [1241222] - [mm] fix strange message 'error: "Success" setting key "vm.compact_memory" ' while setting sysctl parameter (Larry Woodman) [1278842] - [kernel] pidns: alloc_pid leaks pid_namespace if child_reaper is exiting (Aristeu Rozanski) [1286691] - [kernel] Prevent soft lockups processing nfsiod workqueue under heavy load on large memory systems (Larry Woodman) [1156216] - [md] raid10: don't clear bitmap bit when bad-block-list write fails (Jes Sorensen) [1273546] - [md] raid1: don't clear bitmap bit when bad-block-list write fails (Jes Sorensen) [1273546] - [md] raid10: submit_bio_wait returns 0 on success (Jes Sorensen) [1273546] - [md] raid1: submit_bio_wait() returns 0 on success (Jes Sorensen) [1273546] - [md] crash in md-raid1 and md-raid10 due to incorrect list manipulation (Jes Sorensen) [1273546] - [md] raid10: ensure device failure recorded before write request returns (Jes Sorensen) [1273546] - [md] raid1: ensure device failure recorded before write request returns (Jes Sorensen) [1273546] - [netdrv] drivers/net: get rid of unnecessary initializations in .get_drvinfo (Ken Cox) [1249240] - [netdrv] e1000: remove dead e1000_init_eeprom_params calls (Ken Cox) [1249240] - [netdrv] ethernet: codespell comment spelling fixes (Ken Cox) [1249240] - [netdrv] e1000: call netif_carrier_off early on down (Ken Cox) [1249240] - [netdrv] e1000: add dummy allocator to fix race condition between mtu change and netpoll (Ken Cox) [1249240] - [netdrv] e1000: fix time comparison (Ken Cox) [1249240] - [netdrv] ethernet/intel: Use eth_skb_pad and skb_put_padto helpers (Ken Cox) [1249240] - [netdrv] e1000: rename struct e1000_buffer to e1000_tx_buffer (Ken Cox) [1249240] - [netdrv] e1000: add and use e1000_rx_buffer info for Rx (Ken Cox) [1249240] - [netdrv] e1000: remove workaround for Errata 23 from jumbo alloc (Ken Cox) [1249240] - [netdrv] e1000: perform copybreak ahead of DMA unmap (Ken Cox) [1249240]- [tools] perf annotate: Fix fallback to unparsed disassembler line (Jiri Olsa) [1265262] - [tools] perf tools: Make sparc64 arch point to sparc (Jiri Olsa) [1265262] - [tools] perf symbols: Define EM_AARCH64 for older OSes (Jiri Olsa) [1265262] - [tools] perf top: Fix SIGBUS on sparc64 (Jiri Olsa) [1265262] - [tools] perf tools: Fix probing for PERF_FLAG_FD_CLOEXEC flag (Jiri Olsa) [1265262] - [tools] perf tools: Show better error message in case we fail to open counters due to EBUSY error (Jiri Olsa) [1265262] - [tools] perf tools: Fix pthread_attr_setaffinity_np build error (Jiri Olsa) [1265262] - [tools] perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check (Jiri Olsa) [1265262] - [tools] perf symbols: Convert lseek + read to pread (Jiri Olsa) [1265262] - [tools] perf tools: Use perf_data_file__fd consistently (Jiri Olsa) [1265262] - [tools] perf symbols: Support to read compressed module from build-id cache (Jiri Olsa) [1265262] - [tools] perf evsel: Set attr.task bit for a tracking event (Jiri Olsa) [1265262] - [tools] perf header: Set header version correctly (Jiri Olsa) [1265262] - [tools] perf record: Show precise number of samples (Jiri Olsa) [1265262] - [tools] perf tools: Do not use __perf_session__process_events directly (Jiri Olsa) [1265262] - [tools] perf callchain: Cache eh/debug frame offset for dwarf unwind (Jiri Olsa) [1265262] - [tools] perf tools: Provide stub for missing pthread_attr_setaffinity_np (Jiri Olsa) [1265262] - [tools] perf evsel: Don't rely on malloc working for sz 0 (Jiri Olsa) [1265262] - [tools] tools lib traceevent: Add support for IP address formats (Jiri Olsa) [1265262] - [tools] perf ui/tui: Show fatal error message only if exists (Jiri Olsa) [1265262] - [tools] perf tests: Fix typo in sample-parsing.c (Jiri Olsa) [1265262] - [tools] tools lib fs debugfs: Check if debugfs is mounted when handling ENOENT (Jiri Olsa) [1265262] - [tools] tools lib fs debugfs: Introduce debugfs__strerror_open_tp (Jiri Olsa) [1265262] - [tools] perf trace: Fix error reporting for evsel pgfault constructor (Jiri Olsa) [1265262] - [tools] tools lib fs: Pass filename to debugfs__strerror_open (Jiri Olsa) [1265262] - [tools] tools lib fs: Adopt debugfs open strerrno method (Jiri Olsa) [1265262] - [tools] perf diff: Fix -o/--order option behavior (Jiri Olsa) [1265262] - [tools] perf diff: Fix output ordering to honor next column (Jiri Olsa) [1265262] - [tools] perf tools: Pass struct perf_hpp_fmt to its callbacks (Jiri Olsa) [1265262] - [tools] perf diff: Introduce fmt_to_data_file helper (Jiri Olsa) [1265262] - [tools] perf diff: Print diff result more precisely (Jiri Olsa) [1265262] - [tools] perf diff: Get rid of hists__compute_resort (Jiri Olsa) [1265262] - [tools] perf tools: Allow use of an exclusive option more than once (Jiri Olsa) [1265262] - [tools] perf tools: Document parameterized and symbolic events (Jiri Olsa) [1265262] - [tools] perf tools: Extend format_alias() to include event parameters (Jiri Olsa) [1265262] - [tools] perf tools: Support parsing parameterized events (Jiri Olsa) [1265262] - [tools] perf tools: Remove some unused functions from color.c (Jiri Olsa) [1265262] - [tools] perf report: Get rid of report__inc_stat (Jiri Olsa) [1265262] - [tools] perf hists: Introduce function for deleting/removing hist_entry (Jiri Olsa) [1265262] - [tools] perf hists: Rename hist_entry__free to __delete (Jiri Olsa) [1265262] - [tools] perf tools: Remove EOL whitespaces (Jiri Olsa) [1265262] - [tools] perf mem: Move the mem_operations global to struct perf_mem (Jiri Olsa) [1265262] - [tools] perf mem: Enable sampling loads and stores simultaneously (Jiri Olsa) [1265262] - [tools] perf probe: Fix probing kretprobes (Jiri Olsa) [1265262] - [tools] perf symbols: Introduce 'for' method to iterate over the symbols with a given name (Jiri Olsa) [1265262] - [tools] perf probe: Do not rely on map__load() filter to find symbols (Jiri Olsa) [1265262] - [tools] perf symbols: Introduce method to iterate symbols ordered by name (Jiri Olsa) [1265262] - [tools] perf symbols: Return the first entry with a given name in find_by_name method (Jiri Olsa) [1265262] - [tools] perf annotate: Fix memory leaks in LOCK handling (Jiri Olsa) [1265262] - [tools] perf annotate: Handle ins parsing failures (Jiri Olsa) [1265262] - [tools] perf evlist: Remove extraneous 'was' on error message (Jiri Olsa) [1265262] - [tools] perf tools powerpc: Use dwfl_report_elf() instead of offline (Jiri Olsa) [1265262] - [tools] perf tools: Fix segfault for symbol annotation on TUI (Jiri Olsa) [1265262] - [tools] perf test: Fix dwarf unwind using libunwind (Jiri Olsa) [1265262] - [tools] perf tools: Avoid build splat for syscall numbers with uclibc (Jiri Olsa) [1265262] - [tools] perf tools: Elide strlcpy warning with uclibc (Jiri Olsa) [1265262] - [tools] perf tools: Fix statfs.f_type data type mismatch build error with uclibc (Jiri Olsa) [1265262] - [tools] perf machine: Fix __machine__findnew_thread() error path (Jiri Olsa) [1265262] - [tools] perf tools: Fix building error in x86_64 when dwarf unwind is on (Jiri Olsa) [1265262] - [tools] perf probe: Propagate error code when write failed (Jiri Olsa) [1265262] - [tools] perf hists browser: Fix segfault when showing callchain (Jiri Olsa) [1265262] - [tools] perf callchain: Free callchains when hist entries are deleted (Jiri Olsa) [1265262] - [tools] perf hists: Fix children sort key behavior (Jiri Olsa) [1265262] - [tools] perf diff: Fix to sort by baseline field by default (Jiri Olsa) [1265262] - [tools] perf list: Fix --raw-dump option (Jiri Olsa) [1265262] - [tools] perf probe: Fix crash in dwarf_getcfi_elf (Jiri Olsa) [1265262] - [tools] perf probe: Fix to fall back to find probe point in symbols (Jiri Olsa) [1265262] - [tools] perf callchain: Append callchains only when requested (Jiri Olsa) [1265262] - [tools] perf ui/tui: Print backtrace symbols when segfault occurs (Jiri Olsa) [1265262] - [tools] perf report: Show progress bar for output resorting (Jiri Olsa) [1265262] - [tools] perf: Fix building warning on ARM 32 (Jiri Olsa) [1265262] - [tools] perf symbols: Fix use after free in filename__read_build_id (Jiri Olsa) [1265262] - [tools] perf evlist: Use roundup_pow_of_two (Jiri Olsa) [1265262] - [tools] Adopt roundup_pow_of_two (Jiri Olsa) [1265262] - [tools] perf tools: Make the mmap length autotuning more robust (Jiri Olsa) [1265262] - [tools] Adopt rounddown_pow_of_two and deps (Jiri Olsa) [1265262] - [tools] Adopt fls_long and deps (Jiri Olsa) [1265262] - [tools] Move bitops.h from tools/perf/util to tools (Jiri Olsa) [1265262] - [tools] Introduce asm-generic/bitops.h (Jiri Olsa) [1265262] - [tools] tools lib: Move asm-generic/bitops/find.h code to tools/include and tools/lib (Jiri Olsa) [1265262] - [tools] Whitespace prep patches for moving bitops.h (Jiri Olsa) [1265262] - [tools] Move code originally from asm-generic/atomic.h into tools/include/asm-generic (Jiri Olsa) [1265262] - [tools] Move code originally from linux/log2.h to tools/include/linux (Jiri Olsa) [1265262] - [tools] Move __ffs implementation to tools/include/asm-generic/bitops/__ffs.h (Jiri Olsa) [1265262] - [tools] perf evlist: Do not use hard coded value for a mmap_pages default (Jiri Olsa) [1265262] - [tools] perf trace: Let the perf_evlist__mmap autosize the number of pages to use (Jiri Olsa) [1265262] - [tools] perf evlist: Improve the strerror_mmap method (Jiri Olsa) [1265262] - [tools] perf evlist: Clarify sterror_mmap variable names (Jiri Olsa) [1265262] - [tools] perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg (Jiri Olsa) [1265262] - [tools] perf trace: Provide a better explanation when mmap fails (Jiri Olsa) [1265262] - [tools] perf evlist: Introduce strerror_mmap method (Jiri Olsa) [1265262] - [tools] perf tools: Use sysctl__read_int instead of ad-hoc copies (Jiri Olsa) [1265262] - [tools] tools lib fs: Add sysctl__read_int helper (Jiri Olsa) [1265262] - [tools] tools lib fs: Adopt filename__read_int from tools/perf (Jiri Olsa) [1265262] - [tools] perf kvm stat live: Mark events as - x86 only - in help output (Jiri Olsa) [1265262] - [tools] perf tests: Fix attr tests size values to cope with machine state on interrupt ABI changes (Jiri Olsa) [1265262] - [tools] calloc/xcalloc: Fix argument order (Jiri Olsa) [1265262] - [tools] perf callchain: Move cpumode resolve code to add_callchain_ip (Jiri Olsa) [1265262] - [tools] perf callchain: Fixup parameter handling error message (Jiri Olsa) [1265262] - [tools] perf tools: Add --buildid-dir option to set cache directory (Jiri Olsa) [1265262] - [tools] perf buildid cache: Fix -a segfault related to kcore handling (Jiri Olsa) [1265262] - [tools] perf buildid-cache: Remove extra debugdir variables (Jiri Olsa) [1265262] - [tools] perf tools: Use single strcmp call instead of two (Jiri Olsa) [1265262] - [tools] perf hists browser: Change print format from lu to PRIu64 (Jiri Olsa) [1265262] - [tools] perf session: Do not fail on processing out of order event (Jiri Olsa) [1265262] - [tools] perf report: In branch stack mode use address history sorting (Jiri Olsa) [1265262] - [tools] perf report: Add --branch-history option (Jiri Olsa) [1265262] - [tools] perf callchain: Support handling complete branch stacks as histograms (Jiri Olsa) [1265262] - [tools] perf stat: Add support for snapshot counters (Jiri Olsa) [1265262] - [tools] perf stat: Add support for per-pkg counters (Jiri Olsa) [1265262] - [tools] perf tools: Remove perf_evsel__read interface (Jiri Olsa) [1265262] - [tools] perf stat: Use read_counter in read_counter_aggr (Jiri Olsa) [1265262] - [tools] perf stat: Make read_counter work over the thread dimension (Jiri Olsa) [1265262] - [tools] perf stat: Use perf_evsel__read_cb in read_counter (Jiri Olsa) [1265262] - [tools] perf tools: Add snapshot format file parsing (Jiri Olsa) [1265262] - [tools] perf tools: Add per-pkg format file parsing (Jiri Olsa) [1265262] - [tools] perf evsel: Introduce perf_evsel__read_cb function (Jiri Olsa) [1265262] - [tools] perf evsel: Introduce perf_counts_values__scale function (Jiri Olsa) [1265262] - [tools] perf evsel: Introduce perf_evsel__compute_deltas function (Jiri Olsa) [1265262] - [tools] perf tools: Allow to force redirect pr_debug to stderr (Jiri Olsa) [1265262] - [tools] perf tools: Fix segfault due to invalid kernel dso access (Jiri Olsa) [1265262] - [tools] perf callchain: Make get_srcline fall back to sym+offset (Jiri Olsa) [1265262] - [tools] perf symbols: Move bfd_demangle stubbing to its only user (Jiri Olsa) [1265262] - [tools] perf callchain: Enable printing the srcline in the history (Jiri Olsa) [1265262] - [tools] perf tools: Collapse first level callchain entry if it has sibling (Jiri Olsa) [1265262] - [tools] perf hists browser: Print overhead percent value for first-level callchain (Jiri Olsa) [1265262] - [tools] perf tools: Only override the default :tid comm entry (Jiri Olsa) [1265262] - [tools] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore (Jiri Olsa) [1265262] - [tools] perf evlist: Do not poll events that use the system_wide flag (Jiri Olsa) [1265262] - [tools] perf evsel: Fix ftrace:function event recording (Jiri Olsa) [1265262] - [tools] perf diff: Add missing handler for PERF_RECORD_MMAP2 events (Jiri Olsa) [1265262] - [tools] perf hists: Fix up srcline histogram key formatting (Jiri Olsa) [1265262] - [tools] perf annotate: Support source line numbers in annotate (Jiri Olsa) [1265262] - [tools] perf tools: Only print base source file for srcline (Jiri Olsa) [1265262] - [tools] perf callchain: Use a common function to resolve symbol or name (Jiri Olsa) [1265262] - [tools] perf callchain: Use al.addr to set up call chain (Jiri Olsa) [1265262] - [tools] perf callchain: Factor out adding new call chain entries (Jiri Olsa) [1265262] - [tools] perf tools: Fix annotation with kcore (Jiri Olsa) [1265262] - [tools] perf test: fix typo in python test (Jiri Olsa) [1265262] - [tools] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader (Jiri Olsa) [1265262] - [tools] perf tools: Clean up libelf feature support code (Jiri Olsa) [1265262] - [tools] perf build-id: Move disable_buildid_cache() to util/build-id.c (Jiri Olsa) [1265262] - [tools] perf record: Add new -I option to sample interrupted machine state (Jiri Olsa) [1265262] - [tools] perf/tests: Add interrupted state sample parsing test (Jiri Olsa) [1265262] - [tools] perf tools: Add core support for sampling intr machine state regs (Jiri Olsa) [1265262] - [tools] perf evsel: Do not call pevent_free_format when deleting tracepoint (Jiri Olsa) [1265262] - [tools] perf script python: Removing event cache as it's no longer needed (Jiri Olsa) [1265262] - [tools] perf script perl: Removing event cache as it's no longer needed (Jiri Olsa) [1265262] - [tools] perf tools: Add test_and_set_bit function (Jiri Olsa) [1265262] - [tools] perf tools: Make vmlinux short name more like kallsyms short name (Jiri Olsa) [1265262] - [tools] perf tools: Fix build-id matching on vmlinux (Jiri Olsa) [1265262] - [tools] perf record: Do not save pathname in ./debug/.build-id directory for vmlinux (Jiri Olsa) [1265262] - [tools] perf build-id: Move build-id related functions to util/build-id.c (Jiri Olsa) [1265262] - [tools] perf build-id: Rename dsos__write_buildid_table (Jiri Olsa) [1265262] - [tools] perf tools: Add gzip decompression support for kernel module (Jiri Olsa) [1265262] - [tools] perf symbols: Preparation for compressed kernel module support (Jiri Olsa) [1265262] - [tools] perf tools: Defer export of comms that were not 'set' (Jiri Olsa) [1265262] - [tools] perf tools: Add call information to Python export (Jiri Olsa) [1265262] - [tools] perf tools: Add call information to the database export API (Jiri Olsa) [1265262] - [tools] perf tools: Add branch_type and in_tx to Python export (Jiri Olsa) [1265262] - [tools] perf tools: Add branch type to db export (Jiri Olsa) [1265262] - [tools] perf tools: Enhance the thread stack to output call/return data (Jiri Olsa) [1265262] - [tools] perf tools: Add a thread stack for synthesizing call chains (Jiri Olsa) [1265262] - [tools] perf session: Add perf_session__deliver_synth_event (Jiri Olsa) [1265262] - [tools] perf tools: Use evlist__for_each in a few remaining places (Jiri Olsa) [1265262] - [tools] perf tools: Add id index (Jiri Olsa) [1265262] - [tools] perf probe: Add --quiet option to suppress output result message (Jiri Olsa) [1265262] - [tools] perf script: Add Python script to export to postgresql (Jiri Olsa) [1265262] - [tools] perf scripting python: Extend interface to export data in a database-friendly way (Jiri Olsa) [1265262] - [tools] perf tools: Add facility to export data in database-friendly way (Jiri Olsa) [1265262] - [tools] perf pmu: Add proper error handling to print_pmu_events (Jiri Olsa) [1265262] - [tools] perf tools: Do not attempt to run perf-read-vdso32 if it wasn't built (Jiri Olsa) [1265262] - [tools] perf tools: Add support for 32-bit compatibility VDSOs (Jiri Olsa) [1265262] - [tools] perf tools: Build programs to copy 32-bit compatibility (Jiri Olsa) [1265262] - [tools] perf pmu: Let pmu's with no events show up on perf list (Jiri Olsa) [1265262] - [tools] perf tools: Ensure return negative value when write header error (Jiri Olsa) [1265262] - [tools] perf probe: Use PARSE_OPT_EXCLUSIVE flag (Jiri Olsa) [1265262] - [tools] perf tools: Add support for exclusive option (Jiri Olsa) [1265262] - [tools] perf kvm: Print kvm specific --help output (Jiri Olsa) [1265262] - [tools] perf tools: Export usage string and option table of perf record (Jiri Olsa) [1265262] - [tools] perf tools: Add PARSE_OPT_DISABLED flag (Jiri Olsa) [1265262] - [tools] perf tests: Use thread->mg->machine (Jiri Olsa) [1265262] - [tools] perf tests: Remove misplaced __maybe_unused (Jiri Olsa) [1265262] - [tools] perf callchains: Use thread->mg->machine (Jiri Olsa) [1265262] - [tools] perf thread: Adopt resolve_callchain method from machine (Jiri Olsa) [1265262] - [tools] perf tools: A thread's machine can be found via thread->mg->machine (Jiri Olsa) [1265262] - [tools] perf tools: Set thread->mg.machine in all places (Jiri Olsa) [1265262] - [tools] perf tools powerpc: Cache the DWARF debug info (Jiri Olsa) [1265262] - [x86] intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints (Jiri Olsa) [1265262] - [x86] intel: Filter branches for PEBS event (Jiri Olsa) [1265262] - [kernel] perf: Fix irq_work tail recursion (Jiri Olsa) [1265262] - [kernel] perf: add PMU_EVENT_ATTR_STRING() helper (Jiri Olsa) [1265262] - [kernel] perf: provide sysfs_show for struct perf_pmu_events_attr (Jiri Olsa) [1265262] - [kernel] perf: Use POLLIN instead of POLL_IN for perf poll data in flag (Jiri Olsa) [1265262] - [kernel] perf: Add a bit of paranoia (Jiri Olsa) [1265262] - [kernel] perf: Tighten and fix the grouping condition (Jiri Olsa) [1265262] - [x86] intel: Add model number for Airmont (Jiri Olsa) [1265262] - [x86] intel/uncore: Move uncore_box_init() out of driver initialization (Jiri Olsa) [1265262] - [x86] uncore/hsw-ep: Handle systems with only two SBOXes (Jiri Olsa) [1265262] - [kernel] perf: Fix events installation during moving group (Jiri Olsa) [1265262] - [x86] intel/uncore: Make sure only uncore events are collected (Jiri Olsa) [1265262] - [kernel] perf: Improve the perf_sample_data struct layout (Jiri Olsa) [1265262] - [x86] Add support for sampling PEBS machine state registers (Jiri Olsa) [1265262] - [kernel] perf: Add ability to sample machine state on interrupt (Jiri Olsa) [1265262] - [x86] Add INTEL_FLAGS_UEVENT_CONSTRAINT (Jiri Olsa) [1265262] - [x86] intel/uncore: Add scaling units to the EP iMC events (Jiri Olsa) [1265262] - [x86] intel/uncore: Fix boot crash on SBOX PMU on Haswell-EP (Jiri Olsa) [1265262] - [x86] intel/uncore: Fix IRP uncore register offsets on Haswell EP (Jiri Olsa) [1265262] - [kernel] perf: Fix corruption of sibling list with hotplug (Jiri Olsa) [1265262] - [kernel] list: introduce list_last_entry, use list_first_entry, list_last_entry (Jiri Olsa) [1265262] - [kernel] ftrace: Have modules use the trace event array pointer (Jiri Olsa) [1038756] - [kernel] ftrace: Introduce __trace_module_add_events function (Jiri Olsa) [1038756] - [perf] x86/intel/cqm: Do not access cpu_data() from CPU_UP_PREPARE handler (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Return cached counter value from IRQ context (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Use 'u32' data type for RMIDs (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Add storage for 'closid' and clean up 'struct intel_pqr_state' (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Remove useless wrapper function (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Avoid pointless MSR write (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Remove pointless spinlock from state cache (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Use proper data types (Jiri Olsa) [1252428] - [perf] x86/intel/cqm: Document PQR MSR abuse (Jiri Olsa) [1252428] - [perf] Remove type specific target pointers (Jiri Olsa) [1252428] - [perf] x86/intel: Fix Makefile to actually build the cqm driver (Jiri Olsa) [1252428] - [perf] x86/intel: Enable conflicting event scheduling for CQM (Jiri Olsa) [1252428] - [perf] x86/intel: Perform rotation on Intel CQM RMIDs (Jiri Olsa) [1252428] - [perf] x86/intel: Support task events with Intel CQM (Jiri Olsa) [1252428] - [perf] x86/intel: Implement LRU monitoring ID allocation for CQM (Jiri Olsa) [1252428] - [perf] x86/intel: Add Intel Cache QoS Monitoring support (Jiri Olsa) [1252428] - [x86] Add support for Intel Cache QoS Monitoring (CQM) detection (Jiri Olsa) [1252428] - [perf] Add sysfs entry to adjust multiplexing interval per PMU (Jiri Olsa) [1252428] - [perf] Use hrtimers for event multiplexing (Jiri Olsa) [1252428] - [perf] Move cgroup init before PMU ->event_init() (Jiri Olsa) [1252428] - [perf] Ensure consistent inherit state in groups (Jiri Olsa) [1252428] - [perf] Add ->count function to read per-package counters (Jiri Olsa) [1252428] - [perf] Make perf_cgroup_from_task() global (Jiri Olsa) [1252428] - [perf] Migrate per cpu event accounting (Jiri Olsa) [1252428] - [perf] Split the per-cpu accounting part of the event accounting code (Jiri Olsa) [1252428] - [perf] Factor out event accounting code to account_event()/__free_event() (Jiri Olsa) [1252428] - [perf] Sanitize get_callchain_buffer() (Jiri Olsa) [1252428] - [perf] Fix branch stack refcount leak on callchain init failure (Jiri Olsa) [1252428] - [block] nvme: Add translation for block limits (David Milburn) [1228784] - [block] nvme: fix kernel memory corruption with short INQUIRY buffers (David Milburn) [1228784] - [block] nvme: Fix PRP list calculation for non-4k system page size (David Milburn) [1228784] - [block] nvme: Fix scsi mode select llbaa setting (David Milburn) [1228784] - [block] nvme: Update SCSI Inquiry VPD 83h translation (David Milburn) [1228784] - [block] nvme: Do not over allocate for discard requests (David Milburn) [1228784] - [block] nvme: Fix device probe waiting on kthread (David Milburn) [1228784] - [block] nvme: Updates for 1.1 spec (David Milburn) [1228784] - [block] nvme: Passthrough IOCTL for IO commands (David Milburn) [1228784] - [block] nvme: Add revalidate_disk callback (David Milburn) [1228784] - [block] nvme: Translate NVMe status to errno (David Milburn) [1228784] - [block] nvme: Fix SG_IO status values (David Milburn) [1228784] - [block] nvme: Remove duplicate compat SG_IO code (David Milburn) [1228784] - [block] nvme: Correctly handle IOCTL_SUBMIT_IO when cpus > online queues (David Milburn) [1228784] - [block] nvme: Skip orderly shutdown on failed devices (David Milburn) [1228784] - [block] nvme: Change nvme_enable_ctrl to set EN and manage CC thru ctrl_config (David Milburn) [1228784] - [block] nvme: Mismatched host/device page size support (David Milburn) [1228784] - [block] nvme: Update list of status codes (David Milburn) [1228784] - [block] nvme: Async event request (David Milburn) [1228784] - [kernel] cpu hotplug, smp: flush any pending IPI callbacks before CPU offline (Gustavo Duarte) [1225059] - [kernel] smp: print more useful debug info upon receiving IPI on an offline CPU (Gustavo Duarte) [1225059]- [kernel] x86: Remove unused thread_return label from switch_to() (Oleg Nesterov) [1276446] - [kernel] sched: Fix __schedule_bug() output when called from an interrupt (Oleg Nesterov) [1276446] - [s390] dasd: fix list_del corruption after lcu changes (Hendrik Brueckner) [1285229] - [s390] dasd: fix disconnected device with valid path mask (Hendrik Brueckner) [1285222] - [s390] dasd: fix invalid PAV assignment after suspend/resume (Hendrik Brueckner) [1285223] - [netdrv] sfc: only use vadaptor stats if firmware is capable (Jarod Wilson) [1123046] - [netdrv] sfc: Ensure down_write(&filter_sem) and up_write() are matched before calling efx_net_open() (Jarod Wilson) [1123046] - [netdrv] sfc: suppress handled MCDI failures when changing the MAC address (Jarod Wilson) [1123046] - [netdrv] sfc: add legacy method for changing a PF's MAC address (Jarod Wilson) [1123046] - [netdrv] sfc: refactor code in efx_ef10_set_mac_address() (Jarod Wilson) [1123046] - [netdrv] sfc: mark state UNINIT after unregister (Jarod Wilson) [1123046] - [netdrv] sfc: leak vports if a VF is assigned during PF unload (Jarod Wilson) [1123046] - [netdrv] sfc: force removal of VF and vport on driver removal (Jarod Wilson) [1123046] - [netdrv] sfc: do not allow VFs to be destroyed if assigned to guests (Jarod Wilson) [1123046] - [netdrv] sfc: don't update stats on VF when called in atomic context (Jarod Wilson) [1123046] - [netdrv] sfc: suppress vadaptor stats when EVB is not present (Jarod Wilson) [1123046] - [netdrv] sfc: suppress ENOENT error messages from MC_CMD_MAC_STATS (Jarod Wilson) [1123046] - [netdrv] sfc: update netdevice statistics to use vadaptor stats (Jarod Wilson) [1123046] - [netdrv] sfc: DMA the VF stats only when requested (Jarod Wilson) [1123046] - [netdrv] sfc: display vadaptor statistics for all interfaces (Jarod Wilson) [1123046] - [netdrv] sfc: set the port-id when calling MC_CMD_MAC_STATS (Jarod Wilson) [1123046] - [netdrv] sfc: add "port_" prefix to MAC stats (Jarod Wilson) [1123046] - [netdrv] sfc: Implement ndo_gets_phys_port_id() for EF10 VFs (Jarod Wilson) [1123046] - [netdrv] sfc: Add sysfs entry for flags (link control and primary) (Jarod Wilson) [1123046] - [netdrv] sfc: Add paranthesis correctly on all branches of the if statement (Jarod Wilson) [1123046] - [netdrv] sfc: Add code to export port_num in netdev->dev_port (Jarod Wilson) [1123046] - [netdrv] sfc: free multiple Rx buffers when required (Jarod Wilson) [1123046] - [netdrv] sfc: add module parameter to enable MCDI logging on new functions (Jarod Wilson) [1123046] - [netdrv] sfc: add sysfs entry to control MCDI tracing (Jarod Wilson) [1123046] - [netdrv] sfc: add tracing of MCDI commands (Jarod Wilson) [1123046] - [netdrv] sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC (Jarod Wilson) [1123046] - [netdrv] sfc: Implement dummy disable of VF spoof check for EF10 (Jarod Wilson) [1123046] - [netdrv] sfc: add ndo_set_vf_link_state() function for EF10 (Jarod Wilson) [1123046] - [netdrv] sfc: add ndo_set_vf_vlan() function for EF10 (Jarod Wilson) [1123046] - [netdrv] sfc: Change entity reset on MC reboot to a new datapath-only reset (Jarod Wilson) [1123046] - [netdrv] sfc: Add ndo_get_vf_config() function for EF10 (Jarod Wilson) [1123046] - [netdrv] sfc: add ndo_set_vf_mac() function for EF10 (Jarod Wilson) [1123046] - [netdrv] sfc: Initialise MCDI buffers to 0 on declaration (Jarod Wilson) [1123046] - [netdrv] sfc: Enable a VF to get its own MAC address (Jarod Wilson) [1123046] - [netdrv] sfc: protect filter table against use-after-free (Jarod Wilson) [1123046] - [netdrv] sfc: Store the efx_nic struct of the current VF in the VF data struct (Jarod Wilson) [1123046] - [netdrv] sfc: save old MAC address in case sriov_mac_address_changed fails (Jarod Wilson) [1123046] - [netdrv] sfc: Store vf_index in nic_data for Ef10 (Jarod Wilson) [1123046] - [netdrv] sfc: MC_CMD_SET_MAC can only be called by the link control Function (Jarod Wilson) [1123046] - [netdrv] sfc: change definition of MC_CMD_VADAPTOR_ALLOC (Jarod Wilson) [1123046] - [netdrv] sfc: Add permissions to MCDI commands (Jarod Wilson) [1123046] - [netdrv] sfc: nicer log message on Siena SR-IOV probe fail (Jarod Wilson) [1123046] - [netdrv] sfc: suppress some MCDI error messages in PTP (Jarod Wilson) [1123046] - [netdrv] sfc: nicer log message on PTP probe fail (Jarod Wilson) [1123046] - [netdrv] sfc: Bind the sfc driver to any available VF's (Jarod Wilson) [1123046] - [netdrv] sfc: Add use of shared RSS contexts (Jarod Wilson) [1123046] - [netdrv] sfc: Cope with permissions enforcement added to firmware for SR-IOV (Jarod Wilson) [1123046] - [netdrv] sfc: manually allocate and free vadaptors (Jarod Wilson) [1123046] - [netdrv] sfc: create vports for VFs and assign random MAC addresses (Jarod Wilson) [1123046] - [netdrv] sfc: Prepare to bind the sfc driver to the VF (Jarod Wilson) [1123046] - [netdrv] sfc: get the PF number and record in nic_data (Jarod Wilson) [1123046] - [netdrv] sfc: create VEB vswitch and vport above default firmware setup (Jarod Wilson) [1123046] - [netdrv] sfc: record the PF's vport ID in nic_data (Jarod Wilson) [1123046] - [netdrv] sfc: Record x_dpcpu_fw_id in EF10 nic_data (Jarod Wilson) [1123046] - [netdrv] sfc: Use MCDI to set FILTER_OP_IN_TX_DOMAIN (Jarod Wilson) [1123046] - [netdrv] sfc: Enable VF's via a write to the sysfs file sriov_numvfs (Jarod Wilson) [1123046] - [netdrv] sfc: Move and rename efx_vf struct to siena_vf (Jarod Wilson) [1123046] - [netdrv] sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code (Jarod Wilson) [1123046] - [netdrv] sfc: Fix memcpy with const destination compiler warning (Jarod Wilson) [1123046] - [netdrv] ethernet: codespell comment spelling fixes (Jarod Wilson) [1123046] - [netdrv] sfc: use netdev_rss_key_fill helper (Jarod Wilson) [1123046] - [netdrv] sfc: Use ether_addr_copy and eth_broadcast_addr (Jarod Wilson) [1123046] - [kernel] log2.h: Fix rounddown_pow_of_two(1) (Andrea Arcangeli) [1269976] - [md] raid1: Avoid raid1 resync getting stuck (Jes Sorensen) [1263820] - [md] revert "md: allow a partially recovered device to be hot-added to an array" (Jes Sorensen) [1250579] - [x86] nmi: Fix use of unallocated cpumask_var_t (Don Zickus) [1104266] - [x86] nmi: Perform a safe NMI stack trace on all CPUs (Don Zickus) [1104266] - [kernel] printk: Add per_cpu printk func to allow printk to be diverted (Don Zickus) [1104266] - [kernel] seq: Add minimal support for seq_buf (Don Zickus) [1104266] - [hwmon] nct6775: Add support for NCT6793D (Dean Nelson) [1260117] - [hwmon] nct6775: Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most chips (Dean Nelson) [1260117] - [hwmon] nct6775: Add missing sysfs attribute initialization (Dean Nelson) [1260117] - [hwmon] nct6775: Enable auxiliary fan monitoring on ASRock Z77 Pro4-M (Dean Nelson) [1260117] - [hwmon] nct6775: Restore hardware monitoring logical device status on resume (Dean Nelson) [1260117] - [hwmon] nct6775: Convert to use SIMPLE_DEV_PM_OPS (Dean Nelson) [1260117] - [hwmon] nct6775: Add blank lines after declarations (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for NCT6792D (Dean Nelson) [1260117] - [hwmon] nct6775: Documentation updates (Dean Nelson) [1260117] - [hwmon] nct6775: Remove num_attr_groups from struct nct6775_data (Dean Nelson) [1260117] - [hwmon] nct6775: Update module description and Kconfig for NCT6106D and NCT6791D (Dean Nelson) [1260117] - [hwmon] nct6775: Fix probe unwind paths to properly unregister platform devices (Dean Nelson) [1260117] - [hwmon] Update Jean Delvare's e-mail address (Dean Nelson) [1260117] - [hwmon] nct6775: Re-enable logical device mapping for NCT6791 during resume (Dean Nelson) [1260117] - [hwmon] nct6775: NCT6791 supports weight control only for CPUFAN (Dean Nelson) [1260117] - [hwmon] nct6775: Monitor additional temperature registers (Dean Nelson) [1260117] - [hwmon] nct6775: Remove an unused variable (Dean Nelson) [1260117] - [hwmon] nct6775: Convert to use hwmon_device_register_with_groups (Dean Nelson) [1260117] - [hwmon] nct6775: Check array index when accessing temp_offset (Dean Nelson) [1260117] - [hwmon] nct6775: Use return value from find_temp_source (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for hibernate (Dean Nelson) [1260117] - [hwmon] use dev_get_platdata (Dean Nelson) [1260117] - [hwmon] nct6775: Fix size of data->temp array (Dean Nelson) [1260117] - [hwmon] nct6775: Avoid using device platform data outside probe function (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for NCT6791D (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for beep attributes (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for critical low/high temperature limits on NCT6106 (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for NCT6102D/6106D (Dean Nelson) [1260117] - [hwmon] nct6775: Support two SuperIO chips in the same system (Dean Nelson) [1260117] - [hwmon] nct6775: Allocate attributes dynamically from templates (Dean Nelson) [1260117] - [hwmon] nct6775: Drop unsupported fan alarm attributes for NCT6775 (Dean Nelson) [1260117] - [hwmon] nct6775: Fix temperature alarm attributes (Dean Nelson) [1260117] - [hwmon] nct6775: Do not create non-existing attributes (Dean Nelson) [1260117] - [hwmon] nct6775: Fix coding style problems (Dean Nelson) [1260117] - [hwmon] nct6775: Constify strings (Dean Nelson) [1260117] - [hwmon] nct6775: Use ARRAY_SIZE for loops where possible (Dean Nelson) [1260117] - [hwmon] nct6775: Enable both AUXTIN and VIN3 on NCT6776 (Dean Nelson) [1260117] - [hwmon] nct6775: Expand scope of supported chips (Dean Nelson) [1260117] - [hwmon] nct6775: Drop read/write lock (Dean Nelson) [1260117] - [hwmon] nct6775: Only report VID if supported and enabled (Dean Nelson) [1260117] - [hwmon] nct6775: Detect and report additional temperature sources (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for weighted fan control (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for automatic fan control (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for pwm, pwm_mode, and pwm_enable (Dean Nelson) [1260117] - [hwmon] nct6775: Add power management support (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for fan debounce module parameter (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for fanX_pulses sysfs attribute (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for fan speed attributes (Dean Nelson) [1260117] - [hwmon] nct6775: Add support for temperature sensors (Dean Nelson) [1260117] - [hwmon] nct6775: Add case open detection (Dean Nelson) [1260117] - [hwmon] Driver for Nuvoton NCT6775F, NCT6776F, and NCT6779D (Dean Nelson) [1260117] - [netdrv] iwlwifi: edit the 3165 series and 8000 series PCI IDs (Stanislaw Gruszka) [1286871] - [netdrv] iwlwifi: Add new PCI IDs for the 8260 series (Stanislaw Gruszka) [1286871] - [mm] fix swapops.h:131 bug if remap_file_pages raced migration (Rafael Aquini) [1184296] - [mm] rmap: make rmap_walk to get the rmap_walk_control argument (Rafael Aquini) [1184296] - [mm] mremap: enforce rmap src/dst vma ordering in case of vma_merge() succeeding in copy_vma (Rafael Aquini) [1184296] - [scsi] sd: name space exhaustion causes system hang (Ewan Milne) [1088509] - [net] cnic: Add the interfaces to get FC-NPIV table (Maurizio Lombardi) [1252116] - [net] cnic: Populate upper layer driver state in MFW (Maurizio Lombardi) [1252116] - [net] bnx2-cnic: Driver Version Update (Maurizio Lombardi) [1252116] - [net] bnx2-cnic: Driver Rebranding Changes (Maurizio Lombardi) [1252116] - [scsi] megaraid_sas: touch the version string (Tomas Henzl) [1254762] - [scsi] megaraid_sas: Make tape drives visible on PERC5 controllers (Tomas Henzl) [1254762] - [scsi] megaraid_sas: Expose TAPE drives unconditionally (Tomas Henzl) [1254762]- [kernel] relay: move remove_buf_file inside relay_close_buf (Eric Sandeen) [501457] - [dm] snapshot: fix a possible invalid memory access on unload (Mike Snitzer) [1282900] - [dm] fix ioctl retry termination with signal (Mike Snitzer) [1282900] - [dm] redhat: add CONFIG_DM_CACHE_SMQ option to config-generic-rhel (Mike Snitzer) [1282900] - [dm] dm cache: the CLEAN_SHUTDOWN flag was not being set (Mike Snitzer) [1282900] - [dm] dm cache: fix NULL pointer when switching from cleaner policy (Mike Snitzer) [1282900] - [dm] dm cache: fix use after freeing migrations (Mike Snitzer) [1282900] - [dm] dm cache: small cleanups related to deferred prison cell cleanup (Mike Snitzer) [1282900] - [dm] dm cache: fix leaking of deferred bio prison cells (Mike Snitzer) [1282900] - [dm] dm cache: move wake_waker from free_migrations to where it is needed (Mike Snitzer) [1282900] - [dm] dm cache policy smq: change the mutex to a spinlock (Mike Snitzer) [1282900] - [dm] dm persistent data: eliminate unnecessary return values (Mike Snitzer) [1282900] - [dm] dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE transition (Mike Snitzer) [1282900] - [dm] dm thin: fix missing pool reference count decrement in pool_ctr error path (Mike Snitzer) [1282900] - [dm] dm btree: fix leak of bufio-backed block in btree_split_beneath error path (Mike Snitzer) [1282900] - [dm] dm btree remove: fix a bug when rebalancing nodes after removal (Mike Snitzer) [1282900] - [dm] dm btree remove: remove unused function get_nr_entries (Mike Snitzer) [1282900] - [dm] dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling (Mike Snitzer) [1282900] - [dm] dm switch: simplify conditional in alloc_region_table (Mike Snitzer) [1282900] - [dm] dm delay: document that offsets are specified in sectors (Mike Snitzer) [1282900] - [dm] dm delay: capitalize the start of an delay_ctr error message (Mike Snitzer) [1282900] - [dm] dm delay: Use DM_MAPIO macros instead of open-coded equivalents (Mike Snitzer) [1282900] - [dm] dm linear: remove redundant target name from error messages (Mike Snitzer) [1282900] - [dm] dm raid: fix round up of default region size (Mike Snitzer) [1282900] - [dm] convert ffs to __ffs (Mike Snitzer) [1282900] - [dm] remove unlikely() before IS_ERR (Mike Snitzer) [1282900] - [dm] fix AB-BA deadlock in __dm_destroy (Mike Snitzer) [1282900] - [dm] fix add_disk() NULL pointer due to race with free_dev (Mike Snitzer) [1282900] - [dm] do not override error code returned from dm_get_device (Mike Snitzer) [1282900] - [dm] test return value for DM_MAPIO_SUBMITTED (Mike Snitzer) [1282900] - [dm] dm stats: report precise_timestamps and histogram in @stats_list output (Mike Snitzer) [1267632] - [dm] bump the ioctl version to 4.32.1 (Mike Snitzer) [1267632] - [dm] dm stats: add support for request-based DM devices (Mike Snitzer) [1267632] - [dm] dm stats: collect and report histogram of IO latencies (Mike Snitzer) [1267632] - [dm] dm stats: support precise timestamps (Mike Snitzer) [1267632] - [dm] dm stats: fix divide by zero if 'number_of_areas' arg is zero (Mike Snitzer) [1267632] - [dm] dm btree: add ref counting ops for the leaves of top level btrees (Mike Snitzer) [1282900] - [dm] dm thin metadata: delete btrees when releasing metadata snapshot (Mike Snitzer) [1282900] - [dm] dm thin: return -ENOSPC when erroring retry list due to out of data space (Mike Snitzer) [1282900] - [dm] dm thin: display 'needs_check' in status if it is set (Mike Snitzer) [1282900] - [dm] dm thin: stay in out-of-data-space mode once no_space_timeout expires (Mike Snitzer) [1282900] - [dm] dm btree: silence lockdep lock inversion in dm_btree_del (Mike Snitzer) [1282900] - [dm] dm thin: allocate the cell_sort_array dynamically (Mike Snitzer) [1282900] - [dm] dm space map disk: fix sm_disk_count_is_more_than_one (Mike Snitzer) [1282900] - [dm] dm space map metadata: fix occasional leak of a metadata block on resize (Mike Snitzer) [1282900] - [dm] dm thin metadata: fix a race when entering fail mode (Mike Snitzer) [1282900] - [dm] dm thin: fail messages with EOPNOTSUPP when pool cannot handle messages (Mike Snitzer) [1282900] - [dm] dm thin metadata: remove in-core 'read_only' flag (Mike Snitzer) [1282900] - [dm] dm thin: cleanup schedule_zero to read more logically (Mike Snitzer) [1282900] - [dm] dm thin: cleanup overwrite's endio restore to be centralized (Mike Snitzer) [1282900] - [dm] dm cache: fix device destroy hang due to improper prealloc_used accounting (Mike Snitzer) [1282900] - [dm] dm cache policy smq: fix alloc_bitset check that always evaluates as false (Mike Snitzer) [1282900] - [dm] dm cache: avoid calls to prealloc_free_structs if possible (Mike Snitzer) [1282900] - [dm] dm cache: avoid preallocation if no work in writeback_some_dirty_blocks (Mike Snitzer) [1282900] - [dm] dm cache: display 'needs_check' in status if it is set (Mike Snitzer) [1282900] - [dm] dm cache policy smq: move 'dm-cache-default' module alias to SMQ (Mike Snitzer) [1282900] - [dm] dm cache policy smq: fix "default" version to be 1.4.0 (Mike Snitzer) [1282900] - [dm] dm cache: switch the "default" cache replacement policy from mq to smq (Mike Snitzer) [1282900] - [dm] dm cache: age and write back cache entries even without active IO (Mike Snitzer) [1282900] - [dm] dm cache: prefix all DMERR and DMINFO messages with cache device name (Mike Snitzer) [1282900] - [dm] dm cache: add fail io mode and needs_check flag (Mike Snitzer) [1282900] - [dm] dm cache: wake the worker thread every time we free a migration object (Mike Snitzer) [1282900] - [dm] dm cache: add stochastic-multi-queue - smq - policy (Mike Snitzer) [1282900] - [dm] dm cache: boost promotion of blocks that will be overwritten (Mike Snitzer) [1282900] - [dm] dm cache: defer whole cells (Mike Snitzer) [1282900] - [dm] dm bio prison: add dm_cell_promote_or_release (Mike Snitzer) [1282900] - [dm] dm cache: pull out some bitset utility functions for reuse (Mike Snitzer) [1282900] - [dm] dm cache: pass a new 'critical' flag to the policies when requesting writeback work (Mike Snitzer) [1282900] - [dm] dm cache: track IO to the origin device using io_tracker (Mike Snitzer) [1282900] - [dm] dm cache: add io_tracker (Mike Snitzer) [1282900] - [dm] dm cache: fix race when issuing a POLICY_REPLACE operation (Mike Snitzer) [1282900] - [dm] dm crypt: update wiki page URL (Mike Snitzer) [1282900] - [dm] dm stripe: drop useless exit point from dm_stripe_init() (Mike Snitzer) [1282900] - [dm] dm raid1: keep issuing IO after leg failure (Mike Snitzer) [1282900] - [dm] dm table: use bool function return values of true_false not 1_0 (Mike Snitzer) [1282900] - [dm] dm thin: remove stale 'trim' message documentation (Mike Snitzer) [1282900] - [dm] dm delay: use msecs_to_jiffies for time conversion (Mike Snitzer) [1282900] - [dm] dm log userspace base: fix compile warning (Mike Snitzer) [1282900] - [dm] dm log userspace transfer: match wait_for_completion_timeout return type (Mike Snitzer) [1282900] - [dm] dm cache policy mq: try not to writeback data that changed in the last second (Mike Snitzer) [1282900] - [dm] dm cache policy mq: remove unused generation member of struct entry (Mike Snitzer) [1282900] - [dm] dm cache policy mq: track entries hit this 'tick' via sentinel objects (Mike Snitzer) [1282900] - [dm] dm cache policy mq: remove queue_shift_down (Mike Snitzer) [1282900] - [dm] dm cache policy mq: keep track of the number of entries in a multiqueue (Mike Snitzer) [1282900] - [dm] dm log userspace: split flush_entry_pool to be per dirty-log (Mike Snitzer) [1282900] - [dm] dm io: deal with wandering queue limits when handling BIO_DISCARD (Mike Snitzer) [1282900] - [dm] dm io: reject unsupported DISCARD requests with EOPNOTSUPP (Mike Snitzer) [1282900] - [dm] dm kcopyd: prepare for additional safety checks for discards (Mike Snitzer) [1282900] - [dm] hold suspend_lock while suspending device during device deletion (Mike Snitzer) [1282900] - [dm] dm thin: fix to consistently zero-fill reads to unprovisioned blocks (Mike Snitzer) [1282900] - [dm] dm snapshot: remove unnecessary NULL checks before vfree calls (Mike Snitzer) [1282900] - [dm] dm mpath: simplify failure path of dm_multipath_init (Mike Snitzer) [1282900] - [dm] dm thin metadata: remove unused dm_pool_get_data_block_size (Mike Snitzer) [1282900] - [dm] dm ioctl: fix stale comment above dm_get_inactive_table (Mike Snitzer) [1282900] - [dm] dm crypt: update url in CONFIG_DM_CRYPT help text (Mike Snitzer) [1282900] - [dm] dm-bufio: fix time comparison to use time_after_eq (Mike Snitzer) [1282900] - [dm] use time_in_range and time_after (Mike Snitzer) [1282900] - [dm] dm-raid: fix a couple integer overflows (Mike Snitzer) [1282900]- [net] ipv6: addrconf: validate new MTU before applying it (Aaron Conole) [1250773] - [net] xfrm: Fix memory leak in xfrm_state_update (Paolo Abeni) [1271720] - [net] sctp: allow authenticating DATA chunks that are bundled with COOKIE_ECHO (Xin Long) [1275535] - [net] sctp: do not reset the overall_error_count in SHUTDOWN_RECEIVE state (Xin Long) [1276847] - [net] sctp: asconf's process should verify address parameter is in the beginning (Xin Long) [1246941] - [net] sctp: ASCONF-ACK with Unresolvable Address should be sent (Xin Long) [1241866] - [net] tcp_cubic: do not set epoch_start in the future (Hannes Frederic Sowa) [1275214] - [net] tcp_cubic: better follow cubic curve after idle period (Hannes Frederic Sowa) [1275214] - [net] tcp: add OFO snmp counters (Herbert Xu) [705409] - [net] netlink: With opcode INET_DIAG_BC_S_LE dport was compared in inet_diag_bc_run() (Phil Sutter) [1179769] - [net] bridge: fix hang on removal of bridge via netlink (Paolo Abeni) [1115904] - [net] bridge: bridge port parameters over netlink (Paolo Abeni) [1115904] - [net] bridge: implement rtnl_link_ops->get_size and rtnl_link_ops->fill_info (Paolo Abeni) [1115904] - [net] bridge: Assign rtnl_link_ops to bridge devices created via ioctl (Paolo Abeni) [1115904] - [net] bridge: fix a possible net_device leak (Paolo Abeni) [1115904] - [net] bridge: fix accidental creation of sysfs directory (Paolo Abeni) [1115904] - [net] bridge: allow creating bridge devices with netlink (Paolo Abeni) [1115904] - [net] sctp: add routing output fallback (Xin Long) [1229124] - [net] sctp: fix dst leak (Xin Long) [1229124] - [net] sctp: fix src address selection if using secondary addresses (Xin Long) [1229124] - [net] sctp: reduce indent level on sctp_v4_get_dst (Xin Long) [1229124] - [net] xfrm: fix for policy matching on outgoing interface (Phil Sutter) [1145624] - [net] sch_qfq: remove unused member of struct qfq_sched (Phil Sutter) [1152235] - [net] sch_qfq: remove redundant -if- control statement (Phil Sutter) [1152235] - [net] sch_qfq: remove a source of high packet delay/jitter (Phil Sutter) [1152235] - [net] sch_qfq: remove forward declaration of qfq_update_agg_ts (Phil Sutter) [1152235] - [net] sch_qfq: improve efficiency of make_eligible (Phil Sutter) [1152235] - [net] sch_qfq: remove a useless invocation of qfq_update_eligible (Phil Sutter) [1152235] - [net] sch_qfq: do not allow virtual time to jump if an aggregate is in service (Phil Sutter) [1152235] - [net] sch_qfq: prevent budget from wrapping around after a dequeue (Phil Sutter) [1152235] - [net] sch_qfq: serve activated aggregates immediately if the scheduler is empty (Phil Sutter) [1152235] - [net] sch_qfq: fix the update of eligible-group sets (Phil Sutter) [1152235] - [net] sch_qfq: properly cap timestamps in charge_actual_service (Phil Sutter) [1152235] - [net] sch_qfq: fair-queueing service at DRR cost (Phil Sutter) [1152235] - [net] pkt_sched: Fix warning false positives (Phil Sutter) [1152235] - [scsi] st: Destroy st_index_idr on module exit (Maurizio Lombardi) [875277] - [scsi] st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO (Maurizio Lombardi) [875277] - [scsi] st: convert to using driver attr groups for sysfs (Maurizio Lombardi) [875277] - [scsi] st: implement tape statistics (Maurizio Lombardi) [875277] - [scsi] st: fix corruption of the st_modedef structures in st_set_options() (Maurizio Lombardi) [875277] - [scsi] st: convert class code to use dev_groups (Maurizio Lombardi) [875277] - [scsi] st: raise device limit (Maurizio Lombardi) [875277] - [scsi] st: clean up device file creation and removal (Maurizio Lombardi) [875277] - [scsi] st: get rid of scsi_tapes array (Maurizio Lombardi) [875277] - [scsi] st: clean up dev cleanup in st_probe (Maurizio Lombardi) [875277] - [scsi] st: Use static class attributes (Maurizio Lombardi) [875277] - [scsi] fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack (Maurizio Lombardi) [1253855] - [powerpc] nvram: print no error when pstore backend is not nvram (Gustavo Duarte) [1207778] - [cpufreq] fix memory leak in cpufreq_add_dev (Aristeu Rozanski) [1281727] - [hid] usbhid: add Chicony/Pixart usb optical mouse that needs QUIRK_ALWAYS_POLL (Herton R. Krzesinski) [1159319] - [watchdog] i6300esb: don't depend on X86 (David Gibson) [1245156] - [fs] devpts: plug the memory leak in kill_sb (Ian Kent) [1283557] - [char] tty: Fix unsafe bit ops in tty_throttle_safe/unthrottle_safe (Milos Vyletel) [1234862] - [security] selinux: special dontaudit for access checks (Marek Milkovic) [723722] - [security] selinux: make LSMs explicitly mask off permissions (Marek Milkovic) [723722] - [security] Don't leak a key reference if request_key tries to use a revoked keyring (David Howells) [1188442 1282745] - [security] keys: Fix the size of the key description passed to/from userspace (David Howells) [1282745] - [security] keys: Reinstate EPERM for a key type name beginning with a '.' (David Howells) [1282745] - [security] keys: Allow special keys eg. DNS results to be invalidated by CAP_SYS_ADMIN (David Howells) [1282745] - [security] keys: special dot prefixed keyring name bug fix (David Howells) [1282745] - [security] keys: Pre-clear struct key on allocation (David Howells) [1282745] - [security] keys: initialize root uid and session keyrings early (David Howells) [1282745] - [security] keys: Drop the permissions argument from __keyring_search_one (David Howells) [1282745] - [security] keys: key_is_dead should take a const key pointer argument (David Howells) [1282745] - [security] keys: Use bool in make_key_ref and is_key_possessed (David Howells) [1282745] - [security] keys: Skip key state checks when checking for possession (David Howells) [1282745] - [security] fix: compat_rw_copy_check_uvector misuse in aio, readv, writev, and security keys (David Howells) [1282745] - [security] keys: Use keyring_alloc() to create special keyrings (David Howells) [1282745] - [security] keys: Reduce initial permissions on keys (David Howells) [1282745] - [security] key: Fix resource leak (David Howells) [1282745] - [security] keys: linux/key-type.h needs linux/errno.h (David Howells) [1282745] - [security] keys: Fix some sparse warnings (David Howells) [1282745] - [security] key: Remove extraneous parentheses from rcu_assign_keypointer (David Howells) [1282745] - [security] security/keys/keyctl.c: suppress memory allocation failure warning (David Howells) [1282745] - [security] keys: Don't check for NULL key pointer in key_validate (David Howells) [1282745] - [security] keys: Do LRU discard in full keyrings (David Howells) [1282745] - [security] keys: Permit in-place link replacement in keyring list (David Howells) [1282745] - [security] keys: Perform RCU synchronisation on keys prior to key destruction (David Howells) [1282745] - [security] keys: Announce key type (un)registration (David Howells) [1282745] - [security] Created a function for setting timeouts on keys (David Howells) [1282745] - [char] tty ldisc: Close/Reopen race prevention should check the proper flag (Herton R. Krzesinski) [1233699] - [char] TTY: open/hangup race fixup (Herton R. Krzesinski) [1233699] - [char] TTY: don't allow reopen when ldisc is changing (Herton R. Krzesinski) [1233699] - [block] mtip32xx: increase wait time for hba reset (David Milburn) [1252349 1253433] - [block] mtip32xx: fix minor number (David Milburn) [1252349 1253433] - [block] mtip32xx: remove unnecessary sleep in mtip_ftl_rebuild_poll (David Milburn) [1252349 1253433] - [block] mtip32xx: Abort I/O during secure erase operation (David Milburn) [1252349 1253433] - [block] mtip32xx: fix incorrectly setting MTIP_DDF_SEC_LOCK_BIT (David Milburn) [1252349 1253433] - [block] mtip32xx: fix rmmod issue (David Milburn) [1252349 1253433] - [netdrv] e100: Release skb when DMA mapping is failed in e100_xmit_prepare (Ken Cox) [1150338] - [netdrv] e100: Add dma mapping error check (Ken Cox) [1150338] - [netdrv] e100: Add a check after pci_pool_create to avoid null pointer dereference (Ken Cox) [1150338] - [netdrv] ethernet/intel: Use setup_timer (Ken Cox) [1150338] - [netdrv] e100: don't initialize int object to zero (Ken Cox) [1150338] - [mm] ksm: unstable_tree_search_insert error checking cleanup (Andrea Arcangeli) [1262294 1274870] - [mm] ksm: use the helper method to do the hlist_empty check (Andrea Arcangeli) [1262294 1274870] - [mm] ksm: don't fail stable tree lookups if walking over stale stable_nodes (Andrea Arcangeli) [1262294 1274870] - [mm] ksm: add cond_resched() to the rmap_walks (Andrea Arcangeli) [1262294 1274870] - [mm] shm: fix null pointer deref when userspace specifies invalid hugepage size (Aaron Tomlin) [1168187] - [mm] hugetlbfs: fix mmap failure in unaligned size request (Aaron Tomlin) [1168187] - [mm] support more pagesizes for MAP_HUGETLB/SHM_HUGETLB (Aaron Tomlin) [1168187] - [mm] hugetlbfs: fix alignment of huge page requests (Aaron Tomlin) [1168187] - [edac] sb_edac: look harder for DDRIO on Haswell systems (Aristeu Rozanski) [1112412] - [edac] sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell (Aristeu Rozanski) [1112412] - [net] ipv6: fix crash on ICMPv6 redirects with prohibited/blackholed source (Xin Long) [1278273] - [net] sctp: translate host order to network order when setting a hmacid (Xin Long) [1270481] - [net] fix tcp_info uapi breakage (Paolo Abeni) [1191738] - [net] ipv6: fix bad free of addrconf_init_net (Paolo Abeni) [1278372] - [net] netfilter: nf_ct_sctp: minimal multihoming support (Xin Long) [1267612] - [mm] vmalloc.c: unbreak __vunmap (Jan Stancek) [1286024] - [fs] nfs: Fetch MOUNTED_ON_FILEID when updating an inode (Benjamin Coddington) [1223978] - [fs] nfsv3: Use the readdir fileid as the mounted-on-fileid (Benjamin Coddington) [1223978] - [fs] nfs: Fix use of nfs_attr_use_mounted_on_fileid() (Benjamin Coddington) [1223978] - [fs] nfs: Fix possible endless state recovery wait (Benjamin Coddington) [1093904] - [fs] nfs: Fix comparison between DS address lists (Steve Dickson) [1282622] - [fs] nfs: pnfs: loop over multipath addrs on connect (Steve Dickson) [1282622] - [fs] nfs: Parse and store all multipath DS addresses (Steve Dickson) [1282622] - [fs] nfs: pnfs IPv6 support (Steve Dickson) [1282622] - [fs] xfs: incorporate sysfs/kobject in xfsstats: handlers take kobjects (Bill O'Donnell) [1205640] - [fs] xfs: stats are no longer dependent on CONFIG_PROC_FS (Bill O'Donnell) [1205640] - [fs] xfs: fix an error code in xfs_fs_fill_super (Bill O'Donnell) [1205640] - [fs] xfs: per-filesystem stats counter implementation (Bill O'Donnell) [1205640] - [fs] xfs: per-filesystem stats in sysfs (Bill O'Donnell) [1205640] - [fs] xfs: pass xfsstats structures to handlers and macros (Bill O'Donnell) [1205640] - [fs] xfs: consolidate sysfs ops (Bill O'Donnell) [1205640] - [fs] xfs: remove unused procfs code (Bill O'Donnell) [1205640] - [fs] xfs: create symlink proc/fs/xfs/stat to sys/fs/xfs/stats (Bill O'Donnell) [1205640] - [fs] xfs: create global stats and stats_clear in sysfs (Bill O'Donnell) [1205640] - [fs] xfs: add log attributes for log lsn and grant head data (Bill O'Donnell) [1205640] - [fs] xfs: add debug sysfs attribute set (Bill O'Donnell) [1205640] - [fs] xfs: add xlog sysfs kobject and attribute handlers (Bill O'Donnell) [1205640] - [fs] xfs: add xfs_mount sysfs kobject (Bill O'Donnell) [1205640] - [fs] xfs: add a sysfs kset (Bill O'Donnell) [1205640] - [fs] xfs: fix a couple error sequence jumps in xfs_mountfs (Bill O'Donnell) [1205640] - [fs] sysfs: create __ATTR_WO() (Bill O'Donnell) [1205640] - [fs] gfs2: Protect freeing directory hash table with i_lock spin_lock (Robert S Peterson) [1250663] - [fs] ext4: Check return value of sb_getblk() and friends (Lukas Czerner) [1276627] - [fs] ext3: Avoid underflow of in ext3_trim_fs() (Lukas Czerner) [1116006] - [fs] ext3: add necessary check in case IO error happens (Lukas Czerner) [1209315]- [md] md: clear Blocked flag on failed devices when array is read-only (Xiao Ni) [1177913] - [netdrv] e1000e: convert to new VLAN model (Ken Cox) [1213244] - [usb] xhci: Allocate correct amount of scratchpad buffers (Don Zickus) [1261704] - [ata] ahci: add new Intel device IDs (Steve Best) [1281823] - [usb] Revert "Update USB default wakeup settings" (Don Zickus) [1236589] - [perf] tools: Fix build on 32-bit machines with numactl-dev (Jiri Olsa) [1164407] - [netdrv] ibmveth: Don't receive packets when the napi budget == 0 (Gustavo Duarte) [1233272] - [netdrv] ibmveth: Add support for Large Receive Offload (Gustavo Duarte) [1233272] - [netdrv] ibmveth: Add GRO support (Gustavo Duarte) [1233272] - [netdrv] ibmveth: Add support for TSO (Gustavo Duarte) [1233272] - [netdrv] ibmveth: change rx buffer default allocation for CMO (Gustavo Duarte) [1233272] - [fs] vmcore: continue vmcore initialization if PT_NOTE is found empty (Baoquan He) [1097904] - [fs] vmcore: prevent PT_NOTE p_memsz overflow during header update (Baoquan He) [1097904] - [fs] proc/vmcore.c:mmap_vmcore: skip non-ram pages reported by hypervisors (Baoquan He) [1097904] - [s390] vmcore: implement remap_oldmem_pfn_range for s390 (Baoquan He) [1097904] - [fs] vmcore: introduce remap_oldmem_pfn_range (Baoquan He) [1097904] - [s390] kdump: Allow copy_oldmem_page copy to virtual memory (Baoquan He) [1097904] - [fs] s390/kdump: Disable mmap for s390 (Baoquan He) [1097904] - [fs] vmcore: support mmap on /proc/vmcore (Baoquan He) [1097904] - [fs] vmcore: calculate vmcore file size from buffer size and total size of vmcore objects (Baoquan He) [1097904] - [fs] vmcore: allow user process to remap ELF note segment buffer (Baoquan He) [1097904] - [fs] vmcore: allocate ELF note segment in the 2nd kernel vmalloc memory (Baoquan He) [1097904] - [kernel] vmalloc: introduce remap_vmalloc_range_partial (Baoquan He) [1097904] - [kernel] vmalloc: make find_vm_area check in range (Baoquan He) [1097904] - [fs] vmcore: treat memory chunks referenced by PT_LOAD program header entries in page-size boundary in vmcore_list (Baoquan He) [1097904] - [fs] vmcore: allocate buffer for ELF headers on page-size alignment (Baoquan He) [1097904] - [fs] vmcore: clean up read_vmcore (Baoquan He) [1097904] - [kernel] include/linux/mm.h: add PAGE_ALIGNED helper (Baoquan He) [1097904] - [fs] proc/vmcore.c: put if tests in the top of the while loop to reduce duplication (Baoquan He) [1097904] - [fs] proc/vmcore.c: add hook to read_from_oldmem to check for non-ram pages (Baoquan He) [1097904] - [s390] asm-generic, mm: pgtable: consolidate zero page helpers (Baoquan He) [1097904] - [fs] Revert "vmcore: prevent PT_NOTE p_memsz overflow during header update" (Baoquan He) [1097904] - [fs] Revert "vmcore: continue vmcore initialization if PT_NOTE is found empty" (Baoquan He) [1097904] - [pci] Use function 0 VPD for identical functions, regular VPD for others (Myron Stowe) [1258330] - [pci] Fix devfn for VPD access through function 0 (Myron Stowe) [1258330] - [pci] Add VPD function 0 quirk for Intel Ethernet devices (Myron Stowe) [1258330] - [pci] Add dev_flags bit to access VPD through function 0 (Myron Stowe) [1258330] - [virt] storvsc: use storage protocol version to determine storage capabilities (Vitaly Kuznetsov) [1267592] - [virt] storvsc: use correct defaults for values determined by protocol negotiation (Vitaly Kuznetsov) [1267592] - [virt] storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation (Vitaly Kuznetsov) [1267592] - [virt] storvsc: Use a single value to track protocol versions (Vitaly Kuznetsov) [1267592] - [virt] storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges (Vitaly Kuznetsov) [1267592] - [virt] hv: balloon: Enable dynamic memory protocol negotiation with Windows 10 hosts (Vitaly Kuznetsov) [1267592] - [virt] hv: vmbus: Update preferred vmbus protocol version to windows 10 (Vitaly Kuznetsov) [1267592] - [s390] mm: speedup storage key initialization (Hendrik Brueckner) [1234811] - [s390] memory hotplug: use pfmf instruction to initialize storage keys (Hendrik Brueckner) [1234811] - [s390] mm: use pfmf instruction to initialize storage keys (Hendrik Brueckner) [1234811] - [s390] facilities: cleanup PFMF and HPAGE machine facility detection (Hendrik Brueckner) [1234811] - [s390] enable large page support with CONFIG_DEBUG_PAGEALLOC (Hendrik Brueckner) [1234811] - [s390] memory hotplug: initialize storage keys (Hendrik Brueckner) [1234811] - [s390] mm: limit STACK_RND_MASK for compat tasks (Hendrik Brueckner) [1234811] - [s390] mm: align 64-bit PIE binaries to 4GB (Hendrik Brueckner) [1234811] - [s390] avoid z13 cache aliasing (Hendrik Brueckner) [1234811] - [s390] mm: zero page cache synonyms for zEC12 (Hendrik Brueckner) [1234811] - [s390] zero page cache synonyms (Hendrik Brueckner) [1234811] - [s390] kernel: use stnsm 255 instead of stosm 0 (Hendrik Brueckner) [1234811] - [s390] time: use stck clock fast for do_account_vtime (Hendrik Brueckner) [1234811] - [s390] spinlock: optimize spin_unlock code (Hendrik Brueckner) [1234811] - [s390] spinlock: refactor arch_spin_lock_wait_flags (Hendrik Brueckner) [1234811] - [s390] rwlock: add missing local_irq_restore calls (Hendrik Brueckner) [1234811] - [s390] spinlock, rwlock: always to a load-and-test first (Hendrik Brueckner) [1234811] - [s390] spinlock: optimize spinlock code sequence (Hendrik Brueckner) [1234811] - [s390] spinlock: cleanup spinlock code (Hendrik Brueckner) [1234811] - [s390] enable ARCH_USE_CMPXCHG_LOCKREF (Hendrik Brueckner) [1234811] - [s390] spinlock: check virtual cpu running status (Hendrik Brueckner) [1234811] - [netdrv] r8169: fix kasan reported skb use-after-free (Corinna Vinschen) [1273872] - [netdrv] r8169: Fix sleeping function called during get_stats64 (Corinna Vinschen) [1273872] - [netdrv] r8169: Add software counter for multicast packages (Corinna Vinschen) [1273872] - [netdrv] r8169: Add values missing in @get_stats64 from HW counters (Corinna Vinschen) [1273872] - [mm] compaction: fix accounting of LRU_ACTIVE_ANON|FILE in NR_ISOLATED_ANON|FILE (Andrea Arcangeli) [1264087] - [ata] libata: introduce ata_host->n_tags to avoid oops on SAS controllers (David Milburn) [1244601] - [ata] libata: allow sata_sil24 to opt-out of tag ordered submission (David Milburn) [1244601] - [ata] ahci: ahci_p5wdh_workaround - constify DMI table (David Milburn) [1244601] - [ata] libata: support the ata host which implements a queue depth less than 32 (David Milburn) [1244601] - [ata] ahci: bail out on ICH6 before using AHCI BAR (David Milburn) [1244601] - [ata] ahci: add Marvell 9230 to the AHCI PCI device list (David Milburn) [1244601] - [ata] ahci: Use PCI_VENDOR_ID_MARVELL_EXT for 0x1b4b (David Milburn) [1244601] - [pci] Define macro for Marvell vendor ID (David Milburn) [1244601] - [mm] fix anon_vma->degree underflow in anon_vma endless growing prevention (Jerome Marchand) [1151823] - [mm] fix corner case in anon_vma endless growing prevention (Jerome Marchand) [1151823] - [mm] prevent endless growth of anon_vma hierarchy (Jerome Marchand) [1151823] - [mm] avoid anon_vma_chain allocation under anon_vma lock (Jerome Marchand) [1151823] - [mm] avoid repeated anon_vma lock/unlock sequences in unlink_anon_vmas() (Jerome Marchand) [1151823] - [mm] avoid repeated anon_vma lock/unlock sequences in anon_vma_clone() (Jerome Marchand) [1151823]- [kvm] svm: unconditionally intercept DB (Paolo Bonzini) [1279468] {CVE-2015-8104} - [input] wacom: Add support for Express Key Remote (Aristeu Rozanski) [1243328] - [input] wacom: Add missing ABS_MISC event and feature declaration for 27QHD (Aristeu Rozanski) [1243328] - [input] wacom: add support for Cintiq 27QHD and 27QHD touch (Aristeu Rozanski) [1243328] - [input] wacom: add defines for new Cintiq and DTU outbound tracking (Aristeu Rozanski) [1243328] - [input] wacom: process outbound for newer Cintiqs (Aristeu Rozanski) [1243328] - [hwmon] coretemp: Allow format checking (Prarit Bhargava) [1262397] - [hwmon] revert "hwmon: coretemp: Refine TjMax detection" (Prarit Bhargava) [1262397] - [hwmon] coretemp: Allocate platform data with devm_kzalloc (Prarit Bhargava) [1262397] - [hwmon] coretemp: Use sysfs_create_group to create sysfs attributes (Prarit Bhargava) [1262397] - [hwmon] coretemp: Do not return -EAGAIN for low temperatures (Prarit Bhargava) [1262397] - [hwmon] coretemp: Refine TjMax detection (Prarit Bhargava) [1262397] - [hwmon] coretemp: Add PCI device ID for CE41x0 CPUs (Prarit Bhargava) [1262397] - [hwmon] coretemp: Use PCI host bridge ID to identify CPU if necessary (Prarit Bhargava) [1262397] - [hwmon] coretemp: Fix truncated name of alarm attributes (Prarit Bhargava) [1262397] - [hwmon] coretemp: Atom CPUs don't support TjMax; no warning needed (Prarit Bhargava) [1262397] - [hwmon] coretemp: Remove redundant platform_set_drvdata() (Prarit Bhargava) [1262397] - [hwmon] coretemp: Document and add support for additional CPU models (Prarit Bhargava) [1262397] - [hwmon] coretemp: list TjMax for Z650/670 and N550/570 (Prarit Bhargava) [1262397] - [hwmon] coretemp: Drop N4xx, N5xx, D4xx, D5xx CPUs from tjmax table (Prarit Bhargava) [1262397] - [hwmon] coretemp: Use model table instead of if/else to identify CPU models (Prarit Bhargava) [1262397] - [hwmon] coretemp: Drop dependency on PCI for TjMax detection on Atom CPUs (Prarit Bhargava) [1262397] - [hwmon] coretemp: Add support for Atom CE4110/4150/4170 (Prarit Bhargava) [1262397] - [hwmon] coretemp: Use get_online_cpus to avoid races involving CPU hotplug (Prarit Bhargava) [1262397] - [hwmon] sections: Fix section conflicts in drivers/hwmon (Prarit Bhargava) [1262397] - [hwmon] struct x86_cpu_id arrays can be __initconst (Prarit Bhargava) [1262397] - [x86] cpufeature: Rename X86_FEATURE_DTS to X86_FEATURE_DTHERM (Prarit Bhargava) [1262397] - [hwmon] coretemp: Drop needless initialization (Prarit Bhargava) [1262397] - [hwmon] coretemp: Add support for Atom D2000 and N2000 series CPU models (Prarit Bhargava) [1262397] - [hwmon] coretemp: Improve support of recent Atom CPU models (Prarit Bhargava) [1262397] - [hwmon] coretemp: Improve support for TjMax detection on Atom CPUs (Prarit Bhargava) [1262397] - [hwmon] coretemp: Increase CPU core limit (Prarit Bhargava) [1262397] - [hwmon] coretemp: fix oops on cpu unplug (Prarit Bhargava) [1262397] - [hwmon] coretemp: Fix checkpatch error (Prarit Bhargava) [1262397] - [hwmon] Convert coretemp to x86 cpuid autoprobing (Prarit Bhargava) [1262397] - [hwmon] coretemp: Add missing section annotations (Prarit Bhargava) [1262397] - [hwmon] coretemp: Fix for non-SMP builds (Prarit Bhargava) [1262397] - [hwmon] coretemp: Get microcode revision from cpu_data (Prarit Bhargava) [1262397] - [hwmon] coretemp: Avoid leaving around dangling pointer (Prarit Bhargava) [1262397] - [hwmon] coretemp: Fixup platform device ID change (Prarit Bhargava) [1262397] - [hwmon] coretemp: remove struct platform_data * parameter from create_core_data (Prarit Bhargava) [1262397] - [hwmon] coretemp: constify static data (Prarit Bhargava) [1262397] - [hwmon] coretemp: don't use kernel assigned CPU number as platform device ID (Prarit Bhargava) [1262397] - [hwmon] coretemp: Don't use threshold registers for tempX_max (Prarit Bhargava) [1262397] - [hwmon] coretemp: Let the user force TjMax (Prarit Bhargava) [1262397] - [hwmon] coretemp: Drop duplicate function get_pkg_tjmax (Prarit Bhargava) [1262397] - [hwmon] coretemp Initialize tmin (Prarit Bhargava) [1262397] - [hwmon] coretemp: Add core/pkg threshold support to Coretemp (Prarit Bhargava) [1262397] - [hwmon] coretemp: Drop unused struct members (Prarit Bhargava) [1262397] - [hwmon] coretemp: Further relax temperature range checks (Prarit Bhargava) [1262397] - [hwmon] coretemp: Fix TjMax detection for older CPUs (Prarit Bhargava) [1262397] - [hwmon] coretemp: Relax target temperature range check (Prarit Bhargava) [1262397] - [x86] hwmon: Add core threshold notification to therm_throt.c (Prarit Bhargava) [1262397] - [hwmon] coretemp Initialize sysfs attributes (Prarit Bhargava) [1262397] - [hwmon] coretemp: documentation update and cleanup (Prarit Bhargava) [1262397] - [scsi] mptsas: fix depth param in scsi_track_queue_full (Tomas Henzl) [1231864] - [scsi] fcoe: ensure that skb placed on the fip_recv_list are unshared (Maurizio Lombardi) [1227181] - [scsi] bnx2i: Fixed firmware assert, during target logout (Maurizio Lombardi) [1127626] - [scsi] hpsa: Update driver revision to RH5 (Joseph Szczypek) [1244959] - [scsi] hpsa: fix issues with multilun devices (Joseph Szczypek) [1244959] - [scsi] fc: ensure scan_work isn't active when freeing fc_rport (Maurizio Lombardi) [1120036] - [scsi] only re-lock door after EH on devices that were reset (Ewan Milne) [995234] - [virt] guest to host DoS by triggering an infinite loop in microcode (Paolo Bonzini) [1277172] {CVE-2015-5307}- [tools] perf probe: Trivial typo fix for --demangle (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F dso_from for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F dso_to for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F symbol_from for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F symbol_to for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F mispredict for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F in_tx for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Fix report -F abort for data without branch info (Jiri Olsa) [1216217] - [tools] perf tools: Make CPUINFO_PROC an array to support different kernel versions (Jiri Olsa) [1216217] - [tools] perf callchain: Use global caching provided by libunwind (Jiri Olsa) [1216217] - [tools] perf diff: Add missing hists__init() call at tool start (Jiri Olsa) [1216217] - [tools] perf script: Add period as a default output column (Jiri Olsa) [1216217] - [tools] perf script: Add period data column (Jiri Olsa) [1216217] - [tools] perf evsel: No need to drag util/cgroup.h (Jiri Olsa) [1216217] - [tools] perf evlist: Add missing 'struct option' forward declaration (Jiri Olsa) [1216217] - [tools] perf evsel: Move exit stuff from __delete to __exit (Jiri Olsa) [1216217] - [tools] perf kvm stat live: Enable events copying (Jiri Olsa) [1216217] - [tools] perf session: Add option to copy events when queueing (Jiri Olsa) [1216217] - [tools] perf Documentation: Fix typos in perf/Documentation (Jiri Olsa) [1216217] - [tools] perf trace: Use thread_,_set_priv helpers (Jiri Olsa) [1216217] - [tools] perf kvm: Use thread_,_set_priv helpers (Jiri Olsa) [1216217] - [tools] perf callchain: Create an address space per thread (Jiri Olsa) [1216217] - [tools] perf report: Set callchain_param.record_mode for future use (Jiri Olsa) [1216217] - [tools] perf evlist: Fix for double free in tools/perf stat (Jiri Olsa) [1216217] - [tools] perf test: Add test case for pmu event new style format (Jiri Olsa) [1216217] - [tools] perf tools: Add support to new style format of kernel PMU event (Jiri Olsa) [1216217] - [tools] perf tools: Parse the pmu event prefix and suffix (Jiri Olsa) [1216217] - [tools] Revert "perf tools: Default to cpu// for events v5" (Jiri Olsa) [1216217] - [tools] perf top: Add a visual cue for toggle zeroing of samples (Jiri Olsa) [1216217] - [tools] perf symbols: Make sym->end be the first address after the symbol range (Jiri Olsa) [1216217] - [tools] perf symbols: Fix map->end fixup (Jiri Olsa) [1216217] - [tools] perf tools: Fixup off-by-one comparision in maps__find (Jiri Olsa) [1216217] - [tools] perf tools: fix off-by-one error in maps (Jiri Olsa) [1216217] - [tools] perf machine: Add missing dsos->root rbtree root initialization (Jiri Olsa) [1216217] - [tools] perf evsel: Make some exit routines static (Jiri Olsa) [1216217] - [tools] perf evsel: Add missing 'target' struct forward declaration (Jiri Olsa) [1216217] - [tools] perf evlist: Default to syswide target when no thread/cpu maps set (Jiri Olsa) [1216217] - [tools] perf evlist: Check that there is a thread_map when preparing a workload (Jiri Olsa) [1216217] - [tools] perf thread_map: Create dummy constructor out of open coded equivalent (Jiri Olsa) [1216217] - [tools] perf tools: Remove hists from evsel (Jiri Olsa) [1216217] - [tools] perf callchain: Move the callchain_param extern to callchain.h (Jiri Olsa) [1216217] - [tools] perf evsel: Subclassing (Jiri Olsa) [1216217] - [tools] perf session: Remove last reference to hists struct (Jiri Olsa) [1216217] - [tools] perf ui browsers: Add missing include (Jiri Olsa) [1216217] - [tools] perf tools: Move events_stats struct to event.h (Jiri Olsa) [1216217] - [tools] perf session: Don't count per evsel events (Jiri Olsa) [1216217] - [tools] perf evsel: Add hists helper (Jiri Olsa) [1216217] - [tools] perf script: Stop updating hists stats, not used (Jiri Olsa) [1216217] - [tools] perf sched: Stop updating hists stats, not used (Jiri Olsa) [1216217] - [tools] perf callchain: Move callchain_param to util object in to fix python test (Jiri Olsa) [1216217] - [tools] perf kvm stat live: Use fdarray object instead of pollfd (Jiri Olsa) [1216217] - [tools] perf kvm stat live: Use perf_evlist__add_pollfd return fd position (Jiri Olsa) [1216217] - [tools] perf kvm stat live: Fix perf_evlist__add_pollfd error handling (Jiri Olsa) [1216217] - [tools] perf record: Fix error message for --filter option not coming after tracepoint (Jiri Olsa) [1216217] - [tools] perf tools: Fix build breakage on arm64 targets (Jiri Olsa) [1216217] - [tools] perf symbols: Improve DSO long names lookup speed with rbtree (Jiri Olsa) [1216217] - [tools] perf symbols: Encapsulate dsos list head into struct dsos (Jiri Olsa) [1216217] - [tools] perf bench futex: Sanitize -q option in requeue (Jiri Olsa) [1216217] - [tools] perf bench futex: Support operations for shared futexes (Jiri Olsa) [1216217] - [tools] perf trace: Fix mmap return address truncation to 32-bit (Jiri Olsa) [1216217] - [tools] perf tools: Refactor unit and scale function parameters (Jiri Olsa) [1216217] - [tools] perf tools: Fix line number in the config file error message (Jiri Olsa) [1216217] - [tools] perf tools: Convert record,top.call-graph option to call-graph.record-mode (Jiri Olsa) [1216217] - [tools] perf tools: Introduce perf_callchain_config() (Jiri Olsa) [1216217] - [tools] perf callchain: Move some parser functions to callchain.c (Jiri Olsa) [1216217] - [tools] perf tools: Move callchain config from record_opts to callchain_param (Jiri Olsa) [1216217] - [tools] perf hists browser: Fix callchain print bug on TUI (Jiri Olsa) [1216217] - [tools] perf tools: Use ACCESS_ONCE() instead of volatile cast (Jiri Olsa) [1216217] - [tools] perf tools: Modify error code for when perf_session__new() fails (Jiri Olsa) [1216217] - [tools] perf tools: Fix perf record as non root with kptr_restrict == 1 (Jiri Olsa) [1216217] - [tools] perf stat: Fix --per-core on multi socket systems (Jiri Olsa) [1216217] - [tools] perf trace: Filter out POLLHUP'ed file descriptors (Jiri Olsa) [1216217] - [tools] perf record: Filter out POLLHUP'ed file descriptors (Jiri Olsa) [1216217] - [tools] perf evlist: Unmap when all refcounts to fd are gone and events drained (Jiri Olsa) [1216217] - [tools] tools lib fd array: Allow associating an integer cookie with each entry (Jiri Olsa) [1216217] - [tools] perf evlist: Refcount mmaps (Jiri Olsa) [1216217] - [tools] tools lib api: Adopt fdarray class from perf's evlist (Jiri Olsa) [1216217] - [tools] perf evlist: Introduce poll method for common code idiom (Jiri Olsa) [1216217] - [tools] perf kvm stat live: Use perf_evlist__add_pollfd() instead of local equivalent (Jiri Olsa) [1216217] - [tools] perf tests: Add pollfd growing test (Jiri Olsa) [1216217] - [tools] perf evlist: Allow growing pollfd on add method (Jiri Olsa) [1216217] - [tools] perf evlist: We need to poll all event file descriptors (Jiri Olsa) [1216217] - [tools] perf evlist: Monitor POLLERR and POLLHUP events too (Jiri Olsa) [1216217] - [tools] perf tests: Add test for perf_evlist__filter_pollfd() (Jiri Olsa) [1216217] - [tools] perf evlist: Introduce perf_evlist__filter_pollfd method (Jiri Olsa) [1216217] - [tools] perf record: Use ring buffer consume method to look like other tools (Jiri Olsa) [1216217] - [tools] perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol name (Jiri Olsa) [1216217] - [tools] perf probe: Do not access kallsyms when analyzing user binaries (Jiri Olsa) [1216217] - [tools] perf symbols: Add path to Ubuntu kernel debuginfo file (Jiri Olsa) [1216217] - [tools] perf symbols: Ignore stripped vmlinux and fallback to kallsyms (Jiri Olsa) [1216217] - [tools] perf tools: define _DEFAULT_SOURCE for glibc_2.20 (Jiri Olsa) [1216217] - [tools] perf tools: Don't include sys/poll.h directly (Jiri Olsa) [1216217] - [tools] perf tools: Fix GNU-only grep usage in Makefile (Jiri Olsa) [1216217] - [tools] perf tools: Disable kernel symbol demangling by default (Jiri Olsa) [1216217] - [tools] perf tool: fix compilation for ARM (Jiri Olsa) [1216217] - [tools] perf tools: Add perf_pmu__scan_file() (Jiri Olsa) [1216217] - [tools] perf tools: Let default config be defined for a PMU (Jiri Olsa) [1216217] - [tools] perf tools: Add perf-with-kcore script (Jiri Olsa) [1216217] - [tools] perf tools: Let a user specify a PMU event without any config terms (Jiri Olsa) [1216217] - [tools] perf kvm stat report: Unify the title bar output (Jiri Olsa) [1216217] - [tools] perf kvm stat report: Enable the target.system_wide flag (Jiri Olsa) [1216217] - [tools] perf kvm stat report: Save pid string in opts.target.pid (Jiri Olsa) [1216217] - [tools] perf tools powerpc: Fix build issue when DWARF support is disabled (Jiri Olsa) [1216217] - [tools] perf tools: Add +field argument support for --sort option (Jiri Olsa) [1216217] - [tools] perf hists browser: Consolidate callchain print functions in TUI (Jiri Olsa) [1216217] - [tools] perf tools: Add +field argument support for --field option (Jiri Olsa) [1216217] - [tools] perf top: Use set_term_quiet() instead of open coded equivalent (Jiri Olsa) [1216217] - [tools] perf machine: Fallback to MAP__FUNCTION if daddr maps are NULL (Jiri Olsa) [1216217] - [tools] perf hists browser: Cleanup callchain print functions (Jiri Olsa) [1216217] - [tools] perf tools: Add machine__kernel_ip() (Jiri Olsa) [1216217] - [tools] perf machine: Rename machine__get_kernel_start_addr() method (Jiri Olsa) [1216217] - [tools] perf scripting: Add 'flush' callback to scripting API (Jiri Olsa) [1216217] - [tools] perf tests: Add a test for tracking with sched_switch (Jiri Olsa) [1216217] - [tools] perf hists browser: Factor out hist_browser__show_callchain_entry() (Jiri Olsa) [1216217] - [tools] perf hists browser: Fix children overhead dump (Jiri Olsa) [1216217] - [tools] perf hists browser: Get rid of unused 'remaining' variable (Jiri Olsa) [1216217] - [tools] perf tools powerpc: Explicitly include util/debug.h (Jiri Olsa) [1216217] - [tools] perf symbols: Don't try to find DSOs in SYSV maps (Jiri Olsa) [1216217] - [tools] perf stat: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf help: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf kvm: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf buildid-cache: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf sched: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf test: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf record: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf trace: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf top: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf util: Replace strerror with strerror_r for thread-safety (Jiri Olsa) [1216217] - [tools] perf probe: Make error messages thread-safe (Jiri Olsa) [1216217] - [tools] perf: Use strerror_r instead of strerror (Jiri Olsa) [1216217] - [tools] perf probe: Don't use strerror if strlist__add failed (Jiri Olsa) [1216217] - [tools] perf report: Relax -g option parsing not to limit the option order (Jiri Olsa) [1216217] - [tools] perf tools: Annotate PMU related list_head members with type info (Jiri Olsa) [1216217] - [tools] perf tools: Add arm64 triplets (Jiri Olsa) [1216217] - [tools] perf annotate: Don't truncate Intel style addresses (Jiri Olsa) [1216217] - [tools] perf probe: Warn user to rebuild target with debuginfo (Jiri Olsa) [1216217] - [tools] perf evlist: Add perf_evlist__enable_event_idx() (Jiri Olsa) [1216217] - [tools] perf tools: Add flags and insn_len to struct sample (Jiri Olsa) [1216217] - [tools] perf machine: Add machine__thread_exec_comm() (Jiri Olsa) [1216217] - [tools] perf tools: Identify which comms are from exec (Jiri Olsa) [1216217] - [tools] perf script python: Add helpers for calling Python objects (Jiri Olsa) [1216217] - [tools] perf script: Allow callchains if any event samples them (Jiri Olsa) [1216217] - [tools] perf session: Add perf_session__peek_event() (Jiri Olsa) [1216217] - [tools] perf evlist: Add perf_evlist__set_tracking_event() (Jiri Olsa) [1216217] - [tools] perf evlist: Add 'system_wide' option (Jiri Olsa) [1216217] - [tools] perf symbols: Fix missing label symbols (Jiri Olsa) [1216217] - [tools] perf symbols: Don't demangle parameters and such by default (Jiri Olsa) [1216217] - [tools] perf top: Handle 'z' key for toggle zeroing samples in TUI (Jiri Olsa) [1216217] - [tools] perf top: Fix -z option behavior (Jiri Olsa) [1216217] - [tools] perf report: Set proper sort__mode for the branch option (Jiri Olsa) [1216217] - [tools] perf hists browser: Fix a small callchain display bug (Jiri Olsa) [1216217] - [tools] perf tools: Check recorded kernel version when finding vmlinux (Jiri Olsa) [1216217] - [tools] perf trace: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf timechart: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf script: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf sched: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf lock: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf kvm: Move call to symbol__init() after creating session (Jiri Olsa) [1216217] - [tools] perf kmem: Move session handling out of __cmd_kmem() (Jiri Olsa) [1216217] - [tools] perf inject: Move session handling out of __cmd_inject() (Jiri Olsa) [1216217] - [tools] perf buildid-cache: Move session handling into cmd_buildid_cache() (Jiri Olsa) [1216217] - [tools] perf annotate: Move session handling out of __cmd_annotate() (Jiri Olsa) [1216217] - [tools] perf symbols: Fix a memory leak in vmlinux_path__init() (Jiri Olsa) [1216217] - [tools] perf script: Fix possible memory leaks (Jiri Olsa) [1216217] - [tools] perf tools: Prefer to use a cpu-wide event for probing CLOEXEC (Jiri Olsa) [1216217] - [tools] perf tools: Fix probing the kernel API with cpu-wide events (Jiri Olsa) [1216217] - [tools] perf tools: Fix one of the probe events to exclude kernel (Jiri Olsa) [1216217] - [tools] perf tools: Fix CLOEXEC probe for perf_event_paranoid == 2 (Jiri Olsa) [1216217] - [tools] perf trace: Add beautifier for mremap flags param (Jiri Olsa) [1216217] - [tools] perf probe: Fix --del option to delete events only with uprobe events (Jiri Olsa) [1216217] - [tools] perf probe: Fix --list option to show events only with uprobe events (Jiri Olsa) [1216217] - [tools] perf kvm: Fix stdin handling for 'kvm stat live' command (Jiri Olsa) [1216217] - [tools] perf top: Setup signals for terminal output (Jiri Olsa) [1216217] - [tools] perf tools: Introduce set_term_quiet_input helper function (Jiri Olsa) [1216217] - [tools] perf top: Join the display thread on exit (Jiri Olsa) [1216217] - [tools] perf tools: Add cpu_startup_entry to the list of kernel idle symbols (Jiri Olsa) [1216217] - [tools] perf top: Don't look for kernel idle symbols in all DSOs (Jiri Olsa) [1216217] - [tools] perf tools: Default to python version 2 (Jiri Olsa) [1216217] - [tools] perf tools: Fix PERF_FLAG_FD_CLOEXEC flag probing event type open counters due to EBUSY error (Jiri Olsa) [1216217] - [tools] perf tools: Fix column alignment when headers aren't shown on TUI (Jiri Olsa) [1216217] - [tools] perf tools: Add name field into perf_hpp_fmt (Jiri Olsa) [1216217] - [tools] perf top: Add -w option for setting column width (Jiri Olsa) [1216217] - [tools] perf report: Honor column width setting (Jiri Olsa) [1216217] - [tools] perf tools: Save column length in perf_hpp_fmt (Jiri Olsa) [1216217] - [tools] perf tools: Make __hpp__fmt() receive an additional len argument (Jiri Olsa) [1216217] - [tools] perf tools: Left-align output contents (Jiri Olsa) [1216217] - [tools] perf tools: Fix make PYTHON override (Jiri Olsa) [1216217] - [tools] perf kmem: Do not ignore mmap events (Jiri Olsa) [1216217] - [tools] perf tools: Allow out of order messages in forced flush (Jiri Olsa) [1216217] - [tools] perf tools: Add debug prints for ordered events queue (Jiri Olsa) [1216217] - [tools] perf tools: Add report.queue-size config file option (Jiri Olsa) [1216217] - [tools] perf tools: Add perf