v9s_ujmDZ=X+%3?JFI_vyU=fPICdS_yz%p8>EV-?NigUfO;65At;o>tlG-pTadW zL_o3qNyHRfa~hS9Y0tm@9U3C638y@U$BM^f%XgC|#U$%)K-d5b4ZH%^=K7qG`v= zvbUDLW*NuMvd0IDuo$SQ;v8*+XtXh0wi+{*WV5-$%urn>0xrTPQ+H>*NUmquwysQ` zshMM$HU!UP*{z_)iX)8bhlm+W!h{7=kV)}LUK~iL(=RXr8D3S>f+`wD%q@5kHa!bb zr gs`vq;jt($I({enzr+2e;R1JmB9I}njcbRr_ zW#=LOQ@Ws%Q);3iz*L6k^XZhLh)_+5P*lVWWIJ5@KPQYMk#Mvu9w?L8L~4&dZWle- zY_|>aNUwyXDGr_cZ9f2e&KESLT)(n 0Q=u<
L39e+8^ul6RK>JfYD)!v%d tbn7#il+s4FIMUa_(Fy*O@^uf=@>)7+u)sm)QW2wl3_anKD)ai`Wv5H$&G>c0eHK zF+({9C*t&ztd~o#6xr;`OgB?m#^4@k-C8g$OvnO0R-(bMubdAMVKX$YOUP?w8-~Df zh*V~VCW6X!W`U$2vY QhW6(;5&%Py|LW7{#=xiO^#Nf`F3`BzqG* z#e|EpPx_KAGvt*dKLNv`P)HZj>jbd`MsXZhG%!pnBea1EUZTTVKCog+fno!U$oVBs z;6X)^E)s&08ImKNNWtfKI`0YdfyqM2C4 ^EPEjVrh}v-@Zm>)VJV=x!bsm|EnNl#D!H!x *xf)5-oF2Oy-ztM(~a+Z|djv>ZW6t$X+7K m(T&d}HZW_85Bkg)I9-#2%hU$kpGQ?tH->h9n3D!jYaSf?41i2lKh zgijY#O@}jVk%Q+P{l(2Aa~jXij;Zg AQqh*uq_5_Eyz_L?nmBb|{K55Jm+F+Q-+#Aj15*MR%_s z*qYdJ>G<=zoCynu8fs#%=70P6&$BO#Z8XQf;nAF^`KE0 ^lErv1}( z=kQiXMRdVP>)bqGWSV9m?!`gPg1@E{{^SpnBVP~wv2@f9Eh#JDdN!TUPa0bm;nj!Q dhH|z<0mZ|0Yi~RgbwjyC9kxvBJ!|2%{{TEX3W5Lt literal 0 HcmV?d00001 diff --git a/img/button-carousel-prev.png b/img/button-carousel-prev.png new file mode 100644 index 0000000000000000000000000000000000000000..55d77e7287a975b214fc1ae8db55520596b30763 GIT binary patch literal 1463 zcmb7EdrZ`J96u#K5YK@z;v+)o?E#Ft{@R0kG#qlYJviaugbT9xn59>sfoqSpcn9d* zG>k{w1QKA*O~tS|C*T%0i9^P8PEfKKHw@?;#>K^ujj$|nV^iZ=9_k;)WKG)szQ24v zpYQYct9NIoYnQB9qS0uy&I~eF`L9;r#S4}1h4C6jHDszl&J&8{04=f_yH_Y=A*YWn zW^-BETUmaIP1a~awsW2Wxxkf$GlI`Rs~AJj=U3PoP4fDnpJqx~87gFpIo<|O_V&XN z=e5C`l3c*$C)g4$qe^7+s NWyH z(-67T2G0al;BrHRAhJ-B0q7ZE0+0zcpvFYA*_;4j00juZ5ERp+X55J306?=3tauZ> zMR+dhnDwPtHn>EV{WyXI0s%w7Xb{9=1hrbNss@JX6@*@@ ~b+lY-Chay=I2rP)F$B}0O=A3+TO@%hxerqPm|%RUL?nP|yV>1UB# zRuU>iM(Ib9ZjP+f?)i>Xpb`z9BXUYp=rU4ZDts(2J4qW{QNej}yVc>a0${OXc8UTh zYB8f$k~9Mo>ad!uN%lE`r-_QB!K-jFb0S71QDhq7Kv9$emNX+qkQS66%ot&GIOe!c zUXp2^VO6IpmwUn`p3B7vk)>rp^aw)PT>IT6f-FcSf*&IC5+N7OaJ*`(y_rdsWJPWV z>vf2N51KA6&OO7wiNXjaOVa4TfXRZQX=an%ZUltM2#j{41;Ddh@Bc0sqC|qIWAW6O z%xx*Nr!F54y<$8*HY~546;U}9!*Va8(af80l6Ft Z`}ojj_Q{`*m=X5_VbljzZmP ^QS!TU-`#Y?bbvfM;OU{sDKw%E+Us z5J->tYK<@gMQ9i9y`?pLnBO# U?if+s~UYB2ea^$Dhzb;io_JWCs)#IOq*2Xc1?+?}H z*FFM|V!@g0f$^y>=vW4mZr^+OWLa;9J50W_p?%ZKcYhnQjqZ5qXzBO5*UMWcx5lJY iXN|>?e|JaETc}xg@%@Njd&fReuTm$KO?Ibk-}4_E)e=?! literal 0 HcmV?d00001 diff --git a/img/button-slideshow-pages.png b/img/button-slideshow-pages.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4c065790d3101ee9f2eeb049b6f07b990f8e82 GIT binary patch literal 1135 zcmb7E&ui3J98asZj@xR{MeGXtNVUk~Ox{b{WD+~tG?~}|r i%+ zHz*c2guQ4zQ8Z;-Yz7?4K+biOxK_~-DdCT9d=?#*X9CQXaO77*i`HYjt3jr@`?8?~ zNWD=`h7K)?Ij#Fv)x{nu=sC7pb! fxmRrnd`hH} z8JlvmSqU1t#1Ck?h)^D82LxWzvq;k MiZ{{k&C{_RkRSB#1G59 zKiw$*@T5=tXwnaWHqrx%rsa6aIjPNBs5%av@33uzz6(~9t2m#rFXnlTMyU%155+7( z1Cpq!0@OqS3aXHW>^j%}-wETWCtT7NpR`HiiuPWz-DrAx*ccn^(OC)UP~7i)bd?U& zwSume %E-PqE3=)v6nS6$1g8@S%` z?a`q9QgJxFYi#N2!tGm67Mknl)s~x^SI&TUKV5$TI$E1vpFM!;=T9#+kIconp0{tV jJnvil_h9_EdGj9T;=%6s+pn} ] \ No newline at end of file diff --git a/js/jquery.cycle.js b/js/jquery.cycle.js new file mode 100644 index 0000000..24fed30 --- /dev/null +++ b/js/jquery.cycle.js @@ -0,0 +1,22 @@ +/* + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.86 (05-APR-2010) + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * Requires: jQuery v1.2.6 or later + */ +(function($){var ver="2.86";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(opts2.currSlide,opts2.nextSlide,opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,!opts2.rev);},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,1);}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,!opts.rev);});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}if(opts.random){opts.randomMap=[];for(var i=0;i =els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z=first?i>=first?els.length-(i-first):first-i:els.length-i;$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed) =(els.length-1)?0:opts.startingSlide+1;}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i =opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(curr,next,opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev);},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn(curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a=''+(i+1)+"";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlidel?c-l:opts.slideCount-l;}else{hops=c =0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null};})(jQuery); +/* + * jQuery Cycle Plugin Transition Definitions + * This script is a plugin for the jQuery Cycle Plugin + * Examples and documentation at: http://malsup.com/jquery/cycle/ + * Copyright (c) 2007-2008 M. Alsup + * Version: 2.72 + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i ', + buttonPrevHTML: '', + buttonNextEvent: 'click', + buttonPrevEvent: 'click', + buttonNextCallback: null, + buttonPrevCallback: null, + itemFallbackDimension: null + }, windowLoaded = false; + + $(window).bind('load.jcarousel', function() { windowLoaded = true; }); + + /** + * The jCarousel object. + * + * @constructor + * @class jcarousel + * @param e {HTMLElement} The element to create the carousel for. + * @param o {Object} A set of key/value pairs to set as configuration properties. + * @cat Plugins/jCarousel + */ + $.jcarousel = function(e, o) { + this.options = $.extend({}, defaults, o || {}); + + this.locked = false; + this.autoStopped = false; + + this.container = null; + this.clip = null; + this.list = null; + this.buttonNext = null; + this.buttonPrev = null; + this.buttonNextState = null; + this.buttonPrevState = null; + + // Only set if not explicitly passed as option + if (!o || o.rtl === undefined) { + this.options.rtl = ($(e).attr('dir') || $('html').attr('dir') || '').toLowerCase() == 'rtl'; + } + + this.wh = !this.options.vertical ? 'width' : 'height'; + this.lt = !this.options.vertical ? (this.options.rtl ? 'right' : 'left') : 'top'; + + // Extract skin class + var skin = '', split = e.className.split(' '); + + for (var i = 0; i < split.length; i++) { + if (split[i].indexOf('jcarousel-skin') != -1) { + $(e).removeClass(split[i]); + skin = split[i]; + break; + } + } + + if (e.nodeName.toUpperCase() == 'UL' || e.nodeName.toUpperCase() == 'OL') { + this.list = $(e); + this.clip = this.list.parents('.jcarousel-clip'); + this.container = this.list.parents('.jcarousel-container'); + } else { + this.container = $(e); + this.list = this.container.find('ul,ol').eq(0); + this.clip = this.container.find('.jcarousel-clip'); + } + + if (this.clip.size() === 0) { + this.clip = this.list.wrap('').parent(); + } + + if (this.container.size() === 0) { + this.container = this.clip.wrap('').parent(); + } + + if (skin !== '' && this.container.parent()[0].className.indexOf('jcarousel-skin') == -1) { + this.container.wrap(''); + } + + this.buttonPrev = $('.jcarousel-prev', this.container); + + if (this.buttonPrev.size() === 0 && this.options.buttonPrevHTML !== null) { + this.buttonPrev = $(this.options.buttonPrevHTML).appendTo(this.container); + } + + this.buttonPrev.addClass(this.className('jcarousel-prev')); + + this.buttonNext = $('.jcarousel-next', this.container); + + if (this.buttonNext.size() === 0 && this.options.buttonNextHTML !== null) { + this.buttonNext = $(this.options.buttonNextHTML).appendTo(this.container); + } + + this.buttonNext.addClass(this.className('jcarousel-next')); + + this.clip.addClass(this.className('jcarousel-clip')).css({ + position: 'relative' + }); + + this.list.addClass(this.className('jcarousel-list')).css({ + overflow: 'hidden', + position: 'relative', + top: 0, + margin: 0, + padding: 0 + }).css((this.options.rtl ? 'right' : 'left'), 0); + + this.container.addClass(this.className('jcarousel-container')).css({ + position: 'relative' + }); + + if (!this.options.vertical && this.options.rtl) { + this.container.addClass('jcarousel-direction-rtl').attr('dir', 'rtl'); + } + + var di = this.options.visible !== null ? Math.ceil(this.clipping() / this.options.visible) : null; + var li = this.list.children('li'); + + var self = this; + + if (li.size() > 0) { + var wh = 0, j = this.options.offset; + li.each(function() { + self.format(this, j++); + wh += self.dimension(this, di); + }); + + this.list.css(this.wh, (wh + 100) + 'px'); + + // Only set if not explicitly passed as option + if (!o || o.size === undefined) { + this.options.size = li.size(); + } + } + + // For whatever reason, .show() does not work in Safari... + this.container.css('display', 'block'); + this.buttonNext.css('display', 'block'); + this.buttonPrev.css('display', 'block'); + + this.funcNext = function() { self.next(); }; + this.funcPrev = function() { self.prev(); }; + this.funcResize = function() { + if (self.resizeTimer) { + clearTimeout(self.resizeTimer); + } + + self.resizeTimer = setTimeout(function() { + self.reload(); + }, 100); + }; + + if (this.options.initCallback !== null) { + this.options.initCallback(this, 'init'); + } + + if (!windowLoaded && $.browser.safari) { + this.buttons(false, false); + $(window).bind('load.jcarousel', function() { self.setup(); }); + } else { + this.setup(); + } + }; + + // Create shortcut for internal use + var $jc = $.jcarousel; + + $jc.fn = $jc.prototype = { + jcarousel: '0.2.8' + }; + + $jc.fn.extend = $jc.extend = $.extend; + + $jc.fn.extend({ + /** + * Setups the carousel. + * + * @method setup + * @return undefined + */ + setup: function() { + this.first = null; + this.last = null; + this.prevFirst = null; + this.prevLast = null; + this.animating = false; + this.timer = null; + this.resizeTimer = null; + this.tail = null; + this.inTail = false; + + if (this.locked) { + return; + } + + this.list.css(this.lt, this.pos(this.options.offset) + 'px'); + var p = this.pos(this.options.start, true); + this.prevFirst = this.prevLast = null; + this.animate(p, false); + + $(window).unbind('resize.jcarousel', this.funcResize).bind('resize.jcarousel', this.funcResize); + + if (this.options.setupCallback !== null) { + this.options.setupCallback(this); + } + }, + + /** + * Clears the list and resets the carousel. + * + * @method reset + * @return undefined + */ + reset: function() { + this.list.empty(); + + this.list.css(this.lt, '0px'); + this.list.css(this.wh, '10px'); + + if (this.options.initCallback !== null) { + this.options.initCallback(this, 'reset'); + } + + this.setup(); + }, + + /** + * Reloads the carousel and adjusts positions. + * + * @method reload + * @return undefined + */ + reload: function() { + if (this.tail !== null && this.inTail) { + this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + this.tail); + } + + this.tail = null; + this.inTail = false; + + if (this.options.reloadCallback !== null) { + this.options.reloadCallback(this); + } + + if (this.options.visible !== null) { + var self = this; + var di = Math.ceil(this.clipping() / this.options.visible), wh = 0, lt = 0; + this.list.children('li').each(function(i) { + wh += self.dimension(this, di); + if (i + 1 < self.first) { + lt = wh; + } + }); + + this.list.css(this.wh, wh + 'px'); + this.list.css(this.lt, -lt + 'px'); + } + + this.scroll(this.first, false); + }, + + /** + * Locks the carousel. + * + * @method lock + * @return undefined + */ + lock: function() { + this.locked = true; + this.buttons(); + }, + + /** + * Unlocks the carousel. + * + * @method unlock + * @return undefined + */ + unlock: function() { + this.locked = false; + this.buttons(); + }, + + /** + * Sets the size of the carousel. + * + * @method size + * @return undefined + * @param s {Number} The size of the carousel. + */ + size: function(s) { + if (s !== undefined) { + this.options.size = s; + if (!this.locked) { + this.buttons(); + } + } + + return this.options.size; + }, + + /** + * Checks whether a list element exists for the given index (or index range). + * + * @method get + * @return bool + * @param i {Number} The index of the (first) element. + * @param i2 {Number} The index of the last element. + */ + has: function(i, i2) { + if (i2 === undefined || !i2) { + i2 = i; + } + + if (this.options.size !== null && i2 > this.options.size) { + i2 = this.options.size; + } + + for (var j = i; j <= i2; j++) { + var e = this.get(j); + if (!e.length || e.hasClass('jcarousel-item-placeholder')) { + return false; + } + } + + return true; + }, + + /** + * Returns a jQuery object with list element for the given index. + * + * @method get + * @return jQuery + * @param i {Number} The index of the element. + */ + get: function(i) { + return $('>.jcarousel-item-' + i, this.list); + }, + + /** + * Adds an element for the given index to the list. + * If the element already exists, it updates the inner html. + * Returns the created element as jQuery object. + * + * @method add + * @return jQuery + * @param i {Number} The index of the element. + * @param s {String} The innerHTML of the element. + */ + add: function(i, s) { + var e = this.get(i), old = 0, n = $(s); + + if (e.length === 0) { + var c, j = $jc.intval(i); + e = this.create(i); + while (true) { + c = this.get(--j); + if (j <= 0 || c.length) { + if (j <= 0) { + this.list.prepend(e); + } else { + c.after(e); + } + break; + } + } + } else { + old = this.dimension(e); + } + + if (n.get(0).nodeName.toUpperCase() == 'LI') { + e.replaceWith(n); + e = n; + } else { + e.empty().append(s); + } + + this.format(e.removeClass(this.className('jcarousel-item-placeholder')), i); + + var di = this.options.visible !== null ? Math.ceil(this.clipping() / this.options.visible) : null; + var wh = this.dimension(e, di) - old; + + if (i > 0 && i < this.first) { + this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - wh + 'px'); + } + + this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) + wh + 'px'); + + return e; + }, + + /** + * Removes an element for the given index from the list. + * + * @method remove + * @return undefined + * @param i {Number} The index of the element. + */ + remove: function(i) { + var e = this.get(i); + + // Check if item exists and is not currently visible + if (!e.length || (i >= this.first && i <= this.last)) { + return; + } + + var d = this.dimension(e); + + if (i < this.first) { + this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + d + 'px'); + } + + e.remove(); + + this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) - d + 'px'); + }, + + /** + * Moves the carousel forwards. + * + * @method next + * @return undefined + */ + next: function() { + if (this.tail !== null && !this.inTail) { + this.scrollTail(false); + } else { + this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'last') && this.options.size !== null && this.last == this.options.size) ? 1 : this.first + this.options.scroll); + } + }, + + /** + * Moves the carousel backwards. + * + * @method prev + * @return undefined + */ + prev: function() { + if (this.tail !== null && this.inTail) { + this.scrollTail(true); + } else { + this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'first') && this.options.size !== null && this.first == 1) ? this.options.size : this.first - this.options.scroll); + } + }, + + /** + * Scrolls the tail of the carousel. + * + * @method scrollTail + * @return undefined + * @param b {Boolean} Whether scroll the tail back or forward. + */ + scrollTail: function(b) { + if (this.locked || this.animating || !this.tail) { + return; + } + + this.pauseAuto(); + + var pos = $jc.intval(this.list.css(this.lt)); + + pos = !b ? pos - this.tail : pos + this.tail; + this.inTail = !b; + + // Save for callbacks + this.prevFirst = this.first; + this.prevLast = this.last; + + this.animate(pos); + }, + + /** + * Scrolls the carousel to a certain position. + * + * @method scroll + * @return undefined + * @param i {Number} The index of the element to scoll to. + * @param a {Boolean} Flag indicating whether to perform animation. + */ + scroll: function(i, a) { + if (this.locked || this.animating) { + return; + } + + this.pauseAuto(); + this.animate(this.pos(i), a); + }, + + /** + * Prepares the carousel and return the position for a certian index. + * + * @method pos + * @return {Number} + * @param i {Number} The index of the element to scoll to. + * @param fv {Boolean} Whether to force last item to be visible. + */ + pos: function(i, fv) { + var pos = $jc.intval(this.list.css(this.lt)); + + if (this.locked || this.animating) { + return pos; + } + + if (this.options.wrap != 'circular') { + i = i < 1 ? 1 : (this.options.size && i > this.options.size ? this.options.size : i); + } + + var back = this.first > i; + + // Create placeholders, new list width/height + // and new list position + var f = this.options.wrap != 'circular' && this.first <= 1 ? 1 : this.first; + var c = back ? this.get(f) : this.get(this.last); + var j = back ? f : f - 1; + var e = null, l = 0, p = false, d = 0, g; + + while (back ? --j >= i : ++j < i) { + e = this.get(j); + p = !e.length; + if (e.length === 0) { + e = this.create(j).addClass(this.className('jcarousel-item-placeholder')); + c[back ? 'before' : 'after' ](e); + + if (this.first !== null && this.options.wrap == 'circular' && this.options.size !== null && (j <= 0 || j > this.options.size)) { + g = this.get(this.index(j)); + if (g.length) { + e = this.add(j, g.clone(true)); + } + } + } + + c = e; + d = this.dimension(e); + + if (p) { + l += d; + } + + if (this.first !== null && (this.options.wrap == 'circular' || (j >= 1 && (this.options.size === null || j <= this.options.size)))) { + pos = back ? pos + d : pos - d; + } + } + + // Calculate visible items + var clipping = this.clipping(), cache = [], visible = 0, v = 0; + c = this.get(i - 1); + j = i; + + while (++visible) { + e = this.get(j); + p = !e.length; + if (e.length === 0) { + e = this.create(j).addClass(this.className('jcarousel-item-placeholder')); + // This should only happen on a next scroll + if (c.length === 0) { + this.list.prepend(e); + } else { + c[back ? 'before' : 'after' ](e); + } + + if (this.first !== null && this.options.wrap == 'circular' && this.options.size !== null && (j <= 0 || j > this.options.size)) { + g = this.get(this.index(j)); + if (g.length) { + e = this.add(j, g.clone(true)); + } + } + } + + c = e; + d = this.dimension(e); + if (d === 0) { + throw new Error('jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...'); + } + + if (this.options.wrap != 'circular' && this.options.size !== null && j > this.options.size) { + cache.push(e); + } else if (p) { + l += d; + } + + v += d; + + if (v >= clipping) { + break; + } + + j++; + } + + // Remove out-of-range placeholders + for (var x = 0; x < cache.length; x++) { + cache[x].remove(); + } + + // Resize list + if (l > 0) { + this.list.css(this.wh, this.dimension(this.list) + l + 'px'); + + if (back) { + pos -= l; + this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - l + 'px'); + } + } + + // Calculate first and last item + var last = i + visible - 1; + if (this.options.wrap != 'circular' && this.options.size && last > this.options.size) { + last = this.options.size; + } + + if (j > last) { + visible = 0; + j = last; + v = 0; + while (++visible) { + e = this.get(j--); + if (!e.length) { + break; + } + v += this.dimension(e); + if (v >= clipping) { + break; + } + } + } + + var first = last - visible + 1; + if (this.options.wrap != 'circular' && first < 1) { + first = 1; + } + + if (this.inTail && back) { + pos += this.tail; + this.inTail = false; + } + + this.tail = null; + if (this.options.wrap != 'circular' && last == this.options.size && (last - visible + 1) >= 1) { + var m = $jc.intval(this.get(last).css(!this.options.vertical ? 'marginRight' : 'marginBottom')); + if ((v - m) > clipping) { + this.tail = v - clipping - m; + } + } + + if (fv && i === this.options.size && this.tail) { + pos -= this.tail; + this.inTail = true; + } + + // Adjust position + while (i-- > first) { + pos += this.dimension(this.get(i)); + } + + // Save visible item range + this.prevFirst = this.first; + this.prevLast = this.last; + this.first = first; + this.last = last; + + return pos; + }, + + /** + * Animates the carousel to a certain position. + * + * @method animate + * @return undefined + * @param p {Number} Position to scroll to. + * @param a {Boolean} Flag indicating whether to perform animation. + */ + animate: function(p, a) { + if (this.locked || this.animating) { + return; + } + + this.animating = true; + + var self = this; + var scrolled = function() { + self.animating = false; + + if (p === 0) { + self.list.css(self.lt, 0); + } + + if (!self.autoStopped && (self.options.wrap == 'circular' || self.options.wrap == 'both' || self.options.wrap == 'last' || self.options.size === null || self.last < self.options.size || (self.last == self.options.size && self.tail !== null && !self.inTail))) { + self.startAuto(); + } + + self.buttons(); + self.notify('onAfterAnimation'); + + // This function removes items which are appended automatically for circulation. + // This prevents the list from growing infinitely. + if (self.options.wrap == 'circular' && self.options.size !== null) { + for (var i = self.prevFirst; i <= self.prevLast; i++) { + if (i !== null && !(i >= self.first && i <= self.last) && (i < 1 || i > self.options.size)) { + self.remove(i); + } + } + } + }; + + this.notify('onBeforeAnimation'); + + // Animate + if (!this.options.animation || a === false) { + this.list.css(this.lt, p + 'px'); + scrolled(); + } else { + var o = !this.options.vertical ? (this.options.rtl ? {'right': p} : {'left': p}) : {'top': p}; + // Define animation settings. + var settings = { + duration: this.options.animation, + easing: this.options.easing, + complete: scrolled + }; + // If we have a step callback, specify it as well. + if ($.isFunction(this.options.animationStepCallback)) { + settings.step = this.options.animationStepCallback; + } + // Start the animation. + this.list.animate(o, settings); + } + }, + + /** + * Starts autoscrolling. + * + * @method auto + * @return undefined + * @param s {Number} Seconds to periodically autoscroll the content. + */ + startAuto: function(s) { + if (s !== undefined) { + this.options.auto = s; + } + + if (this.options.auto === 0) { + return this.stopAuto(); + } + + if (this.timer !== null) { + return; + } + + this.autoStopped = false; + + var self = this; + this.timer = window.setTimeout(function() { self.next(); }, this.options.auto * 1000); + }, + + /** + * Stops autoscrolling. + * + * @method stopAuto + * @return undefined + */ + stopAuto: function() { + this.pauseAuto(); + this.autoStopped = true; + }, + + /** + * Pauses autoscrolling. + * + * @method pauseAuto + * @return undefined + */ + pauseAuto: function() { + if (this.timer === null) { + return; + } + + window.clearTimeout(this.timer); + this.timer = null; + }, + + /** + * Sets the states of the prev/next buttons. + * + * @method buttons + * @return undefined + */ + buttons: function(n, p) { + if (n == null) { + n = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'first') || this.options.size === null || this.last < this.options.size); + if (!this.locked && (!this.options.wrap || this.options.wrap == 'first') && this.options.size !== null && this.last >= this.options.size) { + n = this.tail !== null && !this.inTail; + } + } + + if (p == null) { + p = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'last') || this.first > 1); + if (!this.locked && (!this.options.wrap || this.options.wrap == 'last') && this.options.size !== null && this.first == 1) { + p = this.tail !== null && this.inTail; + } + } + + var self = this; + + if (this.buttonNext.size() > 0) { + this.buttonNext.unbind(this.options.buttonNextEvent + '.jcarousel', this.funcNext); + + if (n) { + this.buttonNext.bind(this.options.buttonNextEvent + '.jcarousel', this.funcNext); + } + + this.buttonNext[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true); + + if (this.options.buttonNextCallback !== null && this.buttonNext.data('jcarouselstate') != n) { + this.buttonNext.each(function() { self.options.buttonNextCallback(self, this, n); }).data('jcarouselstate', n); + } + } else { + if (this.options.buttonNextCallback !== null && this.buttonNextState != n) { + this.options.buttonNextCallback(self, null, n); + } + } + + if (this.buttonPrev.size() > 0) { + this.buttonPrev.unbind(this.options.buttonPrevEvent + '.jcarousel', this.funcPrev); + + if (p) { + this.buttonPrev.bind(this.options.buttonPrevEvent + '.jcarousel', this.funcPrev); + } + + this.buttonPrev[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true); + + if (this.options.buttonPrevCallback !== null && this.buttonPrev.data('jcarouselstate') != p) { + this.buttonPrev.each(function() { self.options.buttonPrevCallback(self, this, p); }).data('jcarouselstate', p); + } + } else { + if (this.options.buttonPrevCallback !== null && this.buttonPrevState != p) { + this.options.buttonPrevCallback(self, null, p); + } + } + + this.buttonNextState = n; + this.buttonPrevState = p; + }, + + /** + * Notify callback of a specified event. + * + * @method notify + * @return undefined + * @param evt {String} The event name + */ + notify: function(evt) { + var state = this.prevFirst === null ? 'init' : (this.prevFirst < this.first ? 'next' : 'prev'); + + // Load items + this.callback('itemLoadCallback', evt, state); + + if (this.prevFirst !== this.first) { + this.callback('itemFirstInCallback', evt, state, this.first); + this.callback('itemFirstOutCallback', evt, state, this.prevFirst); + } + + if (this.prevLast !== this.last) { + this.callback('itemLastInCallback', evt, state, this.last); + this.callback('itemLastOutCallback', evt, state, this.prevLast); + } + + this.callback('itemVisibleInCallback', evt, state, this.first, this.last, this.prevFirst, this.prevLast); + this.callback('itemVisibleOutCallback', evt, state, this.prevFirst, this.prevLast, this.first, this.last); + }, + + callback: function(cb, evt, state, i1, i2, i3, i4) { + if (this.options[cb] == null || (typeof this.options[cb] != 'object' && evt != 'onAfterAnimation')) { + return; + } + + var callback = typeof this.options[cb] == 'object' ? this.options[cb][evt] : this.options[cb]; + + if (!$.isFunction(callback)) { + return; + } + + var self = this; + + if (i1 === undefined) { + callback(self, state, evt); + } else if (i2 === undefined) { + this.get(i1).each(function() { callback(self, this, i1, state, evt); }); + } else { + var call = function(i) { + self.get(i).each(function() { callback(self, this, i, state, evt); }); + }; + for (var i = i1; i <= i2; i++) { + if (i !== null && !(i >= i3 && i <= i4)) { + call(i); + } + } + } + }, + + create: function(i) { + return this.format('', i); + }, + + format: function(e, i) { + e = $(e); + var split = e.get(0).className.split(' '); + for (var j = 0; j < split.length; j++) { + if (split[j].indexOf('jcarousel-') != -1) { + e.removeClass(split[j]); + } + } + e.addClass(this.className('jcarousel-item')).addClass(this.className('jcarousel-item-' + i)).css({ + 'float': (this.options.rtl ? 'right' : 'left'), + 'list-style': 'none' + }).attr('jcarouselindex', i); + return e; + }, + + className: function(c) { + return c + ' ' + c + (!this.options.vertical ? '-horizontal' : '-vertical'); + }, + + dimension: function(e, d) { + var el = $(e); + + if (d == null) { + return !this.options.vertical ? + (el.outerWidth(true) || $jc.intval(this.options.itemFallbackDimension)) : + (el.outerHeight(true) || $jc.intval(this.options.itemFallbackDimension)); + } else { + var w = !this.options.vertical ? + d - $jc.intval(el.css('marginLeft')) - $jc.intval(el.css('marginRight')) : + d - $jc.intval(el.css('marginTop')) - $jc.intval(el.css('marginBottom')); + + $(el).css(this.wh, w + 'px'); + + return this.dimension(el); + } + }, + + clipping: function() { + return !this.options.vertical ? + this.clip[0].offsetWidth - $jc.intval(this.clip.css('borderLeftWidth')) - $jc.intval(this.clip.css('borderRightWidth')) : + this.clip[0].offsetHeight - $jc.intval(this.clip.css('borderTopWidth')) - $jc.intval(this.clip.css('borderBottomWidth')); + }, + + index: function(i, s) { + if (s == null) { + s = this.options.size; + } + + return Math.round((((i-1) / s) - Math.floor((i-1) / s)) * s) + 1; + } + }); + + $jc.extend({ + /** + * Gets/Sets the global default configuration properties. + * + * @method defaults + * @return {Object} + * @param d {Object} A set of key/value pairs to set as configuration properties. + */ + defaults: function(d) { + return $.extend(defaults, d || {}); + }, + + intval: function(v) { + v = parseInt(v, 10); + return isNaN(v) ? 0 : v; + }, + + windowLoaded: function() { + windowLoaded = true; + } + }); + + /** + * Creates a carousel for all matched elements. + * + * @example $("#mycarousel").jcarousel(); + * @before + * @result + * + *
- First item
- Second item
+ *+ * + * @method jcarousel + * @return jQuery + * @param o {Hash|String} A set of key/value pairs to set as configuration properties or a method name to call on a formerly created instance. + */ + $.fn.jcarousel = function(o) { + if (typeof o == 'string') { + var instance = $(this).data('jcarousel'), args = Array.prototype.slice.call(arguments, 1); + return instance[o].apply(instance, args); + } else { + return this.each(function() { + var instance = $(this).data('jcarousel'); + if (instance) { + if (o) { + $.extend(instance.options, o); + } + instance.reload(); + } else { + $(this).data('jcarousel', new $jc(this, o)); + } + }); + } + }; + +})(jQuery); diff --git a/js/slider.js b/js/slider.js new file mode 100644 index 0000000..38ec72b --- /dev/null +++ b/js/slider.js @@ -0,0 +1,49 @@ +function padd_create_slideshow() { + jQuery('div#slideshow-box').append('+ *+ *+ *+ * + * + *+ *
+ *- First item
+ *- Second item
+ *'); + jQuery('div#slideshow-box div.list').cycle({ + fx : 'fade', + speed : 1000, + timeout : 3000, + cleartypeNoBg : true, + activePagerClass: 'jqc-active', + pager: '#jqc-pages', + prev: '#jqc-prev', + next: '#jqc-next', + pagerAnchorBuilder: function (index,elem) { + return ''; + } + }); +} + +function padd_jcarousel_init(carousel) { +// Disable autoscrolling if the user clicks the prev or next button. + carousel.buttonNext.bind('click', function() { + carousel.startAuto(0); + }); + + carousel.buttonPrev.bind('click', function() { + carousel.startAuto(0); + }); + + // Pause autoscrolling if the user moves with the cursor over the clip. + carousel.clip.hover( + function() { + carousel.stopAuto(); + }, + function() { + carousel.startAuto(); + } + ); +} + +jQuery(document).ready(function() { + jQuery.noConflict(); + + padd_create_slideshow(); + + jQuery('ul#featured-projects').jcarousel({ + auto: 5, + wrap: 'last', + initCallback: padd_jcarousel_init + }); +}); \ No newline at end of file diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000..8ff3b74 --- /dev/null +++ b/plugin.xml @@ -0,0 +1,22 @@ ++ diff --git a/squelette_leadescent_pipelines.php b/squelette_leadescent_pipelines.php new file mode 100644 index 0000000..52e77e5 --- /dev/null +++ b/squelette_leadescent_pipelines.php @@ -0,0 +1,11 @@ + + "; + $flux .= " + "; + $flux .= " + "; + return $flux; + } +?> \ No newline at end of file diff --git a/vignette.jpg b/vignette.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb06f0ae54cb73dd32ae401e16d653a67fc9bcab GIT binary patch literal 81325 zcmd42cUV-**DkopIp?gBbIwUcKtMop1_8;LCNvUSiIR_Gi6Ws1LQBpdS#kyi1iDF* zqyd2@PkYY&o$s4x?tNySx%0;q?7iQvT6^tUt7><>tE&3$+ua&KuBoP>24G-d08i0> zz#W44sfLP*&2xQSHH~Mg=mG#Bma+BrcE=Squelette Leadescent +Sites de type blog +1.0.0 +stable +[Romaric Buisson-Ramey(OpenStudio)->http://www.openstudio.fr/], [d'après le thème leadescent->http://www.paddsolutions.com/wordpress-theme-leadescent//], [Padd Solutions->http://www.paddsolutions.com/] +GNU/GPL ++ Squelette avec slider, fonctionnant avec le thème du même nom. + ++ vignette.jpg +squelette_leadescent +squelette ++ + + +insert_head +insertion_in_head +squelette_leadescent_pipelines.php +1OAukY#u;s0)QF8Kf3;xV*m33ikA)`djP &$EaE@d=^uRW54QUUOZ+WksIP*SLEDT^Y-{W51OP;a z==^&D_D*O$MCbz$@qFpxiN?iftYq(O`x1>e&{)93!wZdx(H;SK?Eae`r~ig+ZSDTm zX>05BFaF0C^quGjKXCzhyW0l+{o()1lZU%M+FySsTJ)LN+wZYH`ihVC8NG|2#veQX z#?JmvjsAmQIUAb%2YcG-=>7-WgH+JI{72r+OY2`fFCCt!{wE(4VDK+~<*cIfpL|za z%|C7S_p@w$(dd6*Z@=gN*1^+V=TE=+TgK5>?O**4AXS6^ aU7Vc#?ma^HN(X^^ z8lLt-0{6s3M8$wVef*CM0G!bN-FGo)hyN?j=L-PH#-aWBr+eM|BLx7q>;TZR1priM z|CPsnjCTKD0MIdM@9!J%j~w=&3l2aCkO9;H1HcNf13Z8rAO=VQ^1wqt70?890YktH zum LP#xcevCKe_!CN(AtCKskKrVQpIOf5`9Oe;($Odrfw zn30%Cm|2(~F+X88Vs>MWV9sH#VeVm`VgXo0ShQI8u>`SXuvD;gvCOd?v3#+@u;Q>X zus&i{W3^%pV$EQ!VeMmGVB=y_Vc)|R#Foc?ifx2#kL`mUhMj<&ja`P_h~0-hgAK<< zV&CGB;4tIx d~k Jt7yP*F;%FpNYN_!HF)2DT(=rRfsK#{fU!^p~PQ^zZ0L3 zkdSbZJR~tE@gqqhDJSVASs_7@QjrRgYLLDpg^=cuHj+-0{vsnF<0N}TW=-~rEQ73$ zY=Uf`oPeB*T!q}0Jd8YtyoG#${FH) MH7SY9tLMjRcJ`4VWf}rh{gU7K@gP zR)f}^Hkr1TcAoZ O`Z#(R{T%%z!#xI71~-Ox3{4C_ z7_k}o81)zf8S@$Y8TXl}ndF)5nc|pgnHHHbnfaLYnS+^&m`9mUSy)-rS-e@^v-Gm; zv(mCYWOZdtW9?+!VWVPGVsl|jW9wquy+?EJ(LMKjS@-(xA@4Kae|q2le&PM``&SRR z9~eCde*k;%gPo9FhTV}pjlG8*$-%~<%@M*;$+5^uz$wG&%$dnK$a&7i&1J$B!_~y~ zlbfDfgZmYCCHFE936C<556?%QSzcUT8D2NuJl;t@Og>3IXTBW134Tm|DSj9JJpL&G z906GYPl1mD3xdRgj|2k*D+S>~v_j8>!iAcIehG63n+v}a9u&S6krZ(kDHd50r4-c^ z4Hs<{Jr?5=vlq(|n-wP!R}+VbH;W%h@Jl#I $q>|K@jFIe-ypfWY@|CKV+L7jv zej%MJy&yv^^IRrD=Bq4@>| )pyr8_Be1-f^1#Sfgg<^$u#RrPE ziiL`6O81mrD1A^`Q@*cktNc+J@sR!D%ZH^8w;%C7a((pa(XYoMk9{9EJU&;EQwdf1 z@&xON`jfaP *eTe z>5J-z=nooD8Q2(97@QeCHcU2LGU74vH|jAaGqyA?H$FFcVv=IAW-4qNYC2-ZXy#(p zY>sDcY+h=9YN2Y8Zn0@8X&G%fZ^dl|wi>c#w05`dupzUtwW)i7^TOms#fxiOUE7bg zr*;~4xpqi<75hy4y_XMProG&8P;^Lf*mhKOOmY0_r0A6DwBxMooZ-ChqT-V6a^(8d zwZQe ZXugl&LzHxgq7A_K=68<~FB%(EvCGvITdX#!pWi)BDZ}dWp zd`!Vx?6)p&$797~-^bp@y^I@<7m3e^zfQ1E7)}&T%u2jVa!eXemP*e53->S2zvka5 zzbi|jNO_gAo~oVNn07BMF70=^P5MxVL`Fd-VWxlPTGq3y=Jy=$|9XF&?VLTA^Ed~V z%bXjVd!F|)Z#w^Besuv$L43jG2bT}u3e^i6KXQG{D8elYDB3DEE*>nADJd^yER8R{ zfqFvM%Jj?n%B9Q8E0`;iD={nmD|bFwewwU$Qq^27SX~ICg~fjcKKp;(t$9&1U#nHy zQzuhbUC&vc+d$P2*ND*=)QD_yZdz+LYo2P+Z0Tv0Z*6E3YJ;}lZ_nwV=}7J*?2PQZ z>w497`o;Upez#NidXG)dQm<+6Y@c4=c)wQv*8#PG-oZzMU0)Tywhze-wG7J)H;qV* zG>%G+HjGJ*HH=G*H%>@TG*8M-woWNbbxtc!ch5YT8JN|W9huXao0>P8|F&Scu=efc zx1ZnLzaK3IEM6_WUdCCD`$7IAV}*I;<0|heY)xvd1O5a)iZDPdt=q5fZGbkeHzT)5 zwlcQaw#$Et{cPV++nL<8*xlUo-n-h5KA^d((QWb-R4$ad+o!>udWr7r;WF zF&!NN;1~)3BxY#tFbM#Jr2lZxza=pK;mv6Lhd=+#q5rS=AD;TRyc7UH9|C~UYXErm z1pxBV2PYa6qpyFcnBhYJQ(XMt1D*3HfgHuf{stJtzG!NKy1P4J0RX&K0J!nJySvJ} zySphybLH;<@WtmJ?)yg?mmB~-{NdQZ5I5!hKiB`B?%=>{Rj>=%Hf?Qy4_$%};9yV! ze=PpnCJaV22l~e%O$?@gu|5XR|B%51fEX8ajPZ}m9}fB_Jw+dXyztKz^8@C;5??=H z{Rd+x{}H`g0#yD)Hve1ckCOi_1%Gb7`vOqlqbv0l3xfi{q`<(Uz_{xJ*wB{X{G xRlhi^o-1`_t_tdic3nNW#tvMb@dI6P0cN> zJ-vPX1A||OhNov{=jIo_eP4tl);Bh{wtw#I9vz?jK0P}}U0nXL3j@IV*Jb}xyU o$nMOEr$f0 z^XQLhe_Qtd%&_qPSC;*2*nioz2oPgopc@a10#F8SGrAD0FcdrFh91(Rd`)-+xdS95 z07#!A1gW-u2S~9YlaE@Dz_(%dKVaS7-@OCErSE{Lm}~Ys;0uiI4meSHhki0f1eE_5=GY+B?tn{?J0KE* zqCwmNx6aPM9q{&5*IMEo@Z0tdz`p~K{QY;p_2mC=>W#71)gXLLF?fp~dc}D=Zo|~& z0(+~B)a}A@%O^llAV<*ErEb?N0;^oTI`5aOj$J!=ux{G*8F^C;Ti2%3EHG({UhcNb z&VZGEW7tp$40Qui{D5nM)U${?Aj0)QAlme`WM#&tA~7imG8~cR;!2?REV>u?l8_KF zODX#S7t*T&>8@Y>9aE49LFuCS?|_et=;m %ob=?cHMJA3lN?=G4 z;Cik6^bW9P`!0No&v_LbVtBOLql*RU=Jzj%R=STA?tu}6*c3cRRl3-FeAru|J4%lA z?; ji{AKZA4ndyVtlg}Yp=Y~UOD4;CcjM<&nm2~qa& zF|}U3d7*00{e6i8I?cwq*4h2AY2k;sus+?zCWLygm6Cj@uX40gKO@cW#nPG&X0D>U znc2y&J;MaS{P2MYgjK-tLLWIe_=_;e1yNa3vD4Vvlpq;(q@9<`sPjIsB uiUk8%(^*>%(|D+30dN3y# zqUgVNwMy=4p57EGaIH#wd6rYO` e}9=;-~y}ibH0f37zqbv$^G^{ihZBz}eys zH}s2T`uctZqM$E09)iPr2Sh4))0uXywJJzoQ(bq7i`<2p8;Q!( zBo@l8b;E(SlF^w77Y7OA6F?ab=~t!$FAZcf%T-sxD+O6k;N`Qw{M?x6AWdMXF6s?J z7vDAWQm0(0d^=t~a!PPBLN_>g;By?vOCe?A!SW>DtOW2J;~@?}jWGs>4k*zfwG*qM zh%wLJM>B{1@`8->CwghUUQ*@d@+FBWLk+JpHjBJ-J{P$N49k8XC0$2<4|caX=bI_r z2m8cP+dLqGHn%yZ5and03&3N4y%c-o WJq;0 zr93eshksVveBte_7Svt%Sz+o{JVZQNB73htfL25?z50WYFruTr@k((c)2H_~Q?hpP zeL{u_-x SdePheek*Xi>HoB-}T$Ly)I! zWznq>Y6kD3Lpcr5o=aOZ% LWq94k7tPUk(krS =D2E`A>M#n_E26Av z@&OmtMJrJ!3bnG)>8vvxoF u&OLmWu=1Ld{2E{ab=r#4t&-FHAuW?cOU(}iDK 8DSP$ zlwYGCCZIiJM^DZauPNrTXtEi4(Dv|mYW%dG#;~Bof>>*7=x`@`Fb>y*bW>e(mO&g) zsb{1&Nq)h10N22p#cBu(^0&jsS!nir|GNck@bdEV(ipaLwdHUjVYD9!Z|S0W{r-YQ z! ST88w zb1Tx0GJ^B#68~6sW;bkK@H?O~xZ)tcU!QD}e`OFi`axs`{W!7WOfiXcC%4}nuq`xC zfSqvdUN_BEyZJX9K)McB9Yeo7ycdpvSEdk=PYT+5>O|*;T!sHgUQ+5`Q^qyB1Ds8* zcLKK-dKPKAmg>izMwIO= GY6bGrdq-WbQz2Ni3ybTzmVTkJs8MSBC)poQ5ILK zgI<9StTk7nr8!cCAc#k)D$>n5dVqH`c!uWSN7pqcNbs!KE@fQ4vTQ8=nOz(I=1qli z-D_v**ASP3MaKp@G$(R0ZMSRX+$yNtLz9rQ5X~74KYyl-83UbyTPma350eM=0Zk1# z8Z8~!E|M6M2%D;MT4Dek42K;M6x+CLZCl^uEvZGA)y_N4{ML lX<5UXNkio zx%o`Q&k)5>=WT`R@Zd<5_=Wt+uO;nXUTvMiozY+h+R!K&kKp=4(Rqr0)m( z(r~6I0tLNi72R_ViJZ^ZWnOR?V?^uF6DQ=NTW05sTehx27GPd_=!?6Lb=CQB`5Q}< zbomD&Fz^BZ=&>3VMRy*OkGXmH5G^fRbSqF|a)dh L*!U`t;%|=Md>I;?oy2ksCyG4& zbw3V#OgdDg@jU&0TDrgOUtdIIzP`ZU&^xI+T$shL5^%3aWiv5px$#)LRI~DHfjx@c z;$s;tVi#rfC`$8 tvg@*T_ 0_LZ_RsVo^}dOi#Pbjk zoOU ^i>3|GsvuZyazrZ!J;j<1&kb@h_h%j%_X2We@BC9*sNyu iMTo<3+w& #^I z8{_lipWix@a5LU)lCCY$hw=x5eASG*v=%pw`fPt%EG-m18ve!C;Odu~@}u7{&BEGs zZ*&CRI%CM>+qmT3iEDv& L6gKO#`Wq+V4(KsQhcll>u2j(6{1Hm{n!ooBIPNj+ z6u#zbw)-5SiKN~y0tqMyPHw&+Q{!jZBPT1TpLnHIlob4;Cb>GxQsuflRbWCey!}L= zlc0@TA%K>*b7;7tja!)}i~+WSidZYT1A_Z5WzG)+)n|Q1LP#ZTI;qH8FJ|sLUT7^z z4X>8kM?kJ}RgP@nZ}*PKy0P{UiS!WpR`et8fDZyrx0DNaz@`JlbyN4&@jaR^wnkIk z0h#D7N8|*LxuMp@DuBk-8(hOkw0i93VFYnnSKnOsPQt0iYO}7*s!d_5qTR6ZNd4 z8=@9vWKBECpbe^`-dd?^CpS!zH2S_*Of_sJ(dPC^v!j{64SY+6Fk|)my7x>IOwh#Z zJp-y2nHP56w+dh#u9ILx DHQpEs+i1 z >=?kClJS<^1HtAhfG-`^?}7 z3I{f>4N=~B1>vb#XP=o0lpe%9yY)5S8ND<(Ju47u2xf$yQbpCTF2{|4#i8p z=F{Dfd^X3iGSsE&+roXFdeNhGVl~K?1i^{1iC-leTo_!TWt%W8EN#+$RT^jLrf9@h zi;gN~M~ x3rMT6@T31Rl2-f)izu)M)^#y z`1$CE*V^}WXn5-@49c}T^vekzHOy7Ngn2eLcgo%Y?}YnT&ji2`cYros+I*GJ{ aiD6In6^+e`|bpjHaRCbJOeE3(*G!KZIA^9g@^_d_jL{hmD1g*hbZF{4g))$W6`U zTUB-A@9aWuAG7-RnYIV#%68 zT7}YqV2j8!LtJ7;;|@^xVA7m ?m%?71T85EIPyUvva6cYNRrnbK7c%_WvtfYj3 zDuhv?^x!S3QRSxo5ZaY)l45U9gc;1AD^4p^Jd7;8^jrK7hqQqznp)BKVNkjlcqd7( zx)@@#hm1<*>KT`Tntqje{Yr(z=c(*GFnSv3L0eIj*82hfg61%j4EyVcM}cCMz4^2+ zY05TdU9X5IVvo|w;UZu;k0HbIgi&tI5&`O2dydcaGKiD+a%mmaY*;#4G-TCEOt(F+ zXbZ|ze5!6TpU*`EEta;n8hrv0l>XT2{`iQ)ceqZsQ#JVNyO3v`JOfM9Cx6reBMMgF zqs_1hHvg7T6cdJ%G1EVnc4Sz@0cZAC (uGamJ1q?RKTNmjxG%H*du^*xu% zaRc&QBq+xb^SS-VxTZ6yny1A(-T8DrYJtpBAf39eA{E|MZwBV0Op+>jhGZ7Lz{>}W zf~Z1fYiJY`={Vpzm1Qj^OGoGNAw;RYV(@+6ULWl3XjsgcH&q^9`V}uHBZ@hU>r+QW z+S*2??W+9qggnzSiEU(8FAT-|EQ}SodDeieJJXs91Hh@K85RYfwb!+|ZKgKcoZ~EZ zGtcCNVoKby!=F&zCrK)oj8J%5L)-B1;Z1(#8-+)GK~>C73_cl7*=xL<^lI%sRHJ*g zv%h}MTrO|Nd@)GLZK>cjDa&bvaxG>a8-sqskW0NfZ2d3u$&qA4n?arTXY-uW^+u4n zq7j3dF?E;yu4WE$^w(PrjA=i+XA+48d3z}I2YN&zY#6T1Q4L4J>rL_8M=||uRIW;r z3!WU#2R5b_L7)7-I{Fcmf`cEM=4egs<9?l&R}`CbYW6qoXzt1-aJwXnK`C>>Lpo)M zi*R%?q7&?P<-~Gbjr?Xj8^!6s3;l*|sh~=sr_ifxLj#vPfY=8Xw`_|b^;cL`9;;!f z7AxLWi}aCjF)oUN8b5Dj68fS^Bl13!?1#b4JR@m`8MlD3FpWeBn;x3abD??>qy-hb z(>tvKWW|qY)={D+j~b3v%85T{5!6q^1n2xJH4rAYLFJV{S|xnVcT&`L 8_R_ds9tGmVVvxw-k?`9fd$t%FY_5z ?qS z4Y;ieaU>Hxb8@pe(|K-U<*z)fnvR^O6{{3Tj@i*qu>7H#y7?|yAZ$9j*SGmB#Z!63 zJXfd$&O&(4K0;-h$QR>wq{cmrYdODV4Ybz}8e8|M7N%Rh*=@Q51id^07Us7%ay1Z6 z_;4R#9(Xm&*OS~ugELLjkW`^^wLHg9(`h29XEO<%qhWNx4OJIJ1%$n{i0ps@LgvJp zokoIh2`?>vGcf;}08L14+8JpKpYkF2B&)XH!h|~gC9Oj{Prkuf3CG1N{u*u0peJVG zOEgTfQ4ts^UlcRZ)TDPV^Kzo$9~iO$rIY^v2mEr`m$*@OAEt$%G8fq-O#-m9BE9rd z)O>ND9@;3rcQCAD^p1YuZyu3aI%nRwU*fnNy6qy*e?GH$qt^`{mB!Qb9rC?yjcJUu zjZG7wmjl7@LB4!5Q8c_|Cqn~5+CnbAZA1C~FtGlhMQi?Ph-A@49Ti8EL_8%CYjH*s zN9vNS;)zW #7XJ#mm%DN6*wrh{90G BNW#wJYD>DKy&k874=*T^9E zWA%l7ApMDAgK}rPH1d$BH$+s6XViDURovI#N=}B4x{xt7WV%B}Kf&|xQ&o`s%J!%d zEy@Z(64+ eY(d`O+FnryUbwJ5FymN%{2f-4X+AwC<2xL^c4I+$>7LC`e@) zx-XLIx~IzZQ~Z=TQ?O@q@4Kytsk;I@*Bt Czau5(0PDVH6-emKz);zZ)(2+7-e*X!_2w`#sm`!RKy14=Wo^eolXL#XLw zdb=rMBbTzGaD=HV^aoeN@73)KRsw|Z>sQk8r%e2-ls{M4+TsQ`5_CT}pD4uUW4O3~ ze=W1~Ztq>L$))fbn%gUA5HtG(-IzJd`VdMwMf6S=#iUhtZ64M_2?S5)lwteDd23tKsg+xRgw;PNgn_W$>pHa*1=oi 5Sm-IjrQ7;87S6mRnHzfzF@ zOILo>8_cXkO8Idcd!1N;hS3l))5Kxxyi=h$xGh=IS3rKtyKA1;kRR(-;ygWeuf+;a z-S@92%LnP7;>kpWowi{ep_$l7Pb|J6`z(Y=T87ViHPZxDe;tV s=IR=1mJCAF<~m5_)(qX$=Xox^Tio-r_MOj2_X;nJxziu9Uc|%8YAU z?}}yefu2tZxm7P#L7t2#h>yuQMQ5-JcME%2r&%JwW^+aU9GmpBQM~H!t;b5M=B(0$ z4?3yA`pe(IUSINw=Oi(u#wx8*2EE6d7dRiupdwdGpM8GAKJ`pO-=slbLv^uukIS|2 z=;7OvOvmM#F&xF|tAa~)p7S30Faoe%jy->`_=FFQ@1^Ci8$nc+aa#4MYspg`!IeF& z4y*PF#rN)|?{a^JF_}0H_mf5Y;UsEsN2$(u7k#E*KdF8;B0M5awz~DrT}iU%*k5$Y zG=}vsyGg!HW49r61^OG8h~taHZ+6XW7`=h9Z-zKs5Kq;{O{>RVu+&w-52tHJBR3k@ z7n>zUnNL;jk5JodQqF<`2cJF?qZh*z1lbF?=6URJ^3~qGeW>-+bfbp*L_yJ#<(Z=w zF}AY`jyfA5*x9yFhq_4H0VU+X=0IN_cC~mlez?DyA*zKc*kLWaZFs340WuOJtUXJ~ zt &_%FL7y`fR7V=E*!#GF27cT^(dQ=0vsK_9v4=c0L}rW%hNLY(eBE z)(TJ#7vdL;5jI!PvIBBHnpuLA&03OHh~$}`mS&U57U|X4H5un0t18q#hvO;vO%2d5 zoT{1iCQgAzr#lqdurw7;D@<}-#<)`3a &F*_Wu83!*;L)Ln1W z=^J|2d#AY~s4F$~;}UqM^vmONISyqEG;<~WE2d*4G8YT*?g0C$;Qj?;YfjWeD2P~A zL*SaBRC{yz!sDc>vn0rQKu`)(gmcC(-18++GGF+ht|VlF0$lZa=%?XuGdqd)_&5zH zS5?W?V{v7MAf}?Fa`<|jKEZrrUMPc=R9abejqT$hxle#l3^jP>y *cp}4L*)ar zbP#-i4wnp(Ha&~&R#~5}WP3+$tVedOqxfoE^SzQvcpB8-AFpD?gf#dV-4E0|wuK)W z>D#;x >-Oz?hZQL+Ev7!QiAKT%^|{(FIAU z_#wclX$0Ydyi_I#8 *RBVDu8XHO(j zELSD_A}=!a6`IaX=typ?`b^!&<4RPbkD5bR(oCD|H$eEwlQ+w(x-JJEG{-_(acK z2?;H0TyuH*Avw9i{R{z40y^x;$D@N{Ur%27i~Qz);gj`tgkQ5nRY7;|0+yHymFB&% zHQe&?FHn5d;A(h&xY%`OhEha!b(bI2JwgZKS3NewUcv|NOQuIkZEhtl8va4|2<+U8 z(^k1)HSvO_dDMu_zaog;Z@mY(j!46EYj3%Fbveg)x?ALiZH!>Uxw$_VJS`_%J=zpm zP8*WKIFT0O<%F`Z7*yF&^`rQ5Hv3aN9kWJC!Qve|q|atM9PdzaXk>&_c*`nqe-&A` z7THNNb<2LOaKs&RD zDPl4@SI 5tj@~Qr zC2ER{@~-pD7RL9$cN>URop4(UM`H3^Yy6g`cQjwICDPf{v-KUu*wBY)BiIfSb)OtP zJj#r-FnDl`cyc@2aKu&QUYR{K=@w{a&5vl;G&2JK*u~X6lxiwm^|= z&kXDl966;|r6#etza3K|GcNp2YIoM(br^DdT)#UsY@m;xtWp!kI))LmuQ^34U}bK~ zYI|aRL3w=nrbL}YNAftIFhtfQ>Uj7Yv8N56h#^!>nzdRjJx_xC-_-z8}$=2q}7rO%dV5{i2Y&PGX( zF+6IGBhipux^UXjLKy4)CjDAFt~> 8bhTNO+Q+|DUO}PU0GG1sm z@fYrE_8X#=o<4jq(^a#wZaL`~dHV}OWBJpX+y95ZWXHa5PtCP8TSDa#m%n*J?RA7e z8XKoMSizAiH_u|?{Xo{pVpbx9VNa{$ymG@3JxxCYWGbl`qVD zvi(N=+ZXCF KNCC(O0bSyq+27TGIvGaWL#40}$#n!Zi2mlMJ473HXz zrFs+=7=Hem?Vc~aPtt|ehd19$+N{MBmibDnLgieWbPeaKD!Qz!53g_6CdiuIB7drx zd2q(}H -zxLY2gNQkB|5CXOL%8f66|ThTr`T)mqK;tYR}C(%>6`uR~T3F zs^!V~ec0sHG(pc#Yqt#TI0XDS2&TD@asmZkT{S0=JIR}}Y=Uyvj-f0qG77KVuEQ>k zZfCv7uH}L<2~ZZXy*^%4dg< Hh)q12*wRg6ZF5kU0?%ry)=2u^O$^** zYVfU0l $Xv(9`6&?Tn3RzL5#a*Zca6Kvu0`+22dpefyO5a?ln zUV98iHetVHW{)U|9QHOW_f_RJ+SDmtY*;Rx2~3^at8Ce1eSqY858l#>=h@)X@-4z! zP5_OEHJk*gL6Ra81r*JzLB@LVp4yG|S|&>)278?NO=BGGE3080^7&2`KhIwI(t8LZ zl7R%ZLUkP|R&{8o>{b`-n&DCw9oXb^MN3mf_c>fBKpAwI;`Af(lpF%JwfsF^NflHm zj9PodbPJg_@WooGa-bJ;t f>1~6w%+&O!IQfrDpgIc|aV^pOqLo89ydZhL=jM$oaU&J4 2s1Ay9 alS zU%1Gg `Zg3`_4Exm6bzF0KQQBiZakq`Fz?%KYsjn+> z0i^C&`;(PsdFACX6|p06ZU*S}2Gsh)vEtzOm#i$dpJ@tnd|279OeDJM4Y!txVsh#< zC6@K44uhNK3Z}k0YW3zaXy#K1_YTs%H|JH$wcH)H2p+TQ3aZ+K=2c$=qi39nujMCU z*Rt>yosv(k_*1To`MyQo_ve_I?G^D(V3XUtS{YM%dd6|awN?_xx2*-0NSo-3t zRK#27b}lj^p81}rpiJ{$Vkz;MEPVXt>5N3KK33hc6r3AXezA>^Nw?Sv0ExEFc(S zWX98zC~KG+Y|h(MJ#^M(aB2OCcdAH`GK$By#9=ti&%~S?3K=~o;fB-C9|%?nV%NF` z5|(%qFcmDouoTHKyAtaPiq*t9CPcy6==m=t+V-8YmFYCQ#g3KgLl5&`VfIPu(yuFx z8%%Jbpkt7yXA9|}<3Dr;7S_0`;PG#9E1}x{AYNRB`_A15-x4;q@%F|-*r-A|P3ZM1 zwRi{BF(RTa4kQ_CEi?q1=GttuCFcsH {mwU zy;gP#3}q;JINO1{B( cR<~- zCQ7bB*k8Z6Zghze%ESq+>+j)*M76bjhdfh~vRWZIvfE}rj(3WmPJ7|4FGyZJ4sbbi zEU1RAPg_o +s%}{ooL1KOf z^K8uunWmUc&-1v6F$yESHvw>x6%r<$Luldzgn!H`RTyoi3LdF7|HmB&FRv%gV0v zDK2pna!v8)=2y#glBVzK1>1+W%OOETcrm@bR0Z}9`*3q=R@**?JWm>VxuqTImCy zWC ry8=p=N>xC2~g6 Eulkb) zKzMy!Z!_o!ZqjMK_?aN3dvl8X6>37WuliqAb&M|hgI@5!f7<=rY!}a*LxkLR=sIb! z2ypDdU5rw#&rC9ABRlHrJ!STX3mzog6nh)GPDj} g+Vx&y|T1dEQz+wE}DNORVD$*u>l@0wBQy9j4BsdU* zR6i3&I>xNQ$R Ev;d z>2gNbkG&42E8wv(%aBJX^`qd2M@!(qflihq^v=Hc>qkL?bHy7Iun|N#^u_e FH|$BuJ4vjgwakuY1RLohzmYPU-bJUc$dlN1U3r_~&`3>T z5}vC`!`YWm{sy@e-?XlYWOA`ikrA2b1|`uXS;ws1xyoLKEChE#Q0=y6sjZe+ZiR}d z(Y^AyO0!ubml?l8<7irnlE !3onR^1qZkf+(77E6oYxv)~t3i@kB&h8)nZd=MKoobMZ zo}cG+I4+#67MRCBsCKB!EneNoj9b wJ7AWb{p2;gLH4gOVC7vUJ@5F37H)1@%lKf{L?;uNWtu@ue+e- zj0_@7bbUpz(mG#bz*4x6A%LGr9Y>+)?K)@H3vV-08yy+ ;ho3%6~8vr{E fdo$tE%YxpRVV*?yO}KpCvN=JL zSM5_Szy9~z%MvHq!92r+pXMIY^uenQ@;lrSM_2uaM9r1G<2(b7O00I*_w)5q;5F2n z;bSreaW>=&umJ`-iWl6}NQRAy=OcS?pXdIcFETI_6^!X942VA;S6; )k^#GK&i-O= zpLIxb{=F1j@IYT7m(;88y~6Hh%L>MpUzw^}(t~uvN)3tSz Rb~}QMN|uZKm{E z66U&s5?!o}x?D1;@xZtiRph{Pm;njFfOn$vfFYbyZ@|c|MWXDGo76$aRayRa7}DhQ zMoDQmI|;p3j6YDh2BF=domw6G01mg%D);(5nC`JLCo!fu9CYx@HvDIN@RGx^=ckpY ziGBKye6Uj>k*f`$x3{T&){KVYyYFq@d~dwJ*{skOwZbplrzLtOS|z~7WM4EA-#=f; zXvCd4)4kB+K%XsC#dkC?8@XeEjxcZEDq*1>WxY&iWqdx-uJgr~)i$}$ku=?v412di z*#h29+|mh)gi7l~3olKBcft84`p*+J#R_&*qbuzz9+!$U=obMV6NStHgUskYl)vxE zM)&wriP5-zXSGFuu{lqP2c?EkEc>O6;@Y*Nmhtm5ssvl^j}b0`kRPGuUJDjY@2XrH zcayfUDN+>0ch$>&5=?wJw1J{*;7!cnygc}^64j7TO9mGxu1Y_OVK|zW(x=1H$}wF* zLXcCYqSlB{?YKy%Lcgik?kLS$6x65jc;Vc^f!l3AzjmQvde6SU{gK`Aq3I;w$%#F4 z@GGA$it3GSH`SL)H(0egq=n%V*N^iQR%JBv9NwgPMfA>2Tf%b8$E?S-g|&5KM!_l7 z4?Hs% L$B%0}~3lYwS*q*f^iWiUj)LrSLn{ce>mTn%1o!MU7YLbL|Jt$xSXEJ6Bd z)8(-#nH=`3@2gD~v~P5W4&x#9=Wp9VWfO4pjys33q4bTWP;GX1at(tApK%@^>u6vx zRA1-x{^CJg{xymkq!Os)O*u>RjT7@Jmy!Mm<3O}zYaX3f1vIFi(Gh~>dvoccqHPPt z(?iVTa*Sjx4VyOOc9()V1NMKnocOQyj Iu}* )j1mj}pm72tU5vk>R{Uwg#_Jzsb$Ez)DrO{Nj)EhEIzM)k|u# z{u+J8pGWv>dZp-JYYb?y4a#zLI=z)C;)J(LKC^a;FHxh2PcM-vAL<90ah(Pn1Q+ 9az$NQ_2|cXh 2Ci{7%1>_D;8)>y(WQ>-?pNqqWj{wCX8zV2c#7MxOQpxNPU z>>b54tSMGk?hq`mXyA6e)TRuDp`@<*7V^1J4p)XlL7tx>j@O1r)dYHl5$Xcc`uIc9 zXk5~(#%G`&to)~Jy9H7Cw07-0Uu(>axzWF?W?pB|lJ0GmmF-CryJofE^S48!an;Z> z9`Lk4wP#XO(n|1e-BNv`bVP3_`wWZtgarl$h1&Dxtlep;M9 mW=SVSM%Sb; 96@Z@VJ>R8MKauhN_K>mNtT1Nm}C zDr~3K9Amq7_L@F_;%yN8*uB*!>ZuLiNNCB^sq$B+?92f|rNZKAL589-VCa(*FPad( zSvw>aYJEV7f996X+1QuFMzi&Z@~eL`-4J2(73mu|()e~qC@>@0xFd;0j$3qCX*zO! zar}sAclxsN0rhrFO4+WaWiz;6%_Px0hr8l=qLPc1Z)r{(grw(rqnEoQ7DZMs+yBAR zTfa5IzwiHgo3wPpOX==LxD7ytG^0a6TItDXMF~kIrEg+P7z61BVPi;345Zmc=SB_~ z^Sk%){rmy@VLSG`@;o1xk+q&~GOs _(B&9?5hA4AW&z>MKO4I)(R8~~ z-Q}n1=JEE!ti%s0h6$HoMXkYUSOc32{m3Bt3>=+4B$~E2n$cQ1_=@Jm DV?+Ag zzc*f_9dorg^7A{Yjqxdo;&K{OMOd?EEFRhzv00T?emANH6)Rr2Z~D54j794>D~Pu_ zGBEe$cG+vWWdmc?+uqqAIRM|bR>jSbL4gy eLUn1lD9V0%KH2%sT*Uvb zbDPGKq8lQ|lS!df(Vjl)#wnm$YH)Zzd-l6`^J$4Ef8cvHaLJVH46oZ^HE_s^!{XMh zE3MH3Ut1(i%K0NNV?s0&csmI{yZt!hnvdv1l^1ZJlBg;nh6}r(x8c$C`?kgsWdBZu zO48B85-1Vvwoc3gt9*+LQmB1Kb4NXqmB*E%I5K7RjrId#P%6QWF}@cs%q=z+U_%FJ z%^SY=ek6c{I=FOa9bb)8pQ=o#!cXI;Ep`BKHQl`PGS;=3p1K@FG}TU!Bk9eI5}gZH z?P0gm$D(`awJ8wqv%U8z>c*e7BpX_ ?r%^!pF}o`9Fxd zH~q+s(_r8c0$42nI8%~iaZ4}-S8+smSL~WX)t<`Lp4w(&5&|+{ye=!pV*&&A3j#y1 z_1u?R*j=kA#IAKKpoWb)OMI6>?3IYvWTjbw_-wF`tLO~a$}%5utXekPX;5oVjMts& zl;f=_#Ejn}hRq55rpP<&UYr!u5Z#xRj^I)Pzv1WHuoB5v!!Yl_C2yud1%UfUA&HYt zVe^l@&X}jMT>i-}WxULr26{pwXeT>A50Q{cqO^9xvHh?t{2ML+7+~EAv@wDJjsvqi zgdvvY-rZInoCeu+fe33|aglLHNn*$y?5_ +*zIh!{XoK9o^2W&kLp{4D!NcHC zy|}+O+*cCv&T5v$@NdyAF^%IiLoK$O$YLh%kBDU&d{%o;k#-Yk&a`xzg!~hY;i_vv z`zhTGPP9{ 4B!<)hc%Nlk!NZ{Qg5oq;G(L&$ z+ttgy6mX;?2bbcE1ao3UPhXkNa9(oeg$se+qU2fOaM9vKWD$(uia`})zXwa*LaBG5 z*Nci>>1L6J27Q~oj`W1+1hlnx;MOJW?CfQ2d@yGPwPJ3kj$qK@LEypHMmiauIsyc! zYgQ;e)6lOTHB6UK)tGS>ah$~}=FmH=zjZx*dRqDVPqHN&1Qb_hMPmsPHyIL0wkD0s z^jVy5^;JljmguoN7OHsvMj-MEGEyL-jfRBy)$AVF5@mx3VnvV4*Fb%|Dk+nfpV%kz z+@eS!p^Md`F;NR0rk-5ihxRvPP+j)#tSljQUkVCsrjoB4g+@D>qmJAC$$R<9U8aMG z0=o~;rxnjWml;`$1HDbN>8p99R80HFOzj&|+~J4)ea(4>9F*?PZAz0L%TG`IwfF}C z?^N)tSIVpQ`o5!%JbO3j>cwJL-deO@?fW`ra?UL~RLbU6%7S ZP zkO5<{2g$sz^<{kuwE`@mNa9v EQl@rFMIv@?@gpgg6y?~A+&svDSbo7nE~?19+>|I=Q3l~o98 Hrd9NUZjJ6d$m(rb_ W_dgCBs^B&KEn&w*b3*nyWD5_QC`w jVok{fSgg9U~t29F%nkJ~G*%E!X4aw_rt?FCc7WI^{58 z&IFI7>86hP?Mca*X7<~A&%4``I|GKhT3enTH~)KdGzUNGwBjRnD7LD|An}KHr~SzC zBP$H%40dw=9YD+<4OgKG!%o~w7v+cvQwR&oLRK@GZ{!|4Vyh(?Zp=^^fXrt5*krxF zxHwgR4%x5L(-WPm)RjWzcY2R%KrW!wL=|icYEF &}$4`6#=Kt z4C&g?uk&cax;ljEea?L!;D_T>x$-M@Gmq^zN;i-j;Eg)fJTza8QTgFeerJ|=#E;a8 zKjggO?NwQzmw!uqDF0cJD@5i@oo_OQ^Re0vI?-ndJv8Y9JZuRXB^eNI^^s}nDWRXb z@!K0LP puEc8zl>aEwZDf14NIi ow5*5L|2FLnY$p2JCJ;tOzo8&8;ra8tsiEb(GjbSKS`LW|?FswtJmoEG zcnpvTr -jO*AE|u@3@QvzR!-s3Vqi>$TLxS& zJ`}Uvw<`ijN!f)j)CLifuaae3xj^1VonrmM7v 8tR7A^3scMcj~L)#rd}`4Kz{C6aknC0u6MFE!&f$iXN^yf?KvjJ7)h_ zmYL1l&A&yH>x^S|@a~3R%#eK+gxnbi%>`B?)AdYoNna7En6PfYCAX7>w_;*yI<+8` zYdP>S`FR>8p#OnkWv&&LXVVx`DLvVSvv!OVCTDH@H~_Exk)(rT_TbBXyYbA=U3gl_ z;9_$4#pJ5|(CfD8CW$z^@E2bL*O-n6KdwJ}SbNHpWor%Yew~r==~Zb)!9IY>M(S{B zPIy0xVqxmZeG25|3V8R)*><#LkpHanS@ya8e8psEp4H4i+xF$k2Q3~JKDL-~?7fsn z&K>>pqZuln6uD!auf}P>VVfH>wf}Rw9&4)p;9UcITnH0*QwzwF)Roun3PfP$$+TQ& z4GvY)S7I$7UO#pr!NPKK5VK_}tCkK|7IRkl!M^D9#$lPhm#Fq 9iF}Lb2nT=A0(Mf-by6Mauz1TkWF2)%3($XW)p_!! zdvq^H!NIL!zxn)afi=$+caBRWoT@3LRyfT@O%$dbpJy~-ndq3X-YIbPKVpVyO9z1u zMxe1ED&b*P!G=z@G1vpTXDB&D4jUgUe(kw2R%6B `lHmI$^PI!-wSvSnh}tL>}A3>?xuc3X|vv>-8M=B(MTjwRpmUyp8>Btc>; z#eJjDhP6H#Hio89(V*7BrPkKsSB3;585*!2qL^NbbpQr-?Tw qJA6)@CU0*m`Qcdon =eK{@e|Vw@X*-m*E1wN z*kZMEb5gW(#o}P)%fB~T>pP3h+NT;@|1(GcXrAZ%uq)39)dgn1m?ms+kfg0X!c$S` zLP=>Z=0g3au@M%TOr7gSsa&jbtUTs{QDX)3X^Q)UoJ!kkZPKpA8(_&Y(Goz7hHR}d z)yEPi&X{3*6L qc@7XfZ*+Q)xS4 |Q=JExb*-#t9=~~K zngag>H^lg0cE{-wpnIEuatYJSN=qmZxDGcmsT}A0T~(rPbh2s0lqOCbM>)~VtiEt< zp|>x%k)On5%(0d}x81n;Kc3Vc{(S!vv&=%p8F&|0bNljg)!531%NANfm-Se|<7$ZX z>rCKczMmWSQuC!$hz3IpfBoz}=<11`45BBFlAk^|7RNT{{6pttPoRf}IOA8IG<)Um zD}Qym?_`c%Pci#fQv#EeL8JCy*`Qoc> P^N$NFLKt46=D9bXbUbnOr&M%+3 z>=IM1-f4xt+x}fuI&n?W(8$E%cx=aDYaCqZiRC++P5xu_rke#Kdjx=Ystn^D0OkAk zL9EpV7O-B;wbwVJhX2n3-$z++8B8|aeL@hyMnc+DiWxf%U2o)#?SLmWS|fN%-LX@B zVO~J%M+PDJz`S|U9Mfs(!XT%SMT7W~e*0%JSe{)P9(M&%h&qq |L453}fbk!x%zZud3V*~wfusda zb6F%7JSC60K*J=3*#(9PoGJIs`Z1f@2hk-~vETk+8~hl9Mv4MT@h3+IoT(Z#qMd+B zv1xcx2>`AlW;TGW#2j7Hq4@3k2KdDlESxP%Nt;P8XQLiO^)GW8vy)7TeckfcCC=>x zl}{1e&RA&NRBt!`k>!y@(st8KJAu|Vaw)UjlOS*F9qpB4fi7#B6sQlSMPKVvJ`axU zkI+Np7KQZL7 %9Jqs^)R7eHCwucZdF7tE`Zq1Di;1SuUkdD8qc!2V^XMG zH5NUu#pZuk1!c?y?zpxb0_zE3$TuOMhFcqws$K^ZI7r9*mQA)SvZ`vUUI;pKR DiB<0E?15}QrWX!Myzv=3!on@LR*S|x(N#-E$N zqv8~}+rvW8KvBjIQ#9sR=JF+0@@Iirw9T !y0)u+#C+4aqG6 zpUNCdL0zXjns3EZPCBFdS8T$*ccqnUvR`Qr+{WAe*{ K4luLJtfG{KAajbXo0%RDDSL;WcJn3%ZB3@1o@hIb1+E^%Qa@m4S-S z kO(&&s#i&c;9gQEBo(6!;Tm)6TyUx<9)fDA}QjEwGnxfh54hC+F=aD>b^*9xctk zT{vlm9#=&7n?S|00$7*4lkyD5!gQn@4o<9=oOG`_kMxpBt^tvXKWu!9jK48yqXz~z z)hK;}NQTpvag4SO-~X`DFxTUkibo^x)-h1Pg8;ZCca7cLF1qIOT)Pn5($8fAGpCEm zK)I}~bD%P7Ihs#GQVudE&bGsgRlqrRjZ+)_i}l{^)on*_r1ZW$ m!f zcaYbyNy+1UXq1~oXh#o{OmP~o&N8rVQKoKIR~|j_io|LPYzUY3{-jmVxaYeEh9S1r za1G&teRfvjD?iE1!`MuceV)oO9Q3lA6aErg4oM!^P$UGEsm@_~Ff!8reP2E>Z!d?b z8BK1$MeVW~{rYe_;C3*n$+a#^4&3H8mE}2VTf}B8H(*EiY&mQDC~)SjDEX*y$`C3R zZLFn9@$U+tL~2Q9%a3rgWWn>MQxhVNEK2tH`TzU^qy=eBpQ>G3$3jS%aQ=VKs0Z)H zztS3qR(HRNA8Si_p^~F^<6>6VlJ59_j!op!SKGb%qst(!7?6 zp6a*1NNQ2h_V}HxWAi9gFD;9q8YdGKAw*{-{3r2i&%EzWURJ)B!w$M4&x6$o_G%B? z1@{9jpC`Y@2+n)$baqP^$r}}5ToYzVHnl{Ad4@GX8Xi*ZEgd7LG*!v=`#qb4q585? z>SQ14!Mz+;*V}A63P%bN=xxmR$r8R7y0ZE!qs`}mnFZyup(+wK!F3oHm?cbN%-BHs zvtnaMqQ1yu- cT|44ua(#H$U}zc%Dm%1%SQLqL{wE&1@|K_RqDHz zYL}K4;2i}3X~#YDh*7;9FI^4&KCAF<%hQ%YJ_;`^j^YFNumvX#ge8IndeeJyeL&IP zvtj3-eQmg8yQ%P7+Vf%MDG4vbVux(EAEd1)9{(3yquvTR?EAzU)|?(TUns;{+nnzu zp|Ly;@(}Id{S$F}=Lnry05o=`4l^>Z _y!sNqwybrSXAxrVv&Y1J=X_+_iy8c%+EYZ`YZZ&E32) z#tlSQKpZEC8;CwN)E&F8O^s_K#PfIniTts3N#Z|Of1K bnTU_d=cqk Ji0iDUD^((z7d!HAGA?s~^awL?C1-;&N=xj9hDCM#SmkibsuAI0Z=ufQ8x;po#FH zL2p~8*Y6LFeu6FdBhH87uU1P1M^HiS6}%?oe|$AZhIQ(SDJk?(HFjw}gB~!jBG0#i zoQ4-eaZUCfO~b8P$=^+)CRu|zE!by-^8zx4@wG*&ZoVG0hQ48kOIb=f%OdA`vD!K# z%BFh?(GMgB*b}eO0DH9 @33vaAno=L^RQ^?>xssy5qvT}~`;s?eK9)zD zX0<_d(4rR?w5a5*T$Q1X<}YK9=VV|ZL~8FBv}dZC$Kg!^`ld>Zcl@}`Oduc1xEQjt zfFJ&= o=|qMh*gHfZdp(5#=Z!lG-OzIZ3)q?kF1EN&&NgT zSrVf1C1=diZaHjUrp19cA|yh?{ldO(9d)hm4d3kkF)bN<<;uIVwWz;(NTtP%@Yk}* z4alKi6K~?0`_$@})WGR(Q( qj-RiLig&uyNO5Q1?~!o)#Z6 zbDFbBizV?E6AQD}B4jY#=13lgoL91Q725KB*lZibToh1svX<8G!73X+bB;0RC#Vwx z>*r)IbBI`^V+{>^V&OK~mS}*`y3tCA{d*%#+s~Mn_|cINY@0tXf*4k-RbpT!o<*vA zTs=;OXinJaSAYR)?aK_bTkqzz(&!4&$jh!N+huQxh)-4fCc=>yf5!Ytl{xk(iU~6! z2%AM<0wXAOwJ0_KDCESMR%w?9l)LCwrcC17P#%e>4e-vvF?=6)yQj1v`QreOFerAF zj}0R!ZEnCB2Q|w{XzhH?e|z -|T12QNpG`z1LSe*b8uGL(*+ZN~7N6FF{I0LBo?d8e zUS_FZ6$o`0IRBDda(?ea&uSr8E%F7(DS_|7Z|TDbF{pv!gDsV?PUY;pRH)~(rTMMO z0B*;XYU)0f`l3rZWwoA(uX+EvB$1kM{PVH>ni3hWBDApfv!Z QfaeYsD8-F* 8$HRLdY3O>x2mJ-KnjC|kO!{+)zMqXrLi-t z)OvCK=?qaU;~2tcdiD-My5_{qCZbqT%i?Qu(HaO`N#O=)wMz6iZ2x;N5MWwJX+yay z@}Y+9dGkj3T0ITK$E*CG+MNvyUPMhZZ+5lQNS#i<5A03cyiE}V-bo2cz0e;1Q=>@% zxH2lx%)r&m0vlydcrbA#Y==I=Q}1>zAQC>2Hl(j89#HbY5IA|3ojUmR%-UK_SHg1t zzDQ{F=cSeokKq;8h-g1=p%^9sNe(?f_R#>*HQLy*duk`QDt-SYx8eo1)=^Oc?y6y& zy5@ !V`ckvdb{duT6>-T rbP*Ls*+0)UosjZbVtZbaIfanOBg-ANz&3z)ifU|%c0nqS!t!bzU$5D8kw7A zrx)x^n;W)-tT@aaM;?*{`6Tqs5!nMz@ucurR7Y5afTXKN5d}^1>vr5~c!pC8K_o$q zpWb=> 6@Emv?~>1fb4L_O4y4Q8Yy znFq|XRT6H?Dyo_>+8pavC6=tp#G)d#5k3?GtW{F^V!ETUG=~x5b|rTVY3>GnRBP=h zp3{#Lob>sO(!!`&R9w_4nJ3$8$t+EIpU>*=)-Fa38c2>F5BXdFLI@6uMc=y_=QybD z1J`Y{dpB`-)S%@z9bC*Ep_@z6p>Te4bbjkA2o oHKYIQ`TYlAp$7;VoqgRcc z#@w+lIRJc?(}V(^ua9 iG|22b+w)`Re8;7X@WpTK+K3^VV(VV>Xer1i3~z z@Sn-@p70Nl(>M0jIa-fE-Yz(y*EQMP%<-|OGxTEfVltx tywXjG`B8;L^`0jqHCwZ?7$c7>UgZMw@m2|E-MnnK&`&?~Rw|P1t9+G-BCBar*db z&i@&oNy{WTObX5OA5%@n{NCpCx^K-4oM^o0c!~tj_p_gt+6azzC%q=#JoF8DY0~rc zegxOw8%CnDFqyzl7TvdZ0puaE$%>PP^YYVo;hv{@q;pq{F0`T2Do-xiTSuq=Sijm` ztlP6ERBr&6KLlY9FDm zRl0w7l}qBefXHGm21BKuCAe$Ve!bVOu~o)e9%)&r;W#gog92vQXXez$OS+U6&ab!6 zyzB5Y=u%sB6?3%un)FuL|K=~;J=LG6r~;2P-+TX^;iQ-kyYn7{Rz@SQjdS3JOC24x z8W$1S=hq>RJ655+#R)5XnjvN2TNr4ZFUbH)XS?;hlIOD<)NA5@$G%Oxeztka4HJzW z+#sK%-8p3a6Snb3lSf! y7_;)Iq?lF_Rot@hkgAnn-*mrwXn*J=Vj{^Tz8-;6l54Hj@d|H! zbN8R*GIRcv^aB67N?pd-H SS6d1FWNUBHWLOhR`x8Ak)cg|Rb9e%D+{Ci_>f_t#u=E)~AW1piSF~7g< zBLdSZBMtjHh0^8d9A`G?{5oUJm0_O}{?hHG_ROYkxrex-n9E~WW~kSY*x=tAE|khU z5-;(-KGAw4Bq{XF35l-1oa*&Iu! BForwNsnbUM==dctIVCx ztjGCn78W;@^+Fe1V|}G>Lnd=@i48BzB(Gbtco>Frpqp%_D@yw*I3y*R1ocbr`7dnq zMp@-sWN!RGJTB*57AB1f9Qem(%T|%L_x7$|d-%d<2o>!m{B#Lvasd8DSep}+uU3c+ zOY90m6F3&_OE`5o3Zldvrx-sMC>7caiar6rycM@)-pK_%9+SrL=rM0dgSq7UR)2ss zrLEq_>g&zFI*RDdEBnwpm3KYEK*u=*2{kJb*_Q*(gCqbfxhFln41W#>dYEG?+OTrk zA2eAdsP00mZ0dLO8mV{6J=J+9%c_GO^<-6f57X69>-)KeGBR0hEP`-)4ESoF)%v-K zu?BC`h?6ZBm-; 9aqII|`(N19U#15Yc3#~fA5kh}StQhcxi zQmR@bF`LU;*R!LU!eabYvJfMN5Sd9<06qU(Se(> z5KY4!tSBbXzJBp$f&eX3vwV7PKkwdzDi^ox ikplOtGIPFrCb@r+CObNlo!EnC3juelNT7J zOyC~SG~zwVnQ|tS@TP`pxh*&48+=eS~uFnAjCSi|@6CNc=d-a;)-LX9|{uxYwr$ zk-)a5&6`!mMsLM`jDF_$2-{QTQS=B1M}!IizE~WoOZ#Y|+N8mg{T5K_@tgZ^O7X3> z*40De0H7CUyTwvFfuD&?MV`>co3!NMR**}&44<56PgL_wCP{W!%EPT?*v<=f{x+~$ zs9<$PUxvMBO}kShjNWf7WSoEAIdyVH^c88*{;kQ2xkpcQpmmhyoCzN&0Oe1V#ACHo zv0;D0NIC^q_r~?8x7|***XHgT(>`B{kfHTor?%!&g4zPTjd|5u^LnP*YOH!YY3%O( z >vxSb*(2J`oM*3E&n-2#(Vogim8-bp-K>IA#WLEWWw$Hb-Ld=1@a^RZ35N z_I{dl>n;9j^( (-9Kj)K#p ze(EPe0}}|=#4_6^z=2WCBST=4seT_&z}7U=)+cw2Wi5R@cv^@`V$3A|1Uhl}5!})z z8Nxzv;>9@AOXCLOAh{TqZ5OfiP#vC^0mBkV3xI{26Jts&^`Ar*Tgaz4wrsAzN;QjE z{vTv!;zBQflVF$!!Y^^=H!=QY5i0a;XSnB==sqWmodGcET3}psxaxMEwLnYiD$}If z8k3~it&77XN8#7YEdI(Ks6UI^vt`d1KMdpBH0>7yE>fNC=A1Fo`r?`2Cu1rT`e#b7 z;o>YC+pS}!EvLe6`Rmq_Ijn`RWvE1FD*+re%p;*yYq`yjYBe(|%FL8xS#ew-kJDi!f&~J$jpA0lmgY$?yBlTV6b&t(iaEx54F1CTDA@%zZ2WMff!2bpxn _jF(Olv(2wY@b=ijs|xD0lncW zNwuf dTFyH!Ha={+u2g>drS0(F7XV1K$9>M1O8zWw?*_g0-7fTa=Pv>T+>3 zRIwHgfJWC*QIlc+#sW`q=D-Z=tYLt8!R}a4rPwj~3hdNtYt_3FtF9gQR>+_un%dLl zUgv8@UMs6_owHVN`Ms2QjY5Sigz{bABeRsqBAaaou2{W<+&Hh#WfTe67KQ(+#G_1K;Iam17u 3K0ebE`kThFAqx zR{87OXsDFFEoLD$P`2JD#cX>2ZD|?RRyr(1wgA$x>ND eF%1BW_~trM=CtI=f7nz)Tq&J{6V$t zXyNr)7L5XGFPK;`=tUc-CmHS8`r^OEWC5#yM|#&ytK)lZ!$jjmIZ(t)oMsMpUt5&3 zy8YuE{5p^BE$)66F !CmN}IK zUlKq5vTqk_g=94qhMX~pOa-%k`FhsnXC^qe{ez+K%i=KSH$9O#=gblS1 fJCJ5750>{pI!}ryS${}xH)wBF>XPt7FVgXvw z@5`_%$(-dxySM=UeM;MPT&Nl4GaNcpWS)ceuLRmofLH_o#hPkMN}|6m4zY$k6ga$H zOQMz%v1;6bKtH9F6DKJsV%VHh)$8Z`BJUdaie+5Ti>lY{UwR+>$Sl%G6t_55^Q=#m zR>!9D$SRg9s8c*+#->O)Kb!ydI(sxs7br0|uiw>E4UWF|5wSX>hw)(O%n?qG%<>f; zm~7VI=C#-{Yd;6-oRwa )Y!$b4o+?{9xdq!goNJ9g#N(1wvHr*n|H_Ql>FEWY zjoULYqgk|#jgnu;^UF|Te4?fU99* W zLVOS?mqu*VVpTmoTq(9C6?H#iJ&rh^8_qQ!@#?!&ir!niT`Xa^Bs}kTk(oWHLef7e z)enfLpQ|XQcaidlzWCly=(q9rhJ*1=2THj`WtoYflT{!S5E6n}3Y?j_e~})Zlp=k= z@hF)|{%B|`k&4ru2dy)2>Q`oXy?Lydg%es*Ixiz?G*Z+A`q90*g|8@_i#Ztb$o~F7 zt^jxev!GEI%8?_2JYph7DEJBDH2E{5-#U~0SH(lR-BJMd?a{6{N%(y|<516nV0)M$ z+idhYy~NfB?5HP7Zty5AWFAGpM$jpVj&*rg4$0gyU%uY#yjW4_EG#H+ot}^G6`@p5 zU-yr--FsN1)o>_&26~35A_28~C$+jcX^wnPcJo}*Eq%z0a+h Nr_m&4{Ak3^;G(q2@L*p;Dywio zQ+?%W4^LM^iZs`t$DKPuj O>+8!f|l&0z6Jqb-$ zpLIs^`0^w%*)w(x>!brW>|tyhN=3TJInTAu`eidn4j(7*XaERxQcAb@Zdn@_5KwDy zQ%4^o_J2YXR*0EBArLCljVUfYOpAE Mxutu=LlC1f|V|D=F%4y z!jE_>@l%VQU=>?F{a@BV+{xA917oZd{S@=h2i_Ap5%Ufd;?c01=J#^#oYcz~ubhz# zG&yd6Z`fh}pb=B#*?#oMkI>}rLvokv*3Mh)i>b_kmrYxhLwSj{oceQ-eC8({V=%k{ z$|H0!a7-CS>nns`wu=9yz!SeKS1Gespe4he*oR>a-qK}|E0B{jp}1xYZaEgXQT2Qi zq5OH>qL$m?Lk8c;<76?fjUyMIq*`V$C#LD?)4w-hO|$xmGb;f>cQW}w)=y~EIIrpX zU+~lXpd@d1@HvN=zB%-ZyEurq);Fx7rLi!5vr@y!MllT;5dGAt{H}At8HLg-3=$c> zW7fjCE?p?P>$f!VQ-n)4FfdD;N<%GBM7W%MKzvB4qGkzBh`SB5oyPc}0Y?o2q$6~~ zam90 vd~FRV*5$+tww?iLndL80L=&7*D-`vW7>{+t}9Vq)!_$ zmBgQ=@g_sz +KRmbOl|hj0!R0xWja4H~Z@Q5;b#%H50~jj!{1Jp5RE z_$1IWl5izME63>w#xk32N51f1s21MZGic)Nm3gZ?+fg6q5HDt>6l5Jh>-iU}qj*;Q zI-e%4=-#ku9>fc*pWzJ7NKhS+C^M4^h-VzQM_G?8bB-R7fe9%5GB 0rK*&I*^PBVf?TK#~0`en&|zrpsK$lflnHnn_fZ~|gx zoq+KlHEgSvfbUsQ6uw4;91`>F*)_pw?>H>DF#4 a%23eK1g;U_2`TI_`+@vfe;nhyp>;NoTf9I*eA z0K(!iSqAb5e1%VN*;BQ1>SwGx#mb0R`}?w??&1aYzpU0NPsK49qaNMys GJ|{O=dRD2|;i)85rFj+@4cX (bp`d(%8vB+AK4H{4Y zB&KK9Z-nm_@C)&@+}(P$-LIP$`(H(OJv4b5+@cLbsO2QEc51EOpDtpS#U?}J8|-Hj z6soIOJ?`mA4*S z=df eP()K-4sWf-Dzndec`c;RjNghB-JfJ8Id!I(= z`zl`hoZ0qdi`lrQA2{(6S@Q&gnl|JHzUSl&o7w*-KA!Sl%oDzMDv98C77}9&@?)}to@gh9w5-is zbz)nsYn>-1emOJX&mYSE2hQmNWZm2P-G>H8C<;kinUxo$tr-bl>VhLv`cXEzk!g^e z-<4(%T9Gq0pK-NO$iB~XRb?eG)A`OpAIoZ1$$g6CV(Z@7Bckh-Es2d7}KEY-)cLDN#Ir-U#*@r#EI{YoH zUh;vjW(dX28l(N7lYziK>SetZrWXg_S3>dVE 8^m_k ^tmt9ZRHhi!1>`qA65 zX4b(<8B`F%g9dT>3h}tRH356Y4T#lB3&g8B^V0GQwK{NnRqW(>#SY-I6}7WX+~d1_ z-G0ieI0vph^C1*ok5 m6=G8u+pjmCi|z-u z!e7;a$sCwBaUcj!H1`AwI37gZ>WMZSzV$_qD!$eTxV>!QPb{!2(}jv7jhX&iGS2(I zDU0MgtJ6*`(}WQP26ss8FQL?*tDergqe{bx17n?AV~WdJJ`+F@(Uv_gSYv3@`5xrT zdd`z9Pf%+4S
Fj$9P zWvm|F2YXPqBLx~5 k8jQtC8kH{vU+tLXX@M3OtGnQ7?uDO2WE-; zLv=HGM1RMsE3T$(jNQkNe{L=AufE3$Zm_$R{(3GoAV+eO`9oEMx0)XPYSmOG9;`{v zFpmo`&!Ud%D{yApG=tcp-S|DHL;2rF|A^mzh%du1#F2!e@d_vg%C78z%`&(Ldsa)U zMVE&|@;~Ub2?+|X{^PJRfPHXTk%bATk|fEM=7cmwYW >r1A1_v534^>W;WEoIgJi$M#7iX&Ac^gJ)LQZfi?}!|K?Ru?DM_~`L zC^5r|`KNXDJ7&ZfcklWI`|Z`T&qa2+siv9car{&^>wgjxgC(p|IB-5wnGf%zBC+0m zj6wF@`UH LORHUk3>|8#@C zi#WE`LzHr!fv?%-ll7ZOH(m2f6d$YDkPUu-YlE`}l)m98x7pUhZEh3A7q4WmE5K?M zU*-I8&(jR~YPa3men~e)-2`fx5-Kj+>3SEvvf)SpgxuDpys-pg4S5$;%%gROIEA!5 zNgtL6`wpX47!G5H u*CT8ajrPKb?25RV^&*978}6;ZitP$Rsp{l0=K~z(`+oqcJV{*SQuee(_0Z^VA82 zI!TMkvu4Rksey0}Tn@ZcOo;tzU4N1Oo@X}!n_LqZ82i#e_tY0`T^qV9#ijrZhlse( z)QF!^V6|f!mumhal^bd~Oq-- b8 zMF{2Bp x{jmf^v%lKDM^nj>`_n|}ie8)R$!#=v(6py;Z{ zlHTBW-n8LM-l-3~pgr7{z-&Cy%zfvVH*d9>WyI4z5!O;3z2M_0Vdx}TINy}E6HmTR zb;TJ)f!WtV5r^}Bh?Pcu1kHGyZG2j{82A~I%v9et)2Urk0WIC`p`&28I~FqA@cZNv zzc=`udADgPpFqMQD~*5E@1Yb&tD9~YWV>va?EqdO+P(^ sedME43qK&yv z7Os{-Ac4~eH~vV)j7}c&B)`l1+1CFh>Tjm2I>)JGdqF^{qNOPYgM#U5_rI3@Gq(4% zDrV&0+p~+sUka8eI1Tm?sZ6$R8GQf9WlG^|QM@5Cf&t1(9#f%>j@p{h+{K&yv8v zb hXjaHE(Z0f%l QQ^=)fU}c^2$DcM>z=K^WCW%7X8-E%P+i2-_OrW7!vaT zk@sF-O?~mZF6vhi0g)!sl`175(z^{15JE4Z35b*!LNA7*AiXIiNLN~D0VyH0fDnpw z=@NQq(i3WcfG5Ab&pzko{0HZT3&vnDGS^Bn*ZjQi^U%?751!*dq97b*rSF6u`mP*G z`_eJOOxExTn+w(d@uU6UnzXAQq>mtCz$qDwuExX;U)v}OMvIX)s>x=iUyUF$f#yMd zSIne_|Eqa%ZfOPPy5sSLI?k1X_M^yl+jerKO~%NA1;EMx X^PZc}P za$%bO{YGfro1sP+xMW_U)Hj%OxI#JxC0RE}XQX+>{F2>qQT{k0w|Ie}LZGF(ZS+Xj zKgDQrH9?k}ty8Hd)~CD&oni Wu#qs zD{!rxvT_RjZP6h&tJ{JfA9QiZV)ku|vk7_u(Y>Jpakr*x^X33O*&Y0hpOyOj9x;5T zQdasO5#9eRG(xSw9_;Pv>>cb3^$!`UH>;h+vUV-MXkM|hu<1;v=O7R9nTfX4U#GJE zKiB6L+JDlIh6_FAckJ2k2?evH8*5$F_Vs^kHDguK*H@+5IVxb#S=dtZxa_JP6=>^! zWTOB3E(`PzYvC^WtHwt(D=pO@#m(yR 9G64Tq9Id`Em6kM9n?qBxI zUWjSGHD{v})e+rADE}o3mGjmq@4m|w?>xIsM)F^(Z&U}T;ip``sj+I(Bzod`=e$hX zH&V rxYKptV(p4ErmaW#j_`SbAU`K>{8Xdl|DI-5@ej!L!nQeHMQKN+*stcJX1 zXuNWEq?+Uf^h~(~VyGmR_Wn@?p-Bc;*VWph`6+H@$}0%4OCpO9g)NA(^`%RBBn`9C zk-Dg{U0>y_KhE_KrN4F!;}yohCL2A?Zy>NI{Z35eosukPSK<3S_=x&SG8+X%YDU|9 z&F`Aihq>&l+TGHFRLY7+ mZ zPhq9)tnnvIYCHNJ^V32oaA!gqe5H$f_s$F!2Iflayf!0~B{$}Skq0KP;fdQa=gPv( zjgo?cW4IYDTI<=DUT<>!o{Lu{TmH#TdBUL_)poJJu=IrXe@R~R%0Yn3v{DPq>@h72 zF^`iys>tWel5MPqGgC@^LDfKau0fWBPA|U3MU!6J$L6T93HO$XGvrvXFNdEi?$~vD zGq+joM1_g>1LG^Ac3F@q30Xc}_!)z#4XCdB`$;d5<)HmI=YjaHQ{>sr*Y#d+UHJg2 zb6M@aUPE=;bMpzu5J1t0+K#s0YJGKTiuSZjX6?kBrVTt%yROkaCl_rLa_G>{fu_8t z8NpnkEFpp$9lQ(-w*&oh?;E_$fB+UDL3Ocj)r5>8$AxW=DP4E~HcN|%iQZ10B1u4F zw@*1&QOU+0AtRJwaiNcq+1(i75pDTkr=d+NN^;#-&kHo^vw FNPc@7<@W7X`f zhYmgW?cMj$=|#L@DDEv{9h@A|wmfv5nQyJ!GkNbEt|G-7<^$a}oAQM~tPI8_?VG2n zLZ(7WVV>*33GRY^nJ$2g 8ibgpn5+N`apsNE=2 z=jBhzgkx0y6z^TEWiPx~88?d6_A}+@*uq$PC-h;}4YW#z?Lc}qGIN!g?#J(s+BVs0 z+XhbO7Z#P+Rk}$?qTD48x+D80t219K1vtT18?i$vLWtT)>VR)L{f6qFU&!H?4Flcx zG!DzEPVM%)D4VsR)3lf4d0K`FB?p!wMr)r^*1UM-YDV04>qw^APOQisK@qtuh@Pe^ z;%0#zkfa!lupotX4CA3mX|f9sQCkbRS+~sKu2!TFa@}p+{e`7k z W35JV816>G^Yo1eW;_Rsh=+O^0dX9M1_LQ*{K+K^k9~5Mq zbKaEf4IY)RGk;mwg4 (pk&u1(kE&)j i7Cs(2T zgHOTfy1@_#zjcKnr?E=q?~^RgB*1*xdreUzD@8$i-oOcnn!lS@^LxQSxzRaWeLdk8 z_f_}fc=0K~Tna&H1NjD}&Jw~`FRQHjY&OSiHtu?T 4v(skWj6zv4Gq7qM`4^N! zc=hc#3=hmMCXcaGNtNus;M7E9m@zhq+c8s0EI@2A*~aAV={L3hNPH73^ E{u 6vGZ!iun+d9$#z(>uV0IYFV!wWQ`fZ4K>`u9EWZ zY|}=Nc~(M^B6_#)Z)b$B1MSsoSD(^7zZT{h-cJ2FKxO>HcG$~b0 *@n_ohL6Ic(lzD2_g> z>W?AEpB^Fj=Z%v`{nhJfpp8JeL#WlkUU`$-dt_FG9I|gu-~4ZDAMkCXNr?XmG<0uV zf78r@mT+U@UT26 3~#vgi>|cglR-FE(Q{)5~Q2;=8ab03fm4n7H8t zchetr??nhpn3pxjCgkiDTASq8)iqZ6iU> mq&lah>+BsL_n8l*=9fXe>mJ@WcHhCUNxSz$&H{zMON~%?e5t;uL#sCV zW^!EN$MK{4zPrG-Q<>PiA0DebVXOnVz5$y&FLJvwf2_DxYbsZ>3vNKh&i2160H}C8 z9w0_q{89W*BuL`;psDGg?dU+1qfdDbBR&c_*4yw4f+DN}cs9AsMkkjSgQgzM06n1` zTRch@MWX ITxQKHgTiA(_>Z0}Va(_12!-*VYzOn;nffvpll{ zzL&@fBBpFEaW=ZFx-@&+ih@*)r!eS4OUh`)(qUvVeX+aR4L _NpA$>s1Qq+s?JpjX7x^zQqoFKV{ww+1$ny2C}?=hv_`rKHGY{N*O7(U0aI{ z+0I@SY~4Lb20G^lzm)mo!(6#3ck(FcUc-cJmfj0DxF5%QqV4XoLB#Snz<$5-Tk^cJ zVIYgKo0ov!m=zVDMd4el%v@pq3~(VhtEF&NBD?H11YF+YLk(-M3<2+pVa*XW+G 0w<~4iL+MjL*Bp5F> HK29GmW}NN*`0YdgoBAKK>;f_xLdjFMrV{3pdL44Dr8qMq|C7A5 z!8bd??A}Ezr_h_lsSc|){RMUICy?nz<>W2%R+gN$TFE^%`X1!WV4xh@$rlgh`dJP3 z>k~&7M}tm{W%P=1A7SD@RlGGscmm;;PyHofzPy2(JM4 YT|E&o zNlzW4;$)v0U?6O0ch6_+Z!x^5gDw2&Z*towbe?-dBT?fb&TU>5mcgH?aAmx%+gM 3}yHLB~!Ls;fXq1w998mQf>Wlk}qd M{u7Wq&(*vJSo5mOsWfy)*NgKb9=ij1?$ zlJk^7ZnI9UiEr%atT#dNxJ43(O>6Ycb#X~D?D(sUs)PyTX=UC1=XTk~F$Zs|1Yu@f zmiw}^>b_uC?;!1t3* M}tyC2b$wj~E!mh6!HaW{9~_ z@*%LC)U#uDW*UJSoGh90e1?5nz};!c4yl+HzZ^o}M#^M8km7t;nF)6GSstXdbe~%} z!DPj44i**`7o2x4Nb-4_AJ=%nH>MHSeaj#Sm_W3z?l7&2)Za5yPY11yn--cQGS3&U z&h-;CG(V^nIsG3WZLh?#6*`Qd&(dAwL^t{^LZo<)+fGvbG1Qr}OKvic&Q9J6(cH`; zk(p|8D$wRH@nW_VHE{S|J>=LtWT)w`)Q$?kyJ(}ynwNl(*i$hreHwV|>YK;g4=EMO zafiHfuaLL`KVEvBY`OGVefscpWQ4~o?Y0Id3PYjoWdi3tl4Prz TXGwjbs?0Z*Xf*(*QcBS7~GEZ`eu-lr4fs 7T3mBy2w%&djeh z<;rx`klE~&x70naG}MzVh<|rfD{K`?x5+VxNnD74xH{UuZ{<#0Fec6_MNQk@#h^1S z9PfZ^K-$hKYnw0EvR}UOjr5x*7#td}W5&hLy}HgRL^(x=Z8H2XzvRdE{xo!zXq&WN z$0(+ 1F zYv;51N3}N$#zYIo(hk=!3oUz9Eu-c@vQ%t{YsQve4rbU>a71VZc)5_8xeqq(Qn9)n z6^e(rcV#WT8SARFoVT&uRGLa;vx=$Q6&?jtLU-!wU%ty&&D^9$M{~=qyxj8?c-d_% zHPaMd 2_{xf1Tx$L)eB*qu827U|G;03- z-Ap=TvQUohjCNu7*?MBcA2e7j$Eq{^Zf2b;L>$c*P|!H~CNj9(m8)jxd^z!&wrikm zugNq;R9@GZ_K#}kL|A!`&8KqO$XkCnYu?{H*1rT7HaaM{eQIPk_@+)fMUu=X&taZZ zyV$=WH2{IEbMz!Qqrixo@m(Kf`Mm9o<1Xd}n_j8@2a%hOkXy6u91W-WX}g(gu~R@- zPJwijR1mOgfBW~t{Web%v$~a8(+QC+k hD(Z?vMSgVuRq0+-ztw@anzqjS>GN3a!B(_K zTvM~Y?m+6MP@_A-P*Y-LzPMg{Mq^menP}OZn5<5V+&kv}q<+(B+_$HuEpdLY>ryon zTq0fxkRab%Ti716J{<)O%3@OkmJ*V$M_YH^swkhA+mIDH2^p23bdxdphfrjl>)-h@ zcO8h%?VNGeMxl!FT)2KdD(zxsi>+-^jdNnm=6Btor9|D#LOrOU-@9N?wmU;`;N9=J zi%4+v_ne*4HATngGKT&8jC|BLqQLX=wc6#o bY?p>deL%rw%r2*yMw{*$CC@HNrPZJTzSu<=`Qgm;b`}@se&<|^FVi}iIpZo zxq$JUEm->IB?Io_3)IrA`^XtR&IGK};%+e`cDxFQE*WY!_h KmTJCt{+9Y}00!k?R zGk66K(4TDIh6g(@A)+SjgITe2Px )|Ds6(UAp= zh|adED_7aiD1>Dcz2i`_stSgNIEx+6%%PA@6Z2ch<9#bvPT!WQ!9Da~GZ@nJYv+5S zy0{jPTz)-Y%=2xkt9>PGd9PkO-=e}tmCsbpgtdjhFEQHxNlDCAfBR!m$#`S*A5}p7 z!}fP{%j|oZRI$VXKlEeK=2Ub}2V%jYTKT$l 8;t_ z$F #B#)q zZVaWhz^x9jWcsR?7`~?GGNq8?yVd z79*t~3@I$SU^aMjypE%*n%~<6u@BE62BBGGE7zbD^sl^qT|GH7GKE8vGlMz~P`DTm za^`JLieFbaRbE-25+473ja=9JfQ9Li{>0D?P3gq10 P6=+=uV&*OZx%qSak-=Ea$r; z7Pf!-VecGscAP$D9I!-5PtAdvB_;jLQ>JVo+-KUMfw;;dWbz2wU#x#2BH7$cLN2)t z_o-+??DC_<#xO)6dC+Id36DyYg$3|gs6@xU961Fya3Y{e8gtcFS6IEy6VISR7ZS II9tlm(6arQEu1{lR %hg+EYjdXIikm%ro-8Re1xtpX #L@MWygYFsxY3v3|O!wsz