
/*wikinvest/javascript/stockQuotesManager.js*/

nv.StockQuotesManager=new function(){var $this=this;var _partnerName=null;$this.QUOTE_URL="https://www.wikinvest.com/stockdata/";$this.QUOTE_SQUID_CACHE_LIFE=30;$this.setPartnerName=function(partnerName){_partnerName=partnerName;};$this.stockQuoteData=new Array();$this.onNewStockDataAvailable=new nv.Event();$this.onStockDataUnavailable=new nv.Event();$this.fetchStockQuoteData=function(ticker){if(typeof($this.stockQuoteData[ticker])!="undefined"){if($this.stockQuoteData[ticker]===null){$this.onStockDataUnavailable.Trigger(ticker);}
else{$this.onNewStockDataAvailable.Trigger(ticker);}}
else if(typeof(_symbolsInCurrentRequest[ticker])!="undefined"){return;}
else{_pendingStockData[ticker]=1;if(_timer!==null){clearTimeout(_timer);}
_timer=setTimeout(function(){_doFetch();},_timerInterval);}};$this.suspendRequests=function(){_requestsSuspended=true;};$this.resumeRequests=function(){_requestsSuspended=false;if(_initiateFetchOnResume){_initiateFetchOnResume=false;_doFetch();}};$this.addDataFromExternalSource=function(ticker,stockData){if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}
if(typeof _pendingStockData[ticker]!="undefined"){delete _pendingStockData[ticker];}
$this.stockQuoteData[ticker]=stockData;$this.onNewStockDataAvailable.Trigger(ticker);};$this.isUnprefixedTicker=function(ticker){return!(/[^a-z0-9.']/i).test(ticker);};var _pendingStockData=new Array();var _symbolsInCurrentRequest=new Array();var _timerInterval=350;var _timer=null;var _requestsSuspended=false;var _initiateFetchOnResume=false;var _successCallback=function(requestSymbols,stockData){var symbols=new Array();for(var i=0;i<requestSymbols.length;i++){var ticker=requestSymbols[i];symbols[ticker]=1;if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}}
if(typeof stockData!="undefined"&&typeof stockData.data=="object"&&stockData.data!=null&&stockData.data.constructor==Object){for(var tickerKey in stockData.data){if(stockData.data.hasOwnProperty(tickerKey)){var quote=stockData.data[tickerKey];$this.stockQuoteData[tickerKey]=quote;delete symbols[tickerKey];$this.onNewStockDataAvailable.Trigger(tickerKey);}}}
for(var k in symbols){if(symbols.hasOwnProperty(k)){$this.stockQuoteData[k]=null;$this.onStockDataUnavailable.Trigger(k);}}};var _doFetch=function(){if(_requestsSuspended){_initiateFetchOnResume=true;return;}
_timer=null;var symbols=new Array();for(var i in _pendingStockData){if(_pendingStockData.hasOwnProperty(i)){symbols.push(i);_symbolsInCurrentRequest[i]=1;}}
_pendingStockData=new Array();var args={'action':'getQuotes','prefixedTickers':symbols.join(',')};args['timestamp']=nv.http.GetTimestampForCachedRequest($this.QUOTE_SQUID_CACHE_LIFE);if(_partnerName!==null){args['partner']=_partnerName;}
if(nv.String.Trim(args['prefixedTickers'])!=""){var request=nv.http.Factory($this.QUOTE_URL,'GET');request.OnSuccess.Bind(function(data){_successCallback(symbols,data);});request.OnFailure.Bind(function(){_successCallback(symbols,{});});request.Send(args);}};};
/* /wikinvest/javascript/stockQuotesManager.js*/

/*frontend/viz/wikinvest/javascript/stockQuotesManager.js*/

nv.StockQuotesManager=new function(){var $this=this;var _partnerName=null;$this.QUOTE_URL="https://www.wikinvest.com/stockdata/";$this.QUOTE_SQUID_CACHE_LIFE=30;$this.setPartnerName=function(partnerName){_partnerName=partnerName;};$this.stockQuoteData=new Array();$this.onNewStockDataAvailable=new nv.Event();$this.onStockDataUnavailable=new nv.Event();$this.fetchStockQuoteData=function(ticker){if(typeof($this.stockQuoteData[ticker])!="undefined"){if($this.stockQuoteData[ticker]===null){$this.onStockDataUnavailable.Trigger(ticker);}
else{$this.onNewStockDataAvailable.Trigger(ticker);}}
else if(typeof(_symbolsInCurrentRequest[ticker])!="undefined"){return;}
else{_pendingStockData[ticker]=1;if(_timer!==null){clearTimeout(_timer);}
_timer=setTimeout(function(){_doFetch();},_timerInterval);}};$this.suspendRequests=function(){_requestsSuspended=true;};$this.resumeRequests=function(){_requestsSuspended=false;if(_initiateFetchOnResume){_initiateFetchOnResume=false;_doFetch();}};$this.addDataFromExternalSource=function(ticker,stockData){if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}
if(typeof _pendingStockData[ticker]!="undefined"){delete _pendingStockData[ticker];}
$this.stockQuoteData[ticker]=stockData;$this.onNewStockDataAvailable.Trigger(ticker);};$this.isUnprefixedTicker=function(ticker){return!(/[^a-z0-9.']/i).test(ticker);};var _pendingStockData=new Array();var _symbolsInCurrentRequest=new Array();var _timerInterval=350;var _timer=null;var _requestsSuspended=false;var _initiateFetchOnResume=false;var _successCallback=function(requestSymbols,stockData){var symbols=new Array();for(var i=0;i<requestSymbols.length;i++){var ticker=requestSymbols[i];symbols[ticker]=1;if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}}
if(typeof stockData!="undefined"&&typeof stockData.data=="object"&&stockData.data!=null&&stockData.data.constructor==Object){for(var tickerKey in stockData.data){if(stockData.data.hasOwnProperty(tickerKey)){var quote=stockData.data[tickerKey];$this.stockQuoteData[tickerKey]=quote;delete symbols[tickerKey];$this.onNewStockDataAvailable.Trigger(tickerKey);}}}
for(var k in symbols){if(symbols.hasOwnProperty(k)){$this.stockQuoteData[k]=null;$this.onStockDataUnavailable.Trigger(k);}}};var _doFetch=function(){if(_requestsSuspended){_initiateFetchOnResume=true;return;}
_timer=null;var symbols=new Array();for(var i in _pendingStockData){if(_pendingStockData.hasOwnProperty(i)){symbols.push(i);_symbolsInCurrentRequest[i]=1;}}
_pendingStockData=new Array();var args={'action':'getQuotes','prefixedTickers':symbols.join(',')};args['timestamp']=nv.http.GetTimestampForCachedRequest($this.QUOTE_SQUID_CACHE_LIFE);if(_partnerName!==null){args['partner']=_partnerName;}
if(nv.String.Trim(args['prefixedTickers'])!=""){var request=nv.http.Factory($this.QUOTE_URL,'GET');request.OnSuccess.Bind(function(data){_successCallback(symbols,data);});request.OnFailure.Bind(function(){_successCallback(symbols,{});});request.Send(args);}};};
/* /frontend/viz/wikinvest/javascript/stockQuotesManager.js*/

/*wikinvest/javascript/stockQuote.js*/

nv.StockQuote=function(ticker){var $this=this;var __construct=function(){nv.StockQuotesManager.onNewStockDataAvailable.Bind(_newStockDataHandler);nv.StockQuotesManager.onStockDataUnavailable.Bind(_failedStockDataHandler);nv.StockQuotesManager.fetchStockQuoteData(ticker);};$this.ticker=ticker;$this.stockQuoteData=null;$this.onStockDataReady=new nv.Event(true);$this.onStockDataFail=new nv.Event(true);var _newStockDataHandler=function(eventargs){if(eventargs==ticker){nv.StockQuotesManager.onNewStockDataAvailable.Unbind(_newStockDataHandler);$this.stockData=nv.StockQuotesManager.stockQuoteData[ticker];$this.onStockDataReady.Trigger($this.stockData);}};var _failedStockDataHandler=function(eventargs){if(eventargs==ticker){nv.StockQuotesManager.onStockDataUnavailable.Unbind(_failedStockDataHandler);$this.stockData=null;$this.onStockDataFail.Trigger();}};__construct();};
/* /wikinvest/javascript/stockQuote.js*/

/*wikinvest/javascript/gainerslosersmovers.js*/

if(nv.CreateNamespace("nv.GainersLosersMovers")){nv.GainersLosersMovers=function(numGainers,numLosers,numMovers,minMarketCapitalization){var $this=this;$this.ready=false;$this.success=false;$this.gainers=[];$this.losers=[];$this.movers=[];$this.onDataReady=new nv.Event(true);$this.onDataFailed=new nv.Event(true);var manager=nv.GainersLosersMovers.ManagerFactory(minMarketCapitalization);var _onNewDataHandler=function(data){if(data.numGainers>=numGainers&&data.numLosers>=numLosers&&data.numMovers>=numMovers){manager.onDataReceived.Unbind(_onNewDataHandler);manager.onDataFailed.Unbind(_onNewDataHandler);$this.gainers=manager.gainers.slice(0,numGainers);$this.losers=manager.losers.slice(0,numLosers);$this.movers=manager.movers.slice(0,numMovers);$this.ready=true;$this.success=true;var eventargs={gainers:$this.gainers,losers:$this.losers,movers:$this.movers};$this.onDataReady.Trigger(eventargs);}};var _onDataFailedHandler=function(data){if(data.numGainers>=numGainers&&data.numLosers>=numLosers&&data.numMovers>=numMovers){manager.onDataReceived.Unbind(_onNewDataHandler);manager.onDataFailed.Unbind(_onNewDataHandler);$this.ready=true;$this.success=false;$this.onDataFailed.Trigger();}};var __construct=function(){manager.fetch(numGainers,numLosers,numMovers);manager.onDataReceived.Bind(_onNewDataHandler);manager.onDataFailed.Bind(_onDataFailedHandler);};__construct();};var managers={};nv.GainersLosersMovers.ManagerFactory=function(minMarketCapitalization){if(typeof managers[minMarketCapitalization]!="undefined"){return managers[minMarketCapitalization];}
else{var manager=new function(){var $this=this;$this.CACHE_LIFE=180;$this.gainers=[];$this.losers=[];$this.movers=[];var requestInProgress=false;var maxGainersRequested=0;var maxLosersRequested=0;var maxMoversRequested=0;$this.onRequestComplete=new nv.Event(true);$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);$this.fetch=function(numGainers,numLosers,numMovers){if(requestInProgress){$this.onRequestComplete.Bind(function(){$this.fetch(numGainers,numLosers,numMovers);},true);}
else{_fetch(numGainers,numLosers,numMovers);}};var _fetch=function(numGainers,numLosers,numMovers){var params={'action':'getgainerslosersmovers'};var eventargs={numGainers:0,numLosers:0,numMovers:0};if(numGainers>maxGainersRequested){maxGainersRequested=numGainers;eventargs.numGainers=params.gainers=numGainers;}
if(numLosers>maxLosersRequested){maxLosersRequested=numLosers;eventargs.numLosers=params.losers=numLosers;}
if(numMovers>maxMoversRequested){maxMoversRequested=numMovers;eventargs.numMovers=params.movers=numMovers;}
if(typeof minMarketCapitalization!="undefined"){params.minMarketCapitalization=minMarketCapitalization;}
if(nv.array.count(params)>=2){var request=nv.http.Factory(nv.StockQuotesManager.QUOTE_URL,'GET');request.Timeout=20000;request.OnSuccess.Bind(function(data){requestInProgress=false;$this.onRequestComplete.Trigger();if(data==null||typeof data.gainers=="undefined"||typeof data.losers=="undefined"||typeof data.movers=="undefined"){$this.onDataFailed.Trigger(eventargs);}
else{$this.gainers=data.gainers;$this.losers=data.losers;$this.movers=data.movers;$this.onDataReceived.Trigger(eventargs);}});request.OnFailure.Bind(function(data){requestInProgress=false;$this.onRequestComplete.Trigger();$this.onDataFailed.Trigger(eventargs);});requestInProgress=true;params.timestamp=nv.http.GetTimestampForCachedRequest($this.CACHE_LIFE);request.Send(params);}};};managers[minMarketCapitalization]=manager;return manager;}};nv.GainersLosersMovers.Manager=nv.GainersLosersMovers.ManagerFactory();}
/* /wikinvest/javascript/gainerslosersmovers.js*/

/*frontend/mashup/ui/TickerBoardComponent/base/base.js*/

nv.defineAwesomeClass("nv.widget.tickerboard.Base",function($this,$protected){"use strict";$this.onDataReceived;$this.onDataFailed;$this.dataProviders=[];var failed=false;var numReceived=0;$this.__construct=function(){$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);};$protected.getAuthOptions=function(action){return{};};$this.init=function(){var numProviders=nv.array.count($this.dataProviders);nv.array.iterate($this.dataProviders,function(provider){var name=provider.getName();provider.onDataFailed.Bind(function(){if(failed){return;}
else{failed=true;}
nv.log("Data Error on "+name,"TickerBoard");$this.onDataFailed.Trigger();},true);provider.onDataReceived.Bind(function(){numReceived++;if(numReceived==numProviders){$this.onDataReceived.Trigger();}},true);});};$protected.getAuthUrl=function(action,permissions,options){options=options||{};var url="";var actions=nv.widget.tickerboard.Base.Actions;if(action==actions.LOGIN){url='https://portfoliotracker.usatoday.com/account/connect/login';}
else if(action==actions.DIRECT_LOGIN){url='https://portfoliotracker.usatoday.com/account/connect/directLogin';}
else if(action==actions.REGISTER){url='https://portfoliotracker.usatoday.com/account/connect/welcome?';}
else if(action==actions.DIRECT_REGISTER){url='https://portfoliotracker.usatoday.com/account/connect/register';}
else if(action==actions.LINK){url='https://portfoliotracker.usatoday.com/account/connect/link';}
else{url='https://portfoliotracker.usatoday.com/account/connect';}
url=$protected.prepareUrl(url,action,options,permissions);return url;};$protected.prepareUrl=function(url,action,options,permissions){options=options||{};options=nv.JQuery.extend(true,options,$protected.getAuthOptions(action));var tracking=options.tracking;if(tracking){url=nv.Analytics.addTrackingTags(url,tracking);delete options.tracking;}
if(nv.JQuery.isArray(permissions)&&permissions.length>0){var permissionStr=permissions.join(",");url=nv.util.Url.addToQueryString(url,{permissions:permissionStr});}
var extra=nv.util.Url.getQueryString(options);if(extra.length>0)url=nv.util.Url.addToQueryString(url,{extra:extra});if(tracking)options.tracking=tracking;return url;};$protected.routeCta=function(action,permissions,options){options=options||{};if(nv.widget.tickerboard.Base.isNvConnectAction(action)){$protected.startNvConnect(action,permissions,options);}
else{gotoPageInParentWindow(action,permissions,options);}};var gotoPageInParentWindow=function(action,permissions,options){var url;switch(action){case nv.widget.tickerboard.Base.Actions.HOLDINGS:url='https://portfoliotracker.usatoday.com/portfolio';break;case nv.widget.tickerboard.Base.Actions.LANDING:url='https://portfoliotracker.usatoday.com/';break;case nv.widget.tickerboard.Base.Actions.RISK:url='https://portfoliotracker.usatoday.com/?type=risk';break;case nv.widget.tickerboard.Base.Actions.GEO:url='https://portfoliotracker.usatoday.com/?type=geo';break;case nv.widget.tickerboard.Base.Actions.SIGNUP:url='https://portfoliotracker.usatoday.com/account/signup';break;default:nv.log("Unknown action "+action);return;}
url=$protected.prepareUrl(url,action,options,permissions);try{window.parent.location=url;}
catch(e){nv.log(e);}};$protected.startNvConnect=function(action,permissions,options){options=options||{};var width=options.width||650;var height=options.height||450;var getPopupLocation=options.getPopupLocation||function(){return{top:100,left:100};};var popupLocation=getPopupLocation(width,height);if(nv.JQuery.browser.msie)width+=20;var url=$protected.getAuthUrl(action,permissions,options);window.open(url,"nvconnect","status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=1,height="+height+",width="+width+', top='+popupLocation.top+', left='+popupLocation.left);};$this.getTearsheetLinkForTicker=function(prefixedTicker){return nv.widget.tickerboard.Base.getTearsheetLinkForTicker(prefixedTicker);};},function(){"use strict";this.Actions={LOGIN:'login',DIRECT_LOGIN:'directlogin',REGISTER:'register',DIRECT_REGISTER:'directregister',LINK:'link',HOLDINGS:'holdings',LANDING:'landing',RISK:'risk',GEO:'geo',SIGNUP:'signup'};this.isNvConnectAction=function(action){return action!=nv.widget.tickerboard.Base.Actions.HOLDINGS&&action!=nv.widget.tickerboard.Base.Actions.LANDING&&action!=nv.widget.tickerboard.Base.Actions.RISK&&action!=nv.widget.tickerboard.Base.Actions.GEO&&action!=nv.widget.tickerboard.Base.Actions.SIGNUP;};this.getTearsheetLinkForTicker=function(prefixedTicker){return nv.Urls.ServerUrl+"/frontend/mashup/?action=viewtearsheet&ticker="+prefixedTicker;};});nv.defineAwesomeClass("nv.widget.tickerboard.dataprovider.Base",function($this,$protected){"use strict";$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);$this.data={};$this.getName=function(){throw"Not implemented";};});nv.extendClass("nv.widget.tickerboard.dataprovider.StockData",nv.widget.tickerboard.dataprovider.Base,function($this,$protected,$parent){"use strict";$this.__construct=function(stockTickers){$parent.__construct();nv.array.iterate(stockTickers,function(v){var stockQuote=new nv.StockQuote(v);stockQuote.onStockDataReady.Bind(function(data){$this.data[v]=data;if(nv.array.count($this.data)==nv.array.count(stockTickers)){$this.onDataReceived.Trigger();}});stockQuote.onStockDataFail.Bind(function(){nv.log("Stock Data Error for "+v,"TickerBoard");$this.onDataFailed.Trigger();});});};$this.getName=function(){return"StockData";};});
/* /frontend/mashup/ui/TickerBoardComponent/base/base.js*/

/*common/analytics/javascript/Analytics.Engine.js*/

if(typeof nv=='undefined')nv={};if(typeof nv.Analytics=='undefined')nv.Analytics={};(function(analyticsObject){analyticsObject.Engine={Snowplow:'sn',GoogleAnalytics:'ga',QuantCast:'qc',Omniture:'om'};})(nv.Analytics);
/* /common/analytics/javascript/Analytics.Engine.js*/

/*common/analytics/javascript/Analytics.addTrackingTags.js*/

if(typeof nv=='undefined')nv={};if(typeof nv.Analytics=='undefined')nv.Analytics={};(function(analyticsObject){"use strict";analyticsObject.addTrackingTags=function(originalUrl,hash){var queryParams=[];for(var engine in hash){if(!hash.hasOwnProperty(engine)){continue;}
var params=hash[engine];for(var key in params){queryParams.push(escape(key)+'='+escape(params[key]));}}
if(originalUrl.match(/\?/)===null){return originalUrl+'?'+queryParams.join('&');}else{return originalUrl+'&'+queryParams.join('&');}};})(nv.Analytics);
/* /common/analytics/javascript/Analytics.addTrackingTags.js*/

/*common/analytics/javascript/internal.js*/

if(typeof nv=='undefined')nv={};if(typeof nv.Analytics=='undefined')nv.Analytics={};(function(analyticsObject){var CUSTOM_CAMPAIGN_PARAMS={"Medium":'_acm',"Name":'_acn',"Source":'_acs',"Content":'_acc',"Terms":'_act'};var TAG_SCOPE={User:1,Session:2,Page:3};var DEFAULT_FREQUENCY=20;var ACTION_CACHE_COOKIE_NAME='nv_an_ac';var EVENT_CACHE_COOKIE_NAME='nv_an_ec';var SAMPLE_COOKIE_NAME='nv_sample_val';var GA_SAMPLE_TRACKING_RATE=null;var GA_USER_ID_SLOT=5;var $this=analyticsObject;var _signalIds={};var _environment='';var _user={};var _tagCache={};var _queuedBeforeInit=[];var ENABLE_CNN_LOGGED_IN_TRACKER=false;var disregard=false;var _getCookie=function(name){var _nameEQ=name+"=";var _ca=document.cookie.split(';');for(var i=0;i<_ca.length;i++){var _c=_ca[i];while(_c.charAt(0)==' ')_c=_c.substring(1,_c.length);if(_c.indexOf(_nameEQ)==0)return unescape(_c.substring(_nameEQ.length,_c.length));}
return null;};var _setCookie=function(name,value,days){var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=";expires="+date.toGMTString();}
document.cookie=name+"="+value+expires+";path=/";};var _eraseCookie=function(name){_setCookie(name,'',-1);};var _getTagCacheFromCookie=function(cookieName){var tags=_getCookie(cookieName);var cache={};if(tags!==null&&tags!==''){tags=tags.split('|');for(var tag in tags){if(tags.hasOwnProperty(tag)){tagInfo=tags[parseInt(tag,10)].split(':');cache[tagInfo[0]]=tagInfo[1];}}}
return cache;};var _serializeTags=function(tagsHash){var tagsList=[];for(var tagKey in tagsHash){if(tagsHash.hasOwnProperty(tagKey)){tagsList.push(tagKey+':'+tagsHash[tagKey]);}}
return tagsList.join('|');};var _addTag=function(scope,tagsHash){var cookieName='nv_an_'+scope.charAt(0).toLowerCase()+'t';if(typeof _tagCache[scope]=='undefined'){_tagCache[scope]=_getTagCacheFromCookie(cookieName);}
var tagsList=[];for(var tagsKey in tagsHash){if(tagsHash.hasOwnProperty(tagsKey)){_tagCache[scope][tagsKey]=tagsHash[tagsKey];}}
var tagString=_serializeTags(_tagCache[scope]);_setCookie(cookieName,tagString,3650);_GAMultiPush(['_setCustomVar',TAG_SCOPE[scope],scope+' Tags',tagString,TAG_SCOPE[scope]]);};var _getCurrentTimestamp=function(){return(new Date()).getTime();};var _wait=function(ms){if(ms<=0){return;}
var _startTime=_getCurrentTimestamp();while(_getCurrentTimestamp()<_startTime+ms){}
return;};var _initCampaignTracking=function(){_GAMultiPush(['_setCampMediumKey',CUSTOM_CAMPAIGN_PARAMS['Medium']]);_GAMultiPush(['_setCampNameKey',CUSTOM_CAMPAIGN_PARAMS['Name']]);_GAMultiPush(['_setCampSourceKey',CUSTOM_CAMPAIGN_PARAMS['Source']]);_GAMultiPush(['_setCampContentKey',CUSTOM_CAMPAIGN_PARAMS['Content']]);_GAMultiPush(['_setCampTermKey',CUSTOM_CAMPAIGN_PARAMS['Terms']]);};var _getCampaignParamsFromURL=function(){var query=document.location.search;var allParams={};var campaignParams=null;if(!query)return null;query=query.substring(1);var queryAsKeyValue=query.split('&');for(var index in queryAsKeyValue){if(queryAsKeyValue.hasOwnProperty(index)){var keyValuePair=queryAsKeyValue[index].split('=');allParams[keyValuePair[0]]=keyValuePair[1];}}
for(var key in CUSTOM_CAMPAIGN_PARAMS){if(CUSTOM_CAMPAIGN_PARAMS.hasOwnProperty(key)){if(typeof allParams[CUSTOM_CAMPAIGN_PARAMS[key]]!='undefined'){campaignParams=campaignParams||{};campaignParams['Campaign '+key]=allParams[CUSTOM_CAMPAIGN_PARAMS[key]];}}}
return campaignParams;};var _insertScriptNode=function(url){var ns=document.createElement('script');ns.type='text/javascript';ns.async=true;ns.src=url;var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ns,s);};var _loadSN=function(options){if(typeof options=="boolean"||typeof options=="undefined"){options={};}
if(typeof window._snaq=="undefined"){window._snaq=[];}
_snaq.push(['setCollectorCf','d2z3m4a3c6jiep']);_snaq.push(['setCookieDomain','.sigfig.com']);_snaq.push(['setAppId','trial']);if(_user&&_user.obfuscated){}
var snsrc='https://dysjtncjibun3.cloudfront.net/common/analytics/javascript/sp.js';_insertScriptNode(snsrc);};var _GAMultiPush=function(commandArray){_gaq.push(commandArray);var command=commandArray[0];if(ENABLE_CNN_LOGGED_IN_TRACKER){commandArray[0]='CNNM_Port.'+command;_gaq.push(commandArray);}};var _loadGA=function(options){if(typeof options=="boolean"||typeof options=="undefined"){options={};}
if(typeof _gaq=="undefined"){_gaq=[];}
var gacode='';switch(_environment){case nv.Analytics.Env.PartnerAnonymous:gacode='UA-1766902-19';break;case nv.Analytics.Env.PartnerAuthenticated:gacode='UA-1766902-21';break;case nv.Analytics.Env.USAToday:gacode='UA-23116607-9';break;case nv.Analytics.Env.Internal:gacode=_user.isConvertedPortfolioUser?'UA-1766902-17':'UA-1766902-1';break;case nv.Analytics.Env.Sigfig:gacode='UA-23116607-1';break;default:gacode='UA-1766902-14';}
_gaq.push(['_setAccount',gacode]);if(GA_SAMPLE_TRACKING_RATE){_gaq.push(['_setSampleRate',GA_SAMPLE_TRACKING_RATE]);}
var domain=window.location.host.split('.').slice(-2).join(".");_GAMultiPush(['_setDomainName',domain]);if(_user&&_user.obfuscated){_GAMultiPush(['_setCustomVar',GA_USER_ID_SLOT,'UserID',_user.obfuscated,TAG_SCOPE['User']]);}
var gasrc=('https:'==document.location.protocol?'https://ssl':'http://www')+'.google-analytics.com/ga.js';_insertScriptNode(gasrc);_initCampaignTracking();};var _loadQC=function(options){if(typeof options=="boolean"||typeof options=="undefined"){options={};}
_qoptions={qacct:'p-d5SpXgbOajA6k'};if(options.labels){_qoptions.labels=options.labels;}
else if(typeof nv!="undefined"&&nv&&nv.getCurrentPartnerToken){var currentPartnerToken=nv.getCurrentPartnerToken();if(currentPartnerToken){_qoptions.labels="Partners."+currentPartnerToken;}}
var qcsrc=('https:'==document.location.protocol?'https://secure':'http://edge')+'.quantserve.com/quant.js';_insertScriptNode(qcsrc);};var _unsetProperty=function(index){_GAMultiPush(['_deleteCustomVar',index]);};var _sendSignal=function(identifier,value){$this.trackAction('Timer','Page Load',identifier,value);};var _trackFromCookies=function(){var actionCookie=_getCookie(ACTION_CACHE_COOKIE_NAME);if(actionCookie!==null){var actionInfo=actionCookie.split('/');if(actionInfo.length==4){actionInfo[3]=parseInt(actionInfo[3],10);}
$this.trackAction.apply(null,actionInfo);_eraseCookie(ACTION_CACHE_COOKIE_NAME);}
var eventCookie=_getCookie(EVENT_CACHE_COOKIE_NAME);if(eventCookie!==null){var eventInfo=eventCookie.split('/');var eventName=eventInfo.shift();var eventMetaHash={};if(eventInfo.length==1){var eventMeta=eventInfo[0].split('&');var setMeta=function(key,value){eventMetaHash[key]=value;};for(var i=eventMeta.length-1;i>=0;i--){setMeta.apply(null,eventMeta[i].split('='));}}
$this.trackEvent(eventName,eventMetaHash);_eraseCookie(EVENT_CACHE_COOKIE_NAME);}};var _setActionCookie=function(category,action,label,value){_setCookie(ACTION_CACHE_COOKIE_NAME,[category,action,label,value].join('/'),3);};var _setEventCookie=function(name,properties){var propertyStrings=[];properties=properties||{};for(var key in properties){if(properties.hasOwnProperty(key)){propertyStrings.push(key+'='+properties[key]);}}
_setCookie(EVENT_CACHE_COOKIE_NAME,name+'/'+propertyStrings.join('&'));};$this.trackRequestTag=function(param){var regex=new RegExp("\\b"+param+"=([^&#]*)","i");var results=regex.exec(window.location.search);if(results!=null&&results.length>1&&results[1].length>0){nv.Analytics.trackPageView("/"+param+"/"+results[1]);nv.Analytics.trackEvent("/"+param+"/"+results[1]);}};$this.trackRefTag=function(){$this.trackRequestTag('ref');$this.trackRequestTag('uref');};$this.init=function(options){options=options||{};_user=options.user||{};_environment=(typeof options.environment=="undefined")?nv.Analytics.Env.Internal:options.environment;if(options.services==null){_loadGA();_loadQC();_loadSN();}
else if(options.services instanceof Array){for(var index in options.services){if(options.services.hasOwnProperty(index)){if(options.services[index]==nv.Analytics.Engine.GoogleAnalytics){_loadGA();}
else if(options.services[index]==nv.Analytics.Engine.QuantCast){_loadQC();}
else if(options.services[index]==nv.Analytics.Engine.Snowplow){_loadSN();}}}}
else{for(var service in options.services){if(options.services.hasOwnProperty(service)){if(service==nv.Analytics.Engine.GoogleAnalytics&&options.services!==false){_loadGA(options.services[service]);}
if(service==nv.Analytics.Engine.QuantCast&&options.services!==false){_loadQC(options.services[service]);}
if(service==nv.Analytics.Engine.Snowplow&&options.services!==false){_loadSN(options.services[service]);}}}}
_trackFromCookies();if(options.user){$this.identify();}
while(_queuedBeforeInit.length>0){var call=_queuedBeforeInit.shift();$this[call[0]].apply($this,call.slice(1));}
_queuedBeforeInit=null;$this.trackRefTag();};$this.identify=function(userObj){if(userObj!=null){_user=userObj;}
if(_user.isAuthenticated){if(_user.isConvertedPortfolioUser){$this.tagUser({membership:"portfolio"});}
else{$this.tagUser({membership:"wiki"});}}
else{$this.tagUser({membership:"none"});}};$this.tagPage=function(tagsHash){_addTag('Page',tagsHash);};$this.tagSession=function(tagsHash){_addTag('Session',tagsHash);};$this.tagUser=function(tagsHash){_addTag('User',tagsHash);};$this.registerPortfolioConversion=function(username,category){if(!username){return;}
var JUST_CONVERTED_COOKIE_NAME='__xpc'+username;var justConvertedCookie=_getCookie(JUST_CONVERTED_COOKIE_NAME);_setCookie(JUST_CONVERTED_COOKIE_NAME,category,30);};$this.trackPortfolioConversion=function(username){if(!username){return false;}
var JUST_CONVERTED_COOKIE_NAME='__xpc'+username;var justConvertedCookie=_getCookie(JUST_CONVERTED_COOKIE_NAME);if(justConvertedCookie){$this.trackPageView('/account/portfolio/convert');_eraseCookie(JUST_CONVERTED_COOKIE_NAME);return true;}
return false;};$this.trackPageView=function(pagePath){if(pagePath!=undefined){_GAMultiPush(['_trackPageview',pagePath]);if(typeof _snaq!='undefined'){_snaq.push(['trackPageView',pagePath]);}}
else{_GAMultiPush(['_trackPageview']);if(typeof _snaq!='undefined'){_snaq.push(['trackPageView']);}}
var campaignVariables=_getCampaignParamsFromURL();$this.trackCampaign(campaignVariables);$this.trackSource(campaignVariables);};$this.trackSocial=function(network,socialAction,targetUrl,pagePath){_GAMultiPush(['_trackSocial',network,socialAction,targetUrl,pagePath]);};$this.trackFacebook=function(socialAction,targetUrl,pagePath){_GAMultiPush(['_trackSocial','facebook',socialAction,targetUrl,pagePath]);};$this.trackFacebookLike=function(targetUrl,pagePath){_GAMultiPush(['_trackSocial','facebook','like',targetUrl,pagePath]);};$this.trackFacebookSend=function(targetUrl,pagePath){_GAMultiPush(['_trackSocial','facebook','send',targetUrl,pagePath]);};$this.trackCampaign=function(campaignVariables){var isThereACampaign=false;if(!campaignVariables)return;campaignVariables['URL']=document.location.href;for(var key in campaignVariables){$this.trackEvent('Ad campaign hit',campaignVariables);}};$this.trackEvent=function(name,moreInfo,beCareful){if(disregard==true){return false;}
if(typeof _gaq=='undefined'){nv.error("broken for now because GA is not included in header!!!!!!!!!!!!");return false;}
if(beCareful===true){_setEventCookie(name,moreInfo);}
return true;};$this.trackClick=function(elementSelector,eventName,moreInfo){if(typeof _gaq=='undefined'){nv.error("broken for now because GA is not included in header!!!!!!!!!!!!");return false;}
elementSelector=elementSelector.replace(/^#/,'');return true;};$this.trackAction=function(category,action,label,value,beCareful,property){property=(typeof property==="undefined")?"":property;if(typeof _gaq=='undefined'){if(_queuedBeforeInit){_queuedBeforeInit.push(['trackAction'].concat(Array.prototype.slice.call(arguments)));}
else{nv.error("no _gaq but nv.Analytics has already init'ed");}
return false;}
if(beCareful===true){_setActionCookie(category,action,label,value);}
else{_GAMultiPush(['_trackEvent',category,action,label,value]);if(typeof _snaq!='undefined'&&category!='Timer'){_snaq.push(['trackStructEvent',category,action,label,property,value]);}}
return true;};$this.trackEventGA=$this.trackAction;$this.activateUserTracking=function(obfuscatedID){_GAMultiPush(['_setCustomVar',GA_USER_ID_SLOT,'UserID',obfuscatedID,TAG_SCOPE['User']]);};$this.startTimeTracking=function(identifier,frequency){if(frequency==null){frequency=DEFAULT_FREQUENCY;}
if(typeof _signalIds[identifier]!='undefined'){clearTimeout(_signalIds[identifier]);}
_sendSignal(identifier,frequency/2);_signalIds[identifier]=setInterval(function(){_sendSignal(identifier,frequency);},frequency*1000);};$this.stopTimeTracking=function(identifier){if(typeof _signalIds[identifier]!='undefined'){clearInterval(_signalIds[identifier]);}};$this.trackSource=function(campaignVariables){if(campaignVariables!=null&&typeof(campaignVariables['Campaign Source'])!="undefined"){source=campaignVariables['Campaign Source'];_setCookie('Wikinvest_RegSource',source,30);}};analyticsObject.Env={PartnerAnonymous:0,PartnerAuthenticated:1,Embed:2,Internal:3,Sigfig:5,USAToday:7};})(nv.Analytics);if(typeof BIOS!='undefined'){BIOS.Ping('Analytics');}
/* /common/analytics/javascript/internal.js*/

/*common/javascript/abtest.js*/

nv.defineAwesomeClass("nv.ABTest",function($this){var prefix='nv_abjs_';var cookie;var options;$this.__construct=function(name,_options){cookie=new nv.Cookie(prefix+name);options=_options;};$this.get=$this.Get=function(){var value=cookie.get();if(value){var returnValue=null;nv.array.iterate(options,function(v){if(v===value){returnValue=v;}});if(returnValue!==null){return returnValue;}}
return selectAndSet();};$this.getWithOverride=function(overrideMatch){var choice=$this.get();if(!overrideMatch)return choice;if(typeof overrideMatch=='object'&&typeof overrideMatch[1]=='string'){overrideMatch=overrideMatch[1];}
if(nv.array.indexOf(options,overrideMatch)!=-1){choice=overrideMatch;}
return choice;};var selectAndSet=function(){var random=Math.floor(Math.random()*nv.array.count(options));var selected=nv.array.values(options)[random];cookie.Set(selected,2*30*24*60*60,"/");return selected;};},function(){this.tests=[];this.setupTest=function(name,choices,message,override,options){options=options||[];var test=new nv.ABTest(name,choices);var regexp=new RegExp("\\bab_"+name+"=(\\w+)\\b");var functionOverride=null;if(typeof override=="function"){functionOverride=override;override=null;}
var version=override!=null?override:test.getWithOverride(window.location.search.match(regexp));if(functionOverride){version=functionOverride(version);}
this.tests[name]=version;if(!message){message=name;}
options[name+"_version"]=version;if(!options['noTrack']){nv.Analytics.trackEvent(message,options);nv.Analytics.trackAction('AB Test',name,message+' -'+version,1);}
return version;};});
/* /common/javascript/abtest.js*/

/*frontend/mashup/ui/TickerBoardComponent/base/retargeting.js*/

adroll_adv_id="3SN6M23TGBF67JKVI4GMK2";adroll_pix_id="WSJTTFFAHFECBJIUGEOM6G";(function(){var oldonload=window.onload;window.onload=function(){__adroll_loaded=true;var scr=document.createElement("script");var host=(("https:"==document.location.protocol)?"https://s.adroll.com":"http://a.adroll.com");scr.setAttribute('async','true');scr.type="text/javascript";scr.src=host+"/j/roundtrip.js";((document.getElementsByTagName('head')||[null])[0]||document.getElementsByTagName('script')[0].parentNode).appendChild(scr);if(oldonload){oldonload()}};}());
/* /frontend/mashup/ui/TickerBoardComponent/base/retargeting.js*/

/*common/javascript/jquery/jquery.tmpl.js*/

(function(jQuery,undefined){var oldManip=jQuery.fn.domManip,tmplItmAtt="_tmplitem",htmlExpr=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,newTmplItems={},wrappedItems={},appendToTmplItems,topTmplItem={key:0,data:{}},itemKey=0,cloneIndex=0,stack=[];if(!nv.templates){nv.templates={};}
function newTmplItem(options,parentItem,fn,data){var newItem={data:parentItem&&parentItem!==topTmplItem?jQuery.extendIncludingUndefined({},parentItem.data,data):data||{},_wrap:parentItem?parentItem._wrap:null,tmpl:null,parent:parentItem||null,nodes:[],calls:tiCalls,nest:tiNest,wrap:tiWrap,param:tiParam,update:tiUpdate};if(parentItem&&parentItem.options){options=jQuery.extend({},parentItem.options,options);}
if(options){newItem.options=options;jQuery.extend(newItem,options,{nodes:[],parent:parentItem});}
if(fn){newItem.tmpl=fn;newItem._ctnt=newItem._ctnt||newItem.tmpl(jQuery,newItem);newItem.key=++itemKey;(stack.length?wrappedItems:newTmplItems)[itemKey]=newItem;}
return newItem;}
jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),elems,i,l,tmplItems,parent=this.length===1&&this[0].parentNode;appendToTmplItems=newTmplItems||{};if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);ret=this;}else{for(i=0,l=insert.length;i<l;i++){cloneIndex=i;elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems);}
cloneIndex=0;ret=this.pushStack(ret,name,insert.selector);}
tmplItems=appendToTmplItems;appendToTmplItems=null;jQuery.tmpl.complete(tmplItems);return ret;};});jQuery.fn.extend({tmpl:function(data,options,parentItem){return jQuery.tmpl(this[0],data,options,parentItem);},tmplItem:function(){return jQuery.tmplItem(this[0]);},template:function(name){return jQuery.template(name,this[0]);},domManip:function(args,table,callback,options){if(args[0]&&jQuery.isArray(args[0])){var dmArgs=jQuery.makeArray(arguments),elems=args[0],elemsLength=elems.length,i=0,tmplItem;while(i<elemsLength&&!(tmplItem=jQuery.data(elems[i++],"tmplItem"))){}
if(tmplItem&&cloneIndex){dmArgs[2]=function(fragClone){jQuery.tmpl.afterManip(this,fragClone,callback);};}
oldManip.apply(this,dmArgs);}else{oldManip.apply(this,arguments);}
cloneIndex=0;if(!appendToTmplItems){jQuery.tmpl.complete(newTmplItems);}
return this;}});jQuery.extend({tmpl:function(tmpl,data,options,parentItem){var ret,topLevel=!parentItem;if(topLevel){parentItem=topTmplItem;tmpl=nv.templates[tmpl]||jQuery.template(null,tmpl);wrappedItems={};}else if(!tmpl){tmpl=parentItem.tmpl;newTmplItems[parentItem.key]=parentItem;parentItem.nodes=[];return jQuery(build(parentItem,null,parentItem.tmpl(jQuery,parentItem)));}
if(!tmpl){return[];}
if(typeof data==="function"){data=data.call(parentItem||{});}
ret=jQuery.isArray(data)?jQuery.map(data,function(dataItem){return dataItem?newTmplItem(options,parentItem,tmpl,dataItem):null;}):[newTmplItem(options,parentItem,tmpl,data)];return topLevel?jQuery(build(parentItem,null,ret)):ret;},tmplItem:function(elem){var tmplItem;if(elem instanceof jQuery){elem=elem[0];}
while(elem&&elem.nodeType===1&&!(tmplItem=jQuery.data(elem,"tmplItem"))&&(elem=elem.parentNode)){}
return tmplItem||topTmplItem;},template:function(name,tmpl){if(tmpl){if(typeof tmpl==="string"){tmpl=buildTmplFn(tmpl,name);}else if(tmpl instanceof jQuery){if(tmpl[0]){tmpl=tmpl[0];}
else{nv.log("We are about to use {} in place of the template, which likely means that you're trying to access a named template that was not defined. Name was "+tmpl.selector);tmpl={};}}
if(tmpl.nodeType){tmpl=jQuery.data(tmpl,"tmpl")||jQuery.data(tmpl,"tmpl",buildTmplFn(tmpl.innerHTML));}
return typeof name==="string"?(nv.templates[name]=tmpl):tmpl;}
return name?(typeof name!=="string"?jQuery.template(null,name):(nv.templates[name]||jQuery.template(null,htmlExpr.test(name)?name:jQuery(name)))):null;},encode:function(text){if(text==null)return"";return(""+text).split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;");}});jQuery.extend(jQuery.tmpl,{complete:function(items){newTmplItems={};},afterManip:function afterManip(elem,fragClone,callback){var content=fragClone.nodeType===11?jQuery.makeArray(fragClone.childNodes):fragClone.nodeType===1?[fragClone]:[];callback.call(elem,fragClone);storeTmplItems(content);cloneIndex++;}});function build(tmplItem,nested,content){var frag,ret=content?jQuery.map(content,function(item){return(typeof item==="string")?(tmplItem.key?item.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+tmplItmAtt+"=\""+tmplItem.key+"\" $2"):item):build(item,tmplItem,item._ctnt);}):tmplItem;if(nested){return ret;}
ret=ret.join("");ret.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(all,before,middle,after){frag=jQuery(middle).get();storeTmplItems(frag);if(before){frag=unencode(before).concat(frag);}
if(after){frag=frag.concat(unencode(after));}});return frag?frag:unencode(ret);}
function unencode(text){var el=document.createElement("div");el.innerHTML=text;return jQuery.makeArray(el.childNodes);}
function buildTmplFn(markup,templateName){return nv.tmpl.build(markup,templateName,{functionObj:true});}
function unescape(args){return args?args.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null;}
function outerHtml(elem){var div=document.createElement("div");div.appendChild(elem.cloneNode(true));return div.innerHTML;}
function storeTmplItems(content){var keySuffix="_"+cloneIndex,elem,elems,newClonedItems={},i,l,m;for(i=0,l=content.length;i<l;i++){if((elem=content[i]).nodeType!==1){continue;}
elems=elem.getElementsByTagName("*");for(m=elems.length-1;m>=0;m--){processItemKey(elems[m]);}
processItemKey(elem);}
function processItemKey(el){var pntKey,pntNode=el,pntItem,tmplItem,key;if((key=el.getAttribute(tmplItmAtt))){while(pntNode.parentNode&&(pntNode=pntNode.parentNode).nodeType===1&&!(pntKey=pntNode.getAttribute(tmplItmAtt))){}
if(pntKey!==key){pntNode=pntNode.parentNode?(pntNode.nodeType===11?0:(pntNode.getAttribute(tmplItmAtt)||0)):0;if(!(tmplItem=newTmplItems[key])){tmplItem=wrappedItems[key];tmplItem=newTmplItem(tmplItem,newTmplItems[pntNode]||wrappedItems[pntNode]);tmplItem.key=++itemKey;newTmplItems[itemKey]=tmplItem;}
if(cloneIndex){cloneTmplItem(key);}}
el.removeAttribute(tmplItmAtt);}else if(cloneIndex&&(tmplItem=jQuery.data(el,"tmplItem"))){cloneTmplItem(tmplItem.key);newTmplItems[tmplItem.key]=tmplItem;pntNode=jQuery.data(el.parentNode,"tmplItem");pntNode=pntNode?pntNode.key:0;}
if(tmplItem){pntItem=tmplItem;while(pntItem&&pntItem.key!=pntNode){pntItem.nodes.push(el);pntItem=pntItem.parent;}
delete tmplItem._ctnt;delete tmplItem._wrap;jQuery.data(el,"tmplItem",tmplItem);}
function cloneTmplItem(key){key=key+keySuffix;tmplItem=newClonedItems[key]=(newClonedItems[key]||newTmplItem(tmplItem,newTmplItems[tmplItem.parent.key+keySuffix]||tmplItem.parent));}}}
function tiCalls(content,name,data,options){if(!content){return stack.pop();}
stack.push({_:content,name:name,item:this,data:data,options:options||{}});return undefined;}
function tiParam(call,content){if(stack.length==0){nv.error("Tried to define parameter: "+call.name+" when not inside a {{wrap}} call");return;}
var wrap=stack[stack.length-1];var options=wrap.options;var value=build(options,true,content).join("");var previous=options[call.name];if(previous!=null){value=jQuery.isArray(previous)?previous.concat(value):[previous,value];}
options[call.name]=value;}
function tiNest(tmpl,data,options){return jQuery.tmpl(jQuery.template(tmpl),data,options,this);}
function tiWrap(call,wrapped){var options=call.options||{};options.wrapped=wrapped.join('');return jQuery.tmpl(jQuery.template(call.name),call.data,options,call.item);}
function tiUpdate(){var coll=this.nodes;jQuery.tmpl(null,null,null,this).insertBefore(coll[0]);jQuery(coll).remove();}})(nv.JQuery);
/* /common/javascript/jquery/jquery.tmpl.js*/

/*common/javascript/concurrency.js*/

nv.defineSingleton("nv.Concurrency",function(){this.runLater=function(functionToRunLater,howMuchLater){setTimeout(functionToRunLater,howMuchLater||10);};this.Semaphore=function(initialValue){var $this=this;var value=0;var callbacks=[];var __construct=function(initialValue){if(initialValue!=null)value=initialValue;};$this.P=function(callback){callbacks.push(function(){value--;callback();});if(value>0)allowP();};$this.V=function(){value++;if(value>0)allowP();};var allowP=function(){while(callbacks.length>0&&value>0){var callback=callbacks.shift();callback();}};__construct(initialValue);};});
/* /common/javascript/concurrency.js*/

/*common/javascript/jquery/jquery.tmpl.tmplbind.js*/

(function(jQuery,undefined){function curry(func){var args=Array.prototype.slice.call(arguments,1);return function(context){return func.apply(context||{},args.concat(Array.prototype.slice.call(arguments)));};}
var openningOverrides={"table":"tr","tbody":"tr","tr":"td","thead":"th"};var closingOverrides={};for(var k in openningOverrides){if(openningOverrides.hasOwnProperty(k)){var v=openningOverrides[k];closingOverrides[v]=v;}}
var inlineTags={'span':true};var pendingLinks=[];var waitingOnShow=[];var uniqueId=0;jQuery.tmpl.registerLinkTemplate=function(tmplItem,templateName,prevHtml,children,onVisible,eventObject,filter){if(typeof eventObject==="string"){if(typeof tmplItem[eventObject]!=='undefined'){eventObject=tmplItem[eventObject];}
else{nv.log("No event object passed in with key "+eventObject+", so don't expect any updates");eventObject=null;}}
return register(prevHtml,children,{event:eventObject,templateName:templateName,data:tmplItem.data,filter:filter,onVisible:onVisible,options:tmplItem.options});};jQuery.tmpl.registerCall=function(tmplItem,func,prevHtml,args){if(typeof func==="string"){func=tmplItem[func];}
if(!jQuery.isFunction(func)){if(typeof(console)!='undefined'&&typeof(console.log)!='undefined'){console.log("Unknown function "+func+" in {{call}} tag in a jquery tmpl");}
func=jQuery.noop;}
var curried=curry.apply(this,[func].concat(args));return register(prevHtml,[],{func:curried,onVisible:true});};function register(prevHtml,children,linkData){linkData.id="linkedTemplate"+uniqueId++;pendingLinks.push(linkData);var nodeName="span";for(var i=prevHtml.length-1;i>=0;i--){var lastHtml=prevHtml[i];if(typeof lastHtml=='string'){var match=lastHtml.match(/<(\/*)(\w+)[^>]*>\s*$/);if(match){var overrides=!match[1]?openningOverrides:closingOverrides;var lastNodeName=match[2];var override=overrides[lastNodeName];if(override){nodeName=override;}
break;}}}
var inlineVisibilitySpace="";if(inlineTags[nodeName]===true)inlineVisibilitySpace="&nbsp;";return["<"+nodeName+" id='"+linkData.id+"'>"+inlineVisibilitySpace+"</"+nodeName+">",children];};var findPending=function(){while(pendingLinks.length>0){var linkData=pendingLinks.shift();var placeholder=document.getElementById(linkData.id);var elem=placeholder&&placeholder.parentNode;if(!elem||(linkData.onVisible&&elem.offsetWidth===0&&elem.offsetHeight===0)){waitingOnShow.push(linkData);jQuery(placeholder).bind("remove",removeFromWaiting);continue;}
jQuery.removeEvent(placeholder,"remove",removeFromWaiting);elem.removeChild(placeholder);if(linkData.func){var value=linkData.func(elem);if(value&&value!==elem){jQuery(elem).append(value);}}
else if(linkData.event){linkData.event.bind(makeCallback(linkData.filter,elem,linkData.templateName,linkData.data,linkData.options),elem);}}};var removeFromWaiting=function(){for(var i=0;i<waitingOnShow.length;i++){if(waitingOnShow[i].id==this.id){waitingOnShow.splice(i,1);}}};var makeCallback=function(filter,elem,templateName,originalData,originalOptions){var isFilterFunction=jQuery.isFunction(filter);var prevDataForFilterFunction;return function(data,options){if(isFilterFunction){var ret=filter(data,prevDataForFilterFunction);prevDataForFilterFunction=data;if(ret)return;}
else{for(var k in filter){if(data[k]!=filter[k]){return;}}}
var mergedData=jQuery.extendIncludingUndefined({},originalData,data);var perTemplateOptions=originalOptions[templateName];if(jQuery.isArray(perTemplateOptions)){var extendParams=[{}];for(var i=0;i<perTemplateOptions.length;i++){extendParams.push(new perTemplateOptions[i]());}
perTemplateOptions=jQuery.extend.apply(this,extendParams);}
else if(perTemplateOptions instanceof Function){perTemplateOptions=new perTemplateOptions();}
var mergedOptions=jQuery.extend({},originalOptions,options,perTemplateOptions);var tmplItem=null;var children=elem.children;var length=children.length;if(length!=0){for(var i=length-1;i>=0;i--){tmplItem=jQuery.data(children[i],"tmplItem");if(tmplItem){if(tmplItem.tmpl.templateName==templateName)break;tmplItem=tmplItem.parent;if(tmplItem.tmpl.templateName==templateName)break;}}}
if(tmplItem==null){if(length==0){while(elem.lastChild)
elem.removeChild(elem.lastChild);}
jQuery.tmpl(templateName,mergedData,mergedOptions).appendTo(elem);}
else{tmplItem.options=mergedOptions;jQuery.extend(tmplItem,mergedOptions);tmplItem.oldData=tmplItem.data;tmplItem.data=mergedData;tmplItem.update();findPending();}};};var oldComplete=jQuery.tmpl.complete;jQuery.tmpl.complete=function(tmplItems){findPending();oldComplete(tmplItems);};var oldShow=jQuery.prototype.show;jQuery.fn.extend({"show":function(){var result=oldShow.apply(this,arguments);var length=waitingOnShow.length;if(length>0){Array.prototype.push.apply(pendingLinks,waitingOnShow);waitingOnShow.splice(0,length);findPending();}
return result;}});})(nv.JQuery);
/* /common/javascript/jquery/jquery.tmpl.tmplbind.js*/

/*common/javascript/jquery/jquery.tmpl.clearDiff.js*/

(function(jQuery){jQuery.extend(jQuery.tmpl,{clearDiff:function(timeout,node){if(!timeout){timeout=3000;}
setTimeout(function(){var nodes=jQuery(node).find("span.nv-diff-up, span.nv-diff-down");nodes.replaceWith(nodes.contents());},timeout);}});})(nv.JQuery);
/* /common/javascript/jquery/jquery.tmpl.clearDiff.js*/

/*common/javascript/jquery/jquery.tmpl.tags.js*/

(function(exports){exports.tags={"tmpl":{_default:{$2:"null"},open:"$ifdef{_=_.concat($item.nest($1,$2));}"},"wrap":{_default:{$2:"null"},open:"$item.calls(_,$1,$2); _ = [];",close:"call = $item.calls(); _ = call._.concat( $item.wrap( call, _ ) );"},"param":{_default:{$2:"null"},open:"$item.calls(_,$1,$2); _ = [];",close:"call = $item.calls(); $item.param( call, _ ); _ = call._;"},"each":{_default:{$2:"$index, $value"},open:"$.each( $testdef $1 || [],function($2){with( (this == window ? {} : this ) ){",close:"}});"},"if":{open:"if($testdef $1){",close:"}"},"else":{_default:{$1:"true"},open:"}else if($testdef $1){"},"html":{open:"$ifdef{_.push($1 || '');}"},"=":{_default:{$1:"$data"},open:"$ifdef{_.push($.encode($1));}"},"!":{open:""},"subscribe":{_default:{$1:"null",$2:"null"},open:"_ = _.concat(nv.tmpl.subscribe($item, $1, $2));"},"tmplbind":{_default:{$1:"null",$2:"'no key given'"},open:"_=Array.prototype.concat.apply(_,jQuery.tmpl.registerLinkTemplate($item,$1,_,[],false,$2));"},"tmplbindnow":{_default:{$1:"null",$2:"'no key given'"},open:"_=Array.prototype.concat.apply(_,jQuery.tmpl.registerLinkTemplate($item,$1,_,$item.nest($1,$.extendIncludingUndefined({__theTimeIsNow: true},[$2][1],[$2][2])),false,$2));"},"tmplbindlater":{_default:{$1:"null",$2:"'no key given'"},open:"_=Array.prototype.concat.apply(_,jQuery.tmpl.registerLinkTemplate($item,$1,_,[],true,$2));"},"ifnow":{open:"if(typeof __theTimeIsNow !== 'undefined' && __theTimeIsNow === true){",close:"}"},"call":{_default:{$1:"null",$2:"$data"},open:"_=Array.prototype.concat.apply(_,jQuery.tmpl.registerCall($item,$1,_,[$2]));"},"debugger":{open:"debugger;"},"with":{open:"$ifdef{with(( $1 )||{}){",close:"}}"},"snippet":{open:"$1;"},"format":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{_.push(nv.util.Number.formatWithCommas($1,$2));}"},"aformat":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{ nv.array.forEach($.isArray($1) ? $1 : [$1], function(v,i) { if (i !== 0) _.push(', '); _.push(nv.util.Number.formatWithCommas(v,$2)); }); }"},"plus":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{_.push(nv.util.Number.formatWithCommasAndSignIfPositive($1,$2));}"},"dollar":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{_.push(nv.util.Number.formatDollar($1,$2));}"},"adollar":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{ nv.array.forEach($.isArray($1) ? $1 : [$1], function(v,i) { if (i !== 0) _.push(', '); _.push(nv.util.Number.formatDollar(v,$2)); }); }"},"percent":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{_.push(nv.util.Number.formatPercent($1,$2));}"},"apercent":{_default:{$1:"$data",$2:"undefined"},open:"$ifdef{ nv.array.forEach($.isArray($1) ? $1 : [$1], function(v,i) { if (i !== 0) _.push(', '); _.push(nv.util.Number.formatPercent(v,$2)); }); }"},"percentWithSign":{_default:{$1:"$data"},open:"$ifdef{_.push(nv.util.Number.formatPercentAndSignIfPositive($1));}"},"quoteChangeClass":{_default:{$1:"0",$2:"'nv-change-up','nv-change-down',''"},open:"var _num=Number($1);var cssClasses=[$2];_.push(_num>0?cssClasses[0]:(_num<0?cssClasses[1]:cssClasses[2]));"},"diffCurrency":{_default:{$1:"$data",$2:"null,2,'',null"},open:"$ifdef{"+"var arg1=$1;"+"var args=[$2];"+"var diffClass= (arg1>args[0]?'nv-diff-up':(args[0]>arg1?'nv-diff-down':''));"+"_.push(nv.String.Diff("+"nv.util.Number.formatWithCommas(args[0],args[1],args[2]),nv.util.Number.formatWithCommas(arg1,args[1],args[2]),diffClass)"+");"+"_=Array.prototype.concat.apply(_,jQuery.tmpl.registerCall($item,$.tmpl.clearDiff,_,args[3]));"+"}"}};})(typeof nv!=='undefined'?(nv.JQuery.tmpl):exports);
/* /common/javascript/jquery/jquery.tmpl.tags.js*/

/*common/javascript/jquery/jquery.tmpl.parser.js*/

(function(exports){if(typeof require!=='undefined'){var defaultTags=require("./jquery.tmpl.tags.js").tags;}
else{var defaultTags=nv.JQuery.tmpl.tags;}
var TOKEN_TYPE_OPEN_TAG=0;var TOKEN_TYPE_CLOSE_TAG=1;var TOKEN_TYPE_CONTROL_COMMENT=3;var LEVEL_WARNING=0;var LEVEL_ERROR=1;TEMPLATE="template";SNIPPET="snippet";var validJsNameRegex=/^[$A-Za-z_][0-9A-Za-z_]*$/;function getCodeForString(str){return escapeQuotesForCode(str);};function escapeQuotesForCode(str){return str.replace(/'/g,"\\'").replace(/\s+/g,' ');};function sanitizeSource(str){return str.replace(/_.push\(''\);/g,'');};function build(parseTree,templateName,options){var customTags=options.tags||{};function getCodeForTag(node){var tag=customTags[node.tag]||defaultTags[node.tag];if(!tag){throw"Template command not found: "+node.tag;}
var def=tag._default||[];var target=node.$1;var expr=target?unescape(target):def.$1||"null";var fnargs=node.$2?unescape(node.$2):def.$2||"";var validJsName=validJsNameRegex.test(target);var testdef=target&&validJsName?"typeof("+target+")!=='undefined' &&":"";var ifdef=target&&validJsName?"if (typeof("+target+")!=='undefined')":"";return"');"+"\n/* line "+node.n+" */\n"+
tag[node.t===TOKEN_TYPE_CLOSE_TAG?"close":"open"].split("$ifdef").join(ifdef).split("$testdef").join(testdef).split("$1").join(expr).split("$2").join(fnargs)+"\n_.push('";};var controlComments=[];var sourceArray=[];sourceArray.push("_.push('");for(var i=0;i<parseTree.length;i++){var currNode=parseTree[i];if(typeof currNode=='object'){switch(currNode.t){case TOKEN_TYPE_OPEN_TAG:case TOKEN_TYPE_CLOSE_TAG:var codeForTag=getCodeForTag(currNode);sourceArray.push(codeForTag);break;case TOKEN_TYPE_CONTROL_COMMENT:if(currNode.type=="template"){templateName=currNode.args;}
controlComments.push("/* nv:",currNode.type," ",currNode.args," */\n");break;default:throw"Shouldn't have any other token types";break;}}
else{var current=getCodeForString(currNode);if(current==' '&&(/ $/).test(sourceArray[sourceArray.length-1]))continue;sourceArray.push(current);}}
sourceArray.push("');");var source=sanitizeSource(sourceArray.join(''));if(options.output==SNIPPET){return source;}
var functionSourceArray=[];functionSourceArray.push("var $=jQuery,call,_=[],$data=$item.data;\n");functionSourceArray.push("with($data){\n");functionSourceArray.push(source);functionSourceArray.push("\n}return _;");var functionSource=sanitizeSource(functionSourceArray.join(''));if(!options.functionObj){if(!templateName){throw"Compling requires template name (either explicit or nv:template command comment";}
return controlComments.join('')+"(nv.templates['"+templateName+"'] = function(jQuery, $item) {\n"+functionSource+"\n}).templateName = '"+templateName+"';\n";}
try{var ret=new Function("jQuery","$item",functionSource);ret.templateName=templateName;return ret;}
catch(e){nv.log("Chances are you have a syntax error in one of your JS expressions inside the template, because the Function constructor threw. Here's the code:\n\n"+functionSource);throw e;}}
var stateNumber=0;var STATE_START=stateNumber++;var STATE_TAG_NAME=stateNumber++;var STATE_TAG_$2=stateNumber++;var STATE_TAG_$1=stateNumber++;var STATE_CONTROL_COMMENT_NAME=stateNumber++;var STATE_CONTROL_COMMENT_ARGS=stateNumber++;var regexes={};regexes[STATE_START]=/\{\{|\n|\/\*[ ]*nv:/g;regexes[STATE_TAG_NAME]=/\(| |\n|\t|\r\n|\}\}/g;regexes[STATE_TAG_$2]=/\(|\)/g;regexes[STATE_TAG_$1]=/{|}|\n|\/\*|\/\/|"|'/g;regexes[STATE_CONTROL_COMMENT_NAME]=/\*| |\n/g;regexes[STATE_CONTROL_COMMENT_ARGS]=/[ ]*\*\//g;function parse(markup,templateName,options){var throwLevel=options.throwLevel==null?LEVEL_ERROR:options.throwLevel;for(var key in regexes){regexes[key].lastIndex=0;}
var length=markup.length;var currMatch;var currState=STATE_START;var lineNumber=1;var tokens=[];var stack=[];var regex=regexes[currState];function skiptil(lookfor){lookfor.lastIndex=regex.lastIndex;var skipmatch=lookfor.exec(markup);if(skipmatch==null){throw{message:"Mismatched "+lookfor,level:LEVEL_WARNING};}
regex.lastIndex=lookfor.lastIndex;}
function state(newState){currState=newState;var oldRegex=regex;regex=regexes[newState];regex.lastIndex=oldRegex.lastIndex;};var from=0;function token(t){var upto=markup.substring(from,regex.lastIndex-currMatch.length);if(upto.length>0)tokens.push(upto);from=regex.lastIndex;tokens.push({t:t,n:lineNumber});};function tokenparam(param){tokens[tokens.length-1][param]=markup.substring(from,regex.lastIndex-currMatch.length);from=regex.lastIndex;};var regexResult;while((regexResult=regex.exec(markup))!=null){var currMatch=regexResult[0];if(currMatch=="\n")lineNumber++;try{switch(currState){case STATE_START:switch(currMatch){case'{{':if(markup.charAt(regex.lastIndex)==='!'){tokens.push(markup.substring(from,regex.lastIndex-currMatch.length));regex.lastIndex=markup.indexOf('}}',regex.lastIndex)+2;from=regex.lastIndex;}
else{if(markup.charAt(regex.lastIndex)==='/'){token(TOKEN_TYPE_CLOSE_TAG);from++;}
else{token(TOKEN_TYPE_OPEN_TAG);}
state(STATE_TAG_NAME);}
break;case"\n":break;case"/*nv:":case"/* nv:":token(TOKEN_TYPE_CONTROL_COMMENT);state(STATE_CONTROL_COMMENT_NAME);break;}
break;case STATE_CONTROL_COMMENT_NAME:tokenparam("type");switch(currMatch){case' ':case'\n':state(STATE_CONTROL_COMMENT_ARGS);break;case'*':state(STATE_START);from++;}
break;case STATE_CONTROL_COMMENT_ARGS:tokenparam("args");switch(currMatch){case'*/':case' */':state(STATE_START);break;}
break;case STATE_TAG_NAME:tokenparam("tag");switch(currMatch){case'(':state(STATE_TAG_$2);break;case' ':case"\t":case"\n":case"\r\n":state(STATE_TAG_$1);break;case'}}':state(STATE_START);break;}
break;case STATE_TAG_$2:switch(currMatch){case'(':stack.push(currMatch);break;case')':if(stack.length==0){tokenparam("$2");state(STATE_TAG_$1);from++;}
else if(stack[stack.length-1]=='('){stack.pop();}
else{throw{message:") closing a "+stack[stack.length-1],level:LEVEL_ERROR};}
break;}
break;case STATE_TAG_$1:switch(currMatch){case'{':stack.push(currMatch);break;case'}':if(stack.length==0){if(markup.charAt(regex.lastIndex)!='}'){throw{message:"We shouldn't have anything but a closing brace here. Mismatched braces?",level:LEVEL_ERROR};}
tokenparam("$1");state(STATE_START);from++;}
else if(stack[stack.length-1]=='{'){stack.pop();}
else{throw{message:"} closing a "+stack[stack.length-1],level:LEVEL_ERROR};}
break;case"'":case'"':if(markup.charAt(regex.lastIndex)==currMatch){regex.lastIndex++;break;}
skiptil(currMatch=='\''?(/[^\\]'/g):(/[^\\]"/g));break;case'/*':skiptil(/\*\//g);break;case'//':skiptil(/\/\//g);break;}
break;}}
catch(e){if(typeof nv!=='undefined'){nv.log(["SYNTAX "+(e.level==LEVEL_ERROR?"ERROR":"WARNING")+" IN TEMPLATE DEFINITION\n","Template Name:  "+templateName,"Line number:    "+lineNumber,"Message:        "+e.message].join("\n"));}
if(e.level>=throwLevel||typeof e.nextState=='undefined'){throw{message:e.message,level:e.level,lineNumber:lineNumber,templateName:templateName};}
else{state(e.nextState);}}}
if(from<markup.length){tokens.push(markup.substring(from));}
return tokens;};function parseTreeToSource(parseTree){var filteredParseTree=[];for(var i=0;i<parseTree.length;i++){var currNode=parseTree[i];if(typeof currNode=='object'){var stringEquivalent="";switch(currNode.t){case TOKEN_TYPE_OPEN_TAG:stringEquivalent="{{"+currNode.tag+"("+currNode.$2+") "+currNode.$1+"}}";break;case TOKEN_TYPE_CLOSE_TAG:stringEquivalent="{{/"+currNode.tag+"}}";break;default:break;}
filteredParseTree.push(stringEquivalent);}
else{filteredParseTree.push(currNode.replace("\\n","\n"));}}
return filteredParseTree.join('');};function tsv2tags(text,start){var tags={};var lines=text.split('\n');for(var i=start||0;i<lines.length;i++){var line=lines[i];var fields=line.split('\t');if(fields.length<2)continue;var parseTree=parse(fields[1],"dummy",{});var snippet=build(parseTree,"dummy",{output:SNIPPET});tags[fields[0]]={"open":snippet};}
return tags;};exports.build=function(markup,templateName,options){options=options||{};if(options.tsv){options.tags=tsv2tags(options.tsv);}
var parseTree=parse(markup,templateName,options);var fun=build(parseTree,templateName,options);return fun;};exports.LEVEL_WARNING=LEVEL_WARNING;exports.LEVEL_ERROR=LEVEL_ERROR;exports._parse=parse;exports._build=build;exports._tsv2tags=tsv2tags;exports._TOKEN_TYPE_OPEN_TAG=TOKEN_TYPE_OPEN_TAG;exports._TOKEN_TYPE_CLOSE_TAG=TOKEN_TYPE_CLOSE_TAG;exports._TOKEN_TYPE_CONTROL_COMMENT=TOKEN_TYPE_CONTROL_COMMENT;exports.TEMPLATE=TEMPLATE;exports.SNIPPET=SNIPPET;})(typeof nv!=='undefined'?(nv.tmpl={}):exports);
/* /common/javascript/jquery/jquery.tmpl.parser.js*/

/*common/javascript/jquery/jquery.extendIncludingUndefined.js*/

(function(jQuery){jQuery.extendIncludingUndefined=jQuery.fn.extendIncludingUndefined=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(length===i){target=this;--i;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}
target[name]=jQuery.extendIncludingUndefined(deep,clone,copy);}else{target[name]=copy;}}}}
return target;};})(nv.JQuery);
/* /common/javascript/jquery/jquery.extendIncludingUndefined.js*/

/*common/javascript/jquery/jquery.tmpl.lazycompile.js*/

(function(jQuery,undefined){if(typeof nv.TemplateMap==='undefined'){nv.TemplateMap={};}
var originalJQueryTemplateFn=jQuery.template;jQuery.template=function(name,tmpl){if(!tmpl&&nv.templates[name]){return nv.templates[name];}
for(var i=0;i<arguments.length;i++){var key=arguments[i];if(nv.TemplateMap[key]!=null){if(nv.TemplateMap[key]==''){nv.error("You wanted "+key+" to be an empty template, didn't you now? A noble desire, indeed. Too bad you CAN'T DO THAT, thanks to our friends who wrote jquery.tmpl. They use type-oblivious if conditions, so an empty template is as good as and undefined template. Sucks, eh? Yes, I know, I know. After you're done swearing, go ahead and add an empty line to your templates, and it'll work. But don't you wish you didn't have to do something like that?? I sure do...");}
return originalJQueryTemplateFn(key,nv.TemplateMap[key]);}}
var result=originalJQueryTemplateFn(name,tmpl);if(typeof result!='function'){if(name!==null){nv.error("Chances are you haven't defined the "+name+" template.");}
else if(name==null&&typeof tmpl=='object'&&tmpl.selector){nv.error("Chances are you haven't defined the "+tmpl.selector+" template; jQuery is trying to look up a DOM element containing the template definition.");}
else{nv.error("Chances are you haven't defined some template, whose name we don't know. Good luck debugging that.");}}
return result;};})(nv.JQuery);
/* /common/javascript/jquery/jquery.tmpl.lazycompile.js*/

/*common/javascript/jquery/jquery.tmpl.includes.js*/

/* /common/javascript/jquery/jquery.tmpl.includes.js*/

/*frontend/mashup/ui/TickerBoardComponent/base/View.js*/

nv.defineAwesomeClass("nv.widget.tickerboard.View",function($this,$protected){$protected.tickerboard;$protected.options;$this.__construct=function(tickerboard,options){if(typeof options!="object"||options===null){options={};}
$protected.tickerboard=tickerboard;$protected.options=options;};$this.getAuthOptions=function(){return{};};$this.render=function(){throw"Not Implemented";};});
/* /frontend/mashup/ui/TickerBoardComponent/base/View.js*/
