!function(global,factory){"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);return"function"===type||jQuery.isWindow(obj)?!1:"array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj}function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not});if(qualifier.nodeType)return jQuery.grep(elements,function(elem){return elem===qualifier!==not});if("string"==typeof qualifier){if(risSimple.test(qualifier))return jQuery.filter(qualifier,elements,not);qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not})}function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=!0}),object}function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}function Data(){this.expando=jQuery.expando+Data.uid++}function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),data=elem.getAttribute(name),"string"==typeof data){try{data="true"===data?!0:"false"===data?!1:"null"===data?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}dataUser.set(elem,key,data)}else data=void 0;return data}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do scale=scale||".5",initialInUnit/=scale,jQuery.style(elem,prop,initialInUnit+unit);while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function getAll(context,tag){var ret="undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag||"*"):"undefined"!=typeof context.querySelectorAll?context.querySelectorAll(tag||"*"):[];return void 0===tag||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;l>i;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;l>i;i++)if(elem=elems[i],elem||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||fragment.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){"string"!=typeof selector&&(data=data||selector,selector=void 0);for(type in types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),fn===!1)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(11!==content.nodeType?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events)){delete pdataCur.handle,pdataCur.events={};for(type in events)for(i=0,l=events[type].length;l>i;i++)jQuery.event.add(dest,type,events[type][i])}dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();"input"===nodeName&&rcheckableType.test(src.type)?dest.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(scripts=jQuery.map(getAll(fragment,"script"),disableScript),hasScripts=scripts.length;l>i;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;hasScripts>i;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):jQuery.globalEval(node.textContent.replace(rcleanScript,"")))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,"script")),node.parentNode.removeChild(node));return elem}function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],"display");return elem.detach(),display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];return display||(display=actualDisplay(nodeName,doc),"none"!==display&&display||(iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement),doc=iframe[0].contentDocument,doc.write(),doc.close(),display=actualDisplay(nodeName,doc),iframe.detach()),elemdisplay[nodeName]=display),display}function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return computed=computed||getStyles(elem),ret=computed?computed.getPropertyValue(name)||computed[name]:void 0,""!==ret&&void 0!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),computed&&!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){return conditionFn()?void delete this.get:(this.get=hookFn).apply(this,arguments)}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if(name=cssPrefixes[i]+capName,name in emptyStyle)return name}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){for(var i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0,val=0;4>i;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=!0,val="width"===name?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles);if(0>=val||null==val){if(val=curCSS(elem,name,styles),(0>val||null==val)&&(val=elem.style[name]),rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]),val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}function showHide(elements,show){for(var display,elem,hidden,values=[],index=0,length=elements.length;length>index;index++)elem=elements[index],elem.style&&(values[index]=dataPriv.get(elem,"olddisplay"),display=elem.style.display,show?(values[index]||"none"!==display||(elem.style.display=""),""===elem.style.display&&isHidden(elem)&&(values[index]=dataPriv.access(elem,"olddisplay",defaultDisplay(elem.nodeName)))):(hidden=isHidden(elem),"none"===display&&hidden||dataPriv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))));for(index=0;length>index;index++)elem=elements[index],elem.style&&(show&&"none"!==elem.style.display&&""!==elem.style.display||(elem.style.display=show?values[index]||"":"none"));return elements}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;4>i;i+=2-includeWidth)which=cssExpand[i],attrs["margin"+which]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;length>index;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=dataPriv.get(elem,"fxshow");opts.queue||(hooks=jQuery._queueHooks(elem,"fx"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})})),1===elem.nodeType&&("height"in props||"width"in props)&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],display=jQuery.css(elem,"display"),checkDisplay="none"===display?dataPriv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display,"inline"===checkDisplay&&"none"===jQuery.css(elem,"float")&&(style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]}));for(prop in props)if(value=props[prop],rfxtypes.exec(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else display=void 0;if(jQuery.isEmptyObject(orig))"inline"===("none"===display?defaultDisplay(elem.nodeName):display)&&(style.display=display);else{dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{}),toggle&&(dataShow.hidden=!hidden),hidden?jQuery(elem).show():anim.done(function(){jQuery(elem).hide()}),anim.done(function(){var prop;dataPriv.remove(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])});for(prop in orig)tween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=tween.start,hidden&&(tween.end=tween.start,tween.start="width"===prop||"height"===prop?1:0))}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(name=jQuery.camelCase(index),easing=specialEasing[name],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),hooks=jQuery.cssHooks[name],hooks&&"expand"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;length>index;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),1>percent&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;length>index;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);length>index;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}return finalDataType?(finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]):void 0}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(conv=converters[prev+" "+current]||converters["* "+current],!conv)for(conv2 in converters)if(tmp=conv2.split(" "),tmp[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){conv===!0?conv=converters[conv2]:converters[conv2]!==!0&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(conv!==!0)if(conv&&s["throws"])response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}return{state:"success",data:response}}function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&elem.defaultView}var arr=[],document=window.document,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},version="2.2.4",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return null!=num?0>num?this[num+this.length]:this[num]:slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret.context=this.context,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(0>i?len:0);return this.pushStack(j>=0&&len>j?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);length>i;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return"function"===jQuery.type(obj)},isArray:Array.isArray,isWindow:function(obj){return null!=obj&&obj===obj.window},isNumeric:function(obj){var realStringObj=obj&&obj.toString();return!jQuery.isArray(obj)&&realStringObj-parseFloat(realStringObj)+1>=0},isPlainObject:function(obj){var key;if("object"!==jQuery.type(obj)||obj.nodeType||jQuery.isWindow(obj))return!1;if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype||{},"isPrototypeOf"))return!1;for(key in obj);return void 0===key||hasOwn.call(obj,key)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},type:function(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code),code&&(1===code.indexOf("use strict")?(script=document.createElement("script"),script.text=code,document.head.appendChild(script).parentNode.removeChild(script)):indirect(code))},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;length>i&&callback.call(obj[i],i,obj[i])!==!1;i++);else for(i in obj)if(callback.call(obj[i],i,obj[i])===!1)break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;len>j;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;length>i;i++)callbackInverse=!callback(elems[i],i),callbackInverse!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;length>i;i++)value=callback(elems[i],i,arg),null!=value&&ret.push(value);else for(i in elems)value=callback(elems[i],i,arg),null!=value&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;return"string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn)?(args=slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy):void 0},now:Date.now,support:support}),"function"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]),jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});var Sizzle=function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,nidselect,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rescape,"\\$&"):context.setAttribute("id",nid=expando),groups=tokenize(selector),i=groups.length,nidselect=ridentifier.test(nid)?"#"+nid:"[id='"+nid+"']";i--;)groups[i]=nidselect+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return!1}finally{div.parentNode&&div.parentNode.removeChild(div),div=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&"undefined"!=typeof context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";len>i;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&"parentNode"===dir,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements){if(outerCache=elem[expando]||(elem[expando]={}),uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={}),(oldCache=uniqueCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[dir]=newCache,newCache[2]=matcher(elem,context,xml))return!0}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;len>i;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;len>i;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){
var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];len>i;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;len>j&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,j>i&&matcherFromTokens(tokens.slice(i,j)),len>j&&matcherFromTokens(tokens=tokens.slice(j)),len>j&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;len>i;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:0>high?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},unloadHandler=function(){setDocument()};try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?"HTML"!==documentElement.nodeName:!1},setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=document.documentElement,documentIsHTML=!isXML(document),(parent=document.defaultView)&&parent.top!==parent&&(parent.addEventListener?parent.addEventListener("unload",unloadHandler,!1):parent.attachEvent&&parent.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(div){return div.className="i",!div.getAttribute("className")}),support.getElementsByTagName=assert(function(div){return div.appendChild(document.createComment("")),!div.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(div){return docElem.appendChild(div).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.find.ID=function(id,context){if("undefined"!=typeof context.getElementById&&documentIsHTML){var m=context.getElementById(id);return m?[m]:[]}},Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}):(delete Expr.find.ID,Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node="undefined"!=typeof elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return"undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){return"undefined"!=typeof context.getElementsByClassName&&documentIsHTML?context.getElementsByClassName(className):void 0},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",div.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),div.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),div.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),div.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),div.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(div){var input=document.createElement("input");input.setAttribute("type","hidden"),div.appendChild(input).setAttribute("name","D"),div.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),div.querySelectorAll(":enabled").length||rbuggyQSA.push(":enabled",":disabled"),div.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(div){support.disconnectedMatch=matches.call(div,"div"),matches.call(div,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare?compare:(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&compare||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||"undefined"!=typeof elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:operator?(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:"|="===operator?result===check||result.slice(0,check.length+1)===check+"-":!1):!0}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(node=parent,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(node=elem,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex),diff===!1)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&(outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),uniqueCache[type]=[dirruns,diff]),node!==elem)););return diff-=last,diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return elemLang=elemLang.toLowerCase(),elemLang===lang||0===elemLang.indexOf(lang+"-");while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===!1},disabled:function(elem){return elem.disabled===!0},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,elem.selected===!0},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[0>argument?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;length>i;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;length>i;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=0>argument?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=0>argument?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}},Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)cached=matcherFromTokens(match[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers)),cached.selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&"ID"===(token=tokens[0]).type&&support.getById&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0],!context)return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),selector=seed.length&&toSelector(tokens),!selector)return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(div1){return 1&div1.compareDocumentPosition(document.createElement("div"))}),assert(function(div){return div.innerHTML="<a href='#'></a>","#"===div.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){return isXML?void 0:elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(div){return div.innerHTML="<input/>",div.firstChild.setAttribute("value",""),""===div.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){return isXML||"input"!==elem.nodeName.toLowerCase()?void 0:elem.defaultValue}),assert(function(div){return null==div.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;return isXML?void 0:elem[name]===!0?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains;var dir=function(elem,dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,risSimple=/^.[^:#\[\.,]*$/;jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;len>i;i++)if(jQuery.contains(self[i],this))return!0}));for(i=0;len>i;i++)jQuery.find(selector,self[i],ret);return ret=this.pushStack(len>1?jQuery.unique(ret):ret),ret.selector=this.selector?this.selector+" "+selector:selector,ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(match="<"===selector[0]&&">"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector),!match||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return elem=document.getElementById(match[2]),elem&&elem.parentNode&&(this.length=1,this[0]=elem),this.context=document,this.selector=selector,this}return selector.nodeType?(this.context=this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):(void 0!==selector.selector&&(this.selector=selector.selector,this.context=selector.context),jQuery.makeArray(selector,this))};init.prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;l>i;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){for(var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||"string"!=typeof selectors?jQuery(selectors,context||this.context):0;l>i;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(pos?pos.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnotwhite=/\S+/g;jQuery.Callbacks=function(options){options="string"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)list[firingIndex].apply(memory[0],memory[1])===!1&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),firingIndex>=index&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=args||[],args=[context,args.slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)})}),fns=null}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return promise.pipe=promise.then,jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[1^i][2].disable,tuples[2][2].lock),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?promise:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(subordinate){var progressValues,progressContexts,resolveContexts,i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=1!==length||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=1===remaining?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){
return function(value){contexts[i]=this,values[i]=arguments.length>1?slice.call(arguments):value,values===progressValues?deferred.notifyWith(contexts,values):--remaining||deferred.resolveWith(contexts,values)}};if(length>1)for(progressValues=new Array(length),progressContexts=new Array(length),resolveContexts=new Array(length);length>i;i++)resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)?resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject):--remaining;return remaining||deferred.resolveWith(resolveContexts,resolveValues),deferred.promise()}});var readyList;jQuery.fn.ready=function(fn){return jQuery.ready.promise().done(fn),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){(wait===!0?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,wait!==!0&&--jQuery.readyWait>0||(readyList.resolveWith(document,[jQuery]),jQuery.fn.triggerHandler&&(jQuery(document).triggerHandler("ready"),jQuery(document).off("ready"))))}}),jQuery.ready.promise=function(obj){return readyList||(readyList=jQuery.Deferred(),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed))),readyList.promise(obj)},jQuery.ready.promise();var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===jQuery.type(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;len>i;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};Data.uid=1,Data.prototype={register:function(owner,initial){var value=initial||{};return owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,writable:!0,configurable:!0}),owner[this.expando]},cache:function(owner){if(!acceptData(owner))return{};var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[data]=value;else for(prop in data)cache[prop]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][key]},access:function(owner,key,value){var stored;return void 0===key||key&&"string"==typeof key&&void 0===value?(stored=this.get(owner,key),void 0!==stored?stored:this.get(owner,jQuery.camelCase(key))):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,name,camel,cache=owner[this.expando];if(void 0!==cache){if(void 0===key)this.register(owner);else{jQuery.isArray(key)?name=key.concat(key.map(jQuery.camelCase)):(camel=jQuery.camelCase(key),key in cache?name=[key,camel]:(name=camel,name=name in cache?[name]:name.match(rnotwhite)||[])),i=name.length;for(;i--;)delete cache[name[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}}),jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&(name=attrs[i].name,0===name.indexOf("data-")&&(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name])));dataPriv.set(elem,"hasDataAttrs",!0)}return data}return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data,camelKey;if(elem&&void 0===value){if(data=dataUser.get(elem,key)||dataUser.get(elem,key.replace(rmultiDash,"-$&").toLowerCase()),void 0!==data)return data;if(camelKey=jQuery.camelCase(key),data=dataUser.get(elem,camelKey),void 0!==data)return data;if(data=dataAttr(elem,camelKey,void 0),void 0!==data)return data}else camelKey=jQuery.camelCase(key),this.each(function(){var data=dataUser.get(this,camelKey);dataUser.set(this,camelKey,value),key.indexOf("-")>-1&&void 0!==data&&dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;return elem?(type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||jQuery.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]):void 0},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)tmp=dataPriv.get(elements[i],type+"queueHooks"),tmp&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHidden=function(elem,el){return elem=el||elem,"none"===jQuery.css(elem,"display")||!jQuery.contains(elem.ownerDocument,elem)},rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([\w:-]+)/,rscriptType=/^$|\/(?:java|ecma)script/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\w+;/;!function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue}();var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return"undefined"!=typeof jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),types=(types||"").match(rnotwhite)||[""],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&special.setup.call(elem,data,namespaces,eventHandle)!==!1||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(types=(types||"").match(rnotwhite)||[""],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&special.teardown.call(elem,namespaces,elemData.handle)!==!1||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};if(args[0]=event,event.delegateTarget=this,!special.preDispatch||special.preDispatch.call(this,event)!==!1){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args),void 0!==ret&&(event.result=ret)===!1&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&("click"!==event.type||isNaN(event.button)||event.button<1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&(cur.disabled!==!0||"click"!==event.type)){for(matches=[],i=0;delegateCount>i;i++)handleObj=handlers[i],sel=handleObj.selector+" ",void 0===matches[sel]&&(matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matches[sel]&&matches.push(handleObj);matches.length&&handlerQueue.push({elem:cur,handlers:matches})}return delegateCount<handlers.length&&handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)}),handlerQueue},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){return null==event.which&&(event.which=null!=original.charCode?original.charCode:original.keyCode),event}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button;return null==event.pageX&&null!=original.clientX&&(eventDoc=event.target.ownerDocument||document,doc=eventDoc.documentElement,body=eventDoc.body,event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)),event.which||void 0===button||(event.which=1&button?1:2&button?3:4&button?2:0),event}},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];for(fixHook||(this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}),copy=fixHook.props?this.props.concat(fixHook.props):this.props,event=new jQuery.Event(originalEvent),i=copy.length;i--;)prop=copy[i],event[prop]=originalEvent[prop];return event.target||(event.target=document),3===event.target.nodeType&&(event.target=event.target.parentNode),fixHook.filter?fixHook.filter(event,originalEvent):event},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==safeActiveElement()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===safeActiveElement()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&jQuery.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){return this instanceof jQuery.Event?(src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&src.returnValue===!1?returnTrue:returnFalse):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),void(this[jQuery.expando]=!0)):new jQuery.Event(src,props)},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return selector!==!1&&"function"!=typeof selector||(fn=selector,selector=void 0),fn===!1&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0,l=srcElements.length;l>i;i++)fixInput(srcElements[i],destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;l>i;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,"script"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({domManip:domManip,detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null==dataAndEvents?!1:dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;l>i;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;last>=i;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var iframe,elemdisplay={HTML:"block",BODY:"block"},rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},documentElement=document.documentElement;!function(){function computeStyleTests(){div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",div.innerHTML="",documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal="1%"!==divStyle.top,reliableMarginLeftVal="2px"===divStyle.marginLeft,boxSizingReliableVal="4px"===divStyle.width,div.style.marginRight="50%",pixelMarginRightVal="4px"===divStyle.marginRight,documentElement.removeChild(container)}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",container.appendChild(div),jQuery.extend(support,{pixelPosition:function(){return computeStyleTests(),pixelPositionVal},boxSizingReliable:function(){return null==boxSizingReliableVal&&computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return null==boxSizingReliableVal&&computeStyleTests(),pixelMarginRightVal},reliableMarginLeft:function(){return null==boxSizingReliableVal&&computeStyleTests(),reliableMarginLeftVal},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));return marginDiv.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",marginDiv.style.marginRight=marginDiv.style.width="0",div.style.width="1px",documentElement.appendChild(container),ret=!parseFloat(window.getComputedStyle(marginDiv).marginRight),documentElement.removeChild(container),div.removeChild(marginDiv),ret}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"],emptyStyle=document.createElement("div").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value?hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name]:(type=typeof value,"string"===type&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value===value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(style[name]=value)),void 0)}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),extra===!0||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){return computed?rdisplayswap.test(jQuery.css(elem,"display"))&&0===elem.offsetWidth?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra):void 0},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles);return subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[name]=value,value=jQuery.css(elem,name)),setPositiveNumber(elem,value,subtract)}}}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){return computed?(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px":void 0}),jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){return computed?swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"]):void 0}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];4>i;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){for(styles=getStyles(elem),len=name.length;len>i;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHidden(this)?jQuery(this).show():jQuery(this).hide()})}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""),result&&"auto"!==result?result:0)},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.match(rnotwhite);for(var prop,index=0,length=props.length;length>index;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return opt.duration=jQuery.fx.off?0:"number"==typeof opt.duration?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default,null!=opt.queue&&opt.queue!==!0||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||optall.queue===!1?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&type!==!1&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);
if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return type!==!1&&(type=type||"fx"),this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;length>index;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;for(fxNow=jQuery.now();i<timers.length;i++)timer=timers[i],timer()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),timer()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=window.setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){window.clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox",support.checkOn=""!==input.value,support.optSelected=opt.selected,select.disabled=!0,support.optDisabled=!opt.disabled,input=document.createElement("input"),input.value="t",input.type="radio",support.radioValue="t"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return"undefined"==typeof elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(name=name.toLowerCase(),hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(ret=jQuery.find.attr(elem,name),null==ret?void 0:ret))},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&jQuery.nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)propName=jQuery.propFix[name]||name,jQuery.expr.match.bool.test(name)&&(elem[propName]=!1),elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return value===!1?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),name}},jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;return isXML||(handle=attrHandle[name],attrHandle[name]=ret,ret=null!=getter(elem,name,isXML)?name.toLowerCase():null,attrHandle[name]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this});var rclass=/[\t\r\n\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");finalValue=jQuery.trim(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");finalValue=jQuery.trim(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value;return"boolean"==typeof stateVal&&"string"===type?stateVal?this.addClass(value):this.removeClass(value):jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if("string"===type)for(i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||(className=getClass(this),className&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||value===!1?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+getClass(elem)+" ").replace(rclass," ").indexOf(className)>-1)return!0;return!1}});var rreturn=/\r/g,rspaces=/[\x20\t\r\n\f]+/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];{if(arguments.length)return isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=isFunction?value.call(this,i,jQuery(this).val()):value,null==val?val="":"number"==typeof val?val+="":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()],hooks&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))});if(elem)return hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()],hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:(ret=elem.value,"string"==typeof ret?ret.replace(rreturn,""):null==ret?"":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:jQuery.trim(jQuery.text(elem)).replace(rspaces," ")}},select:{get:function(elem){for(var value,option,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type||0>index,values=one?null:[],max=one?index+1:options.length,i=0>index?max:one?index:0;max>i;i++)if(option=options[i],(option.selected||i===index)&&(support.optDisabled?!option.disabled:null===option.getAttribute("disabled"))&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)option=options[i],(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){return jQuery.isArray(value)?elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1:void 0}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(namespaces=type.split("."),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event),event.isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||special.trigger.apply(elem,data)!==!1)){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"),handle&&handle.apply(cur,data),handle=ontype&&cur[ontype],handle&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),event.result===!1&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&special._default.apply(eventPath.pop(),data)!==!1||!acceptData(elem)||ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,elem[type](),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem)}}),jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];return elem?jQuery.event.trigger(type,data,elem,!0):void 0}}),jQuery.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),support.focusin="onfocusin"in window,support.focusin||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=jQuery.now(),rquery=/\?/;jQuery.parseJSON=function(data){return JSON.parse(data+"")},jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;2!==state&&(state=2,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&300>status||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&(modified=jqXHR.getResponseHeader("Last-Modified"),modified&&(jQuery.lastModified[cacheURL]=modified),modified=jqXHR.getResponseHeader("etag"),modified&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,error=response.error,isSuccess=!error)):(error=statusText,!status&&statusText||(statusText="error",0>status&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(2===state){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return 2===state?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();return state||(name=requestHeadersNames[lname]=requestHeadersNames[lname]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return state||(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(2>state)for(code in map)statusCode[code]=[statusCode[code],map[code]];else jqXHR.always(map[jqXHR.status]);return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR).complete=completeDeferred.add,jqXHR.success=jqXHR.done,jqXHR.error=jqXHR.fail,s.url=((url||s.url||location.href)+"").replace(rhash,"").replace(rprotocol,location.protocol+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""],null==s.crossDomain){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url,urlAnchor.href=urlAnchor.href,s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!=urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),2===state)return jqXHR;fireGlobals=jQuery.event&&s.global,fireGlobals&&0===jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url,s.hasContent||(s.data&&(cacheURL=s.url+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),s.cache===!1&&(s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++)),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&s.contentType!==!1||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===!1||2===state))return jqXHR.abort();strAbort="abort";for(i in{success:1,error:1,complete:1})jqXHR[i](s[i]);if(transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),2===state)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{state=1,transport.send(requestHeaders,done)}catch(e){if(!(2>state))throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=void 0),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapAll(html.call(this,i))}):(this[0]&&(wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this)},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,"body")||jQuery(this).replaceWith(this.childNodes)}).end()}}),jQuery.expr.filters.hidden=function(elem){return!jQuery.expr.filters.visible(elem)},jQuery.expr.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0||elem.getClientRects().length>0};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():null==value?"":value,s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(void 0===traditional&&(traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional),jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&").replace(r20,"+")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}}),jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(options){var callback,errorCallback;return support.cors||xhrSupported&&!options.crossDomain?{send:function(headers,complete){var i,xhr=options.xhr();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest");for(i in headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){callback&&callback()}}:void 0}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==!1&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");return jsonProp||"jsonp"===s.dataTypes[0]?(callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):s.jsonp!==!1&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"):void 0}),jQuery.parseHTML=function(data,context,keepScripts){if(!data||"string"!=typeof data)return null;"boolean"==typeof context&&(keepScripts=context,context=!1),context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];return parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if("string"!=typeof url&&_load)return _load.apply(this,arguments);var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=jQuery.trim(url.slice(off)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1,calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(doc)return docElem=doc.documentElement,jQuery.contains(docElem,elem)?(box=elem.getBoundingClientRect(),win=getWindow(doc),{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft}):box},position:function(){if(this[0]){var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",!0)),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);return void 0===val?win?win[prop]:elem[method]:void(win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val)},method,val,arguments.length)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){return computed?(computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed):void 0})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(margin===!0||value===!0?"margin":"border");
return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable,null)}})}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)},size:function(){return this.length}}),jQuery.fn.andSelf=jQuery.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery}),function(window,document,undefined){function is(obj,type){return typeof obj===type}function testRunner(){var featureNames,feature,aliasIdx,result,nameIdx,featureName,featureNameSplit;for(var featureIdx in tests){if(featureNames=[],feature=tests[featureIdx],feature.name&&(featureNames.push(feature.name.toLowerCase()),feature.options&&feature.options.aliases&&feature.options.aliases.length))for(aliasIdx=0;aliasIdx<feature.options.aliases.length;aliasIdx++)featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());for(result=is(feature.fn,"function")?feature.fn():feature.fn,nameIdx=0;nameIdx<featureNames.length;nameIdx++)featureName=featureNames[nameIdx],featureNameSplit=featureName.split("."),1===featureNameSplit.length?Modernizr[featureNameSplit[0]]=result:(!Modernizr[featureNameSplit[0]]||Modernizr[featureNameSplit[0]]instanceof Boolean||(Modernizr[featureNameSplit[0]]=new Boolean(Modernizr[featureNameSplit[0]])),Modernizr[featureNameSplit[0]][featureNameSplit[1]]=result),classes.push((result?"":"no-")+featureNameSplit.join("-"))}}function setClasses(classes){var className=docElement.className,classPrefix=Modernizr._config.classPrefix||"";if(isSVG&&(className=className.baseVal),Modernizr._config.enableJSClass){var reJS=new RegExp("(^|\\s)"+classPrefix+"no-js(\\s|$)");className=className.replace(reJS,"$1"+classPrefix+"js$2")}Modernizr._config.enableClasses&&(className+=" "+classPrefix+classes.join(" "+classPrefix),isSVG?docElement.className.baseVal=className:docElement.className=className)}function addTest(feature,test){if("object"==typeof feature)for(var key in feature)hasOwnProp(feature,key)&&addTest(key,feature[key]);else{feature=feature.toLowerCase();var featureNameSplit=feature.split("."),last=Modernizr[featureNameSplit[0]];if(2==featureNameSplit.length&&(last=last[featureNameSplit[1]]),"undefined"!=typeof last)return Modernizr;test="function"==typeof test?test():test,1==featureNameSplit.length?Modernizr[featureNameSplit[0]]=test:(!Modernizr[featureNameSplit[0]]||Modernizr[featureNameSplit[0]]instanceof Boolean||(Modernizr[featureNameSplit[0]]=new Boolean(Modernizr[featureNameSplit[0]])),Modernizr[featureNameSplit[0]][featureNameSplit[1]]=test),setClasses([(test&&0!=test?"":"no-")+featureNameSplit.join("-")]),Modernizr._trigger(feature,test)}return Modernizr}function createElement(){return"function"!=typeof document.createElement?document.createElement(arguments[0]):isSVG?document.createElementNS.call(document,"http://www.w3.org/2000/svg",arguments[0]):document.createElement.apply(document,arguments)}function getBody(){var body=document.body;return body||(body=createElement(isSVG?"svg":"body"),body.fake=!0),body}function injectElementWithStyles(rule,callback,nodes,testnames){var style,ret,node,docOverflow,mod="modernizr",div=createElement("div"),body=getBody();if(parseInt(nodes,10))for(;nodes--;)node=createElement("div"),node.id=testnames?testnames[nodes]:mod+(nodes+1),div.appendChild(node);return style=createElement("style"),style.type="text/css",style.id="s"+mod,(body.fake?body:div).appendChild(style),body.appendChild(div),style.styleSheet?style.styleSheet.cssText=rule:style.appendChild(document.createTextNode(rule)),div.id=mod,body.fake&&(body.style.background="",body.style.overflow="hidden",docOverflow=docElement.style.overflow,docElement.style.overflow="hidden",docElement.appendChild(body)),ret=callback(div,rule),body.fake?(body.parentNode.removeChild(body),docElement.style.overflow=docOverflow,docElement.offsetHeight):div.parentNode.removeChild(div),!!ret}function contains(str,substr){return!!~(""+str).indexOf(substr)}function domToCSS(name){return name.replace(/([A-Z])/g,function(str,m1){return"-"+m1.toLowerCase()}).replace(/^ms-/,"-ms-")}function nativeTestProps(props,value){var i=props.length;if("CSS"in window&&"supports"in window.CSS){for(;i--;)if(window.CSS.supports(domToCSS(props[i]),value))return!0;return!1}if("CSSSupportsRule"in window){for(var conditionText=[];i--;)conditionText.push("("+domToCSS(props[i])+":"+value+")");return conditionText=conditionText.join(" or "),injectElementWithStyles("@supports ("+conditionText+") { #modernizr { position: absolute; } }",function(node){return"absolute"==getComputedStyle(node,null).position})}return undefined}function cssToDOM(name){return name.replace(/([a-z])-([a-z])/g,function(str,m1,m2){return m1+m2.toUpperCase()}).replace(/^-/,"")}function testProps(props,prefixed,value,skipValueTest){function cleanElems(){afterInit&&(delete mStyle.style,delete mStyle.modElem)}if(skipValueTest=is(skipValueTest,"undefined")?!1:skipValueTest,!is(value,"undefined")){var result=nativeTestProps(props,value);if(!is(result,"undefined"))return result}for(var afterInit,i,propsLength,prop,before,elems=["modernizr","tspan"];!mStyle.style;)afterInit=!0,mStyle.modElem=createElement(elems.shift()),mStyle.style=mStyle.modElem.style;for(propsLength=props.length,i=0;propsLength>i;i++)if(prop=props[i],before=mStyle.style[prop],contains(prop,"-")&&(prop=cssToDOM(prop)),mStyle.style[prop]!==undefined){if(skipValueTest||is(value,"undefined"))return cleanElems(),"pfx"==prefixed?prop:!0;try{mStyle.style[prop]=value}catch(e){}if(mStyle.style[prop]!=before)return cleanElems(),"pfx"==prefixed?prop:!0}return cleanElems(),!1}function fnBind(fn,that){return function(){return fn.apply(that,arguments)}}function testDOMProps(props,obj,elem){var item;for(var i in props)if(props[i]in obj)return elem===!1?props[i]:(item=obj[props[i]],is(item,"function")?fnBind(item,elem||obj):item);return!1}function testPropsAll(prop,prefixed,elem,value,skipValueTest){var ucProp=prop.charAt(0).toUpperCase()+prop.slice(1),props=(prop+" "+cssomPrefixes.join(ucProp+" ")+ucProp).split(" ");return is(prefixed,"string")||is(prefixed,"undefined")?testProps(props,prefixed,value,skipValueTest):(props=(prop+" "+domPrefixes.join(ucProp+" ")+ucProp).split(" "),testDOMProps(props,prefixed,elem))}function testAllProps(prop,value,skipValueTest){return testPropsAll(prop,undefined,undefined,value,skipValueTest)}function roundedEquals(a,b){return a-1===b||a===b||a+1===b}var tests=[],ModernizrProto={_version:"3.0.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(test,cb){var self=this;setTimeout(function(){cb(self[test])},0)},addTest:function(name,fn,options){tests.push({name:name,fn:fn,options:options})},addAsyncTest:function(fn){tests.push({name:null,fn:fn})}},Modernizr=function(){};Modernizr.prototype=ModernizrProto,Modernizr=new Modernizr;var classes=[],docElement=document.documentElement,isSVG="svg"===docElement.nodeName.toLowerCase(),hasOwnProp;!function(){var _hasOwnProperty={}.hasOwnProperty;hasOwnProp=is(_hasOwnProperty,"undefined")||is(_hasOwnProperty.call,"undefined")?function(object,property){return property in object&&is(object.constructor.prototype[property],"undefined")}:function(object,property){return _hasOwnProperty.call(object,property)}}(),ModernizrProto._l={},ModernizrProto.on=function(feature,cb){this._l[feature]||(this._l[feature]=[]),this._l[feature].push(cb),Modernizr.hasOwnProperty(feature)&&setTimeout(function(){Modernizr._trigger(feature,Modernizr[feature])},0)},ModernizrProto._trigger=function(feature,res){if(this._l[feature]){var cbs=this._l[feature];setTimeout(function(){var i,cb;for(i=0;i<cbs.length;i++)(cb=cbs[i])(res)},0),delete this._l[feature]}},Modernizr._q.push(function(){ModernizrProto.addTest=addTest});var omPrefixes="Moz O ms Webkit",cssomPrefixes=ModernizrProto._config.usePrefixes?omPrefixes.split(" "):[];ModernizrProto._cssomPrefixes=cssomPrefixes;var atRule=function(prop){var rule,length=prefixes.length,cssrule=window.CSSRule;if("undefined"==typeof cssrule)return undefined;if(!prop)return!1;if(prop=prop.replace(/^@/,""),rule=prop.replace(/-/g,"_").toUpperCase()+"_RULE",rule in cssrule)return"@"+prop;for(var i=0;length>i;i++){var prefix=prefixes[i],thisRule=prefix.toUpperCase()+"_"+rule;if(thisRule in cssrule)return"@-"+prefix.toLowerCase()+"-"+prop}return!1};ModernizrProto.atRule=atRule;var domPrefixes=ModernizrProto._config.usePrefixes?omPrefixes.toLowerCase().split(" "):[];ModernizrProto._domPrefixes=domPrefixes;var hasEvent=function(undefined){function inner(eventName,element){var isSupported;return eventName?(element&&"string"!=typeof element||(element=createElement(element||"div")),eventName="on"+eventName,isSupported=eventName in element,!isSupported&&needsFallback&&(element.setAttribute||(element=createElement("div")),element.setAttribute(eventName,""),isSupported="function"==typeof element[eventName],element[eventName]!==undefined&&(element[eventName]=undefined),element.removeAttribute(eventName)),isSupported):!1}var needsFallback=!("onblur"in document.documentElement);return inner}();ModernizrProto.hasEvent=hasEvent;var html5;isSVG||!function(window,document){function addStyleSheet(ownerDocument,cssText){var p=ownerDocument.createElement("p"),parent=ownerDocument.getElementsByTagName("head")[0]||ownerDocument.documentElement;return p.innerHTML="x<style>"+cssText+"</style>",parent.insertBefore(p.lastChild,parent.firstChild)}function getElements(){var elements=html5.elements;return"string"==typeof elements?elements.split(" "):elements}function addElements(newElements,ownerDocument){var elements=html5.elements;"string"!=typeof elements&&(elements=elements.join(" ")),"string"!=typeof newElements&&(newElements=newElements.join(" ")),html5.elements=elements+" "+newElements,shivDocument(ownerDocument)}function getExpandoData(ownerDocument){var data=expandoData[ownerDocument[expando]];return data||(data={},expanID++,ownerDocument[expando]=expanID,expandoData[expanID]=data),data}function createElement(nodeName,ownerDocument,data){if(ownerDocument||(ownerDocument=document),supportsUnknownElements)return ownerDocument.createElement(nodeName);data||(data=getExpandoData(ownerDocument));var node;return node=data.cache[nodeName]?data.cache[nodeName].cloneNode():saveClones.test(nodeName)?(data.cache[nodeName]=data.createElem(nodeName)).cloneNode():data.createElem(nodeName),!node.canHaveChildren||reSkip.test(nodeName)||node.tagUrn?node:data.frag.appendChild(node)}function createDocumentFragment(ownerDocument,data){if(ownerDocument||(ownerDocument=document),supportsUnknownElements)return ownerDocument.createDocumentFragment();data=data||getExpandoData(ownerDocument);for(var clone=data.frag.cloneNode(),i=0,elems=getElements(),l=elems.length;l>i;i++)clone.createElement(elems[i]);return clone}function shivMethods(ownerDocument,data){data.cache||(data.cache={},data.createElem=ownerDocument.createElement,data.createFrag=ownerDocument.createDocumentFragment,data.frag=data.createFrag()),ownerDocument.createElement=function(nodeName){return html5.shivMethods?createElement(nodeName,ownerDocument,data):data.createElem(nodeName)},ownerDocument.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+getElements().join().replace(/[\w\-:]+/g,function(nodeName){return data.createElem(nodeName),data.frag.createElement(nodeName),'c("'+nodeName+'")'})+");return n}")(html5,data.frag)}function shivDocument(ownerDocument){ownerDocument||(ownerDocument=document);var data=getExpandoData(ownerDocument);return!html5.shivCSS||supportsHtml5Styles||data.hasCSS||(data.hasCSS=!!addStyleSheet(ownerDocument,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),supportsUnknownElements||shivMethods(ownerDocument,data),ownerDocument}function addWrappers(ownerDocument){for(var node,nodes=ownerDocument.getElementsByTagName("*"),index=nodes.length,reElements=RegExp("^(?:"+getElements().join("|")+")$","i"),result=[];index--;)node=nodes[index],reElements.test(node.nodeName)&&result.push(node.applyElement(createWrapper(node)));return result}function createWrapper(element){for(var node,nodes=element.attributes,index=nodes.length,wrapper=element.ownerDocument.createElement(shivNamespace+":"+element.nodeName);index--;)node=nodes[index],node.specified&&wrapper.setAttribute(node.nodeName,node.nodeValue);return wrapper.style.cssText=element.style.cssText,wrapper}function shivCssText(cssText){for(var pair,parts=cssText.split("{"),index=parts.length,reElements=RegExp("(^|[\\s,>+~])("+getElements().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),replacement="$1"+shivNamespace+"\\:$2";index--;)pair=parts[index]=parts[index].split("}"),pair[pair.length-1]=pair[pair.length-1].replace(reElements,replacement),parts[index]=pair.join("}");return parts.join("{")}function removeWrappers(wrappers){for(var index=wrappers.length;index--;)wrappers[index].removeNode()}function shivPrint(ownerDocument){function removeSheet(){clearTimeout(data._removeSheetTimer),shivedSheet&&shivedSheet.removeNode(!0),shivedSheet=null}var shivedSheet,wrappers,data=getExpandoData(ownerDocument),namespaces=ownerDocument.namespaces,ownerWindow=ownerDocument.parentWindow;return!supportsShivableSheets||ownerDocument.printShived?ownerDocument:("undefined"==typeof namespaces[shivNamespace]&&namespaces.add(shivNamespace),ownerWindow.attachEvent("onbeforeprint",function(){removeSheet();for(var imports,length,sheet,collection=ownerDocument.styleSheets,cssText=[],index=collection.length,sheets=Array(index);index--;)sheets[index]=collection[index];for(;sheet=sheets.pop();)if(!sheet.disabled&&reMedia.test(sheet.media)){try{imports=sheet.imports,length=imports.length}catch(er){length=0}for(index=0;length>index;index++)sheets.push(imports[index]);try{cssText.push(sheet.cssText)}catch(er){}}cssText=shivCssText(cssText.reverse().join("")),wrappers=addWrappers(ownerDocument),shivedSheet=addStyleSheet(ownerDocument,cssText)}),ownerWindow.attachEvent("onafterprint",function(){removeWrappers(wrappers),clearTimeout(data._removeSheetTimer),data._removeSheetTimer=setTimeout(removeSheet,500)}),ownerDocument.printShived=!0,ownerDocument)}var supportsHtml5Styles,supportsUnknownElements,version="3.7.2",options=window.html5||{},reSkip=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,saveClones=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,expando="_html5shiv",expanID=0,expandoData={};!function(){try{var a=document.createElement("a");a.innerHTML="<xyz></xyz>",supportsHtml5Styles="hidden"in a,supportsUnknownElements=1==a.childNodes.length||function(){document.createElement("a");var frag=document.createDocumentFragment();return"undefined"==typeof frag.cloneNode||"undefined"==typeof frag.createDocumentFragment||"undefined"==typeof frag.createElement}()}catch(e){supportsHtml5Styles=!0,supportsUnknownElements=!0}}();var html5={elements:options.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:version,shivCSS:options.shivCSS!==!1,supportsUnknownElements:supportsUnknownElements,shivMethods:options.shivMethods!==!1,type:"default",shivDocument:shivDocument,createElement:createElement,createDocumentFragment:createDocumentFragment,addElements:addElements};window.html5=html5,shivDocument(document);var reMedia=/^$|\b(?:all|print)\b/,shivNamespace="html5shiv",supportsShivableSheets=!supportsUnknownElements&&function(){var docEl=document.documentElement;return!("undefined"==typeof document.namespaces||"undefined"==typeof document.parentWindow||"undefined"==typeof docEl.applyElement||"undefined"==typeof docEl.removeNode||"undefined"==typeof window.attachEvent)}();html5.type+=" print",html5.shivPrint=shivPrint,shivPrint(document)}(this,document);var err=function(){},warn=function(){};window.console&&(err=function(){var method=console.error?"error":"log";window.console[method].apply(window.console,Array.prototype.slice.call(arguments))},warn=function(){var method=console.warn?"warn":"log";window.console[method].apply(window.console,Array.prototype.slice.call(arguments))}),ModernizrProto.load=function(){"yepnope"in window?(warn("yepnope.js (aka Modernizr.load) is no longer included as part of Modernizr. yepnope appears to be available on the page, so we’ll use it to handle this call to Modernizr.load, but please update your code to use yepnope directly.\n See http://github.com/Modernizr/Modernizr/issues/1182 for more information."),window.yepnope.apply(window,[].slice.call(arguments,0))):err("yepnope.js (aka Modernizr.load) is no longer included as part of Modernizr. Get it from http://yepnopejs.com. See http://github.com/Modernizr/Modernizr/issues/1182 for more information.")};var mq=function(){var matchMedia=window.matchMedia||window.msMatchMedia;return matchMedia?function(mq){var mql=matchMedia(mq);return mql&&mql.matches||!1}:function(mq){var bool=!1;return injectElementWithStyles("@media "+mq+" { #modernizr { position: absolute; } }",function(node){bool="absolute"==(window.getComputedStyle?window.getComputedStyle(node,null):node.currentStyle).position}),bool}}();ModernizrProto.mq=mq;var modElem={elem:createElement("modernizr")};Modernizr._q.push(function(){delete modElem.elem});var mStyle={style:modElem.elem.style};Modernizr._q.unshift(function(){delete mStyle.style}),ModernizrProto.testAllProps=testPropsAll;var prefixed=ModernizrProto.prefixed=function(prop,obj,elem){return 0===prop.indexOf("@")?atRule(prop):(-1!=prop.indexOf("-")&&(prop=cssToDOM(prop)),obj?testPropsAll(prop,obj,elem):testPropsAll(prop,"pfx"))},prefixes=ModernizrProto._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):[];ModernizrProto._prefixes=prefixes;var prefixedCSS=ModernizrProto.prefixedCSS=function(prop){var prefixedProp=prefixed(prop);return prefixedProp&&domToCSS(prefixedProp)};ModernizrProto.testAllProps=testAllProps;var testProp=ModernizrProto.testProp=function(prop,value,useValue){return testProps([prop],undefined,value,useValue)},testStyles=ModernizrProto.testStyles=injectElementWithStyles;Modernizr.addTest("adownload",!window.externalHost&&"download"in createElement("a")),Modernizr.addTest("ambientlight",hasEvent("devicelight",window)),Modernizr.addTest("applicationcache","applicationCache"in window),Modernizr.addTest("audio",function(){var elem=createElement("audio"),bool=!1;try{(bool=!!elem.canPlayType)&&(bool=new Boolean(bool),bool.ogg=elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),bool.mp3=elem.canPlayType("audio/mpeg;").replace(/^no$/,""),bool.opus=elem.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),bool.wav=elem.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),bool.m4a=(elem.canPlayType("audio/x-m4a;")||elem.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(e){}return bool}),Modernizr.addTest("audioloop","loop"in createElement("audio")),Modernizr.addTest("audiopreload","preload"in createElement("audio")),Modernizr.addTest("webaudio",function(){var prefixed="webkitAudioContext"in window,unprefixed="AudioContext"in window;return Modernizr._config.usePrefixes?prefixed||unprefixed:unprefixed}),Modernizr.addTest("batteryapi",!!prefixed("battery",navigator),{aliases:["battery-api"]}),Modernizr.addTest("lowbattery",function(){var minLevel=.2,battery=prefixed("battery",navigator);return!!(battery&&!battery.charging&&battery.level<=minLevel)}),Modernizr.addTest("blobconstructor",function(){try{return!!new Blob}catch(e){return!1}},{aliases:["blob-constructor"]}),Modernizr.addTest("canvas",function(){var elem=createElement("canvas");return!(!elem.getContext||!elem.getContext("2d"))}),Modernizr.addTest("canvasblending",function(){if(Modernizr.canvas===!1)return!1;var ctx=createElement("canvas").getContext("2d");try{ctx.globalCompositeOperation="screen"}catch(e){}return"screen"===ctx.globalCompositeOperation});var canvas=createElement("canvas");Modernizr.addTest("todataurljpeg",function(){return!!Modernizr.canvas&&0===canvas.toDataURL("image/jpeg").indexOf("data:image/jpeg")}),Modernizr.addTest("todataurlpng",function(){return!!Modernizr.canvas&&0===canvas.toDataURL("image/png").indexOf("data:image/png")}),Modernizr.addTest("todataurlwebp",function(){var supports=!1;try{supports=!!Modernizr.canvas&&0===canvas.toDataURL("image/webp").indexOf("data:image/webp")}catch(e){}return supports}),Modernizr.addTest("canvaswinding",function(){if(Modernizr.canvas===!1)return!1;var ctx=createElement("canvas").getContext("2d");return ctx.rect(0,0,10,10),ctx.rect(2,2,6,6),ctx.isPointInPath(5,5,"evenodd")===!1}),Modernizr.addTest("canvastext",function(){return Modernizr.canvas===!1?!1:"function"==typeof createElement("canvas").getContext("2d").fillText}),Modernizr.addTest("contenteditable",function(){if("contentEditable"in docElement){var div=createElement("div");return div.contentEditable=!0,"true"===div.contentEditable}}),Modernizr.addTest("contextmenu","contextMenu"in docElement&&"HTMLMenuItemElement"in window),Modernizr.addTest("cookies",function(){try{document.cookie="cookietest=1";var ret=-1!=document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",ret}catch(e){return!1}}),Modernizr.addTest("cors","XMLHttpRequest"in window&&"withCredentials"in new XMLHttpRequest);var crypto=prefixed("crypto",window),supportsGetRandomValues;if(crypto&&"getRandomValues"in crypto&&"Uint32Array"in window){var array=new Uint32Array(10),values=crypto.getRandomValues(array);supportsGetRandomValues=values&&is(values[0],"number")}Modernizr.addTest("getrandomvalues",!!supportsGetRandomValues),Modernizr.addTest("cssall","all"in docElement.style),Modernizr.addTest("cssanimations",testAllProps("animationName","a",!0)),Modernizr.addTest("appearance",testAllProps("appearance")),Modernizr.addTest("backgroundblendmode",prefixed("backgroundBlendMode","text")),Modernizr.addTest("backgroundcliptext",function(){return testAllProps("backgroundClip","text")}),Modernizr.addTest("bgpositionshorthand",function(){var elem=createElement("a"),eStyle=elem.style,val="right 10px bottom 10px";return eStyle.cssText="background-position: "+val+";",eStyle.backgroundPosition===val}),Modernizr.addTest("bgpositionxy",function(){return testAllProps("backgroundPositionX","3px",!0)&&testAllProps("backgroundPositionY","5px",!0)}),Modernizr.addTest("bgrepeatround",testAllProps("backgroundRepeat","round")),Modernizr.addTest("bgrepeatspace",testAllProps("backgroundRepeat","space")),Modernizr.addTest("backgroundsize",testAllProps("backgroundSize","100%",!0)),Modernizr.addTest("bgsizecover",testAllProps("backgroundSize","cover")),Modernizr.addTest("borderimage",testAllProps("borderImage","url() 1",!0)),Modernizr.addTest("borderradius",testAllProps("borderRadius","0px",!0)),Modernizr.addTest("boxshadow",testAllProps("boxShadow","1px 1px",!0)),Modernizr.addTest("boxsizing",testAllProps("boxSizing","border-box",!0)&&(document.documentMode===undefined||document.documentMode>7)),Modernizr.addTest("csscalc",function(){var prop="width:",value="calc(10px);",el=createElement("a");return el.style.cssText=prop+prefixes.join(value+prop),!!el.style.length}),Modernizr.addTest("checked",function(){return testStyles("#modernizr {position:absolute} #modernizr input {margin-left:10px} #modernizr :checked {margin-left:20px;display:block}",function(elem){var cb=createElement("input");return cb.setAttribute("type","checkbox"),cb.setAttribute("checked","checked"),elem.appendChild(cb),20===cb.offsetLeft})}),Modernizr.addTest("csschunit",function(){var supports,elemStyle=modElem.elem.style;try{elemStyle.fontSize="3ch",supports=-1!==elemStyle.fontSize.indexOf("ch")}catch(e){supports=!1}return supports}),function(){Modernizr.addTest("csscolumns",function(){var bool=!1,test=testAllProps("columnCount");try{(bool=!!test)&&(bool=new Boolean(bool))}catch(e){}return bool});for(var name,test,props=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],i=0;i<props.length;i++)name=props[i].toLowerCase(),test=testAllProps("column"+props[i]),"breakbefore"!==name&&"breakafter"!==name&&"breakinside"!=name||(test=test||testAllProps(props[i])),Modernizr.addTest("csscolumns."+name,test)}(),Modernizr.addTest("cubicbezierrange",function(){var el=createElement("a");return el.style.cssText=prefixes.join("transition-timing-function:cubic-bezier(1,0,0,1.1); "),!!el.style.length}),Modernizr.addTest("displayrunin",testAllProps("display","run-in"),{aliases:["display-runin"]}),testStyles("#modernizr{display: table; direction: ltr}#modernizr div{display: table-cell; padding: 10px}",function(elem){var ret,child=elem.childNodes;ret=child[0].offsetLeft<child[1].offsetLeft,Modernizr.addTest("displaytable",ret,{aliases:["display-table"]})},2),Modernizr.addTest("ellipsis",testAllProps("textOverflow","ellipsis"));var CSS=window.CSS;Modernizr.addTest("cssescape",CSS?"function"==typeof CSS.escape:!1),Modernizr.addTest("cssexunit",function(){var supports,elemStyle=modElem.elem.style;try{elemStyle.fontSize="3ex",supports=-1!==elemStyle.fontSize.indexOf("ex")}catch(e){supports=!1}return supports});var newSyntax="CSS"in window&&"supports"in window.CSS,oldSyntax="supportsCSS"in window;Modernizr.addTest("supports",newSyntax||oldSyntax),Modernizr.addTest("cssfilters",function(){if(Modernizr.supports)return testAllProps("filter","blur(2px)");var el=createElement("a");return el.style.cssText=prefixes.join("filter:blur(2px); "),!!el.style.length&&(document.documentMode===undefined||document.documentMode>9)}),Modernizr.addTest("flexbox",testAllProps("flexBasis","1px",!0)),Modernizr.addTest("flexboxlegacy",testAllProps("boxDirection","reverse",!0)),Modernizr.addTest("flexboxtweener",testAllProps("flexAlign","end",!0)),Modernizr.addTest("flexwrap",testAllProps("flexWrap","wrap",!0));var blacklist=function(){var ua=navigator.userAgent,wkvers=ua.match(/applewebkit\/([0-9]+)/gi)&&parseFloat(RegExp.$1),webos=ua.match(/w(eb)?osbrowser/gi),wppre8=ua.match(/windows phone/gi)&&ua.match(/iemobile\/([0-9])+/gi)&&parseFloat(RegExp.$1)>=9,oldandroid=533>wkvers&&ua.match(/android/gi);return webos||oldandroid||wppre8}();blacklist?Modernizr.addTest("fontface",!1):testStyles('@font-face {font-family:"font";src:url("https://")}',function(node,rule){var style=document.getElementById("smodernizr"),sheet=style.sheet||style.styleSheet,cssText=sheet?sheet.cssRules&&sheet.cssRules[0]?sheet.cssRules[0].cssText:sheet.cssText||"":"",bool=/src/i.test(cssText)&&0===cssText.indexOf(rule.split(" ")[0]);Modernizr.addTest("fontface",bool)}),testStyles('#modernizr{font:0/0 a}#modernizr:after{content:":)";visibility:hidden;font:7px/1 a}',function(node){Modernizr.addTest("generatedcontent",node.offsetHeight>=7)}),Modernizr.addTest("cssgradients",function(){var str1="background-image:",str2="gradient(linear,left top,right bottom,from(#9f9),to(white));",str3="linear-gradient(left top,#9f9, white);",css=str1+prefixes.join(str3+str1).slice(0,-str1.length);Modernizr._config.usePrefixes&&(css+=str1+"-webkit-"+str2);var elem=createElement("a"),style=elem.style;return style.cssText=css,(""+style.backgroundImage).indexOf("gradient")>-1}),Modernizr.addTest("hsla",function(){var style=createElement("a").style;return style.cssText="background-color:hsla(120,40%,100%,.5)",contains(style.backgroundColor,"rgba")||contains(style.backgroundColor,"hsla")}),Modernizr.addAsyncTest(function(){function runHyphenTest(){function test_hyphens_css(){try{var div=createElement("div"),span=createElement("span"),divStyle=div.style,spanHeight=0,spanWidth=0,result=!1,firstChild=document.body.firstElementChild||document.body.firstChild;return div.appendChild(span),span.innerHTML="Bacon ipsum dolor sit amet jerky velit in culpa hamburger et. Laborum dolor proident, enim dolore duis commodo et strip steak. Salami anim et, veniam consectetur dolore qui tenderloin jowl velit sirloin. Et ad culpa, fatback cillum jowl ball tip ham hock nulla short ribs pariatur aute. Pig pancetta ham bresaola, ut boudin nostrud commodo flank esse cow tongue culpa. Pork belly bresaola enim pig, ea consectetur nisi. Fugiat officia turkey, ea cow jowl pariatur ullamco proident do laborum velit sausage. Magna biltong sint tri-tip commodo sed bacon, esse proident aliquip. Ullamco ham sint fugiat, velit in enim sed mollit nulla cow ut adipisicing nostrud consectetur. Proident dolore beef ribs, laborum nostrud meatball ea laboris rump cupidatat labore culpa. Shankle minim beef, velit sint cupidatat fugiat tenderloin pig et ball tip. Ut cow fatback salami, bacon ball tip et in shank strip steak bresaola. In ut pork belly sed mollit tri-tip magna culpa veniam, short ribs qui in andouille ham consequat. Dolore bacon t-bone, velit short ribs enim strip steak nulla. Voluptate labore ut, biltong swine irure jerky. Cupidatat excepteur aliquip salami dolore. Ball tip strip steak in pork dolor. Ad in esse biltong. Dolore tenderloin exercitation ad pork loin t-bone, dolore in chicken ball tip qui pig. Ut culpa tongue, sint ribeye dolore ex shank voluptate hamburger. Jowl et tempor, boudin pork chop labore ham hock drumstick consectetur tri-tip elit swine meatball chicken ground round. Proident shankle mollit dolore. Shoulder ut duis t-bone quis reprehenderit. Meatloaf dolore minim strip steak, laboris ea aute bacon beef ribs elit shank in veniam drumstick qui. Ex laboris meatball cow tongue pork belly. Ea ball tip reprehenderit pig, sed fatback boudin dolore flank aliquip laboris eu quis. Beef ribs duis beef, cow corned beef adipisicing commodo nisi deserunt exercitation. Cillum dolor t-bone spare ribs, ham hock est sirloin. Brisket irure meatloaf in, boudin pork belly sirloin ball tip. Sirloin sint irure nisi nostrud aliqua. Nostrud nulla aute, enim officia culpa ham hock. Aliqua reprehenderit dolore sunt nostrud sausage, ea boudin pork loin ut t-bone ham tempor. Tri-tip et pancetta drumstick laborum. Ham hock magna do nostrud in proident. Ex ground round fatback, venison non ribeye in.",document.body.insertBefore(div,firstChild),divStyle.cssText="position:absolute;top:0;left:0;width:5em;text-align:justify;text-justification:newspaper;",spanHeight=span.offsetHeight,spanWidth=span.offsetWidth,divStyle.cssText="position:absolute;top:0;left:0;width:5em;text-align:justify;text-justification:newspaper;"+prefixes.join("hyphens:auto; "),result=span.offsetHeight!=spanHeight||span.offsetWidth!=spanWidth,document.body.removeChild(div),div.removeChild(span),result}catch(e){return!1}}function test_hyphens(delimiter,testWidth){try{var div=createElement("div"),span=createElement("span"),divStyle=div.style,spanSize=0,result=!1,result1=!1,result2=!1,firstChild=document.body.firstElementChild||document.body.firstChild;return divStyle.cssText="position:absolute;top:0;left:0;overflow:visible;width:1.25em;",div.appendChild(span),document.body.insertBefore(div,firstChild),span.innerHTML="mm",spanSize=span.offsetHeight,span.innerHTML="m"+delimiter+"m",result1=span.offsetHeight>spanSize,
testWidth?(span.innerHTML="m<br />m",spanSize=span.offsetWidth,span.innerHTML="m"+delimiter+"m",result2=span.offsetWidth>spanSize):result2=!0,result1===!0&&result2===!0&&(result=!0),document.body.removeChild(div),div.removeChild(span),result}catch(e){return!1}}return document.body||document.getElementsByTagName("body")[0]?(addTest("csshyphens",function(){if(!testAllProps("hyphens","auto",!0))return!1;try{return test_hyphens_css()}catch(e){return!1}}),void addTest("softhyphens",function(){try{return test_hyphens("&#173;",!0)&&test_hyphens("&#8203;",!1)}catch(e){return!1}})):void setTimeout(runHyphenTest,waitTime)}var waitTime=300;setTimeout(runHyphenTest,waitTime)}),Modernizr.addTest("cssinvalid",function(){return testStyles("#modernizr input{height:0;border:0;padding:0;margin:0;width:10px} #modernizr input:invalid{width:50px}",function(elem){var input=createElement("input");return input.required=!0,elem.appendChild(input),input.clientWidth>10})}),testStyles("#modernizr div {width:100px} #modernizr :last-child{width:200px;display:block}",function(elem){Modernizr.addTest("lastchild",elem.lastChild.offsetWidth>elem.firstChild.offsetWidth)},2),Modernizr.addTest("cssmask",testAllProps("maskRepeat","repeat-x",!0)),Modernizr.addTest("mediaqueries",mq("only all")),Modernizr.addTest("multiplebgs",function(){var style=createElement("a").style;return style.cssText="background:url(https://),url(https://),red url(https://)",/(url\s*\(.*?){3}/.test(style.background)}),testStyles("#modernizr div {width:1px} #modernizr div:nth-child(2n) {width:2px;}",function(elem){Modernizr.addTest("nthchild",function(){for(var elems=elem.getElementsByTagName("div"),test=!0,i=0;5>i;i++)test=test&&elems[i].offsetWidth===i%2+1;return test})},5),Modernizr.addTest("objectfit",!!prefixed("objectFit"),{aliases:["object-fit"]}),Modernizr.addTest("opacity",function(){var style=createElement("a").style;return style.cssText=prefixes.join("opacity:.55;"),/^0.55$/.test(style.opacity)}),Modernizr.addTest("overflowscrolling",testAllProps("overflowScrolling","touch",!0)),Modernizr.addTest("csspointerevents",function(){var style=createElement("a").style;return style.cssText="pointer-events:auto","auto"===style.pointerEvents}),Modernizr.addTest("csspositionsticky",function(){var prop="position:",value="sticky",el=createElement("a"),mStyle=el.style;return mStyle.cssText=prop+prefixes.join(value+";"+prop).slice(0,-prop.length),-1!==mStyle.position.indexOf(value)}),Modernizr.addTest("csspseudoanimations",function(){var result=!1;if(!Modernizr.cssanimations||!window.getComputedStyle)return result;var styles=["@",Modernizr._prefixes.join("keyframes csspseudoanimations { from { font-size: 10px; } }@").replace(/\@$/,""),'#modernizr:before { content:" "; font-size:5px;',Modernizr._prefixes.join("animation:csspseudoanimations 1ms infinite;"),"}"].join("");return Modernizr.testStyles(styles,function(elem){result="10px"===window.getComputedStyle(elem,":before").getPropertyValue("font-size")}),result}),Modernizr.addTest("csstransitions",testAllProps("transition","all",!0)),Modernizr.addTest("csspseudotransitions",function(){var result=!1;if(!Modernizr.csstransitions||!window.getComputedStyle)return result;var styles='#modernizr:before { content:" "; font-size:5px;'+Modernizr._prefixes.join("transition:0s 100s;")+"}#modernizr.trigger:before { font-size:10px; }";return Modernizr.testStyles(styles,function(elem){window.getComputedStyle(elem,":before").getPropertyValue("font-size"),elem.className+="trigger",result="5px"===window.getComputedStyle(elem,":before").getPropertyValue("font-size")}),result}),Modernizr.addTest("cssreflections",testAllProps("boxReflect","above",!0)),Modernizr.addTest("regions",function(){if(isSVG)return!1;var flowFromProperty=Modernizr.prefixed("flowFrom"),flowIntoProperty=Modernizr.prefixed("flowInto"),result=!1;if(!flowFromProperty||!flowIntoProperty)return result;var iframeContainer=createElement("iframe"),container=createElement("div"),content=createElement("div"),region=createElement("div"),flowName="modernizr_flow_for_regions_check";content.innerText="M",container.style.cssText="top: 150px; left: 150px; padding: 0px;",region.style.cssText="width: 50px; height: 50px; padding: 42px;",region.style[flowFromProperty]=flowName,container.appendChild(content),container.appendChild(region),docElement.appendChild(container);var flowedRect,delta,plainRect=content.getBoundingClientRect();return content.style[flowIntoProperty]=flowName,flowedRect=content.getBoundingClientRect(),delta=parseInt(flowedRect.left-plainRect.left,10),docElement.removeChild(container),42==delta?result=!0:(docElement.appendChild(iframeContainer),plainRect=iframeContainer.getBoundingClientRect(),iframeContainer.style[flowIntoProperty]=flowName,flowedRect=iframeContainer.getBoundingClientRect(),plainRect.height>0&&plainRect.height!==flowedRect.height&&0===flowedRect.height&&(result=!0)),content=region=container=iframeContainer=undefined,result}),Modernizr.addTest("cssremunit",function(){var style=createElement("a").style;try{style.fontSize="3rem"}catch(e){}return/rem/.test(style.fontSize)}),Modernizr.addTest("cssresize",testAllProps("resize","both",!0)),Modernizr.addTest("rgba",function(){var style=createElement("a").style;return style.cssText="background-color:rgba(150,255,150,.5)",(""+style.backgroundColor).indexOf("rgba")>-1}),testStyles("#modernizr{overflow: scroll; width: 40px; height: 40px; }#"+prefixes.join("scrollbar{width:0px} #modernizr::").split("#").slice(1).join("#")+"scrollbar{width:0px}",function(node){Modernizr.addTest("cssscrollbar",40==node.scrollWidth)}),Modernizr.addTest("shapes",testAllProps("shapeOutside","content-box",!0)),Modernizr.addTest("siblinggeneral",function(){return testStyles("#modernizr div {width:100px} #modernizr div ~ div {width:200px;display:block}",function(elem){return 200==elem.lastChild.offsetWidth},2)}),testStyles("#modernizr{position: absolute; top: -10em; visibility:hidden; font: normal 10px arial;}#subpixel{float: left; font-size: 33.3333%;}",function(elem){var subpixel=elem.firstChild;subpixel.innerHTML="This is a text written in Arial",Modernizr.addTest("subpixelfont",window.getComputedStyle?"44px"!==window.getComputedStyle(subpixel,null).getPropertyValue("width"):!1)},1,["subpixel"]),Modernizr.addTest("target",function(){var doc=window.document;if(!("querySelectorAll"in doc))return!1;try{return doc.querySelectorAll(":target"),!0}catch(e){return!1}}),Modernizr.addTest("textalignlast",testAllProps("textAlignLast")),Modernizr.addTest("textshadow",testProp("textShadow","1px 1px")),Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&testAllProps("transform","scale(1)",!0)}),Modernizr.addTest("csstransforms3d",function(){var ret=!!testAllProps("perspective","1px",!0),usePrefix=Modernizr._config.usePrefixes;if(ret&&(!usePrefix||"webkitPerspective"in docElement.style)){var mq;Modernizr.supports?mq="@supports (perspective: 1px)":(mq="@media (transform-3d)",usePrefix&&(mq+=",(-webkit-transform-3d)")),mq+="{#modernizr{left:9px;position:absolute;height:5px;margin:0;padding:0;border:0}}",testStyles(mq,function(elem){ret=9===elem.offsetLeft&&5===elem.offsetHeight})}return ret}),Modernizr.addTest("preserve3d",testAllProps("transformStyle","preserve-3d")),Modernizr.addTest("userselect",testAllProps("userSelect","none",!0)),Modernizr.addTest("cssvalid",function(){return testStyles("#modernizr input{height:0;border:0;padding:0;margin:0;width:10px} #modernizr input:valid{width:50px}",function(elem){var input=createElement("input");return elem.appendChild(input),input.clientWidth>10})}),testStyles("#modernizr { height: 50vh; }",function(elem){var height=parseInt(window.innerHeight/2,10),compStyle=parseInt((window.getComputedStyle?getComputedStyle(elem,null):elem.currentStyle).height,10);Modernizr.addTest("cssvhunit",compStyle==height)}),testStyles("#modernizr1{width: 50vmax}#modernizr2{width:50px;height:50px;overflow:scroll}",function(node){var elem=node.childNodes[1],scroller=node.childNodes[0],scrollbarWidth=parseInt((scroller.offsetWidth-scroller.clientWidth)/2,10),one_vw=docElement.clientWidth/100,one_vh=docElement.clientHeight/100,expectedWidth=parseInt(50*Math.max(one_vw,one_vh),10),compWidth=parseInt((window.getComputedStyle?getComputedStyle(elem,null):elem.currentStyle).width,10);Modernizr.addTest("cssvmaxunit",roundedEquals(expectedWidth,compWidth)||roundedEquals(expectedWidth,compWidth-scrollbarWidth))},2),testStyles("#modernizr1{width: 50vm;width:50vmin}#modernizr2{width:50px;height:50px;overflow:scroll}",function(node){var elem=node.childNodes[1],scroller=node.childNodes[0],scrollbarWidth=parseInt((scroller.offsetWidth-scroller.clientWidth)/2,10),one_vw=docElement.clientWidth/100,one_vh=docElement.clientHeight/100,expectedWidth=parseInt(50*Math.min(one_vw,one_vh),10),compWidth=parseInt((window.getComputedStyle?getComputedStyle(elem,null):elem.currentStyle).width,10);Modernizr.addTest("cssvminunit",roundedEquals(expectedWidth,compWidth)||roundedEquals(expectedWidth,compWidth-scrollbarWidth))},2),testStyles("#modernizr { width: 50vw; }",function(elem){var width=parseInt(window.innerWidth/2,10),compStyle=parseInt((window.getComputedStyle?getComputedStyle(elem,null):elem.currentStyle).width,10);Modernizr.addTest("cssvwunit",compStyle==width)}),Modernizr.addTest("willchange","willChange"in docElement.style),Modernizr.addTest("wrapflow",function(){var prefixedProperty=prefixed("wrapFlow");if(!prefixedProperty||isSVG)return!1;var wrapFlowProperty=prefixedProperty.replace(/([A-Z])/g,function(str,m1){return"-"+m1.toLowerCase()}).replace(/^ms-/,"-ms-"),container=createElement("div"),exclusion=createElement("div"),content=createElement("span");exclusion.style.cssText="position: absolute; left: 50px; width: 100px; height: 20px;"+wrapFlowProperty+":end;",content.innerText="X",container.appendChild(exclusion),container.appendChild(content),docElement.appendChild(container);var leftOffset=content.offsetLeft;return docElement.removeChild(container),exclusion=content=container=undefined,150==leftOffset}),Modernizr.addTest("customevent","CustomEvent"in window&&"function"==typeof window.CustomEvent),Modernizr.addTest("customprotocolhandler",function(){if(!navigator.registerProtocolHandler)return!1;try{navigator.registerProtocolHandler("thisShouldFail")}catch(e){return e instanceof TypeError}return!1}),Modernizr.addTest("dart",!!prefixed("startDart",navigator)),Modernizr.addTest("dataview","undefined"!=typeof DataView&&"getFloat64"in DataView.prototype),Modernizr.addTest("classlist","classList"in docElement),Modernizr.addTest("createelementattrs",function(){try{return"test"==createElement('<input name="test" />').getAttribute("name")}catch(e){return!1}},{aliases:["createelement-attrs"]}),Modernizr.addTest("dataset",function(){var n=createElement("div");return n.setAttribute("data-a-b","c"),!(!n.dataset||"c"!==n.dataset.aB)}),Modernizr.addTest("documentfragment",function(){return"createDocumentFragment"in document&&"appendChild"in docElement}),Modernizr.addTest("hidden","hidden"in createElement("a")),Modernizr.addTest("microdata","getItems"in document),Modernizr.addTest("mutationobserver",!!window.MutationObserver||!!window.WebKitMutationObserver);var inputElem=createElement("input"),inputattrs="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),attrs={};Modernizr.input=function(props){for(var i=0,len=props.length;len>i;i++)attrs[props[i]]=!!(props[i]in inputElem);return attrs.list&&(attrs.list=!(!createElement("datalist")||!window.HTMLDataListElement)),attrs}(inputattrs),Modernizr.addTest("datalistelem",Modernizr.input.list),Modernizr.addTest("details",function(){var diff,el=createElement("details");return"open"in el?(testStyles("#modernizr details{display:block}",function(node){node.appendChild(el),el.innerHTML="<summary>a</summary>b",diff=el.offsetHeight,el.open=!0,diff=diff!=el.offsetHeight}),diff):!1}),Modernizr.addTest("outputelem","value"in createElement("output")),Modernizr.addTest("picture","HTMLPictureElement"in window),Modernizr.addTest("progressbar",createElement("progress").max!==undefined),Modernizr.addTest("meter",createElement("meter").max!==undefined),Modernizr.addTest("ruby",function(){function getStyle(element,styleProperty){var result;return window.getComputedStyle?result=document.defaultView.getComputedStyle(element,null).getPropertyValue(styleProperty):element.currentStyle&&(result=element.currentStyle[styleProperty]),result}function cleanUp(){docElement.removeChild(ruby),ruby=null,rt=null,rp=null}var ruby=createElement("ruby"),rt=createElement("rt"),rp=createElement("rp"),displayStyleProperty="display",fontSizeStyleProperty="fontSize";return ruby.appendChild(rp),ruby.appendChild(rt),docElement.appendChild(ruby),"none"==getStyle(rp,displayStyleProperty)||"ruby"==getStyle(ruby,displayStyleProperty)&&"ruby-text"==getStyle(rt,displayStyleProperty)||"6pt"==getStyle(rp,fontSizeStyleProperty)&&"6pt"==getStyle(rt,fontSizeStyleProperty)?(cleanUp(),!0):(cleanUp(),!1)}),Modernizr.addTest("template","content"in createElement("template")),Modernizr.addTest("time","valueAsDate"in createElement("time")),Modernizr.addTest("texttrackapi","function"==typeof createElement("video").addTextTrack),Modernizr.addTest("track","kind"in createElement("track")),Modernizr.addTest("unknownelements",function(){var a=createElement("a");return a.innerHTML="<xyz></xyz>",1===a.childNodes.length}),Modernizr.addTest("emoji",function(){if(!Modernizr.canvastext)return!1;var pixelRatio=window.devicePixelRatio||1,offset=12*pixelRatio,node=createElement("canvas"),ctx=node.getContext("2d");return ctx.fillStyle="#f00",ctx.textBaseline="top",ctx.font="32px Arial",ctx.fillText("🐨",0,0),0!==ctx.getImageData(offset,offset,1,1).data[0]}),Modernizr.addTest("es5array",function(){return!!(Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray)}),Modernizr.addTest("es5date",function(){var isoDate="2013-04-12T06:06:37.307Z",canParseISODate=!1;try{canParseISODate=!!Date.parse(isoDate)}catch(e){}return!!(Date.now&&Date.prototype&&Date.prototype.toISOString&&Date.prototype.toJSON&&canParseISODate)}),Modernizr.addTest("es5function",function(){return!(!Function.prototype||!Function.prototype.bind)}),Modernizr.addTest("es5object",function(){return!!(Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions)}),Modernizr.addTest("strictmode",function(){"use strict";return!this}()),Modernizr.addTest("es5string",function(){return!(!String.prototype||!String.prototype.trim)}),Modernizr.addTest("json","JSON"in window&&"parse"in JSON&&"stringify"in JSON),Modernizr.addTest("es5syntax",function(){var value,obj,stringAccess,getter,setter,reservedWords,zeroWidthChars;try{return stringAccess=eval('"foobar"[3] === "b"'),getter=eval("({ get x(){ return 1 } }).x === 1"),eval("({ set x(v){ value = v; } }).x = 1"),setter=1===value,eval("obj = ({ if: 1 })"),reservedWords=1===obj["if"],zeroWidthChars=eval("_‌‍ = true"),stringAccess&&getter&&setter&&reservedWords&&zeroWidthChars}catch(ignore){return!1}}),Modernizr.addTest("es5undefined",function(){var result,originalUndefined;try{originalUndefined=window.undefined,window.undefined=12345,result="undefined"==typeof window.undefined,window.undefined=originalUndefined}catch(e){return!1}return result}),Modernizr.addTest("es5",function(){return!!(Modernizr.es5array&&Modernizr.es5date&&Modernizr.es5function&&Modernizr.es5object&&Modernizr.strictmode&&Modernizr.es5string&&Modernizr.json&&Modernizr.es5syntax&&Modernizr.es5undefined)}),Modernizr.addTest("es6array",!!(Array.prototype&&Array.prototype.copyWithin&&Array.prototype.fill&&Array.prototype.find&&Array.prototype.findIndex&&Array.prototype.keys&&Array.prototype.entries&&Array.prototype.values&&Array.from&&Array.of)),Modernizr.addTest("contains",is(String.prototype.contains,"function")),Modernizr.addTest("generators",function(){try{new Function("function* test() {}")()}catch(e){return!1}return!0}),Modernizr.addTest("es6math",!!(Math&&Math.clz32&&Math.cbrt&&Math.imul&&Math.sign&&Math.log10&&Math.log2&&Math.log1p&&Math.expm1&&Math.cosh&&Math.sinh&&Math.tanh&&Math.acosh&&Math.asinh&&Math.atanh&&Math.hypot&&Math.trunc&&Math.fround)),Modernizr.addTest("es6number",!!(Number.isFinite&&Number.isInteger&&Number.isSafeInteger&&Number.isNaN&&Number.parseInt&&Number.parseFloat&&Number.isInteger(Number.MAX_SAFE_INTEGER)&&Number.isInteger(Number.MIN_SAFE_INTEGER)&&Number.isFinite(Number.EPSILON))),Modernizr.addTest("es6object",!!(Object.assign&&Object.is&&Object.setPrototypeOf)),Modernizr.addTest("promises",function(){return"Promise"in window&&"resolve"in window.Promise&&"reject"in window.Promise&&"all"in window.Promise&&"race"in window.Promise&&function(){var resolve;return new window.Promise(function(r){resolve=r}),"function"==typeof resolve}()}),Modernizr.addTest("es6string",!!(String.fromCodePoint&&String.raw&&String.prototype.codePointAt&&String.prototype.repeat&&String.prototype.startsWith&&String.prototype.endsWith&&String.prototype.contains)),Modernizr.addTest("devicemotion","DeviceMotionEvent"in window),Modernizr.addTest("deviceorientation","DeviceOrientationEvent"in window),Modernizr.addTest("oninput",function(){var supportsOnInput,input=createElement("input");if(input.setAttribute("oninput","return"),hasEvent("oninput",docElement)||"function"==typeof input.oninput)return!0;try{var testEvent=document.createEvent("KeyboardEvent");supportsOnInput=!1;var handler=function(e){supportsOnInput=!0,e.preventDefault(),e.stopPropagation()};testEvent.initKeyEvent("keypress",!0,!0,window,!1,!1,!1,!1,0,"e".charCodeAt(0)),docElement.appendChild(input),input.addEventListener("input",handler,!1),input.focus(),input.dispatchEvent(testEvent),input.removeEventListener("input",handler,!1),docElement.removeChild(input)}catch(e){supportsOnInput=!1}return supportsOnInput}),Modernizr.addTest("eventlistener","addEventListener"in window),Modernizr.addAsyncTest(function(){var img=new Image;img.onerror=function(){addTest("exiforientation",!1,{aliases:["exif-orientation"]})},img.onload=function(){addTest("exiforientation",2!==img.width,{aliases:["exif-orientation"]})},img.src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAASUkqAAgAAAABABIBAwABAAAABgASAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAABAAIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigD/2Q=="}),Modernizr.addTest("filereader",!!(window.File&&window.FileList&&window.FileReader)),Modernizr.addTest("filesystem",!!prefixed("requestFileSystem",window)),Modernizr.addAsyncTest(function(){var easy_detect,activex,removeFakeBody=function(body){body.fake&&body.parentNode&&body.parentNode.removeChild(body)},runTest=function(result,embed){var bool=!!result;if(bool&&(bool=new Boolean(bool),bool.blocked="blocked"===result),addTest("flash",function(){return bool}),embed&&body.contains(embed)){for(;embed.parentNode!==body;)embed=embed.parentNode;body.removeChild(embed)}};try{activex="ActiveXObject"in window&&"Pan"in new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}if(easy_detect=!("plugins"in navigator&&"Shockwave Flash"in navigator.plugins||activex),easy_detect||isSVG)runTest(!1);else{var blockedDetect,inline_style,embed=createElement("embed"),body=getBody();if(embed.type="application/x-shockwave-flash",body.appendChild(embed),docElement.appendChild(body),!("Pan"in embed||activex))return runTest("blocked",embed),void removeFakeBody(body);blockedDetect=function(){return docElement.contains(body)?(docElement.contains(embed)?(inline_style=embed.style.cssText,""!==inline_style?runTest("blocked",embed):runTest(!0,embed)):runTest("blocked"),void removeFakeBody(body)):(body=document.body||body,embed=createElement("embed"),embed.type="application/x-shockwave-flash",body.appendChild(embed),setTimeout(blockedDetect,1e3))},setTimeout(blockedDetect,10)}}),Modernizr.addTest("capture","capture"in createElement("input")),Modernizr.addTest("fileinput",function(){if(navigator.userAgent.match(/(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/))return!1;var elem=createElement("input");return elem.type="file",!elem.disabled}),Modernizr.addTest("fileinputdirectory",function(){var elem=createElement("input"),dir="directory";if(elem.type="file",dir in elem)return!0;for(var i=0,len=domPrefixes.length;len>i;i++)if(domPrefixes[i]+dir in elem)return!0;return!1}),Modernizr.addTest("formattribute",function(){var attr,form=createElement("form"),input=createElement("input"),div=createElement("div"),id="formtest"+(new Date).getTime(),bool=!1;form.id=id;try{input.setAttribute("form",id)}catch(e){document.createAttribute&&(attr=document.createAttribute("form"),attr.nodeValue=id,input.setAttributeNode(attr))}return div.appendChild(form),div.appendChild(input),docElement.appendChild(div),bool=form.elements&&1===form.elements.length&&input.form==form,div.parentNode.removeChild(div),bool});var inputtypes="search tel url email datetime date month week time datetime-local number range color".split(" "),inputs={};Modernizr.inputtypes=function(props){for(var inputElemType,defaultView,bool,len=props.length,smile=":)",i=0;len>i;i++)inputElem.setAttribute("type",inputElemType=props[i]),bool="text"!==inputElem.type&&"style"in inputElem,bool&&(inputElem.value=smile,inputElem.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(inputElemType)&&inputElem.style.WebkitAppearance!==undefined?(docElement.appendChild(inputElem),defaultView=document.defaultView,bool=defaultView.getComputedStyle&&"textfield"!==defaultView.getComputedStyle(inputElem,null).WebkitAppearance&&0!==inputElem.offsetHeight,docElement.removeChild(inputElem)):/^(search|tel)$/.test(inputElemType)||(bool=/^(url|email|number)$/.test(inputElemType)?inputElem.checkValidity&&inputElem.checkValidity()===!1:inputElem.value!=smile)),inputs[props[i]]=!!bool;return inputs}(inputtypes),Modernizr.addTest("formvalidation",function(){var form=createElement("form");if(!("checkValidity"in form&&"addEventListener"in form))return!1;if("reportValidity"in form)return!0;var input,invalidFired=!1;return Modernizr.formvalidationapi=!0,form.addEventListener("submit",function(e){window.opera||e.preventDefault(),e.stopPropagation()},!1),form.innerHTML='<input name="modTest" required><button></button>',testStyles("#modernizr form{position:absolute;top:-99999em}",function(node){node.appendChild(form),input=form.getElementsByTagName("input")[0],input.addEventListener("invalid",function(e){invalidFired=!0,e.preventDefault(),e.stopPropagation()},!1),Modernizr.formvalidationmessage=!!input.validationMessage,form.getElementsByTagName("button")[0].click()}),invalidFired}),Modernizr.addTest("localizednumber",function(){if(!Modernizr.inputtypes.number)return!1;if(!Modernizr.formvalidation)return!1;var diff,el=createElement("div"),body=getBody(),root=function(){return docElement.insertBefore(body,docElement.firstElementChild||docElement.firstChild)}();el.innerHTML='<input type="number" value="1.0" step="0.1"/>';var input=el.childNodes[0];root.appendChild(el),input.focus();try{document.execCommand("InsertText",!1,"1,1")}catch(e){}return diff="number"===input.type&&1.1===input.valueAsNumber&&input.checkValidity(),root.removeChild(el),body.fake&&root.parentNode.removeChild(root),diff}),Modernizr.addTest("placeholder","placeholder"in createElement("input")&&"placeholder"in createElement("textarea")),Modernizr.addTest("requestautocomplete",!!prefixed("requestAutocomplete",createElement("form"))),Modernizr.addTest("fullscreen",!(!prefixed("exitFullscreen",document,!1)&&!prefixed("cancelFullScreen",document,!1))),Modernizr.addTest("gamepads",!!prefixed("getGamepads",navigator)),Modernizr.addTest("geolocation","geolocation"in navigator),Modernizr.addTest("hashchange",function(){return hasEvent("hashchange",window)===!1?!1:document.documentMode===undefined||document.documentMode>7}),Modernizr.addTest("hiddenscroll",function(){return testStyles("#modernizr {width:100px;height:100px;overflow:scroll}",function(elem){return elem.offsetWidth===elem.clientWidth})}),Modernizr.addTest("history",function(){var ua=navigator.userAgent;return-1===ua.indexOf("Android 2.")&&-1===ua.indexOf("Android 4.0")||-1===ua.indexOf("Mobile Safari")||-1!==ua.indexOf("Chrome")||-1!==ua.indexOf("Windows Phone")?window.history&&"pushState"in window.history:!1}),addTest("htmlimports","import"in createElement("link")),Modernizr.addTest("ie8compat",!window.addEventListener&&!!document.documentMode&&7===document.documentMode),Modernizr.addTest("sandbox","sandbox"in createElement("iframe")),Modernizr.addTest("seamless","seamless"in createElement("iframe")),Modernizr.addTest("srcdoc","srcdoc"in createElement("iframe")),Modernizr.addAsyncTest(function(){if(!Modernizr.canvas)return!1;var image=new Image,canvas=createElement("canvas"),ctx=canvas.getContext("2d");image.onload=function(){addTest("apng",function(){return"undefined"==typeof canvas.getContext?!1:(ctx.drawImage(image,0,0),0===ctx.getImageData(0,0,1,1).data[3])})},image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACGFjVEwAAAABAAAAAcMq2TYAAAANSURBVAiZY2BgYPgPAAEEAQB9ssjfAAAAGmZjVEwAAAAAAAAAAQAAAAEAAAAAAAAAAAD6A+gBAbNU+2sAAAARZmRBVAAAAAEImWNgYGBgAAAABQAB6MzFdgAAAABJRU5ErkJggg=="}),Modernizr.addAsyncTest(function(){var image=new Image;image.onload=image.onerror=function(){addTest("jpegxr",1==image.width,{aliases:["jpeg-xr"]})},image.src="data:image/vnd.ms-photo;base64,SUm8AQgAAAAFAAG8AQAQAAAASgAAAIC8BAABAAAAAQAAAIG8BAABAAAAAQAAAMC8BAABAAAAWgAAAMG8BAABAAAAHwAAAAAAAAAkw91vA07+S7GFPXd2jckNV01QSE9UTwAZAYBxAAAAABP/gAAEb/8AAQAAAQAAAA=="}),Modernizr.addTest("sizes","sizes"in createElement("img")),Modernizr.addTest("srcset","srcset"in createElement("img")),Modernizr.addAsyncTest(function(){function test(name,uri,cb){function addResult(event){var result=event&&"load"===event.type?1==image.width:!1,baseTest="webp"===name;addTest(name,baseTest?new Boolean(result):result),cb&&cb(event)}var image=new Image;image.onerror=addResult,image.onload=addResult,image.src=uri}var webpTests=[{uri:"data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA=",name:"webp"},{uri:"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==",name:"webp.alpha"},{uri:"data:image/webp;base64,UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA",name:"webp.animation"},{uri:"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=",name:"webp.lossless"}],webp=webpTests.shift();test(webp.name,webp.uri,function(e){if(e&&"load"===e.type)for(var i=0;i<webpTests.length;i++)test(webpTests[i].name,webpTests[i].uri)})}),Modernizr.addAsyncTest(function(){var image=new Image;image.onerror=function(){addTest("webpalpha",!1,{aliases:["webp-alpha"]})},image.onload=function(){addTest("webpalpha",1==image.width,{aliases:["webp-alpha"]})},image.src="data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="}),Modernizr.addAsyncTest(function(){var image=new Image;image.onerror=function(){addTest("webpanimation",!1,{aliases:["webp-animation"]})},image.onload=function(){addTest("webpanimation",1==image.width,{aliases:["webp-animation"]})},image.src="data:image/webp;base64,UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"}),Modernizr.addAsyncTest(function(){var image=new Image;image.onerror=function(){addTest("webplossless",!1,{aliases:["webp-lossless"]})},image.onload=function(){addTest("webplossless",1==image.width,{aliases:["webp-lossless"]})},image.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="});var indexeddb=prefixed("indexedDB",window);Modernizr.addTest("indexeddb",!!indexeddb),indexeddb&&Modernizr.addTest("indexeddb.deletedatabase","deleteDatabase"in indexeddb),Modernizr.addAsyncTest(function(){var request,db,indexeddb=prefixed("indexedDB",window),dbname="detect-blob-support",supportsBlob=!1;if(!Modernizr.indexeddb||!Modernizr.indexeddb.deleteDatabase)return!1;try{indexeddb.deleteDatabase(dbname).onsuccess=function(){request=indexeddb.open(dbname,1),request.onupgradeneeded=function(){request.result.createObjectStore("store")},request.onsuccess=function(){db=request.result;try{db.transaction("store","readwrite").objectStore("store").put(new Blob,"key"),supportsBlob=!0}catch(e){supportsBlob=!1}finally{addTest("indexeddbblob",supportsBlob),db.close(),indexeddb.deleteDatabase(dbname)}}}}catch(e){addTest("indexeddbblob",!1)}}),Modernizr.addTest("inputformaction",!!("formAction"in createElement("input")),{aliases:["input-formaction"]}),Modernizr.addTest("inputformenctype",!!("formEnctype"in createElement("input")),{aliases:["input-formenctype"]}),Modernizr.addTest("inputformmethod",!!("formMethod"in createElement("input"))),Modernizr.addTest("inputformtarget",!!("formtarget"in createElement("input")),{aliases:["input-formtarget"]}),Modernizr.addTest("inputsearchevent",hasEvent("search")),Modernizr.addTest("intl",!!prefixed("Intl",window)),Modernizr.addTest("olreversed","reversed"in createElement("ol")),Modernizr.addTest("mathml",function(){var ret;return testStyles("#modernizr{position:absolute;display:inline-block}",function(node){node.innerHTML+="<math><mfrac><mi>xx</mi><mi>yy</mi></mfrac></math>",ret=node.offsetHeight>node.offsetWidth}),ret}),Modernizr.addTest("beacon","sendBeacon"in navigator),Modernizr.addTest("lowbandwidth",function(){var connection=navigator.connection||{type:0};return 3==connection.type||4==connection.type||/^[23]g$/.test(connection.type)}),Modernizr.addTest("eventsource","EventSource"in window),Modernizr.addTest("fetch","fetch"in window),Modernizr.addTest("xhrresponsetype",function(){if("undefined"==typeof XMLHttpRequest)return!1;var xhr=new XMLHttpRequest;return xhr.open("get","/",!0),"response"in xhr}());var testXhrType=function(type){if("undefined"==typeof XMLHttpRequest)return!1;var xhr=new XMLHttpRequest;xhr.open("get","/",!0);try{xhr.responseType=type}catch(error){return!1}return"response"in xhr&&xhr.responseType==type};Modernizr.addTest("xhrresponsetypearraybuffer",testXhrType("arraybuffer")),Modernizr.addTest("xhrresponsetypeblob",testXhrType("blob")),Modernizr.addTest("xhrresponsetypedocument",testXhrType("document")),Modernizr.addTest("xhrresponsetypejson",testXhrType("json")),Modernizr.addTest("xhrresponsetypetext",testXhrType("text")),Modernizr.addTest("xhr2","XMLHttpRequest"in window&&"withCredentials"in new XMLHttpRequest),Modernizr.addTest("notification","Notification"in window&&"permission"in window.Notification&&"requestPermission"in window.Notification),Modernizr.addTest("pagevisibility",!!prefixed("hidden",document,!1)),
Modernizr.addTest("performance",!!prefixed("performance",window)),Modernizr.addTest("pointerevents",function(){var bool=!1,i=domPrefixes.length;for(bool=Modernizr.hasEvent("pointerdown");i--&&!bool;)hasEvent(domPrefixes[i]+"pointerdown")&&(bool=!0);return bool}),Modernizr.addTest("pointerlock",!!prefixed("exitPointerLock",document)),Modernizr.addTest("postmessage","postMessage"in window),Modernizr.addAsyncTest(function(){function advertiseSupport(){clearTimeout(timeout),window.removeEventListener("deviceproximity",advertiseSupport),addTest("proximity",!0)}var timeout,timeoutTime=300;"ondeviceproximity"in window&&"onuserproximity"in window?(window.addEventListener("deviceproximity",advertiseSupport),timeout=setTimeout(function(){window.removeEventListener("deviceproximity",advertiseSupport),addTest("proximity",!1)},timeoutTime)):addTest("proximity",!1)}),Modernizr.addTest("queryselector","querySelector"in document&&"querySelectorAll"in document),Modernizr.addTest("quotamanagement",function(){var tempStorage=prefixed("temporaryStorage",navigator),persStorage=prefixed("persistentStorage",navigator);return!(!tempStorage||!persStorage)}),Modernizr.addTest("requestanimationframe",!!prefixed("requestAnimationFrame",window),{aliases:["raf"]}),Modernizr.addTest("scriptasync","async"in createElement("script")),Modernizr.addTest("scriptdefer","defer"in createElement("script")),Modernizr.addTest("serviceworker","serviceWorker"in navigator),Modernizr.addTest("speechrecognition",!!prefixed("SpeechRecognition",window)),Modernizr.addTest("speechsynthesis","SpeechSynthesisUtterance"in window),Modernizr.addTest("localstorage",function(){var mod="modernizr";try{return localStorage.setItem(mod,mod),localStorage.removeItem(mod),!0}catch(e){return!1}}),Modernizr.addTest("sessionstorage",function(){var mod="modernizr";try{return sessionStorage.setItem(mod,mod),sessionStorage.removeItem(mod),!0}catch(e){return!1}}),Modernizr.addTest("websqldatabase","openDatabase"in window),Modernizr.addTest("stylescoped","scoped"in createElement("style")),Modernizr.addTest("svg",!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect),Modernizr.addTest("svgasimg",document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1"));var toStringFn={}.toString;Modernizr.addTest("svgclippaths",function(){return!!document.createElementNS&&/SVGClipPath/.test(toStringFn.call(document.createElementNS("http://www.w3.org/2000/svg","clipPath")))}),Modernizr.addTest("svgfilters",function(){var result=!1;try{result="SVGFEColorMatrixElement"in window&&2==SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE}catch(e){}return result}),Modernizr.addTest("svgforeignobject",function(){return!!document.createElementNS&&/SVGForeignObject/.test(toStringFn.call(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")))}),Modernizr.addTest("inlinesvg",function(){var div=createElement("div");return div.innerHTML="<svg/>","http://www.w3.org/2000/svg"==("undefined"!=typeof SVGRect&&div.firstChild&&div.firstChild.namespaceURI)}),Modernizr.addTest("smil",function(){return!!document.createElementNS&&/SVGAnimate/.test(toStringFn.call(document.createElementNS("http://www.w3.org/2000/svg","animate")))}),Modernizr.addTest("templatestrings",function(){var supports;try{eval("``"),supports=!0}catch(e){}return!!supports}),Modernizr.addTest("textareamaxlength",!!("maxLength"in createElement("textarea"))),Modernizr.addTest("touchevents",function(){var bool;if("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)bool=!0;else{var query=["@media (",prefixes.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");testStyles(query,function(node){bool=9===node.offsetTop})}return bool}),Modernizr.addTest("typedarrays","ArrayBuffer"in window),Modernizr.addTest("unicode",function(){var bool,missingGlyph=createElement("span"),star=createElement("span");return testStyles("#modernizr{font-family:Arial,sans;font-size:300em;}",function(node){missingGlyph.innerHTML=isSVG?"妇":"&#5987",star.innerHTML=isSVG?"☆":"&#9734",node.appendChild(missingGlyph),node.appendChild(star),bool="offsetWidth"in missingGlyph&&missingGlyph.offsetWidth!==star.offsetWidth}),bool}),Modernizr.addTest("unicoderange",function(){return Modernizr.testStyles('@font-face{font-family:"unicodeRange";src:local("Arial");unicode-range:U+0020,U+002E}#modernizr span{font-size:20px;display:inline-block;font-family:"unicodeRange",monospace}#modernizr .mono{font-family:monospace}',function(elem){for(var testGlyphs=[".",".","m","m"],i=0;i<testGlyphs.length;i++){var elm=createElement("span");elm.innerHTML=testGlyphs[i],elm.className=i%2?"mono":"",elem.appendChild(elm),testGlyphs[i]=elm.clientWidth}return testGlyphs[0]!==testGlyphs[1]&&testGlyphs[2]===testGlyphs[3]})});var url=prefixed("URL",window,!1);url=url&&window[url],Modernizr.addTest("bloburls",url&&"revokeObjectURL"in url&&"createObjectURL"in url),Modernizr.addAsyncTest(function(){function testOver32kb(){var datauriBig=new Image;datauriBig.onerror=function(){addTest("datauri",!0),Modernizr.datauri=new Boolean(!0),Modernizr.datauri.over32kb=!1},datauriBig.onload=function(){addTest("datauri",!0),Modernizr.datauri=new Boolean(!0),Modernizr.datauri.over32kb=1==datauriBig.width&&1==datauriBig.height};for(var base64str="R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";base64str.length<33e3;)base64str="\r\n"+base64str;datauriBig.src="data:image/gif;base64,"+base64str}-1!==navigator.userAgent.indexOf("MSIE 7.")&&setTimeout(function(){addTest("datauri",!1)},10);var datauri=new Image;datauri.onerror=function(){addTest("datauri",!1)},datauri.onload=function(){1==datauri.width&&1==datauri.height?testOver32kb():addTest("datauri",!1)},datauri.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="}),Modernizr.addTest("urlparser",function(){var url;try{return url=new URL("http://modernizr.com/"),"http://modernizr.com/"===url.href}catch(e){return!1}}),Modernizr.addTest("userdata",!!createElement("div").addBehavior),Modernizr.addTest("vibrate",!!prefixed("vibrate",navigator)),Modernizr.addTest("video",function(){var elem=createElement("video"),bool=!1;try{(bool=!!elem.canPlayType)&&(bool=new Boolean(bool),bool.ogg=elem.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),bool.h264=elem.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),bool.webm=elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""),bool.vp9=elem.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,""),bool.hls=elem.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,""))}catch(e){}return bool}),Modernizr.addAsyncTest(function(){function testAutoplay(arg){clearTimeout(timeout),elem.removeEventListener("playing",testAutoplay,!1),addTest("videoautoplay",arg&&"playing"===arg.type||0!==elem.currentTime),elem.parentNode.removeChild(elem)}var timeout,waitTime=300,elem=createElement("video"),elemStyle=elem.style;if(!(Modernizr.video&&"autoplay"in elem))return void addTest("videoautoplay",!1);elemStyle.position="absolute",elemStyle.height=0,elemStyle.width=0;try{if(Modernizr.video.ogg)elem.src="data:video/ogg;base64,T2dnUwACAAAAAAAAAABmnCATAAAAAHDEixYBKoB0aGVvcmEDAgEAAQABAAAQAAAQAAAAAAAFAAAAAQAAAAAAAAAAAGIAYE9nZ1MAAAAAAAAAAAAAZpwgEwEAAAACrA7TDlj///////////////+QgXRoZW9yYSsAAABYaXBoLk9yZyBsaWJ0aGVvcmEgMS4xIDIwMDkwODIyIChUaHVzbmVsZGEpAQAAABoAAABFTkNPREVSPWZmbXBlZzJ0aGVvcmEtMC4yOYJ0aGVvcmG+zSj3uc1rGLWpSUoQc5zmMYxSlKQhCDGMYhCEIQhAAAAAAAAAAAAAEW2uU2eSyPxWEvx4OVts5ir1aKtUKBMpJFoQ/nk5m41mUwl4slUpk4kkghkIfDwdjgajQYC8VioUCQRiIQh8PBwMhgLBQIg4FRba5TZ5LI/FYS/Hg5W2zmKvVoq1QoEykkWhD+eTmbjWZTCXiyVSmTiSSCGQh8PB2OBqNBgLxWKhQJBGIhCHw8HAyGAsFAiDgUCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDAwPEhQUFQ0NDhESFRUUDg4PEhQVFRUOEBETFBUVFRARFBUVFRUVEhMUFRUVFRUUFRUVFRUVFRUVFRUVFRUVEAwLEBQZGxwNDQ4SFRwcGw4NEBQZHBwcDhATFhsdHRwRExkcHB4eHRQYGxwdHh4dGxwdHR4eHh4dHR0dHh4eHRALChAYKDM9DAwOExo6PDcODRAYKDlFOA4RFh0zV1A+EhYlOkRtZ00YIzdAUWhxXDFATldneXhlSFxfYnBkZ2MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEhIVGRoaGhoSFBYaGhoaGhUWGRoaGhoaGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhESFh8kJCQkEhQYIiQkJCQWGCEkJCQkJB8iJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQREhgvY2NjYxIVGkJjY2NjGBo4Y2NjY2MvQmNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRISEhUXGBkbEhIVFxgZGxwSFRcYGRscHRUXGBkbHB0dFxgZGxwdHR0YGRscHR0dHhkbHB0dHR4eGxwdHR0eHh4REREUFxocIBERFBcaHCAiERQXGhwgIiUUFxocICIlJRcaHCAiJSUlGhwgIiUlJSkcICIlJSUpKiAiJSUlKSoqEBAQFBgcICgQEBQYHCAoMBAUGBwgKDBAFBgcICgwQEAYHCAoMEBAQBwgKDBAQEBgICgwQEBAYIAoMEBAQGCAgAfF5cdH1e3Ow/L66wGmYnfIUbwdUTe3LMRbqON8B+5RJEvcGxkvrVUjTMrsXYhAnIwe0dTJfOYbWrDYyqUrz7dw/JO4hpmV2LsQQvkUeGq1BsZLx+cu5iV0e0eScJ91VIQYrmqfdVSK7GgjOU0oPaPOu5IcDK1mNvnD+K8LwS87f8Jx2mHtHnUkTGAurWZlNQa74ZLSFH9oF6FPGxzLsjQO5Qe0edcpttd7BXBSqMCL4k/4tFrHIPuEQ7m1/uIWkbDMWVoDdOSuRQ9286kvVUlQjzOE6VrNguN4oRXYGkgcnih7t13/9kxvLYKQezwLTrO44sVmMPgMqORo1E0sm1/9SludkcWHwfJwTSybR4LeAz6ugWVgRaY8mV/9SluQmtHrzsBtRF/wPY+X0JuYTs+ltgrXAmlk10xQHmTu9VSIAk1+vcvU4ml2oNzrNhEtQ3CysNP8UeR35wqpKUBdGdZMSjX4WVi8nJpdpHnbhzEIdx7mwf6W1FKAiucMXrWUWVjyRf23chNtR9mIzDoT/6ZLYailAjhFlZuvPtSeZ+2oREubDoWmT3TguY+JHPdRVSLKxfKH3vgNqJ/9emeEYikGXDFNzaLjvTeGAL61mogOoeG3y6oU4rW55ydoj0lUTSR/mmRhPmF86uwIfzp3FtiufQCmppaHDlGE0r2iTzXIw3zBq5hvaTldjG4CPb9wdxAme0SyedVKczJ9AtYbgPOzYKJvZZImsN7ecrxWZg5dR6ZLj/j4qpWsIA+vYwE+Tca9ounMIsrXMB4Stiib2SPQtZv+FVIpfEbzv8ncZoLBXc3YBqTG1HsskTTotZOYTG+oVUjLk6zhP8bg4RhMUNtfZdO7FdpBuXzhJ5Fh8IKlJG7wtD9ik8rWOJxy6iQ3NwzBpQ219mlyv+FLicYs2iJGSE0u2txzed++D61ZWCiHD/cZdQVCqkO2gJpdpNaObhnDfAPrT89RxdWFZ5hO3MseBSIlANppdZNIV/Rwe5eLTDvkfWKzFnH+QJ7m9QWV1KdwnuIwTNtZdJMoXBf74OhRnh2t+OTGL+AVUnIkyYY+QG7g9itHXyF3OIygG2s2kud679ZWKqSFa9n3IHD6MeLv1lZ0XyduRhiDRtrNnKoyiFVLcBm0ba5Yy3fQkDh4XsFE34isVpOzpa9nR8iCpS4HoxG2rJpnRhf3YboVa1PcRouh5LIJv/uQcPNd095ickTaiGBnWLKVWRc0OnYTSyex/n2FofEPnDG8y3PztHrzOLK1xo6RAml2k9owKajOC0Wr4D5x+3nA0UEhK2m198wuBHF3zlWWVKWLN1CHzLClUfuoYBcx4b1llpeBKmbayaR58njtE9onD66lUcsg0Spm2snsb+8HaJRn4dYcLbCuBuYwziB8/5U1C1DOOz2gZjSZtrLJk6vrLF3hwY4Io9xuT/ruUFRSBkNtUzTOWhjh26irLEPx4jPZL3Fo3QrReoGTTM21xYTT9oFdhTUIvjqTkfkvt0bzgVUjq/hOYY8j60IaO/0AzRBtqkTS6R5ellZd5uKdzzhb8BFlDdAcrwkE0rbXTOPB+7Y0FlZO96qFL4Ykg21StJs8qIW7h16H5hGiv8V2Cflau7QVDepTAHa6Lgt6feiEvJDM21StJsmOH/hynURrKxvUpQ8BH0JF7BiyG2qZpnL/7AOU66gt+reLEXY8pVOCQvSsBtqZTNM8bk9ohRcwD18o/WVkbvrceVKRb9I59IEKysjBeTMmmbA21xu/6iHadLRxuIzkLpi8wZYmmbbWi32RVAUjruxWlJ//iFxE38FI9hNKOoCdhwf5fDe4xZ81lgREhK2m1j78vW1CqkuMu/AjBNK210kzRUX/B+69cMMUG5bYrIeZxVSEZISmkzbXOi9yxwIfPgdsov7R71xuJ7rFcACjG/9PzApqFq7wEgzNJm2suWESPuwrQvejj7cbnQxMkxpm21lUYJL0fKmogPPqywn7e3FvB/FCNxPJ85iVUkCE9/tLKx31G4CgNtWTTPFhMvlu8G4/TrgaZttTChljfNJGgOT2X6EqpETy2tYd9cCBI4lIXJ1/3uVUllZEJz4baqGF64yxaZ+zPLYwde8Uqn1oKANtUrSaTOPHkhvuQP3bBlEJ/LFe4pqQOHUI8T8q7AXx3fLVBgSCVpMba55YxN3rv8U1Dv51bAPSOLlZWebkL8vSMGI21lJmmeVxPRwFlZF1CpqCN8uLwymaZyjbXHCRytogPN3o/n74CNykfT+qqRv5AQlHcRxYrC5KvGmbbUwmZY/29BvF6C1/93x4WVglXDLFpmbapmF89HKTogRwqqSlGbu+oiAkcWFbklC6Zhf+NtTLFpn8oWz+HsNRVSgIxZWON+yVyJlE5tq/+GWLTMutYX9ekTySEQPLVNQQ3OfycwJBM0zNtZcse7CvcKI0V/zh16Dr9OSA21MpmmcrHC+6pTAPHPwoit3LHHqs7jhFNRD6W8+EBGoSEoaZttTCZljfduH/fFisn+dRBGAZYtMzbVMwvul/T/crK1NQh8gN0SRRa9cOux6clC0/mDLFpmbarmF8/e6CopeOLCNW6S/IUUg3jJIYiAcDoMcGeRbOvuTPjXR/tyo79LK3kqqkbxkkMRAOB0GODPItnX3Jnxro/25Ud+llbyVVSN4ySGIgHA6DHBnkWzr7kz410f7cqO/Syt5KqpFVJwn6gBEvBM0zNtZcpGOEPiysW8vvRd2R0f7gtjhqUvXL+gWVwHm4XJDBiMpmmZtrLfPwd/IugP5+fKVSysH1EXreFAcEhelGmbbUmZY4Xdo1vQWVnK19P4RuEnbf0gQnR+lDCZlivNM22t1ESmopPIgfT0duOfQrsjgG4tPxli0zJmF5trdL1JDUIUT1ZXSqQDeR4B8mX3TrRro/2McGeUvLtwo6jIEKMkCUXWsLyZROd9P/rFYNtXPBli0z398iVUlVKAjFlY437JXImUTm2r/4ZYtMy61hf16RPJIU9nZ1MABAwAAAAAAAAAZpwgEwIAAABhp658BScAAAAAAADnUFBQXIDGXLhwtttNHDhw5OcpQRMETBEwRPduylKVB0HRdF0A";else{if(!Modernizr.video.h264)return void addTest("videoautoplay",!1);elem.src="data:video/mp4;base64,AAAAHGZ0eXBtcDQyAAAAAG1wNDJpc29tYXZjMQAAAz5tb292AAAAbG12aGQAAAAAzaNacc2jWnEAAV+QAAFfkAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAGGlvZHMAAAAAEICAgAcAT////3//AAACQ3RyYWsAAABcdGtoZAAAAAHNo1pxzaNacQAAAAEAAAAAAAFfkAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAEAAAABAAAAAAAd9tZGlhAAAAIG1kaGQAAAAAzaNacc2jWnEAAV+QAAFfkFXEAAAAAAAhaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAAAAAAGWbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABVnN0YmwAAACpc3RzZAAAAAAAAAABAAAAmWF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAEAAQAEgAAABIAAAAAAAAAAEOSlZUL0FWQyBDb2RpbmcAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAxYXZjQwH0AAr/4QAZZ/QACq609NQYBBkAAAMAAQAAAwAKjxImoAEABWjOAa8gAAAAEmNvbHJuY2xjAAYAAQAGAAAAGHN0dHMAAAAAAAAAAQAAAAUAAEZQAAAAKHN0c3oAAAAAAAAAAAAAAAUAAAIqAAAACAAAAAgAAAAIAAAACAAAAChzdHNjAAAAAAAAAAIAAAABAAAABAAAAAEAAAACAAAAAQAAAAEAAAAYc3RjbwAAAAAAAAACAAADYgAABaQAAAAUc3RzcwAAAAAAAAABAAAAAQAAABFzZHRwAAAAAAREREREAAAAb3VkdGEAAABnbWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcgAAAAAAAAAAAAAAAAAAAAA6aWxzdAAAADKpdG9vAAAAKmRhdGEAAAABAAAAAEhhbmRCcmFrZSAwLjkuOCAyMDEyMDcxODAwAAACUm1kYXQAAAHkBgX/4NxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxMjAgLSBILjI2NC9NUEVHLTQgQVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDExIC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcveDI2NC5odG1sIC0gb3B0aW9uczogY2FiYWM9MCByZWY9MSBkZWJsb2NrPTE6MDowIGFuYWx5c2U9MHgxOjAgbWU9ZXNhIHN1Ym1lPTkgcHN5PTAgbWl4ZWRfcmVmPTAgbWVfcmFuZ2U9NCBjaHJvbWFfbWU9MSB0cmVsbGlzPTAgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0wIGNocm9tYV9xcF9vZmZzZXQ9MCB0aHJlYWRzPTYgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTUwIGtleWludF9taW49NSBzY2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmM9Y3FwIG1idHJlZT0wIHFwPTAAgAAAAD5liISscR8A+E4ACAACFoAAITAAAgsAAPgYCoKgoC+L4vi+KAvi+L4YfAEAACMzgABF9AAEUGUgABDJiXnf4AAAAARBmiKUAAAABEGaQpQAAAAEQZpilAAAAARBmoKU"}}catch(e){return void addTest("videoautoplay",!1)}elem.setAttribute("autoplay",""),elem.style.cssText="display:none",docElement.appendChild(elem),setTimeout(function(){elem.addEventListener("playing",testAutoplay,!1),timeout=setTimeout(testAutoplay,waitTime)},0)}),Modernizr.addTest("videoloop","loop"in createElement("video")),Modernizr.addTest("videopreload","preload"in createElement("video")),Modernizr.addTest("vml",function(){var shape,containerDiv=createElement("div"),supports=!1;return isSVG||(containerDiv.innerHTML='<v:shape id="vml_flag1" adj="1" />',shape=containerDiv.firstChild,shape.style.behavior="url(#default#VML)",supports=shape?"object"==typeof shape.adj:!0),supports}),Modernizr.addTest("webintents",!!prefixed("startActivity",navigator)),Modernizr.addTest("webanimations","animate"in createElement("div")),Modernizr.addTest("webgl",function(){var canvas=createElement("canvas"),supports="probablySupportsContext"in canvas?"probablySupportsContext":"supportsContext";return supports in canvas?canvas[supports]("webgl")||canvas[supports]("experimental-webgl"):"WebGLRenderingContext"in window}),Modernizr.addAsyncTest(function(){if(Modernizr.webglextensions=new Boolean(!1),Modernizr.webgl){var canvas,ctx,exts;try{canvas=createElement("canvas"),ctx=canvas.getContext("webgl")||canvas.getContext("experimental-webgl"),exts=ctx.getSupportedExtensions()}catch(e){return}ctx!==undefined&&(Modernizr.webglextensions=new Boolean(!0));for(var i=-1,len=exts.length;++i<len;)Modernizr.webglextensions[exts[i]]=!0;canvas=undefined}}),Modernizr.addTest("peerconnection",!!prefixed("RTCPeerConnection",window)),Modernizr.addTest("getusermedia",!!prefixed("getUserMedia",navigator)),Modernizr.addTest("websockets","WebSocket"in window&&2===window.WebSocket.CLOSING),Modernizr.addTest("websocketsbinary",function(){var protoBin,protocol="https:"==location.protocol?"wss":"ws";if("WebSocket"in window){if(protoBin="binaryType"in WebSocket.prototype)return protoBin;try{return!!new WebSocket(protocol+"://.").binaryType}catch(e){}}return!1}),Modernizr.addTest("framed",window.location!=top.location),Modernizr.addAsyncTest(function(){function fail(){addTest("blobworkers",!1),cleanup()}function cleanup(){url&&URL.revokeObjectURL(url),worker&&worker.terminate(),timeout&&clearTimeout(timeout)}try{var BlobBuilder=window.BlobBuilder,URL=window.URL;Modernizr._config.usePrefix&&(BlobBuilder=BlobBuilder||window.MozBlobBuilder||window.WebKitBlobBuilder||window.MSBlobBuilder||window.OBlobBuilder,URL=URL||window.MozURL||window.webkitURL||window.MSURL||window.OURL);var blob,bb,worker,url,timeout,data="Modernizr",scriptText="this.onmessage=function(e){postMessage(e.data)}";try{blob=new Blob([scriptText],{type:"text/javascript"})}catch(e){}blob||(bb=new BlobBuilder,bb.append(scriptText),blob=bb.getBlob()),url=URL.createObjectURL(blob),worker=new Worker(url),worker.onmessage=function(e){addTest("blobworkers",data===e.data),cleanup()},worker.onerror=fail,timeout=setTimeout(fail,200),worker.postMessage(data)}catch(e){fail()}}),Modernizr.addAsyncTest(function(){try{var data="Modernizr",worker=new Worker("data:text/javascript;base64,dGhpcy5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7cG9zdE1lc3NhZ2UoZS5kYXRhKX0=");worker.onmessage=function(e){worker.terminate(),addTest("dataworkers",data===e.data),worker=null},worker.onerror=function(){addTest("dataworkers",!1),worker=null},setTimeout(function(){addTest("dataworkers",!1)},200),worker.postMessage(data)}catch(e){setTimeout(function(){addTest("dataworkers",!1)},0)}}),Modernizr.addTest("sharedworkers","SharedWorker"in window),Modernizr.addTest("webworkers","Worker"in window),Modernizr.addAsyncTest(function(){function fail(){addTest("transferables",!1),cleanup()}function cleanup(){url&&URL.revokeObjectURL(url),worker&&worker.terminate(),timeout&&clearTimeout(timeout)}var prerequisites=!!(Modernizr.blobconstructor&&Modernizr.bloburls&&Modernizr.webworkers&&Modernizr.typedarrays);if(!prerequisites)return addTest("transferables",!1);try{var buffer,timeout,scriptText='var hello = "world"',blob=new Blob([scriptText],{type:"text/javascript"}),url=URL.createObjectURL(blob),worker=new Worker(url);worker.onerror=fail,timeout=setTimeout(fail,200),buffer=new ArrayBuffer(1),worker.postMessage(buffer,[buffer]),addTest("transferables",0===buffer.byteLength),cleanup()}catch(e){fail()}}),testRunner(),setClasses(classes),delete ModernizrProto.addTest,delete ModernizrProto.addAsyncTest;for(var i=0;i<Modernizr._q.length;i++)Modernizr._q[i]();window.Modernizr=Modernizr}(window,document),function(factory){"function"==typeof define&&define.amd?define(["jquery"],factory):factory(jQuery)}(function($){function args(elem){var newAttrs={},rinlinejQuery=/^jQuery\d+$/;return $.each(elem.attributes,function(i,attr){attr.specified&&!rinlinejQuery.test(attr.name)&&(newAttrs[attr.name]=attr.value)}),newAttrs}function clearPlaceholder(event,value){var input=this,$input=$(input);if(input.value==$input.attr("placeholder")&&$input.hasClass("placeholder"))if($input.data("placeholder-password")){if($input=$input.hide().nextAll('input[type="password"]:first').show().attr("id",$input.removeAttr("id").data("placeholder-id")),event===!0)return $input[0].value=value;$input.focus()}else input.value="",$input.removeClass("placeholder"),input==safeActiveElement()&&input.select()}function setPlaceholder(){var $replacement,input=this,$input=$(input),id=this.id;if(""===input.value){if("password"===input.type){if(!$input.data("placeholder-textinput")){try{$replacement=$input.clone().attr({type:"text"})}catch(e){$replacement=$("<input>").attr($.extend(args(this),{type:"text"}))}$replacement.removeAttr("name").data({"placeholder-password":$input,"placeholder-id":id}).bind("focus.placeholder",clearPlaceholder),$input.data({"placeholder-textinput":$replacement,"placeholder-id":id}).before($replacement)}$input=$input.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",id).show()}$input.addClass("placeholder"),$input[0].value=$input.attr("placeholder")}else $input.removeClass("placeholder")}function safeActiveElement(){try{return document.activeElement}catch(exception){}}var hooks,placeholder,isOperaMini="[object OperaMini]"==Object.prototype.toString.call(window.operamini),isInputSupported="placeholder"in document.createElement("input")&&!isOperaMini,isTextareaSupported="placeholder"in document.createElement("textarea")&&!isOperaMini,valHooks=$.valHooks,propHooks=$.propHooks;isInputSupported&&isTextareaSupported?(placeholder=$.fn.placeholder=function(){return this},placeholder.input=placeholder.textarea=!0):(placeholder=$.fn.placeholder=function(){var $this=this;return $this.filter((isInputSupported?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":clearPlaceholder,"blur.placeholder":setPlaceholder}).data("placeholder-enabled",!0).trigger("blur.placeholder"),$this},placeholder.input=isInputSupported,placeholder.textarea=isTextareaSupported,hooks={get:function(element){var $element=$(element),$passwordInput=$element.data("placeholder-password");return $passwordInput?$passwordInput[0].value:$element.data("placeholder-enabled")&&$element.hasClass("placeholder")?"":element.value},set:function(element,value){var $element=$(element),$passwordInput=$element.data("placeholder-password");return $passwordInput?$passwordInput[0].value=value:$element.data("placeholder-enabled")?(""===value?(element.value=value,element!=safeActiveElement()&&setPlaceholder.call(element)):$element.hasClass("placeholder")?clearPlaceholder.call(element,!0,value)||(element.value=value):element.value=value,$element):element.value=value}},isInputSupported||(valHooks.input=hooks,propHooks.value=hooks),isTextareaSupported||(valHooks.textarea=hooks,propHooks.value=hooks),$(function(){$(document).delegate("form","submit.placeholder",function(){var $inputs=$(".placeholder",this).each(clearPlaceholder);setTimeout(function(){$inputs.each(setPlaceholder)},10)})}),$(window).bind("beforeunload.placeholder",function(){$(".placeholder").each(function(){this.value=""})}))}),function(){function baseIndexOf(array,value,fromIndex){for(var index=(fromIndex||0)-1,length=array?array.length:0;++index<length;)if(array[index]===value)return index;return-1}function cacheIndexOf(cache,value){var type=typeof value;if(cache=cache.cache,"boolean"==type||null==value)return cache[value]?0:-1;"number"!=type&&"string"!=type&&(type="object");var key="number"==type?value:keyPrefix+value;return cache=(cache=cache[type])&&cache[key],"object"==type?cache&&baseIndexOf(cache,value)>-1?0:-1:cache?0:-1}function cachePush(value){var cache=this.cache,type=typeof value;if("boolean"==type||null==value)cache[value]=!0;else{"number"!=type&&"string"!=type&&(type="object");var key="number"==type?value:keyPrefix+value,typeCache=cache[type]||(cache[type]={});"object"==type?(typeCache[key]||(typeCache[key]=[])).push(value):typeCache[key]=!0}}function charAtCallback(value){return value.charCodeAt(0)}function compareAscending(a,b){for(var ac=a.criteria,bc=b.criteria,index=-1,length=ac.length;++index<length;){var value=ac[index],other=bc[index];if(value!==other){if(value>other||"undefined"==typeof value)return 1;if(other>value||"undefined"==typeof other)return-1}}return a.index-b.index}function createCache(array){var index=-1,length=array.length,first=array[0],mid=array[length/2|0],last=array[length-1];if(first&&"object"==typeof first&&mid&&"object"==typeof mid&&last&&"object"==typeof last)return!1;var cache=getObject();cache["false"]=cache["null"]=cache["true"]=cache.undefined=!1;var result=getObject();for(result.array=array,result.cache=cache,result.push=cachePush;++index<length;)result.push(array[index]);return result}function escapeStringChar(match){return"\\"+stringEscapes[match]}function getArray(){return arrayPool.pop()||[]}function getObject(){return objectPool.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function releaseArray(array){array.length=0,arrayPool.length<maxPoolSize&&arrayPool.push(array)}function releaseObject(object){var cache=object.cache;cache&&releaseObject(cache),object.array=object.cache=object.criteria=object.object=object.number=object.string=object.value=null,objectPool.length<maxPoolSize&&objectPool.push(object)}function slice(array,start,end){start||(start=0),"undefined"==typeof end&&(end=array?array.length:0);for(var index=-1,length=end-start||0,result=Array(0>length?0:length);++index<length;)result[index]=array[start+index];return result}function runInContext(context){function lodash(value){return value&&"object"==typeof value&&!isArray(value)&&hasOwnProperty.call(value,"__wrapped__")?value:new lodashWrapper(value)}function lodashWrapper(value,chainAll){this.__chain__=!!chainAll,this.__wrapped__=value}function baseBind(bindData){function bound(){if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(this instanceof bound){var thisBinding=baseCreate(func.prototype),result=func.apply(thisBinding,args||arguments);return isObject(result)?result:thisBinding}return func.apply(thisArg,args||arguments)}var func=bindData[0],partialArgs=bindData[2],thisArg=bindData[4];return setBindData(bound,bindData),bound}function baseClone(value,isDeep,callback,stackA,stackB){if(callback){var result=callback(value);if("undefined"!=typeof result)return result}var isObj=isObject(value);if(!isObj)return value;var className=toString.call(value);if(!cloneableClasses[className])return value;var ctor=ctorByClass[className];switch(className){case boolClass:case dateClass:return new ctor(+value);case numberClass:case stringClass:return new ctor(value);case regexpClass:return result=ctor(value.source,reFlags.exec(value)),result.lastIndex=value.lastIndex,result}var isArr=isArray(value);if(isDeep){var initedStack=!stackA;stackA||(stackA=getArray()),stackB||(stackB=getArray());for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];result=isArr?ctor(value.length):{}}else result=isArr?slice(value):assign({},value);return isArr&&(hasOwnProperty.call(value,"index")&&(result.index=value.index),hasOwnProperty.call(value,"input")&&(result.input=value.input)),isDeep?(stackA.push(value),stackB.push(result),(isArr?forEach:forOwn)(value,function(objValue,key){result[key]=baseClone(objValue,isDeep,callback,stackA,stackB)}),initedStack&&(releaseArray(stackA),releaseArray(stackB)),result):result}function baseCreate(prototype,properties){return isObject(prototype)?nativeCreate(prototype):{}}function baseCreateCallback(func,thisArg,argCount){if("function"!=typeof func)return identity;if("undefined"==typeof thisArg||!("prototype"in func))return func;var bindData=func.__bindData__;if("undefined"==typeof bindData&&(support.funcNames&&(bindData=!func.name),bindData=bindData||!support.funcDecomp,!bindData)){var source=fnToString.call(func);support.funcNames||(bindData=!reFuncName.test(source)),bindData||(bindData=reThis.test(source),setBindData(func,bindData))}if(bindData===!1||bindData!==!0&&1&bindData[1])return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 2:return function(a,b){return func.call(thisArg,a,b)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)}}return bind(func,thisArg)}function baseCreateWrapper(bindData){function bound(){var thisBinding=isBind?thisArg:this;if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if((partialRightArgs||isCurry)&&(args||(args=slice(arguments)),partialRightArgs&&push.apply(args,partialRightArgs),isCurry&&args.length<arity))return bitmask|=16,baseCreateWrapper([func,isCurryBound?bitmask:-4&bitmask,args,null,thisArg,arity]);if(args||(args=arguments),isBindKey&&(func=thisBinding[key]),this instanceof bound){thisBinding=baseCreate(func.prototype);var result=func.apply(thisBinding,args);return isObject(result)?result:thisBinding}return func.apply(thisBinding,args)}var func=bindData[0],bitmask=bindData[1],partialArgs=bindData[2],partialRightArgs=bindData[3],thisArg=bindData[4],arity=bindData[5],isBind=1&bitmask,isBindKey=2&bitmask,isCurry=4&bitmask,isCurryBound=8&bitmask,key=func;return setBindData(bound,bindData),bound}function baseDifference(array,values){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,isLarge=length>=largeArraySize&&indexOf===baseIndexOf,result=[];if(isLarge){var cache=createCache(values);cache?(indexOf=cacheIndexOf,values=cache):isLarge=!1}for(;++index<length;){var value=array[index];indexOf(values,value)<0&&result.push(value)}return isLarge&&releaseObject(values),result}function baseFlatten(array,isShallow,isStrict,fromIndex){for(var index=(fromIndex||0)-1,length=array?array.length:0,result=[];++index<length;){var value=array[index];if(value&&"object"==typeof value&&"number"==typeof value.length&&(isArray(value)||isArguments(value))){isShallow||(value=baseFlatten(value,isShallow,isStrict));var valIndex=-1,valLength=value.length,resIndex=result.length;for(result.length+=valLength;++valIndex<valLength;)result[resIndex++]=value[valIndex]}else isStrict||result.push(value)}return result}function baseIsEqual(a,b,callback,isWhere,stackA,stackB){if(callback){var result=callback(a,b);if("undefined"!=typeof result)return!!result}if(a===b)return 0!==a||1/a==1/b;var type=typeof a,otherType=typeof b;if(!(a!==a||a&&objectTypes[type]||b&&objectTypes[otherType]))return!1;if(null==a||null==b)return a===b;var className=toString.call(a),otherClass=toString.call(b);if(className==argsClass&&(className=objectClass),otherClass==argsClass&&(otherClass=objectClass),className!=otherClass)return!1;switch(className){case boolClass:case dateClass:return+a==+b;case numberClass:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case regexpClass:case stringClass:return a==String(b)}var isArr=className==arrayClass;if(!isArr){var aWrapped=hasOwnProperty.call(a,"__wrapped__"),bWrapped=hasOwnProperty.call(b,"__wrapped__");if(aWrapped||bWrapped)return baseIsEqual(aWrapped?a.__wrapped__:a,bWrapped?b.__wrapped__:b,callback,isWhere,stackA,stackB);if(className!=objectClass)return!1;var ctorA=a.constructor,ctorB=b.constructor;if(ctorA!=ctorB&&!(isFunction(ctorA)&&ctorA instanceof ctorA&&isFunction(ctorB)&&ctorB instanceof ctorB)&&"constructor"in a&&"constructor"in b)return!1}var initedStack=!stackA;stackA||(stackA=getArray()),stackB||(stackB=getArray());for(var length=stackA.length;length--;)if(stackA[length]==a)return stackB[length]==b;var size=0;if(result=!0,stackA.push(a),stackB.push(b),isArr){if(length=a.length,size=b.length,result=size==length,result||isWhere)for(;size--;){var index=length,value=b[size];if(isWhere)for(;index--&&!(result=baseIsEqual(a[index],value,callback,isWhere,stackA,stackB)););else if(!(result=baseIsEqual(a[size],value,callback,isWhere,stackA,stackB)))break}}else forIn(b,function(value,key,b){return hasOwnProperty.call(b,key)?(size++,result=hasOwnProperty.call(a,key)&&baseIsEqual(a[key],value,callback,isWhere,stackA,stackB)):void 0}),result&&!isWhere&&forIn(a,function(value,key,a){return hasOwnProperty.call(a,key)?result=--size>-1:void 0});return stackA.pop(),stackB.pop(),initedStack&&(releaseArray(stackA),releaseArray(stackB)),result}function baseMerge(object,source,callback,stackA,stackB){(isArray(source)?forEach:forOwn)(source,function(source,key){var found,isArr,result=source,value=object[key];if(source&&((isArr=isArray(source))||isPlainObject(source))){for(var stackLength=stackA.length;stackLength--;)if(found=stackA[stackLength]==source){value=stackB[stackLength];break}if(!found){var isShallow;callback&&(result=callback(value,source),(isShallow="undefined"!=typeof result)&&(value=result)),isShallow||(value=isArr?isArray(value)?value:[]:isPlainObject(value)?value:{}),stackA.push(source),stackB.push(value),isShallow||baseMerge(value,source,callback,stackA,stackB)}}else callback&&(result=callback(value,source),"undefined"==typeof result&&(result=source)),
"undefined"!=typeof result&&(value=result);object[key]=value})}function baseRandom(min,max){return min+floor(nativeRandom()*(max-min+1))}function baseUniq(array,isSorted,callback){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,result=[],isLarge=!isSorted&&length>=largeArraySize&&indexOf===baseIndexOf,seen=callback||isLarge?getArray():result;if(isLarge){var cache=createCache(seen);indexOf=cacheIndexOf,seen=cache}for(;++index<length;){var value=array[index],computed=callback?callback(value,index,array):value;(isSorted?!index||seen[seen.length-1]!==computed:indexOf(seen,computed)<0)&&((callback||isLarge)&&seen.push(computed),result.push(value))}return isLarge?(releaseArray(seen.array),releaseObject(seen)):callback&&releaseArray(seen),result}function createAggregator(setter){return function(collection,callback,thisArg){var result={};callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if("number"==typeof length)for(;++index<length;){var value=collection[index];setter(result,value,callback(value,index,collection),collection)}else forOwn(collection,function(value,key,collection){setter(result,value,callback(value,key,collection),collection)});return result}}function createWrapper(func,bitmask,partialArgs,partialRightArgs,thisArg,arity){var isBind=1&bitmask,isBindKey=2&bitmask,isCurry=4&bitmask,isPartial=16&bitmask,isPartialRight=32&bitmask;if(!isBindKey&&!isFunction(func))throw new TypeError;isPartial&&!partialArgs.length&&(bitmask&=-17,isPartial=partialArgs=!1),isPartialRight&&!partialRightArgs.length&&(bitmask&=-33,isPartialRight=partialRightArgs=!1);var bindData=func&&func.__bindData__;if(bindData&&bindData!==!0)return bindData=slice(bindData),bindData[2]&&(bindData[2]=slice(bindData[2])),bindData[3]&&(bindData[3]=slice(bindData[3])),!isBind||1&bindData[1]||(bindData[4]=thisArg),!isBind&&1&bindData[1]&&(bitmask|=8),!isCurry||4&bindData[1]||(bindData[5]=arity),isPartial&&push.apply(bindData[2]||(bindData[2]=[]),partialArgs),isPartialRight&&unshift.apply(bindData[3]||(bindData[3]=[]),partialRightArgs),bindData[1]|=bitmask,createWrapper.apply(null,bindData);var creater=1==bitmask||17===bitmask?baseBind:baseCreateWrapper;return creater([func,bitmask,partialArgs,partialRightArgs,thisArg,arity])}function escapeHtmlChar(match){return htmlEscapes[match]}function getIndexOf(){var result=(result=lodash.indexOf)===indexOf?baseIndexOf:result;return result}function isNative(value){return"function"==typeof value&&reNative.test(value)}function shimIsPlainObject(value){var ctor,result;return value&&toString.call(value)==objectClass&&(ctor=value.constructor,!isFunction(ctor)||ctor instanceof ctor)?(forIn(value,function(value,key){result=key}),"undefined"==typeof result||hasOwnProperty.call(value,result)):!1}function unescapeHtmlChar(match){return htmlUnescapes[match]}function isArguments(value){return value&&"object"==typeof value&&"number"==typeof value.length&&toString.call(value)==argsClass||!1}function clone(value,isDeep,callback,thisArg){return"boolean"!=typeof isDeep&&null!=isDeep&&(thisArg=callback,callback=isDeep,isDeep=!1),baseClone(value,isDeep,"function"==typeof callback&&baseCreateCallback(callback,thisArg,1))}function cloneDeep(value,callback,thisArg){return baseClone(value,!0,"function"==typeof callback&&baseCreateCallback(callback,thisArg,1))}function create(prototype,properties){var result=baseCreate(prototype);return properties?assign(result,properties):result}function findKey(object,callback,thisArg){var result;return callback=lodash.createCallback(callback,thisArg,3),forOwn(object,function(value,key,object){return callback(value,key,object)?(result=key,!1):void 0}),result}function findLastKey(object,callback,thisArg){var result;return callback=lodash.createCallback(callback,thisArg,3),forOwnRight(object,function(value,key,object){return callback(value,key,object)?(result=key,!1):void 0}),result}function forInRight(object,callback,thisArg){var pairs=[];forIn(object,function(value,key){pairs.push(key,value)});var length=pairs.length;for(callback=baseCreateCallback(callback,thisArg,3);length--&&callback(pairs[length--],pairs[length],object)!==!1;);return object}function forOwnRight(object,callback,thisArg){var props=keys(object),length=props.length;for(callback=baseCreateCallback(callback,thisArg,3);length--;){var key=props[length];if(callback(object[key],key,object)===!1)break}return object}function functions(object){var result=[];return forIn(object,function(value,key){isFunction(value)&&result.push(key)}),result.sort()}function has(object,key){return object?hasOwnProperty.call(object,key):!1}function invert(object){for(var index=-1,props=keys(object),length=props.length,result={};++index<length;){var key=props[index];result[object[key]]=key}return result}function isBoolean(value){return value===!0||value===!1||value&&"object"==typeof value&&toString.call(value)==boolClass||!1}function isDate(value){return value&&"object"==typeof value&&toString.call(value)==dateClass||!1}function isElement(value){return value&&1===value.nodeType||!1}function isEmpty(value){var result=!0;if(!value)return result;var className=toString.call(value),length=value.length;return className==arrayClass||className==stringClass||className==argsClass||className==objectClass&&"number"==typeof length&&isFunction(value.splice)?!length:(forOwn(value,function(){return result=!1}),result)}function isEqual(a,b,callback,thisArg){return baseIsEqual(a,b,"function"==typeof callback&&baseCreateCallback(callback,thisArg,2))}function isFinite(value){return nativeIsFinite(value)&&!nativeIsNaN(parseFloat(value))}function isFunction(value){return"function"==typeof value}function isObject(value){return!(!value||!objectTypes[typeof value])}function isNaN(value){return isNumber(value)&&value!=+value}function isNull(value){return null===value}function isNumber(value){return"number"==typeof value||value&&"object"==typeof value&&toString.call(value)==numberClass||!1}function isRegExp(value){return value&&"object"==typeof value&&toString.call(value)==regexpClass||!1}function isString(value){return"string"==typeof value||value&&"object"==typeof value&&toString.call(value)==stringClass||!1}function isUndefined(value){return"undefined"==typeof value}function mapValues(object,callback,thisArg){var result={};return callback=lodash.createCallback(callback,thisArg,3),forOwn(object,function(value,key,object){result[key]=callback(value,key,object)}),result}function merge(object){var args=arguments,length=2;if(!isObject(object))return object;if("number"!=typeof args[2]&&(length=args.length),length>3&&"function"==typeof args[length-2])var callback=baseCreateCallback(args[--length-1],args[length--],2);else length>2&&"function"==typeof args[length-1]&&(callback=args[--length]);for(var sources=slice(arguments,1,length),index=-1,stackA=getArray(),stackB=getArray();++index<length;)baseMerge(object,sources[index],callback,stackA,stackB);return releaseArray(stackA),releaseArray(stackB),object}function omit(object,callback,thisArg){var result={};if("function"!=typeof callback){var props=[];forIn(object,function(value,key){props.push(key)}),props=baseDifference(props,baseFlatten(arguments,!0,!1,1));for(var index=-1,length=props.length;++index<length;){var key=props[index];result[key]=object[key]}}else callback=lodash.createCallback(callback,thisArg,3),forIn(object,function(value,key,object){callback(value,key,object)||(result[key]=value)});return result}function pairs(object){for(var index=-1,props=keys(object),length=props.length,result=Array(length);++index<length;){var key=props[index];result[index]=[key,object[key]]}return result}function pick(object,callback,thisArg){var result={};if("function"!=typeof callback)for(var index=-1,props=baseFlatten(arguments,!0,!1,1),length=isObject(object)?props.length:0;++index<length;){var key=props[index];key in object&&(result[key]=object[key])}else callback=lodash.createCallback(callback,thisArg,3),forIn(object,function(value,key,object){callback(value,key,object)&&(result[key]=value)});return result}function transform(object,callback,accumulator,thisArg){var isArr=isArray(object);if(null==accumulator)if(isArr)accumulator=[];else{var ctor=object&&object.constructor,proto=ctor&&ctor.prototype;accumulator=baseCreate(proto)}return callback&&(callback=lodash.createCallback(callback,thisArg,4),(isArr?forEach:forOwn)(object,function(value,index,object){return callback(accumulator,value,index,object)})),accumulator}function values(object){for(var index=-1,props=keys(object),length=props.length,result=Array(length);++index<length;)result[index]=object[props[index]];return result}function at(collection){for(var args=arguments,index=-1,props=baseFlatten(args,!0,!1,1),length=args[2]&&args[2][args[1]]===collection?1:props.length,result=Array(length);++index<length;)result[index]=collection[props[index]];return result}function contains(collection,target,fromIndex){var index=-1,indexOf=getIndexOf(),length=collection?collection.length:0,result=!1;return fromIndex=(0>fromIndex?nativeMax(0,length+fromIndex):fromIndex)||0,isArray(collection)?result=indexOf(collection,target,fromIndex)>-1:"number"==typeof length?result=(isString(collection)?collection.indexOf(target,fromIndex):indexOf(collection,target,fromIndex))>-1:forOwn(collection,function(value){return++index>=fromIndex?!(result=value===target):void 0}),result}function every(collection,callback,thisArg){var result=!0;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if("number"==typeof length)for(;++index<length&&(result=!!callback(collection[index],index,collection)););else forOwn(collection,function(value,index,collection){return result=!!callback(value,index,collection)});return result}function filter(collection,callback,thisArg){var result=[];callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if("number"==typeof length)for(;++index<length;){var value=collection[index];callback(value,index,collection)&&result.push(value)}else forOwn(collection,function(value,index,collection){callback(value,index,collection)&&result.push(value)});return result}function find(collection,callback,thisArg){callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if("number"!=typeof length){var result;return forOwn(collection,function(value,index,collection){return callback(value,index,collection)?(result=value,!1):void 0}),result}for(;++index<length;){var value=collection[index];if(callback(value,index,collection))return value}}function findLast(collection,callback,thisArg){var result;return callback=lodash.createCallback(callback,thisArg,3),forEachRight(collection,function(value,index,collection){return callback(value,index,collection)?(result=value,!1):void 0}),result}function forEach(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;if(callback=callback&&"undefined"==typeof thisArg?callback:baseCreateCallback(callback,thisArg,3),"number"==typeof length)for(;++index<length&&callback(collection[index],index,collection)!==!1;);else forOwn(collection,callback);return collection}function forEachRight(collection,callback,thisArg){var length=collection?collection.length:0;if(callback=callback&&"undefined"==typeof thisArg?callback:baseCreateCallback(callback,thisArg,3),"number"==typeof length)for(;length--&&callback(collection[length],length,collection)!==!1;);else{var props=keys(collection);length=props.length,forOwn(collection,function(value,key,collection){return key=props?props[--length]:--length,callback(collection[key],key,collection)})}return collection}function invoke(collection,methodName){var args=slice(arguments,2),index=-1,isFunc="function"==typeof methodName,length=collection?collection.length:0,result=Array("number"==typeof length?length:0);return forEach(collection,function(value){result[++index]=(isFunc?methodName:value[methodName]).apply(value,args)}),result}function map(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;if(callback=lodash.createCallback(callback,thisArg,3),"number"==typeof length)for(var result=Array(length);++index<length;)result[index]=callback(collection[index],index,collection);else result=[],forOwn(collection,function(value,key,collection){result[++index]=callback(value,key,collection)});return result}function max(collection,callback,thisArg){var computed=-(1/0),result=computed;if("function"!=typeof callback&&thisArg&&thisArg[callback]===collection&&(callback=null),null==callback&&isArray(collection))for(var index=-1,length=collection.length;++index<length;){var value=collection[index];value>result&&(result=value)}else callback=null==callback&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3),forEach(collection,function(value,index,collection){var current=callback(value,index,collection);current>computed&&(computed=current,result=value)});return result}function min(collection,callback,thisArg){var computed=1/0,result=computed;if("function"!=typeof callback&&thisArg&&thisArg[callback]===collection&&(callback=null),null==callback&&isArray(collection))for(var index=-1,length=collection.length;++index<length;){var value=collection[index];result>value&&(result=value)}else callback=null==callback&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3),forEach(collection,function(value,index,collection){var current=callback(value,index,collection);computed>current&&(computed=current,result=value)});return result}function reduce(collection,callback,accumulator,thisArg){if(!collection)return accumulator;var noaccum=arguments.length<3;callback=lodash.createCallback(callback,thisArg,4);var index=-1,length=collection.length;if("number"==typeof length)for(noaccum&&(accumulator=collection[++index]);++index<length;)accumulator=callback(accumulator,collection[index],index,collection);else forOwn(collection,function(value,index,collection){accumulator=noaccum?(noaccum=!1,value):callback(accumulator,value,index,collection)});return accumulator}function reduceRight(collection,callback,accumulator,thisArg){var noaccum=arguments.length<3;return callback=lodash.createCallback(callback,thisArg,4),forEachRight(collection,function(value,index,collection){accumulator=noaccum?(noaccum=!1,value):callback(accumulator,value,index,collection)}),accumulator}function reject(collection,callback,thisArg){return callback=lodash.createCallback(callback,thisArg,3),filter(collection,function(value,index,collection){return!callback(value,index,collection)})}function sample(collection,n,guard){if(collection&&"number"!=typeof collection.length&&(collection=values(collection)),null==n||guard)return collection?collection[baseRandom(0,collection.length-1)]:undefined;var result=shuffle(collection);return result.length=nativeMin(nativeMax(0,n),result.length),result}function shuffle(collection){var index=-1,length=collection?collection.length:0,result=Array("number"==typeof length?length:0);return forEach(collection,function(value){var rand=baseRandom(0,++index);result[index]=result[rand],result[rand]=value}),result}function size(collection){var length=collection?collection.length:0;return"number"==typeof length?length:keys(collection).length}function some(collection,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if("number"==typeof length)for(;++index<length&&!(result=callback(collection[index],index,collection)););else forOwn(collection,function(value,index,collection){return!(result=callback(value,index,collection))});return!!result}function sortBy(collection,callback,thisArg){var index=-1,isArr=isArray(callback),length=collection?collection.length:0,result=Array("number"==typeof length?length:0);for(isArr||(callback=lodash.createCallback(callback,thisArg,3)),forEach(collection,function(value,key,collection){var object=result[++index]=getObject();isArr?object.criteria=map(callback,function(key){return value[key]}):(object.criteria=getArray())[0]=callback(value,key,collection),object.index=index,object.value=value}),length=result.length,result.sort(compareAscending);length--;){var object=result[length];result[length]=object.value,isArr||releaseArray(object.criteria),releaseObject(object)}return result}function toArray(collection){return collection&&"number"==typeof collection.length?slice(collection):values(collection)}function compact(array){for(var index=-1,length=array?array.length:0,result=[];++index<length;){var value=array[index];value&&result.push(value)}return result}function difference(array){return baseDifference(array,baseFlatten(arguments,!0,!0,1))}function findIndex(array,callback,thisArg){var index=-1,length=array?array.length:0;for(callback=lodash.createCallback(callback,thisArg,3);++index<length;)if(callback(array[index],index,array))return index;return-1}function findLastIndex(array,callback,thisArg){var length=array?array.length:0;for(callback=lodash.createCallback(callback,thisArg,3);length--;)if(callback(array[length],length,array))return length;return-1}function first(array,callback,thisArg){var n=0,length=array?array.length:0;if("number"!=typeof callback&&null!=callback){var index=-1;for(callback=lodash.createCallback(callback,thisArg,3);++index<length&&callback(array[index],index,array);)n++}else if(n=callback,null==n||thisArg)return array?array[0]:undefined;return slice(array,0,nativeMin(nativeMax(0,n),length))}function flatten(array,isShallow,callback,thisArg){return"boolean"!=typeof isShallow&&null!=isShallow&&(thisArg=callback,callback="function"!=typeof isShallow&&thisArg&&thisArg[isShallow]===array?null:isShallow,isShallow=!1),null!=callback&&(array=map(array,callback,thisArg)),baseFlatten(array,isShallow)}function indexOf(array,value,fromIndex){if("number"==typeof fromIndex){var length=array?array.length:0;fromIndex=0>fromIndex?nativeMax(0,length+fromIndex):fromIndex||0}else if(fromIndex){var index=sortedIndex(array,value);return array[index]===value?index:-1}return baseIndexOf(array,value,fromIndex)}function initial(array,callback,thisArg){var n=0,length=array?array.length:0;if("number"!=typeof callback&&null!=callback){var index=length;for(callback=lodash.createCallback(callback,thisArg,3);index--&&callback(array[index],index,array);)n++}else n=null==callback||thisArg?1:callback||n;return slice(array,0,nativeMin(nativeMax(0,length-n),length))}function intersection(){for(var args=[],argsIndex=-1,argsLength=arguments.length,caches=getArray(),indexOf=getIndexOf(),trustIndexOf=indexOf===baseIndexOf,seen=getArray();++argsIndex<argsLength;){var value=arguments[argsIndex];(isArray(value)||isArguments(value))&&(args.push(value),caches.push(trustIndexOf&&value.length>=largeArraySize&&createCache(argsIndex?args[argsIndex]:seen)))}var array=args[0],index=-1,length=array?array.length:0,result=[];outer:for(;++index<length;){var cache=caches[0];if(value=array[index],(cache?cacheIndexOf(cache,value):indexOf(seen,value))<0){for(argsIndex=argsLength,(cache||seen).push(value);--argsIndex;)if(cache=caches[argsIndex],(cache?cacheIndexOf(cache,value):indexOf(args[argsIndex],value))<0)continue outer;result.push(value)}}for(;argsLength--;)cache=caches[argsLength],cache&&releaseObject(cache);return releaseArray(caches),releaseArray(seen),result}function last(array,callback,thisArg){var n=0,length=array?array.length:0;if("number"!=typeof callback&&null!=callback){var index=length;for(callback=lodash.createCallback(callback,thisArg,3);index--&&callback(array[index],index,array);)n++}else if(n=callback,null==n||thisArg)return array?array[length-1]:undefined;return slice(array,nativeMax(0,length-n))}function lastIndexOf(array,value,fromIndex){var index=array?array.length:0;for("number"==typeof fromIndex&&(index=(0>fromIndex?nativeMax(0,index+fromIndex):nativeMin(fromIndex,index-1))+1);index--;)if(array[index]===value)return index;return-1}function pull(array){for(var args=arguments,argsIndex=0,argsLength=args.length,length=array?array.length:0;++argsIndex<argsLength;)for(var index=-1,value=args[argsIndex];++index<length;)array[index]===value&&(splice.call(array,index--,1),length--);return array}function range(start,end,step){start=+start||0,step="number"==typeof step?step:+step||1,null==end&&(end=start,start=0);for(var index=-1,length=nativeMax(0,ceil((end-start)/(step||1))),result=Array(length);++index<length;)result[index]=start,start+=step;return result}function remove(array,callback,thisArg){var index=-1,length=array?array.length:0,result=[];for(callback=lodash.createCallback(callback,thisArg,3);++index<length;){var value=array[index];callback(value,index,array)&&(result.push(value),splice.call(array,index--,1),length--)}return result}function rest(array,callback,thisArg){if("number"!=typeof callback&&null!=callback){var n=0,index=-1,length=array?array.length:0;for(callback=lodash.createCallback(callback,thisArg,3);++index<length&&callback(array[index],index,array);)n++}else n=null==callback||thisArg?1:nativeMax(0,callback);return slice(array,n)}function sortedIndex(array,value,callback,thisArg){var low=0,high=array?array.length:low;for(callback=callback?lodash.createCallback(callback,thisArg,1):identity,value=callback(value);high>low;){var mid=low+high>>>1;callback(array[mid])<value?low=mid+1:high=mid}return low}function union(){return baseUniq(baseFlatten(arguments,!0,!0))}function uniq(array,isSorted,callback,thisArg){return"boolean"!=typeof isSorted&&null!=isSorted&&(thisArg=callback,callback="function"!=typeof isSorted&&thisArg&&thisArg[isSorted]===array?null:isSorted,isSorted=!1),null!=callback&&(callback=lodash.createCallback(callback,thisArg,3)),baseUniq(array,isSorted,callback)}function without(array){return baseDifference(array,slice(arguments,1))}function xor(){for(var index=-1,length=arguments.length;++index<length;){var array=arguments[index];if(isArray(array)||isArguments(array))var result=result?baseUniq(baseDifference(result,array).concat(baseDifference(array,result))):array}return result||[]}function zip(){for(var array=arguments.length>1?arguments:arguments[0],index=-1,length=array?max(pluck(array,"length")):0,result=Array(0>length?0:length);++index<length;)result[index]=pluck(array,index);return result}function zipObject(keys,values){var index=-1,length=keys?keys.length:0,result={};for(values||!length||isArray(keys[0])||(values=[]);++index<length;){var key=keys[index];values?result[key]=values[index]:key&&(result[key[0]]=key[1])}return result}function after(n,func){if(!isFunction(func))throw new TypeError;return function(){return--n<1?func.apply(this,arguments):void 0}}function bind(func,thisArg){return arguments.length>2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}function bindAll(object){for(var funcs=arguments.length>1?baseFlatten(arguments,!0,!1,1):functions(object),index=-1,length=funcs.length;++index<length;){var key=funcs[index];object[key]=createWrapper(object[key],1,null,null,object)}return object}function bindKey(object,key){return arguments.length>2?createWrapper(key,19,slice(arguments,2),null,object):createWrapper(key,3,null,null,object)}function compose(){for(var funcs=arguments,length=funcs.length;length--;)if(!isFunction(funcs[length]))throw new TypeError;return function(){for(var args=arguments,length=funcs.length;length--;)args=[funcs[length].apply(this,args)];return args[0]}}function curry(func,arity){return arity="number"==typeof arity?arity:+arity||func.length,createWrapper(func,4,null,null,null,arity)}function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=!1,trailing=!0;if(!isFunction(func))throw new TypeError;if(wait=nativeMax(0,wait)||0,options===!0){var leading=!0;trailing=!1}else isObject(options)&&(leading=options.leading,maxWait="maxWait"in options&&(nativeMax(wait,options.maxWait)||0),trailing="trailing"in options?options.trailing:trailing);var delayed=function(){var remaining=wait-(now()-stamp);if(0>=remaining){maxTimeoutId&&clearTimeout(maxTimeoutId);var isCalled=trailingCall;maxTimeoutId=timeoutId=trailingCall=undefined,isCalled&&(lastCalled=now(),result=func.apply(thisArg,args),timeoutId||maxTimeoutId||(args=thisArg=null))}else timeoutId=setTimeout(delayed,remaining)},maxDelayed=function(){timeoutId&&clearTimeout(timeoutId),maxTimeoutId=timeoutId=trailingCall=undefined,(trailing||maxWait!==wait)&&(lastCalled=now(),result=func.apply(thisArg,args),timeoutId||maxTimeoutId||(args=thisArg=null))};return function(){if(args=arguments,stamp=now(),thisArg=this,trailingCall=trailing&&(timeoutId||!leading),maxWait===!1)var leadingCall=leading&&!timeoutId;else{maxTimeoutId||leading||(lastCalled=stamp);var remaining=maxWait-(stamp-lastCalled),isCalled=0>=remaining;isCalled?(maxTimeoutId&&(maxTimeoutId=clearTimeout(maxTimeoutId)),lastCalled=stamp,result=func.apply(thisArg,args)):maxTimeoutId||(maxTimeoutId=setTimeout(maxDelayed,remaining))}return isCalled&&timeoutId?timeoutId=clearTimeout(timeoutId):timeoutId||wait===maxWait||(timeoutId=setTimeout(delayed,wait)),leadingCall&&(isCalled=!0,result=func.apply(thisArg,args)),!isCalled||timeoutId||maxTimeoutId||(args=thisArg=null),result}}function defer(func){if(!isFunction(func))throw new TypeError;var args=slice(arguments,1);return setTimeout(function(){func.apply(undefined,args)},1)}function delay(func,wait){if(!isFunction(func))throw new TypeError;var args=slice(arguments,2);return setTimeout(function(){func.apply(undefined,args)},wait)}function memoize(func,resolver){if(!isFunction(func))throw new TypeError;var memoized=function(){var cache=memoized.cache,key=resolver?resolver.apply(this,arguments):keyPrefix+arguments[0];return hasOwnProperty.call(cache,key)?cache[key]:cache[key]=func.apply(this,arguments)};return memoized.cache={},memoized}function once(func){var ran,result;if(!isFunction(func))throw new TypeError;return function(){return ran?result:(ran=!0,result=func.apply(this,arguments),func=null,result)}}function partial(func){return createWrapper(func,16,slice(arguments,1))}function partialRight(func){return createWrapper(func,32,null,slice(arguments,1))}function throttle(func,wait,options){var leading=!0,trailing=!0;if(!isFunction(func))throw new TypeError;return options===!1?leading=!1:isObject(options)&&(leading="leading"in options?options.leading:leading,trailing="trailing"in options?options.trailing:trailing),debounceOptions.leading=leading,debounceOptions.maxWait=wait,debounceOptions.trailing=trailing,debounce(func,wait,debounceOptions)}function wrap(value,wrapper){return createWrapper(wrapper,16,[value])}function constant(value){return function(){return value}}function createCallback(func,thisArg,argCount){var type=typeof func;if(null==func||"function"==type)return baseCreateCallback(func,thisArg,argCount);if("object"!=type)return property(func);var props=keys(func),key=props[0],a=func[key];return 1!=props.length||a!==a||isObject(a)?function(object){for(var length=props.length,result=!1;length--&&(result=baseIsEqual(object[props[length]],func[props[length]],null,!0)););return result}:function(object){var b=object[key];return a===b&&(0!==a||1/a==1/b)}}function escape(string){return null==string?"":String(string).replace(reUnescapedHtml,escapeHtmlChar)}function identity(value){return value}function mixin(object,source,options){var chain=!0,methodNames=source&&functions(source);source&&(options||methodNames.length)||(null==options&&(options=source),ctor=lodashWrapper,source=object,object=lodash,methodNames=functions(source)),options===!1?chain=!1:isObject(options)&&"chain"in options&&(chain=options.chain);var ctor=object,isFunc=isFunction(ctor);forEach(methodNames,function(methodName){var func=object[methodName]=source[methodName];isFunc&&(ctor.prototype[methodName]=function(){var chainAll=this.__chain__,value=this.__wrapped__,args=[value];push.apply(args,arguments);var result=func.apply(object,args);if(chain||chainAll){if(value===result&&isObject(result))return this;result=new ctor(result),result.__chain__=chainAll}return result})})}function noConflict(){return context._=oldDash,this}function noop(){}function property(key){return function(object){return object[key]}}function random(min,max,floating){var noMin=null==min,noMax=null==max;if(null==floating&&("boolean"==typeof min&&noMax?(floating=min,min=1):noMax||"boolean"!=typeof max||(floating=max,noMax=!0)),noMin&&noMax&&(max=1),min=+min||0,noMax?(max=min,min=0):max=+max||0,floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}function result(object,key){if(object){var value=object[key];return isFunction(value)?object[key]():value}}function template(text,data,options){var settings=lodash.templateSettings;text=String(text||""),options=defaults({},options,settings);var isEvaluating,imports=defaults({},options.imports,settings.imports),importsKeys=keys(imports),importsValues=values(imports),index=0,interpolate=options.interpolate||reNoMatch,source="__p += '",reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");text.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){return interpolateValue||(interpolateValue=esTemplateValue),source+=text.slice(index,offset).replace(reUnescapedString,escapeStringChar),escapeValue&&(source+="' +\n__e("+escapeValue+") +\n'"),evaluateValue&&(isEvaluating=!0,source+="';\n"+evaluateValue+";\n__p += '"),interpolateValue&&(source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"),index=offset+match.length,match}),source+="';\n";var variable=options.variable,hasVariable=variable;hasVariable||(variable="obj",source="with ("+variable+") {\n"+source+"\n}\n"),source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;"),source="function("+variable+") {\n"+(hasVariable?"":variable+" || ("+variable+" = {});\n")+"var __t, __p = '', __e = _.escape"+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var sourceURL="\n/*\n//# sourceURL="+(options.sourceURL||"/lodash/template/source["+templateCounter++ +"]")+"\n*/";try{var result=Function(importsKeys,"return "+source+sourceURL).apply(undefined,importsValues)}catch(e){throw e.source=source,e}return data?result(data):(result.source=source,result)}function times(n,callback,thisArg){n=(n=+n)>-1?n:0;var index=-1,result=Array(n);for(callback=baseCreateCallback(callback,thisArg,1);++index<n;)result[index]=callback(index);return result}function unescape(string){return null==string?"":String(string).replace(reEscapedHtml,unescapeHtmlChar)}function uniqueId(prefix){var id=++idCounter;return String(null==prefix?"":prefix)+id}function chain(value){return value=new lodashWrapper(value),value.__chain__=!0,value}function tap(value,interceptor){return interceptor(value),value}function wrapperChain(){return this.__chain__=!0,this}function wrapperToString(){return String(this.__wrapped__)}function wrapperValueOf(){return this.__wrapped__}context=context?_.defaults(root.Object(),context,_.pick(root,contextProps)):root;var Array=context.Array,Boolean=context.Boolean,Date=context.Date,Function=context.Function,Math=context.Math,Number=context.Number,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError,arrayRef=[],objectProto=Object.prototype,oldDash=context._,toString=objectProto.toString,reNative=RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ceil=Math.ceil,clearTimeout=context.clearTimeout,floor=Math.floor,fnToString=Function.prototype.toString,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,hasOwnProperty=objectProto.hasOwnProperty,push=arrayRef.push,setTimeout=context.setTimeout,splice=arrayRef.splice,unshift=arrayRef.unshift,defineProperty=function(){
try{var o={},func=isNative(func=Object.defineProperty)&&func,result=func(o,o,o)&&func}catch(e){}return result}(),nativeCreate=isNative(nativeCreate=Object.create)&&nativeCreate,nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeIsFinite=context.isFinite,nativeIsNaN=context.isNaN,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,nativeParseInt=context.parseInt,nativeRandom=Math.random,ctorByClass={};ctorByClass[arrayClass]=Array,ctorByClass[boolClass]=Boolean,ctorByClass[dateClass]=Date,ctorByClass[funcClass]=Function,ctorByClass[objectClass]=Object,ctorByClass[numberClass]=Number,ctorByClass[regexpClass]=RegExp,ctorByClass[stringClass]=String,lodashWrapper.prototype=lodash.prototype;var support=lodash.support={};support.funcDecomp=!isNative(context.WinRTError)&&reThis.test(runInContext),support.funcNames="string"==typeof Function.name,lodash.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:reInterpolate,variable:"",imports:{_:lodash}},nativeCreate||(baseCreate=function(){function Object(){}return function(prototype){if(isObject(prototype)){Object.prototype=prototype;var result=new Object;Object.prototype=null}return result||context.Object()}}());var setBindData=defineProperty?function(func,value){descriptor.value=value,defineProperty(func,"__bindData__",descriptor),descriptor.value=null}:noop,isArray=nativeIsArray||function(value){return value&&"object"==typeof value&&"number"==typeof value.length&&toString.call(value)==arrayClass||!1},shimKeys=function(object){var index,iterable=object,result=[];if(!iterable)return result;if(!objectTypes[typeof object])return result;for(index in iterable)hasOwnProperty.call(iterable,index)&&result.push(index);return result},keys=nativeKeys?function(object){return isObject(object)?nativeKeys(object):[]}:shimKeys,htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},htmlUnescapes=invert(htmlEscapes),reEscapedHtml=RegExp("("+keys(htmlUnescapes).join("|")+")","g"),reUnescapedHtml=RegExp("["+keys(htmlEscapes).join("")+"]","g"),assign=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength="number"==typeof guard?2:args.length;if(argsLength>3&&"function"==typeof args[argsLength-2])var callback=baseCreateCallback(args[--argsLength-1],args[argsLength--],2);else argsLength>2&&"function"==typeof args[argsLength-1]&&(callback=args[--argsLength]);for(;++argsIndex<argsLength;)if(iterable=args[argsIndex],iterable&&objectTypes[typeof iterable])for(var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;++ownIndex<length;)index=ownProps[ownIndex],result[index]=callback?callback(result[index],iterable[index]):iterable[index];return result},defaults=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;for(var args=arguments,argsIndex=0,argsLength="number"==typeof guard?2:args.length;++argsIndex<argsLength;)if(iterable=args[argsIndex],iterable&&objectTypes[typeof iterable])for(var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;++ownIndex<length;)index=ownProps[ownIndex],"undefined"==typeof result[index]&&(result[index]=iterable[index]);return result},forIn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&"undefined"==typeof thisArg?callback:baseCreateCallback(callback,thisArg,3);for(index in iterable)if(callback(iterable[index],index,collection)===!1)return result;return result},forOwn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&"undefined"==typeof thisArg?callback:baseCreateCallback(callback,thisArg,3);for(var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;++ownIndex<length;)if(index=ownProps[ownIndex],callback(iterable[index],index,collection)===!1)return result;return result},isPlainObject=getPrototypeOf?function(value){if(!value||toString.call(value)!=objectClass)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key]++:result[key]=1}),groupBy=createAggregator(function(result,value,key){(hasOwnProperty.call(result,key)?result[key]:result[key]=[]).push(value)}),indexBy=createAggregator(function(result,value,key){result[key]=value}),pluck=map,where=filter,now=isNative(now=Date.now)&&now||function(){return(new Date).getTime()},parseInt=8==nativeParseInt(whitespace+"08")?nativeParseInt:function(value,radix){return nativeParseInt(isString(value)?value.replace(reLeadingSpacesAndZeros,""):value,radix||0)};return lodash.after=after,lodash.assign=assign,lodash.at=at,lodash.bind=bind,lodash.bindAll=bindAll,lodash.bindKey=bindKey,lodash.chain=chain,lodash.compact=compact,lodash.compose=compose,lodash.constant=constant,lodash.countBy=countBy,lodash.create=create,lodash.createCallback=createCallback,lodash.curry=curry,lodash.debounce=debounce,lodash.defaults=defaults,lodash.defer=defer,lodash.delay=delay,lodash.difference=difference,lodash.filter=filter,lodash.flatten=flatten,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=forIn,lodash.forInRight=forInRight,lodash.forOwn=forOwn,lodash.forOwnRight=forOwnRight,lodash.functions=functions,lodash.groupBy=groupBy,lodash.indexBy=indexBy,lodash.initial=initial,lodash.intersection=intersection,lodash.invert=invert,lodash.invoke=invoke,lodash.keys=keys,lodash.map=map,lodash.mapValues=mapValues,lodash.max=max,lodash.memoize=memoize,lodash.merge=merge,lodash.min=min,lodash.omit=omit,lodash.once=once,lodash.pairs=pairs,lodash.partial=partial,lodash.partialRight=partialRight,lodash.pick=pick,lodash.pluck=pluck,lodash.property=property,lodash.pull=pull,lodash.range=range,lodash.reject=reject,lodash.remove=remove,lodash.rest=rest,lodash.shuffle=shuffle,lodash.sortBy=sortBy,lodash.tap=tap,lodash.throttle=throttle,lodash.times=times,lodash.toArray=toArray,lodash.transform=transform,lodash.union=union,lodash.uniq=uniq,lodash.values=values,lodash.where=where,lodash.without=without,lodash.wrap=wrap,lodash.xor=xor,lodash.zip=zip,lodash.zipObject=zipObject,lodash.collect=map,lodash.drop=rest,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.extend=assign,lodash.methods=functions,lodash.object=zipObject,lodash.select=filter,lodash.tail=rest,lodash.unique=uniq,lodash.unzip=zip,mixin(lodash),lodash.clone=clone,lodash.cloneDeep=cloneDeep,lodash.contains=contains,lodash.escape=escape,lodash.every=every,lodash.find=find,lodash.findIndex=findIndex,lodash.findKey=findKey,lodash.findLast=findLast,lodash.findLastIndex=findLastIndex,lodash.findLastKey=findLastKey,lodash.has=has,lodash.identity=identity,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isBoolean=isBoolean,lodash.isDate=isDate,lodash.isElement=isElement,lodash.isEmpty=isEmpty,lodash.isEqual=isEqual,lodash.isFinite=isFinite,lodash.isFunction=isFunction,lodash.isNaN=isNaN,lodash.isNull=isNull,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isRegExp=isRegExp,lodash.isString=isString,lodash.isUndefined=isUndefined,lodash.lastIndexOf=lastIndexOf,lodash.mixin=mixin,lodash.noConflict=noConflict,lodash.noop=noop,lodash.now=now,lodash.parseInt=parseInt,lodash.random=random,lodash.reduce=reduce,lodash.reduceRight=reduceRight,lodash.result=result,lodash.runInContext=runInContext,lodash.size=size,lodash.some=some,lodash.sortedIndex=sortedIndex,lodash.template=template,lodash.unescape=unescape,lodash.uniqueId=uniqueId,lodash.all=every,lodash.any=some,lodash.detect=find,lodash.findWhere=find,lodash.foldl=reduce,lodash.foldr=reduceRight,lodash.include=contains,lodash.inject=reduce,mixin(function(){var source={};return forOwn(lodash,function(func,methodName){lodash.prototype[methodName]||(source[methodName]=func)}),source}(),!1),lodash.first=first,lodash.last=last,lodash.sample=sample,lodash.take=first,lodash.head=first,forOwn(lodash,function(func,methodName){var callbackable="sample"!==methodName;lodash.prototype[methodName]||(lodash.prototype[methodName]=function(n,guard){var chainAll=this.__chain__,result=func(this.__wrapped__,n,guard);return chainAll||null!=n&&(!guard||callbackable&&"function"==typeof n)?new lodashWrapper(result,chainAll):result})}),lodash.VERSION="2.4.2",lodash.prototype.chain=wrapperChain,lodash.prototype.toString=wrapperToString,lodash.prototype.value=wrapperValueOf,lodash.prototype.valueOf=wrapperValueOf,forEach(["join","pop","shift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){var chainAll=this.__chain__,result=func.apply(this.__wrapped__,arguments);return chainAll?new lodashWrapper(result,chainAll):result}}),forEach(["push","reverse","sort","unshift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){return func.apply(this.__wrapped__,arguments),this}}),forEach(["concat","slice","splice"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){return new lodashWrapper(func.apply(this.__wrapped__,arguments),this.__chain__)}}),lodash}var undefined,arrayPool=[],objectPool=[],idCounter=0,keyPrefix=+new Date+"",largeArraySize=75,maxPoolSize=40,whitespace=" 	\x0B\f \ufeff\n\r\u2028\u2029 ᠎             　",reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g,reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,reFlags=/\w*$/,reFuncName=/^\s*function[ \n\r\t]+\w/,reInterpolate=/<%=([\s\S]+?)%>/g,reLeadingSpacesAndZeros=RegExp("^["+whitespace+"]*0+(?=.$)"),reNoMatch=/($^)/,reThis=/\bthis\b/,reUnescapedString=/['\n\r\t\u2028\u2029\\]/g,contextProps=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],templateCounter=0,argsClass="[object Arguments]",arrayClass="[object Array]",boolClass="[object Boolean]",dateClass="[object Date]",funcClass="[object Function]",numberClass="[object Number]",objectClass="[object Object]",regexpClass="[object RegExp]",stringClass="[object String]",cloneableClasses={};cloneableClasses[funcClass]=!1,cloneableClasses[argsClass]=cloneableClasses[arrayClass]=cloneableClasses[boolClass]=cloneableClasses[dateClass]=cloneableClasses[numberClass]=cloneableClasses[objectClass]=cloneableClasses[regexpClass]=cloneableClasses[stringClass]=!0;var debounceOptions={leading:!1,maxWait:0,trailing:!1},descriptor={configurable:!1,enumerable:!1,value:null,writable:!1},objectTypes={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","	":"t","\u2028":"u2028","\u2029":"u2029"},root=objectTypes[typeof window]&&window||this,freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,freeGlobal=objectTypes[typeof global]&&global;!freeGlobal||freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal||(root=freeGlobal);var _=runInContext();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(root._=_,define(function(){return _})):freeExports&&freeModule?moduleExports?(freeModule.exports=_)._=_:freeExports._=_:root._=_}.call(this);var Handlebars=function(){var __module3__=function(){"use strict";function SafeString(string){this.string=string}var __exports__;return SafeString.prototype.toString=function(){return""+this.string},__exports__=SafeString}(),__module2__=function(__dependency1__){"use strict";function escapeChar(chr){return escape[chr]||"&amp;"}function extend(obj,value){for(var key in value)value.hasOwnProperty(key)&&(obj[key]=value[key])}function escapeExpression(string){return string instanceof SafeString?string.toString():string||0===string?(string=""+string,possible.test(string)?string.replace(badChars,escapeChar):string):""}function isEmpty(value){return value||0===value?!(!isArray(value)||0!==value.length):!0}var __exports__={},SafeString=__dependency1__,escape={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},badChars=/[&<>"'`]/g,possible=/[&<>"'`]/;__exports__.extend=extend;var toString=Object.prototype.toString;__exports__.toString=toString;var isFunction=function(value){return"function"==typeof value};isFunction(/x/)&&(isFunction=function(value){return"function"==typeof value&&"[object Function]"===toString.call(value)});var isFunction;__exports__.isFunction=isFunction;var isArray=Array.isArray||function(value){return value&&"object"==typeof value?"[object Array]"===toString.call(value):!1};return __exports__.isArray=isArray,__exports__.escapeExpression=escapeExpression,__exports__.isEmpty=isEmpty,__exports__}(__module3__),__module4__=function(){"use strict";function Exception(){for(var tmp=Error.prototype.constructor.apply(this,arguments),idx=0;idx<errorProps.length;idx++)this[errorProps[idx]]=tmp[errorProps[idx]]}var __exports__,errorProps=["description","fileName","lineNumber","message","name","number","stack"];return Exception.prototype=new Error,__exports__=Exception}(),__module1__=function(__dependency1__,__dependency2__){"use strict";function HandlebarsEnvironment(helpers,partials){this.helpers=helpers||{},this.partials=partials||{},registerDefaultHelpers(this)}function registerDefaultHelpers(instance){instance.registerHelper("helperMissing",function(arg){if(2!==arguments.length)throw new Error("Missing helper: '"+arg+"'")}),instance.registerHelper("blockHelperMissing",function(context,options){var inverse=options.inverse||function(){},fn=options.fn;return isFunction(context)&&(context=context.call(this)),context===!0?fn(this):context===!1||null==context?inverse(this):isArray(context)?context.length>0?instance.helpers.each(context,options):inverse(this):fn(context)}),instance.registerHelper("each",function(context,options){var data,fn=options.fn,inverse=options.inverse,i=0,ret="";if(isFunction(context)&&(context=context.call(this)),options.data&&(data=createFrame(options.data)),context&&"object"==typeof context)if(isArray(context))for(var j=context.length;j>i;i++)data&&(data.index=i,data.first=0===i,data.last=i===context.length-1),ret+=fn(context[i],{data:data});else for(var key in context)context.hasOwnProperty(key)&&(data&&(data.key=key),ret+=fn(context[key],{data:data}),i++);return 0===i&&(ret=inverse(this)),ret}),instance.registerHelper("if",function(conditional,options){return isFunction(conditional)&&(conditional=conditional.call(this)),!options.hash.includeZero&&!conditional||Utils.isEmpty(conditional)?options.inverse(this):options.fn(this)}),instance.registerHelper("unless",function(conditional,options){return instance.helpers["if"].call(this,conditional,{fn:options.inverse,inverse:options.fn,hash:options.hash})}),instance.registerHelper("with",function(context,options){return isFunction(context)&&(context=context.call(this)),Utils.isEmpty(context)?void 0:options.fn(context)}),instance.registerHelper("log",function(context,options){var level=options.data&&null!=options.data.level?parseInt(options.data.level,10):1;instance.log(level,context)})}function log(level,obj){logger.log(level,obj)}var __exports__={},Utils=__dependency1__,Exception=__dependency2__,VERSION="1.1.2";__exports__.VERSION=VERSION;var COMPILER_REVISION=4;__exports__.COMPILER_REVISION=COMPILER_REVISION;var REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};__exports__.REVISION_CHANGES=REVISION_CHANGES;var isArray=Utils.isArray,isFunction=Utils.isFunction,toString=Utils.toString,objectType="[object Object]";__exports__.HandlebarsEnvironment=HandlebarsEnvironment,HandlebarsEnvironment.prototype={constructor:HandlebarsEnvironment,logger:logger,log:log,registerHelper:function(name,fn,inverse){if(toString.call(name)===objectType){if(inverse||fn)throw new Exception("Arg not supported with multiple helpers");Utils.extend(this.helpers,name)}else inverse&&(fn.not=inverse),this.helpers[name]=fn},registerPartial:function(name,str){toString.call(name)===objectType?Utils.extend(this.partials,name):this.partials[name]=str}};var logger={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(level,obj){if(logger.level<=level){var method=logger.methodMap[level];"undefined"!=typeof console&&console[method]&&console[method].call(console,obj)}}};__exports__.logger=logger,__exports__.log=log;var createFrame=function(object){var obj={};return Utils.extend(obj,object),obj};return __exports__.createFrame=createFrame,__exports__}(__module2__,__module4__),__module5__=function(__dependency1__,__dependency2__,__dependency3__){"use strict";function checkRevision(compilerInfo){var compilerRevision=compilerInfo&&compilerInfo[0]||1,currentRevision=COMPILER_REVISION;if(compilerRevision!==currentRevision){if(currentRevision>compilerRevision){var runtimeVersions=REVISION_CHANGES[currentRevision],compilerVersions=REVISION_CHANGES[compilerRevision];throw new Error("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+").")}throw new Error("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+compilerInfo[1]+").")}}function template(templateSpec,env){if(!env)throw new Error("No environment passed to template");var invokePartialWrapper;invokePartialWrapper=env.compile?function(partial,name,context,helpers,partials,data){var result=invokePartial.apply(this,arguments);if(result)return result;var options={helpers:helpers,partials:partials,data:data};return partials[name]=env.compile(partial,{data:void 0!==data},env),partials[name](context,options)}:function(partial,name){var result=invokePartial.apply(this,arguments);if(result)return result;throw new Exception("The partial "+name+" could not be compiled when running in runtime-only mode")};var container={escapeExpression:Utils.escapeExpression,invokePartial:invokePartialWrapper,programs:[],program:function(i,fn,data){var programWrapper=this.programs[i];return data?programWrapper=program(i,fn,data):programWrapper||(programWrapper=this.programs[i]=program(i,fn)),programWrapper},merge:function(param,common){var ret=param||common;return param&&common&&param!==common&&(ret={},Utils.extend(ret,common),Utils.extend(ret,param)),ret},programWithDepth:programWithDepth,noop:noop,compilerInfo:null};return function(context,options){options=options||{};var helpers,partials,namespace=options.partial?options:env;options.partial||(helpers=options.helpers,partials=options.partials);var result=templateSpec.call(container,namespace,context,helpers,partials,options.data);return options.partial||checkRevision(container.compilerInfo),result}}function programWithDepth(i,fn,data){var args=Array.prototype.slice.call(arguments,3),prog=function(context,options){return options=options||{},fn.apply(this,[context,options.data||data].concat(args))};return prog.program=i,prog.depth=args.length,prog}function program(i,fn,data){var prog=function(context,options){return options=options||{},fn(context,options.data||data)};return prog.program=i,prog.depth=0,prog}function invokePartial(partial,name,context,helpers,partials,data){var options={partial:!0,helpers:helpers,partials:partials,data:data};if(void 0===partial)throw new Exception("The partial "+name+" could not be found");return partial instanceof Function?partial(context,options):void 0}function noop(){return""}var __exports__={},Utils=__dependency1__,Exception=__dependency2__,COMPILER_REVISION=__dependency3__.COMPILER_REVISION,REVISION_CHANGES=__dependency3__.REVISION_CHANGES;return __exports__.template=template,__exports__.programWithDepth=programWithDepth,__exports__.program=program,__exports__.invokePartial=invokePartial,__exports__.noop=noop,__exports__}(__module2__,__module4__,__module1__),__module0__=function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__){"use strict";var __exports__,base=__dependency1__,SafeString=__dependency2__,Exception=__dependency3__,Utils=__dependency4__,runtime=__dependency5__,create=function(){var hb=new base.HandlebarsEnvironment;return Utils.extend(hb,base),hb.SafeString=SafeString,hb.Exception=Exception,hb.Utils=Utils,hb.VM=runtime,hb.template=function(spec){return runtime.template(spec,hb)},hb},Handlebars=create();return Handlebars.create=create,__exports__=Handlebars}(__module1__,__module3__,__module4__,__module2__,__module5__);return __module0__}();!function(t,e,i){var n=t.L,o={};o.version="0.7.7","object"==typeof module&&"object"==typeof module.exports?module.exports=o:"function"==typeof define&&define.amd&&define(o),o.noConflict=function(){return t.L=n,this},t.L=o,o.Util={extend:function(t){var e,i,n,o,s=Array.prototype.slice.call(arguments,1);for(i=0,n=s.length;n>i;i++){o=s[i]||{};for(e in o)o.hasOwnProperty(e)&&(t[e]=o[e])}return t},bind:function(t,e){var i=arguments.length>2?Array.prototype.slice.call(arguments,2):null;return function(){return t.apply(e,i||arguments)}},stamp:function(){var t=0,e="_leaflet_id";return function(i){return i[e]=i[e]||++t,i[e]}}(),invokeEach:function(t,e,i){var n,o;if("object"==typeof t){o=Array.prototype.slice.call(arguments,3);for(n in t)e.apply(i,[n,t[n]].concat(o));return!0}return!1},limitExecByInterval:function(t,e,i){var n,o;return function s(){var a=arguments;return n?void(o=!0):(n=!0,setTimeout(function(){n=!1,o&&(s.apply(i,a),o=!1)},e),void t.apply(i,a))}},falseFn:function(){return!1},formatNum:function(t,e){var i=Math.pow(10,e||5);return Math.round(t*i)/i},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},splitWords:function(t){return o.Util.trim(t).split(/\s+/)},setOptions:function(t,e){return t.options=o.extend({},t.options,e),t.options},getParamString:function(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&-1!==e.indexOf("?")?"&":"?")+n.join("&")},template:function(t,e){return t.replace(/\{ *([\w_]+) *\}/g,function(t,n){var o=e[n];if(o===i)throw new Error("No value provided for variable "+t);return"function"==typeof o&&(o=o(e)),o})},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},function(){function e(e){var i,n,o=["webkit","moz","o","ms"];for(i=0;i<o.length&&!n;i++)n=t[o[i]+e];return n}function i(e){var i=+new Date,o=Math.max(0,16-(i-n));return n=i+o,t.setTimeout(e,o)}var n=0,s=t.requestAnimationFrame||e("RequestAnimationFrame")||i,a=t.cancelAnimationFrame||e("CancelAnimationFrame")||e("CancelRequestAnimationFrame")||function(e){t.clearTimeout(e)};o.Util.requestAnimFrame=function(e,n,a,r){return e=o.bind(e,n),a&&s===i?void e():s.call(t,e,r)},o.Util.cancelAnimFrame=function(e){e&&a.call(t,e)}}(),o.extend=o.Util.extend,o.bind=o.Util.bind,o.stamp=o.Util.stamp,o.setOptions=o.Util.setOptions,o.Class=function(){},o.Class.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this._initHooks&&this.callInitHooks()},i=function(){};i.prototype=this.prototype;var n=new i;n.constructor=e,e.prototype=n;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&(e[s]=this[s]);t.statics&&(o.extend(e,t.statics),delete t.statics),t.includes&&(o.Util.extend.apply(null,[n].concat(t.includes)),delete t.includes),t.options&&n.options&&(t.options=o.extend({},n.options,t.options)),o.extend(n,t),n._initHooks=[];var a=this;return e.__super__=a.prototype,n.callInitHooks=function(){if(!this._initHooksCalled){a.prototype.callInitHooks&&a.prototype.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=n._initHooks.length;e>t;t++)n._initHooks[t].call(this)}},e},o.Class.include=function(t){o.extend(this.prototype,t)},o.Class.mergeOptions=function(t){o.extend(this.prototype.options,t)},o.Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i)};var s="_leaflet_events";o.Mixin={},o.Mixin.Events={addEventListener:function(t,e,i){if(o.Util.invokeEach(t,this.addEventListener,this,e,i))return this;var n,a,r,h,l,u,c,d=this[s]=this[s]||{},p=i&&i!==this&&o.stamp(i);for(t=o.Util.splitWords(t),n=0,a=t.length;a>n;n++)r={action:e,context:i||this},h=t[n],p?(l=h+"_idx",u=l+"_len",c=d[l]=d[l]||{},c[p]||(c[p]=[],d[u]=(d[u]||0)+1),c[p].push(r)):(d[h]=d[h]||[],d[h].push(r));return this},hasEventListeners:function(t){var e=this[s];return!!e&&(t in e&&e[t].length>0||t+"_idx"in e&&e[t+"_idx_len"]>0)},removeEventListener:function(t,e,i){if(!this[s])return this;if(!t)return this.clearAllEventListeners();if(o.Util.invokeEach(t,this.removeEventListener,this,e,i))return this;var n,a,r,h,l,u,c,d,p,_=this[s],m=i&&i!==this&&o.stamp(i);for(t=o.Util.splitWords(t),n=0,a=t.length;a>n;n++)if(r=t[n],u=r+"_idx",c=u+"_len",d=_[u],e){if(h=m&&d?d[m]:_[r]){for(l=h.length-1;l>=0;l--)h[l].action!==e||i&&h[l].context!==i||(p=h.splice(l,1),p[0].action=o.Util.falseFn);i&&d&&0===h.length&&(delete d[m],_[c]--)}}else delete _[r],delete _[u],delete _[c];return this},clearAllEventListeners:function(){return delete this[s],this},fireEvent:function(t,e){if(!this.hasEventListeners(t))return this;var i,n,a,r,h,l=o.Util.extend({},e,{type:t,target:this}),u=this[s];if(u[t])for(i=u[t].slice(),n=0,a=i.length;a>n;n++)i[n].action.call(i[n].context,l);r=u[t+"_idx"];for(h in r)if(i=r[h].slice())for(n=0,a=i.length;a>n;n++)i[n].action.call(i[n].context,l);return this},addOneTimeEventListener:function(t,e,i){if(o.Util.invokeEach(t,this.addOneTimeEventListener,this,e,i))return this;var n=o.bind(function(){this.removeEventListener(t,e,i).removeEventListener(t,n,i)},this);return this.addEventListener(t,e,i).addEventListener(t,n,i)}},o.Mixin.Events.on=o.Mixin.Events.addEventListener,o.Mixin.Events.off=o.Mixin.Events.removeEventListener,o.Mixin.Events.once=o.Mixin.Events.addOneTimeEventListener,o.Mixin.Events.fire=o.Mixin.Events.fireEvent,function(){var n="ActiveXObject"in t,s=n&&!e.addEventListener,a=navigator.userAgent.toLowerCase(),r=-1!==a.indexOf("webkit"),h=-1!==a.indexOf("chrome"),l=-1!==a.indexOf("phantom"),u=-1!==a.indexOf("android"),c=-1!==a.search("android [23]"),d=-1!==a.indexOf("gecko"),p=typeof orientation!=i+"",_=!t.PointerEvent&&t.MSPointerEvent,m=t.PointerEvent&&t.navigator.pointerEnabled||_,f="devicePixelRatio"in t&&t.devicePixelRatio>1||"matchMedia"in t&&t.matchMedia("(min-resolution:144dpi)")&&t.matchMedia("(min-resolution:144dpi)").matches,g=e.documentElement,v=n&&"transition"in g.style,y="WebKitCSSMatrix"in t&&"m11"in new t.WebKitCSSMatrix&&!c,P="MozPerspective"in g.style,L="OTransition"in g.style,x=!t.L_DISABLE_3D&&(v||y||P||L)&&!l,w=!t.L_NO_TOUCH&&!l&&(m||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch);o.Browser={ie:n,ielt9:s,webkit:r,gecko:d&&!r&&!t.opera&&!n,android:u,android23:c,chrome:h,ie3d:v,webkit3d:y,gecko3d:P,opera3d:L,any3d:x,mobile:p,mobileWebkit:p&&r,mobileWebkit3d:p&&y,mobileOpera:p&&t.opera,touch:w,msPointer:_,pointer:m,retina:f}}(),o.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},o.Point.prototype={clone:function(){return new o.Point(this.x,this.y)},add:function(t){return this.clone()._add(o.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(o.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},distanceTo:function(t){t=o.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=o.point(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=o.point(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+o.Util.formatNum(this.x)+", "+o.Util.formatNum(this.y)+")"}},o.point=function(t,e,n){return t instanceof o.Point?t:o.Util.isArray(t)?new o.Point(t[0],t[1]):t===i||null===t?t:new o.Point(t,e,n)},o.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},o.Bounds.prototype={extend:function(t){return t=o.point(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new o.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new o.Point(this.min.x,this.max.y)},getTopRight:function(){return new o.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return t="number"==typeof t[0]||t instanceof o.Point?o.point(t):o.bounds(t),t instanceof o.Bounds?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,a=s.x>=e.x&&n.x<=i.x,r=s.y>=e.y&&n.y<=i.y;return a&&r},isValid:function(){return!(!this.min||!this.max)}},o.bounds=function(t,e){return!t||t instanceof o.Bounds?t:new o.Bounds(t,e)},o.Transformation=function(t,e,i,n){this._a=t,this._b=e,this._c=i,this._d=n},o.Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new o.Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}},o.DomUtil={get:function(t){return"string"==typeof t?e.getElementById(t):t},getStyle:function(t,i){var n=t.style[i];if(!n&&t.currentStyle&&(n=t.currentStyle[i]),(!n||"auto"===n)&&e.defaultView){var o=e.defaultView.getComputedStyle(t,null);n=o?o[i]:null}return"auto"===n?null:n},getViewportOffset:function(t){var i,n=0,s=0,a=t,r=e.body,h=e.documentElement;do{if(n+=a.offsetTop||0,s+=a.offsetLeft||0,n+=parseInt(o.DomUtil.getStyle(a,"borderTopWidth"),10)||0,s+=parseInt(o.DomUtil.getStyle(a,"borderLeftWidth"),10)||0,i=o.DomUtil.getStyle(a,"position"),a.offsetParent===r&&"absolute"===i)break;if("fixed"===i){n+=r.scrollTop||h.scrollTop||0,s+=r.scrollLeft||h.scrollLeft||0;break}if("relative"===i&&!a.offsetLeft){var l=o.DomUtil.getStyle(a,"width"),u=o.DomUtil.getStyle(a,"max-width"),c=a.getBoundingClientRect();("none"!==l||"none"!==u)&&(s+=c.left+a.clientLeft),n+=c.top+(r.scrollTop||h.scrollTop||0);break}a=a.offsetParent}while(a);a=t;do{if(a===r)break;n-=a.scrollTop||0,s-=a.scrollLeft||0,a=a.parentNode}while(a);return new o.Point(s,n)},documentIsLtr:function(){return o.DomUtil._docIsLtrCached||(o.DomUtil._docIsLtrCached=!0,o.DomUtil._docIsLtr="ltr"===o.DomUtil.getStyle(e.body,"direction")),o.DomUtil._docIsLtr},create:function(t,i,n){var o=e.createElement(t);
return o.className=i,n&&n.appendChild(o),o},hasClass:function(t,e){if(t.classList!==i)return t.classList.contains(e);var n=o.DomUtil._getClass(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)},addClass:function(t,e){if(t.classList!==i)for(var n=o.Util.splitWords(e),s=0,a=n.length;a>s;s++)t.classList.add(n[s]);else if(!o.DomUtil.hasClass(t,e)){var r=o.DomUtil._getClass(t);o.DomUtil._setClass(t,(r?r+" ":"")+e)}},removeClass:function(t,e){t.classList!==i?t.classList.remove(e):o.DomUtil._setClass(t,o.Util.trim((" "+o.DomUtil._getClass(t)+" ").replace(" "+e+" "," ")))},_setClass:function(t,e){t.className.baseVal===i?t.className=e:t.className.baseVal=e},_getClass:function(t){return t.className.baseVal===i?t.className:t.className.baseVal},setOpacity:function(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(o){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}},testProp:function(t){for(var i=e.documentElement.style,n=0;n<t.length;n++)if(t[n]in i)return t[n];return!1},getTranslateString:function(t){var e=o.Browser.webkit3d,i="translate"+(e?"3d":"")+"(",n=(e?",0":"")+")";return i+t.x+"px,"+t.y+"px"+n},getScaleString:function(t,e){var i=o.DomUtil.getTranslateString(e.add(e.multiplyBy(-1*t))),n=" scale("+t+") ";return i+n},setPosition:function(t,e,i){t._leaflet_pos=e,!i&&o.Browser.any3d?t.style[o.DomUtil.TRANSFORM]=o.DomUtil.getTranslateString(e):(t.style.left=e.x+"px",t.style.top=e.y+"px")},getPosition:function(t){return t._leaflet_pos}},o.DomUtil.TRANSFORM=o.DomUtil.testProp(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),o.DomUtil.TRANSITION=o.DomUtil.testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),o.DomUtil.TRANSITION_END="webkitTransition"===o.DomUtil.TRANSITION||"OTransition"===o.DomUtil.TRANSITION?o.DomUtil.TRANSITION+"End":"transitionend",function(){if("onselectstart"in e)o.extend(o.DomUtil,{disableTextSelection:function(){o.DomEvent.on(t,"selectstart",o.DomEvent.preventDefault)},enableTextSelection:function(){o.DomEvent.off(t,"selectstart",o.DomEvent.preventDefault)}});else{var i=o.DomUtil.testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);o.extend(o.DomUtil,{disableTextSelection:function(){if(i){var t=e.documentElement.style;this._userSelect=t[i],t[i]="none"}},enableTextSelection:function(){i&&(e.documentElement.style[i]=this._userSelect,delete this._userSelect)}})}o.extend(o.DomUtil,{disableImageDrag:function(){o.DomEvent.on(t,"dragstart",o.DomEvent.preventDefault)},enableImageDrag:function(){o.DomEvent.off(t,"dragstart",o.DomEvent.preventDefault)}})}(),o.LatLng=function(t,e,n){if(t=parseFloat(t),e=parseFloat(e),isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=t,this.lng=e,n!==i&&(this.alt=parseFloat(n))},o.extend(o.LatLng,{DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,MAX_MARGIN:1e-9}),o.LatLng.prototype={equals:function(t){if(!t)return!1;t=o.latLng(t);var e=Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng));return e<=o.LatLng.MAX_MARGIN},toString:function(t){return"LatLng("+o.Util.formatNum(this.lat,t)+", "+o.Util.formatNum(this.lng,t)+")"},distanceTo:function(t){t=o.latLng(t);var e=6378137,i=o.LatLng.DEG_TO_RAD,n=(t.lat-this.lat)*i,s=(t.lng-this.lng)*i,a=this.lat*i,r=t.lat*i,h=Math.sin(n/2),l=Math.sin(s/2),u=h*h+l*l*Math.cos(a)*Math.cos(r);return 2*e*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))},wrap:function(t,e){var i=this.lng;return t=t||-180,e=e||180,i=(i+e)%(e-t)+(t>i||i===e?e:t),new o.LatLng(this.lat,i)}},o.latLng=function(t,e){return t instanceof o.LatLng?t:o.Util.isArray(t)?"number"==typeof t[0]||"string"==typeof t[0]?new o.LatLng(t[0],t[1],t[2]):null:t===i||null===t?t:"object"==typeof t&&"lat"in t?new o.LatLng(t.lat,"lng"in t?t.lng:t.lon):e===i?null:new o.LatLng(t,e)},o.LatLngBounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},o.LatLngBounds.prototype={extend:function(t){if(!t)return this;var e=o.latLng(t);return t=null!==e?e:o.latLngBounds(t),t instanceof o.LatLng?this._southWest||this._northEast?(this._southWest.lat=Math.min(t.lat,this._southWest.lat),this._southWest.lng=Math.min(t.lng,this._southWest.lng),this._northEast.lat=Math.max(t.lat,this._northEast.lat),this._northEast.lng=Math.max(t.lng,this._northEast.lng)):(this._southWest=new o.LatLng(t.lat,t.lng),this._northEast=new o.LatLng(t.lat,t.lng)):t instanceof o.LatLngBounds&&(this.extend(t._southWest),this.extend(t._northEast)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,s=Math.abs(e.lng-i.lng)*t;return new o.LatLngBounds(new o.LatLng(e.lat-n,e.lng-s),new o.LatLng(i.lat+n,i.lng+s))},getCenter:function(){return new o.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new o.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new o.LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof o.LatLng?o.latLng(t):o.latLngBounds(t);var e,i,n=this._southWest,s=this._northEast;return t instanceof o.LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=s.lat&&e.lng>=n.lng&&i.lng<=s.lng},intersects:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),a=s.lat>=e.lat&&n.lat<=i.lat,r=s.lng>=e.lng&&n.lng<=i.lng;return a&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t){return t?(t=o.latLngBounds(t),this._southWest.equals(t.getSouthWest())&&this._northEast.equals(t.getNorthEast())):!1},isValid:function(){return!(!this._southWest||!this._northEast)}},o.latLngBounds=function(t,e){return!t||t instanceof o.LatLngBounds?t:new o.LatLngBounds(t,e)},o.Projection={},o.Projection.SphericalMercator={MAX_LATITUDE:85.0511287798,project:function(t){var e=o.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=t.lng*e,a=n*e;return a=Math.log(Math.tan(Math.PI/4+a/2)),new o.Point(s,a)},unproject:function(t){var e=o.LatLng.RAD_TO_DEG,i=t.x*e,n=(2*Math.atan(Math.exp(t.y))-Math.PI/2)*e;return new o.LatLng(n,i)}},o.Projection.LonLat={project:function(t){return new o.Point(t.lng,t.lat)},unproject:function(t){return new o.LatLng(t.y,t.x)}},o.CRS={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},scale:function(t){return 256*Math.pow(2,t)},getSize:function(t){var e=this.scale(t);return o.point(e,e)}},o.CRS.Simple=o.extend({},o.CRS,{projection:o.Projection.LonLat,transformation:new o.Transformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)}}),o.CRS.EPSG3857=o.extend({},o.CRS,{code:"EPSG:3857",projection:o.Projection.SphericalMercator,transformation:new o.Transformation(.5/Math.PI,.5,-.5/Math.PI,.5),project:function(t){var e=this.projection.project(t),i=6378137;return e.multiplyBy(i)}}),o.CRS.EPSG900913=o.extend({},o.CRS.EPSG3857,{code:"EPSG:900913"}),o.CRS.EPSG4326=o.extend({},o.CRS,{code:"EPSG:4326",projection:o.Projection.LonLat,transformation:new o.Transformation(1/360,.5,-1/360,.5)}),o.Map=o.Class.extend({includes:o.Mixin.Events,options:{crs:o.CRS.EPSG3857,fadeAnimation:o.DomUtil.TRANSITION&&!o.Browser.android23,trackResize:!0,markerZoomAnimation:o.DomUtil.TRANSITION&&o.Browser.any3d},initialize:function(t,e){e=o.setOptions(this,e),this._initContainer(t),this._initLayout(),this._onResize=o.bind(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),e.center&&e.zoom!==i&&this.setView(o.latLng(e.center),e.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._tileLayersNum=0,this.callInitHooks(),this._addLayers(e.layers)},setView:function(t,e){return e=e===i?this.getZoom():e,this._resetView(o.latLng(t),this._limitZoom(e)),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=this._limitZoom(t),this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t||1),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t||1),e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),s=this.getSize().divideBy(2),a=t instanceof o.Point?t:this.latLngToContainerPoint(t),r=a.subtract(s).multiplyBy(1-1/n),h=this.containerPointToLatLng(s.add(r));return this.setView(h,e,{zoom:i})},fitBounds:function(t,e){e=e||{},t=t.getBounds?t.getBounds():o.latLngBounds(t);var i=o.point(e.paddingTopLeft||e.padding||[0,0]),n=o.point(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,i.add(n));s=e.maxZoom?Math.min(e.maxZoom,s):s;var a=n.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),s),h=this.project(t.getNorthEast(),s),l=this.unproject(r.add(h).divideBy(2).add(a),s);return this.setView(l,s,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t){return this.fire("movestart"),this._rawPanBy(o.point(t)),this.fire("move"),this.fire("moveend")},setMaxBounds:function(t){return t=o.latLngBounds(t),this.options.maxBounds=t,t?(this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds,this)):this.off("moveend",this._panInsideMaxBounds,this)},panInsideBounds:function(t,e){var i=this.getCenter(),n=this._limitCenter(i,this._zoom,t);return i.equals(n)?this:this.panTo(n,e)},addLayer:function(t){var e=o.stamp(t);return this._layers[e]?this:(this._layers[e]=t,!t.options||isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[e]=t,this._updateZoomLevels()),this.options.zoomAnimation&&o.TileLayer&&t instanceof o.TileLayer&&(this._tileLayersNum++,this._tileLayersToLoad++,t.on("load",this._onTileLayerLoad,this)),this._loaded&&this._layerAdd(t),this)},removeLayer:function(t){var e=o.stamp(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&this.fire("layerremove",{layer:t}),this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels()),this.options.zoomAnimation&&o.TileLayer&&t instanceof o.TileLayer&&(this._tileLayersNum--,this._tileLayersToLoad--,t.off("load",this._onTileLayerLoad,this)),this):this},hasLayer:function(t){return t?o.stamp(t)in this._layers:!1},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},invalidateSize:function(t){if(!this._loaded)return this;t=o.extend({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._initialCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),s=i.divideBy(2).round(),a=n.subtract(s);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o.bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){this._loaded&&this.fire("unload"),this._initEvents("off");try{delete this._container._leaflet}catch(t){this._container._leaflet=i}return this._clearPanes(),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this},getCenter:function(){return this._checkIfLoaded(),this._initialCenter&&!this._moved()?this._initialCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new o.LatLngBounds(e,i)},getMinZoom:function(){return this.options.minZoom===i?this._layersMinZoom===i?0:this._layersMinZoom:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===i?this._layersMaxZoom===i?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=o.latLngBounds(t);var n,s=this.getMinZoom()-(e?1:0),a=this.getMaxZoom(),r=this.getSize(),h=t.getNorthWest(),l=t.getSouthEast(),u=!0;i=o.point(i||[0,0]);do s++,n=this.project(l,s).subtract(this.project(h,s)).add(i),u=e?n.x<r.x||n.y<r.y:r.contains(n);while(u&&a>=s);return u&&e?null:e?s:s-1},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new o.Point(this._container.clientWidth,this._container.clientHeight),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(){var t=this._getTopLeftPoint();return new o.Bounds(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._initialTopLeftPoint},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t){var e=this.options.crs;return e.scale(t)/e.scale(this._zoom)},getScaleZoom:function(t){return this._zoom+Math.log(t)/Math.LN2},project:function(t,e){return e=e===i?this._zoom:e,this.options.crs.latLngToPoint(o.latLng(t),e)},unproject:function(t,e){return e=e===i?this._zoom:e,this.options.crs.pointToLatLng(o.point(t),e)},layerPointToLatLng:function(t){var e=o.point(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(o.latLng(t))._round();return e._subtract(this.getPixelOrigin())},containerPointToLayerPoint:function(t){return o.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return o.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(o.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(o.latLng(t)))},mouseEventToContainerPoint:function(t){return o.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=o.DomUtil.get(t);if(!e)throw new Error("Map container not found.");if(e._leaflet)throw new Error("Map container is already initialized.");e._leaflet=!0},_initLayout:function(){var t=this._container;o.DomUtil.addClass(t,"leaflet-container"+(o.Browser.touch?" leaflet-touch":"")+(o.Browser.retina?" leaflet-retina":"")+(o.Browser.ielt9?" leaflet-oldie":"")+(this.options.fadeAnimation?" leaflet-fade-anim":""));var e=o.DomUtil.getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._mapPane=t.mapPane=this._createPane("leaflet-map-pane",this._container),this._tilePane=t.tilePane=this._createPane("leaflet-tile-pane",this._mapPane),t.objectsPane=this._createPane("leaflet-objects-pane",this._mapPane),t.shadowPane=this._createPane("leaflet-shadow-pane"),t.overlayPane=this._createPane("leaflet-overlay-pane"),t.markerPane=this._createPane("leaflet-marker-pane"),t.popupPane=this._createPane("leaflet-popup-pane");var e=" leaflet-zoom-hide";this.options.markerZoomAnimation||(o.DomUtil.addClass(t.markerPane,e),o.DomUtil.addClass(t.shadowPane,e),o.DomUtil.addClass(t.popupPane,e))},_createPane:function(t,e){return o.DomUtil.create("div",t,e||this._panes.objectsPane)},_clearPanes:function(){this._container.removeChild(this._mapPane)},_addLayers:function(t){t=t?o.Util.isArray(t)?t:[t]:[];for(var e=0,i=t.length;i>e;e++)this.addLayer(t[e])},_resetView:function(t,e,i,n){var s=this._zoom!==e;n||(this.fire("movestart"),s&&this.fire("zoomstart")),this._zoom=e,this._initialCenter=t,this._initialTopLeftPoint=this._getNewTopLeftPoint(t),i?this._initialTopLeftPoint._add(this._getMapPanePos()):o.DomUtil.setPosition(this._mapPane,new o.Point(0,0)),this._tileLayersToLoad=this._tileLayersNum;var a=!this._loaded;this._loaded=!0,this.fire("viewreset",{hard:!i}),a&&(this.fire("load"),this.eachLayer(this._layerAdd,this)),this.fire("move"),(s||n)&&this.fire("zoomend"),this.fire("moveend",{hard:!i})},_rawPanBy:function(t){o.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_updateZoomLevels:function(){var t,e=1/0,n=-(1/0),o=this._getZoomSpan();for(t in this._zoomBoundLayers){var s=this._zoomBoundLayers[t];isNaN(s.options.minZoom)||(e=Math.min(e,s.options.minZoom)),isNaN(s.options.maxZoom)||(n=Math.max(n,s.options.maxZoom))}t===i?this._layersMaxZoom=this._layersMinZoom=i:(this._layersMaxZoom=n,this._layersMinZoom=e),o!==this._getZoomSpan()&&this.fire("zoomlevelschange")},_panInsideMaxBounds:function(){this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(e){if(o.DomEvent){e=e||"on",o.DomEvent[e](this._container,"click",this._onMouseClick,this);var i,n,s=["dblclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","contextmenu"];for(i=0,n=s.length;n>i;i++)o.DomEvent[e](this._container,s[i],this._fireMouseEvent,this);this.options.trackResize&&o.DomEvent[e](t,"resize",this._onResize,this)}},_onResize:function(){o.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=o.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this,!1,this._container)},_onMouseClick:function(t){!this._loaded||!t._simulated&&(this.dragging&&this.dragging.moved()||this.boxZoom&&this.boxZoom.moved())||o.DomEvent._skipped(t)||(this.fire("preclick"),this._fireMouseEvent(t))},_fireMouseEvent:function(t){if(this._loaded&&!o.DomEvent._skipped(t)){var e=t.type;if(e="mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,this.hasEventListeners(e)){"contextmenu"===e&&o.DomEvent.preventDefault(t);var i=this.mouseEventToContainerPoint(t),n=this.containerPointToLayerPoint(i),s=this.layerPointToLatLng(n);this.fire(e,{latlng:s,layerPoint:n,containerPoint:i,originalEvent:t})}}},_onTileLayerLoad:function(){this._tileLayersToLoad--,this._tileLayersNum&&!this._tileLayersToLoad&&this.fire("tilelayersload")},_clearHandlers:function(){for(var t=0,e=this._handlers.length;e>t;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,this):this.on("load",t,e),this},_layerAdd:function(t){t.onAdd(this),this.fire("layeradd",{layer:t})},_getMapPanePos:function(){return o.DomUtil.getPosition(this._mapPane)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(){return this.getPixelOrigin().subtract(this._getMapPanePos())},_getNewTopLeftPoint:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewTopLeftPoint(i,e).add(this._getMapPanePos());return this.project(t,e)._subtract(n)},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),s=this.getSize().divideBy(2),a=new o.Bounds(n.subtract(s),n.add(s)),r=this._getBoundsOffset(a,i,e);return this.unproject(n.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new o.Bounds(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=this.project(e.getNorthWest(),i).subtract(t.min),s=this.project(e.getSouthEast(),i).subtract(t.max),a=this._rebound(n.x,-s.x),r=this._rebound(n.y,-s.y);return new o.Point(a,r)},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom();return Math.max(e,Math.min(i,t))}}),o.map=function(t,e){return new o.Map(t,e)},o.Projection.Mercator={MAX_LATITUDE:85.0840591556,R_MINOR:6356752.314245179,R_MAJOR:6378137,project:function(t){var e=o.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=this.R_MAJOR,a=this.R_MINOR,r=t.lng*e*s,h=n*e,l=a/s,u=Math.sqrt(1-l*l),c=u*Math.sin(h);c=Math.pow((1-c)/(1+c),.5*u);var d=Math.tan(.5*(.5*Math.PI-h))/c;return h=-s*Math.log(d),new o.Point(r,h)},unproject:function(t){for(var e,i=o.LatLng.RAD_TO_DEG,n=this.R_MAJOR,s=this.R_MINOR,a=t.x*i/n,r=s/n,h=Math.sqrt(1-r*r),l=Math.exp(-t.y/n),u=Math.PI/2-2*Math.atan(l),c=15,d=1e-7,p=c,_=.1;Math.abs(_)>d&&--p>0;)e=h*Math.sin(u),_=Math.PI/2-2*Math.atan(l*Math.pow((1-e)/(1+e),.5*h))-u,u+=_;return new o.LatLng(u*i,a)}},o.CRS.EPSG3395=o.extend({},o.CRS,{code:"EPSG:3395",projection:o.Projection.Mercator,transformation:function(){var t=o.Projection.Mercator,e=t.R_MAJOR,i=.5/(Math.PI*e);return new o.Transformation(i,.5,-i,.5)}()}),o.TileLayer=o.Class.extend({includes:o.Mixin.Events,options:{minZoom:0,maxZoom:18,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:o.Browser.mobile,updateWhenIdle:o.Browser.mobile},initialize:function(t,e){e=o.setOptions(this,e),e.detectRetina&&o.Browser.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomOffset++,e.minZoom>0&&e.minZoom--,this.options.maxZoom--),e.bounds&&(e.bounds=o.latLngBounds(e.bounds)),this._url=t;var i=this.options.subdomains;"string"==typeof i&&(this.options.subdomains=i.split(""))},onAdd:function(t){this._map=t,this._animated=t._zoomAnimated,this._initContainer(),t.on({viewreset:this._reset,moveend:this._update},this),this._animated&&t.on({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||(this._limitedUpdate=o.Util.limitExecByInterval(this._update,150,this),t.on("move",this._limitedUpdate,this)),this._reset(),this._update()},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this._container.parentNode.removeChild(this._container),t.off({viewreset:this._reset,moveend:this._update},this),this._animated&&t.off({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||t.off("move",this._limitedUpdate,this),this._container=null,this._map=null},bringToFront:function(){var t=this._map._panes.tilePane;return this._container&&(t.appendChild(this._container),this._setAutoZIndex(t,Math.max)),this},bringToBack:function(){var t=this._map._panes.tilePane;return this._container&&(t.insertBefore(this._container,t.firstChild),this._setAutoZIndex(t,Math.min)),this},getAttribution:function(){return this.options.attribution},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},redraw:function(){return this._map&&(this._reset({hard:!0}),this._update()),this},_updateZIndex:function(){this._container&&this.options.zIndex!==i&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t,e){var i,n,o,s=t.children,a=-e(1/0,-(1/0));for(n=0,o=s.length;o>n;n++)s[n]!==this._container&&(i=parseInt(s[n].style.zIndex,10),isNaN(i)||(a=e(a,i)));this.options.zIndex=this._container.style.zIndex=(isFinite(a)?a:0)+e(1,-1)},_updateOpacity:function(){var t,e=this._tiles;if(o.Browser.ielt9)for(t in e)o.DomUtil.setOpacity(e[t],this.options.opacity);else o.DomUtil.setOpacity(this._container,this.options.opacity)},_initContainer:function(){var t=this._map._panes.tilePane;if(!this._container){if(this._container=o.DomUtil.create("div","leaflet-layer"),this._updateZIndex(),this._animated){var e="leaflet-tile-container";this._bgBuffer=o.DomUtil.create("div",e,this._container),this._tileContainer=o.DomUtil.create("div",e,this._container)}else this._tileContainer=this._container;t.appendChild(this._container),this.options.opacity<1&&this._updateOpacity()}},_reset:function(t){for(var e in this._tiles)this.fire("tileunload",{tile:this._tiles[e]});this._tiles={},this._tilesToLoad=0,this.options.reuseTiles&&(this._unusedTiles=[]),this._tileContainer.innerHTML="",this._animated&&t&&t.hard&&this._clearBgBuffer(),this._initContainer()},_getTileSize:function(){var t=this._map,e=t.getZoom()+this.options.zoomOffset,i=this.options.maxNativeZoom,n=this.options.tileSize;return i&&e>i&&(n=Math.round(t.getZoomScale(e)/t.getZoomScale(i)*n)),n},_update:function(){if(this._map){var t=this._map,e=t.getPixelBounds(),i=t.getZoom(),n=this._getTileSize();if(!(i>this.options.maxZoom||i<this.options.minZoom)){var s=o.bounds(e.min.divideBy(n)._floor(),e.max.divideBy(n)._floor());this._addTilesFromCenterOut(s),(this.options.unloadInvisibleTiles||this.options.reuseTiles)&&this._removeOtherTiles(s)}}},_addTilesFromCenterOut:function(t){var i,n,s,a=[],r=t.getCenter();for(i=t.min.y;i<=t.max.y;i++)for(n=t.min.x;n<=t.max.x;n++)s=new o.Point(n,i),this._tileShouldBeLoaded(s)&&a.push(s);var h=a.length;if(0!==h){a.sort(function(t,e){return t.distanceTo(r)-e.distanceTo(r)});var l=e.createDocumentFragment();for(this._tilesToLoad||this.fire("loading"),this._tilesToLoad+=h,n=0;h>n;n++)this._addTile(a[n],l);this._tileContainer.appendChild(l)}},_tileShouldBeLoaded:function(t){if(t.x+":"+t.y in this._tiles)return!1;var e=this.options;if(!e.continuousWorld){var i=this._getWrapTileNum();if(e.noWrap&&(t.x<0||t.x>=i.x)||t.y<0||t.y>=i.y)return!1}if(e.bounds){var n=this._getTileSize(),o=t.multiplyBy(n),s=o.add([n,n]),a=this._map.unproject(o),r=this._map.unproject(s);if(e.continuousWorld||e.noWrap||(a=a.wrap(),r=r.wrap()),!e.bounds.intersects([a,r]))return!1}return!0},_removeOtherTiles:function(t){var e,i,n,o;for(o in this._tiles)e=o.split(":"),i=parseInt(e[0],10),n=parseInt(e[1],10),(i<t.min.x||i>t.max.x||n<t.min.y||n>t.max.y)&&this._removeTile(o)},_removeTile:function(t){var e=this._tiles[t];this.fire("tileunload",{tile:e,url:e.src}),this.options.reuseTiles?(o.DomUtil.removeClass(e,"leaflet-tile-loaded"),this._unusedTiles.push(e)):e.parentNode===this._tileContainer&&this._tileContainer.removeChild(e),o.Browser.android||(e.onload=null,e.src=o.Util.emptyImageUrl),delete this._tiles[t]},_addTile:function(t,e){var i=this._getTilePos(t),n=this._getTile();o.DomUtil.setPosition(n,i,o.Browser.chrome),this._tiles[t.x+":"+t.y]=n,this._loadTile(n,t),n.parentNode!==this._tileContainer&&e.appendChild(n)},_getZoomForUrl:function(){var t=this.options,e=this._map.getZoom();return t.zoomReverse&&(e=t.maxZoom-e),e+=t.zoomOffset,t.maxNativeZoom?Math.min(e,t.maxNativeZoom):e},_getTilePos:function(t){var e=this._map.getPixelOrigin(),i=this._getTileSize();return t.multiplyBy(i).subtract(e)},getTileUrl:function(t){return o.Util.template(this._url,o.extend({s:this._getSubdomain(t),z:t.z,x:t.x,y:t.y},this.options))},_getWrapTileNum:function(){var t=this._map.options.crs,e=t.getSize(this._map.getZoom());return e.divideBy(this._getTileSize())._floor()},_adjustTilePoint:function(t){var e=this._getWrapTileNum();this.options.continuousWorld||this.options.noWrap||(t.x=(t.x%e.x+e.x)%e.x),this.options.tms&&(t.y=e.y-t.y-1),t.z=this._getZoomForUrl()},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_getTile:function(){if(this.options.reuseTiles&&this._unusedTiles.length>0){var t=this._unusedTiles.pop();return this._resetTile(t),t}return this._createTile()},_resetTile:function(){},_createTile:function(){var t=o.DomUtil.create("img","leaflet-tile");return t.style.width=t.style.height=this._getTileSize()+"px",t.galleryimg="no",t.onselectstart=t.onmousemove=o.Util.falseFn,o.Browser.ielt9&&this.options.opacity!==i&&o.DomUtil.setOpacity(t,this.options.opacity),o.Browser.mobileWebkit3d&&(t.style.WebkitBackfaceVisibility="hidden"),t},_loadTile:function(t,e){t._layer=this,t.onload=this._tileOnLoad,t.onerror=this._tileOnError,this._adjustTilePoint(e),t.src=this.getTileUrl(e),this.fire("tileloadstart",{tile:t,url:t.src})},_tileLoaded:function(){this._tilesToLoad--,this._animated&&o.DomUtil.addClass(this._tileContainer,"leaflet-zoom-animated"),this._tilesToLoad||(this.fire("load"),this._animated&&(clearTimeout(this._clearBgBufferTimer),this._clearBgBufferTimer=setTimeout(o.bind(this._clearBgBuffer,this),500)))},_tileOnLoad:function(){var t=this._layer;this.src!==o.Util.emptyImageUrl&&(o.DomUtil.addClass(this,"leaflet-tile-loaded"),t.fire("tileload",{tile:this,url:this.src})),t._tileLoaded()},_tileOnError:function(){var t=this._layer;t.fire("tileerror",{tile:this,url:this.src});var e=t.options.errorTileUrl;e&&(this.src=e),t._tileLoaded()}}),o.tileLayer=function(t,e){return new o.TileLayer(t,e)},o.TileLayer.WMS=o.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(t,e){this._url=t;var i=o.extend({},this.defaultWmsParams),n=e.tileSize||this.options.tileSize;e.detectRetina&&o.Browser.retina?i.width=i.height=2*n:i.width=i.height=n;for(var s in e)this.options.hasOwnProperty(s)||"crs"===s||(i[s]=e[s]);this.wmsParams=i,o.setOptions(this,e)},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,o.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._map,i=this.options.tileSize,n=t.multiplyBy(i),s=n.add([i,i]),a=this._crs.project(e.unproject(n,t.z)),r=this._crs.project(e.unproject(s,t.z)),h=this._wmsVersion>=1.3&&this._crs===o.CRS.EPSG4326?[r.y,a.x,a.y,r.x].join(","):[a.x,r.y,r.x,a.y].join(","),l=o.Util.template(this._url,{s:this._getSubdomain(t)});return l+o.Util.getParamString(this.wmsParams,l,!0)+"&BBOX="+h},setParams:function(t,e){return o.extend(this.wmsParams,t),e||this.redraw(),this}}),o.tileLayer.wms=function(t,e){return new o.TileLayer.WMS(t,e)},o.TileLayer.Canvas=o.TileLayer.extend({options:{async:!1},initialize:function(t){o.setOptions(this,t)},redraw:function(){this._map&&(this._reset({hard:!0}),this._update());for(var t in this._tiles)this._redrawTile(this._tiles[t]);return this},_redrawTile:function(t){this.drawTile(t,t._tilePoint,this._map._zoom)},_createTile:function(){var t=o.DomUtil.create("canvas","leaflet-tile");return t.width=t.height=this.options.tileSize,t.onselectstart=t.onmousemove=o.Util.falseFn,t},_loadTile:function(t,e){t._layer=this,t._tilePoint=e,this._redrawTile(t),this.options.async||this.tileDrawn(t)},drawTile:function(){},tileDrawn:function(t){this._tileOnLoad.call(t)}}),o.tileLayer.canvas=function(t){return new o.TileLayer.Canvas(t)},o.ImageOverlay=o.Class.extend({includes:o.Mixin.Events,options:{opacity:1},initialize:function(t,e,i){this._url=t,this._bounds=o.latLngBounds(e),o.setOptions(this,i)},onAdd:function(t){this._map=t,this._image||this._initImage(),t._panes.overlayPane.appendChild(this._image),t.on("viewreset",this._reset,this),t.options.zoomAnimation&&o.Browser.any3d&&t.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(t){t.getPanes().overlayPane.removeChild(this._image),t.off("viewreset",this._reset,this),t.options.zoomAnimation&&t.off("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},bringToFront:function(){return this._image&&this._map._panes.overlayPane.appendChild(this._image),this},bringToBack:function(){var t=this._map._panes.overlayPane;
return this._image&&t.insertBefore(this._image,t.firstChild),this},setUrl:function(t){this._url=t,this._image.src=this._url},getAttribution:function(){return this.options.attribution},_initImage:function(){this._image=o.DomUtil.create("img","leaflet-image-layer"),this._map.options.zoomAnimation&&o.Browser.any3d?o.DomUtil.addClass(this._image,"leaflet-zoom-animated"):o.DomUtil.addClass(this._image,"leaflet-zoom-hide"),this._updateOpacity(),o.extend(this._image,{galleryimg:"no",onselectstart:o.Util.falseFn,onmousemove:o.Util.falseFn,onload:o.bind(this._onImageLoad,this),src:this._url})},_animateZoom:function(t){var e=this._map,i=this._image,n=e.getZoomScale(t.zoom),s=this._bounds.getNorthWest(),a=this._bounds.getSouthEast(),r=e._latLngToNewLayerPoint(s,t.zoom,t.center),h=e._latLngToNewLayerPoint(a,t.zoom,t.center)._subtract(r),l=r._add(h._multiplyBy(.5*(1-1/n)));i.style[o.DomUtil.TRANSFORM]=o.DomUtil.getTranslateString(l)+" scale("+n+") "},_reset:function(){var t=this._image,e=this._map.latLngToLayerPoint(this._bounds.getNorthWest()),i=this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(e);o.DomUtil.setPosition(t,e),t.style.width=i.x+"px",t.style.height=i.y+"px"},_onImageLoad:function(){this.fire("load")},_updateOpacity:function(){o.DomUtil.setOpacity(this._image,this.options.opacity)}}),o.imageOverlay=function(t,e,i){return new o.ImageOverlay(t,e,i)},o.Icon=o.Class.extend({options:{className:""},initialize:function(t){o.setOptions(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n;return n=e&&"IMG"===e.tagName?this._createImg(i,e):this._createImg(i),this._setIconStyles(n,t),n},_setIconStyles:function(t,e){var i,n=this.options,s=o.point(n[e+"Size"]);i="shadow"===e?o.point(n.shadowAnchor||n.iconAnchor):o.point(n.iconAnchor),!i&&s&&(i=s.divideBy(2,!0)),t.className="leaflet-marker-"+e+" "+n.className,i&&(t.style.marginLeft=-i.x+"px",t.style.marginTop=-i.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,i){return i=i||e.createElement("img"),i.src=t,i},_getIconUrl:function(t){return o.Browser.retina&&this.options[t+"RetinaUrl"]?this.options[t+"RetinaUrl"]:this.options[t+"Url"]}}),o.icon=function(t){return new o.Icon(t)},o.Icon.Default=o.Icon.extend({options:{iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]},_getIconUrl:function(t){var e=t+"Url";if(this.options[e])return this.options[e];o.Browser.retina&&"icon"===t&&(t+="-2x");var i=o.Icon.Default.imagePath;if(!i)throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");return i+"/marker-"+t+".png"}}),o.Icon.Default.imagePath=function(){var t,i,n,o,s,a=e.getElementsByTagName("script"),r=/[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/;for(t=0,i=a.length;i>t;t++)if(n=a[t].src,o=n.match(r))return s=n.split(r)[0],(s?s+"/":"")+"images"}(),o.Marker=o.Class.extend({includes:o.Mixin.Events,options:{icon:new o.Icon.Default,title:"",alt:"",clickable:!0,draggable:!1,keyboard:!0,zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t)},onAdd:function(t){this._map=t,t.on("viewreset",this.update,this),this._initIcon(),this.update(),this.fire("add"),t.options.zoomAnimation&&t.options.markerZoomAnimation&&t.on("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this.dragging&&this.dragging.disable(),this._removeIcon(),this._removeShadow(),this.fire("remove"),t.off({viewreset:this.update,zoomanim:this._animateZoom},this),this._map=null},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=o.latLng(t),this.update(),this.fire("move",{latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update(),this},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup),this},update:function(){return this._icon&&this._setPos(this._map.latLngToLayerPoint(this._latlng).round()),this},_initIcon:function(){var t=this.options,e=this._map,i=e.options.zoomAnimation&&e.options.markerZoomAnimation,n=i?"leaflet-zoom-animated":"leaflet-zoom-hide",s=t.icon.createIcon(this._icon),a=!1;s!==this._icon&&(this._icon&&this._removeIcon(),a=!0,t.title&&(s.title=t.title),t.alt&&(s.alt=t.alt)),o.DomUtil.addClass(s,n),t.keyboard&&(s.tabIndex="0"),this._icon=s,this._initInteraction(),t.riseOnHover&&o.DomEvent.on(s,"mouseover",this._bringToFront,this).on(s,"mouseout",this._resetZIndex,this);var r=t.icon.createShadow(this._shadow),h=!1;r!==this._shadow&&(this._removeShadow(),h=!0),r&&o.DomUtil.addClass(r,n),this._shadow=r,t.opacity<1&&this._updateOpacity();var l=this._map._panes;a&&l.markerPane.appendChild(this._icon),r&&h&&l.shadowPane.appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&o.DomEvent.off(this._icon,"mouseover",this._bringToFront).off(this._icon,"mouseout",this._resetZIndex),this._map._panes.markerPane.removeChild(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&this._map._panes.shadowPane.removeChild(this._shadow),this._shadow=null},_setPos:function(t){o.DomUtil.setPosition(this._icon,t),this._shadow&&o.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu"];o.DomUtil.addClass(t,"leaflet-clickable"),o.DomEvent.on(t,"click",this._onMouseClick,this),o.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var i=0;i<e.length;i++)o.DomEvent.on(t,e[i],this._fireMouseEvent,this);o.Handler.MarkerDrag&&(this.dragging=new o.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_onMouseClick:function(t){var e=this.dragging&&this.dragging.moved();(this.hasEventListeners(t.type)||e)&&o.DomEvent.stopPropagation(t),e||(this.dragging&&this.dragging._enabled||!this._map.dragging||!this._map.dragging.moved())&&this.fire(t.type,{originalEvent:t,latlng:this._latlng})},_onKeyPress:function(t){13===t.keyCode&&this.fire("click",{originalEvent:t,latlng:this._latlng})},_fireMouseEvent:function(t){this.fire(t.type,{originalEvent:t,latlng:this._latlng}),"contextmenu"===t.type&&this.hasEventListeners(t.type)&&o.DomEvent.preventDefault(t),"mousedown"!==t.type?o.DomEvent.stopPropagation(t):o.DomEvent.preventDefault(t)},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){o.DomUtil.setOpacity(this._icon,this.options.opacity),this._shadow&&o.DomUtil.setOpacity(this._shadow,this.options.opacity)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)}}),o.marker=function(t,e){return new o.Marker(t,e)},o.DivIcon=o.Icon.extend({options:{iconSize:[12,12],className:"leaflet-div-icon",html:!1},createIcon:function(t){var i=t&&"DIV"===t.tagName?t:e.createElement("div"),n=this.options;return n.html!==!1?i.innerHTML=n.html:i.innerHTML="",n.bgPos&&(i.style.backgroundPosition=-n.bgPos.x+"px "+-n.bgPos.y+"px"),this._setIconStyles(i,"icon"),i},createShadow:function(){return null}}),o.divIcon=function(t){return new o.DivIcon(t)},o.Map.mergeOptions({closePopupOnClick:!0}),o.Popup=o.Class.extend({includes:o.Mixin.Events,options:{minWidth:50,maxWidth:300,autoPan:!0,closeButton:!0,offset:[0,7],autoPanPadding:[5,5],keepInView:!1,className:"",zoomAnimation:!0},initialize:function(t,e){o.setOptions(this,t),this._source=e,this._animated=o.Browser.any3d&&this.options.zoomAnimation,this._isOpen=!1},onAdd:function(t){this._map=t,this._container||this._initLayout();var e=t.options.fadeAnimation;e&&o.DomUtil.setOpacity(this._container,0),t._panes.popupPane.appendChild(this._container),t.on(this._getEvents(),this),this.update(),e&&o.DomUtil.setOpacity(this._container,1),this.fire("open"),t.fire("popupopen",{popup:this}),this._source&&this._source.fire("popupopen",{popup:this})},addTo:function(t){return t.addLayer(this),this},openOn:function(t){return t.openPopup(this),this},onRemove:function(t){t._panes.popupPane.removeChild(this._container),o.Util.falseFn(this._container.offsetWidth),t.off(this._getEvents(),this),t.options.fadeAnimation&&o.DomUtil.setOpacity(this._container,0),this._map=null,this.fire("close"),t.fire("popupclose",{popup:this}),this._source&&this._source.fire("popupclose",{popup:this})},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=o.latLng(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},_getEvents:function(){var t={viewreset:this._updatePosition};return this._animated&&(t.zoomanim=this._zoomAnimation),("closeOnClick"in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t,e="leaflet-popup",i=e+" "+this.options.className+" leaflet-zoom-"+(this._animated?"animated":"hide"),n=this._container=o.DomUtil.create("div",i);this.options.closeButton&&(t=this._closeButton=o.DomUtil.create("a",e+"-close-button",n),t.href="#close",t.innerHTML="&#215;",o.DomEvent.disableClickPropagation(t),o.DomEvent.on(t,"click",this._onCloseButtonClick,this));var s=this._wrapper=o.DomUtil.create("div",e+"-content-wrapper",n);o.DomEvent.disableClickPropagation(s),this._contentNode=o.DomUtil.create("div",e+"-content",s),o.DomEvent.disableScrollPropagation(this._contentNode),o.DomEvent.on(s,"contextmenu",o.DomEvent.stopPropagation),this._tipContainer=o.DomUtil.create("div",e+"-tip-container",n),this._tip=o.DomUtil.create("div",e+"-tip",this._tipContainer)},_updateContent:function(){if(this._content){if("string"==typeof this._content)this._contentNode.innerHTML=this._content;else{for(;this._contentNode.hasChildNodes();)this._contentNode.removeChild(this._contentNode.firstChild);this._contentNode.appendChild(this._content)}this.fire("contentupdate")}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var n=t.offsetHeight,s=this.options.maxHeight,a="leaflet-popup-scrolled";s&&n>s?(e.height=s+"px",o.DomUtil.addClass(t,a)):o.DomUtil.removeClass(t,a),this._containerWidth=this._container.offsetWidth},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=this._animated,i=o.point(this.options.offset);e&&o.DomUtil.setPosition(this._container,t),this._containerBottom=-i.y-(e?0:t.y),this._containerLeft=-Math.round(this._containerWidth/2)+i.x+(e?0:t.x),this._container.style.bottom=this._containerBottom+"px",this._container.style.left=this._containerLeft+"px"}},_zoomAnimation:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);o.DomUtil.setPosition(this._container,e)},_adjustPan:function(){if(this.options.autoPan){var t=this._map,e=this._container.offsetHeight,i=this._containerWidth,n=new o.Point(this._containerLeft,-e-this._containerBottom);this._animated&&n._add(o.DomUtil.getPosition(this._container));var s=t.layerPointToContainerPoint(n),a=o.point(this.options.autoPanPadding),r=o.point(this.options.autoPanPaddingTopLeft||a),h=o.point(this.options.autoPanPaddingBottomRight||a),l=t.getSize(),u=0,c=0;s.x+i+h.x>l.x&&(u=s.x+i-l.x+h.x),s.x-u-r.x<0&&(u=s.x-r.x),s.y+e+h.y>l.y&&(c=s.y+e-l.y+h.y),s.y-c-r.y<0&&(c=s.y-r.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),o.DomEvent.stop(t)}}),o.popup=function(t,e){return new o.Popup(t,e)},o.Map.include({openPopup:function(t,e,i){if(this.closePopup(),!(t instanceof o.Popup)){var n=t;t=new o.Popup(i).setLatLng(e).setContent(n)}return t._isOpen=!0,this._popup=t,this.addLayer(t)},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&(this.removeLayer(t),t._isOpen=!1),this}}),o.Marker.include({openPopup:function(){return this._popup&&this._map&&!this._map.hasLayer(this._popup)&&(this._popup.setLatLng(this._latlng),this._map.openPopup(this._popup)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(){return this._popup&&(this._popup._isOpen?this.closePopup():this.openPopup()),this},bindPopup:function(t,e){var i=o.point(this.options.icon.options.popupAnchor||[0,0]);return i=i.add(o.Popup.prototype.options.offset),e&&e.offset&&(i=i.add(e.offset)),e=o.extend({offset:i},e),this._popupHandlersAdded||(this.on("click",this.togglePopup,this).on("remove",this.closePopup,this).on("move",this._movePopup,this),this._popupHandlersAdded=!0),t instanceof o.Popup?(o.setOptions(t,e),this._popup=t,t._source=this):this._popup=new o.Popup(e,this).setContent(t),this},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this.togglePopup,this).off("remove",this.closePopup,this).off("move",this._movePopup,this),this._popupHandlersAdded=!1),this},getPopup:function(){return this._popup},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),o.LayerGroup=o.Class.extend({initialize:function(t){this._layers={};var e,i;if(t)for(e=0,i=t.length;i>e;e++)this.addLayer(t[e])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return t?t in this._layers||this.getLayerId(t)in this._layers:!1},clearLayers:function(){return this.eachLayer(this.removeLayer,this),this},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)i=this._layers[e],i[t]&&i[t].apply(i,n);return this},onAdd:function(t){this._map=t,this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t),this._map=null},addTo:function(t){return t.addLayer(this),this},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];for(var e in this._layers)t.push(this._layers[e]);return t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return o.stamp(t)}}),o.layerGroup=function(t){return new o.LayerGroup(t)},o.FeatureGroup=o.LayerGroup.extend({includes:o.Mixin.Events,statics:{EVENTS:"click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose"},addLayer:function(t){return this.hasLayer(t)?this:("on"in t&&t.on(o.FeatureGroup.EVENTS,this._propagateEvent,this),o.LayerGroup.prototype.addLayer.call(this,t),this._popupContent&&t.bindPopup&&t.bindPopup(this._popupContent,this._popupOptions),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),"off"in t&&t.off(o.FeatureGroup.EVENTS,this._propagateEvent,this),o.LayerGroup.prototype.removeLayer.call(this,t),this._popupContent&&this.invoke("unbindPopup"),this.fire("layerremove",{layer:t})):this},bindPopup:function(t,e){return this._popupContent=t,this._popupOptions=e,this.invoke("bindPopup",t,e)},openPopup:function(t){for(var e in this._layers){this._layers[e].openPopup(t);break}return this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new o.LatLngBounds;return this.eachLayer(function(e){t.extend(e instanceof o.Marker?e.getLatLng():e.getBounds())}),t},_propagateEvent:function(t){t=o.extend({layer:t.target,target:this},t),this.fire(t.type,t)}}),o.featureGroup=function(t){return new o.FeatureGroup(t)},o.Path=o.Class.extend({includes:[o.Mixin.Events],statics:{CLIP_PADDING:function(){var e=o.Browser.mobile?1280:2e3,i=(e/Math.max(t.outerWidth,t.outerHeight)-1)/2;return Math.max(0,Math.min(.5,i))}()},options:{stroke:!0,color:"#0033ff",dashArray:null,lineCap:null,lineJoin:null,weight:5,opacity:.5,fill:!1,fillColor:null,fillOpacity:.2,clickable:!0},initialize:function(t){o.setOptions(this,t)},onAdd:function(t){this._map=t,this._container||(this._initElements(),this._initEvents()),this.projectLatlngs(),this._updatePath(),this._container&&this._map._pathRoot.appendChild(this._container),this.fire("add"),t.on({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){t._pathRoot.removeChild(this._container),this.fire("remove"),this._map=null,o.Browser.vml&&(this._container=null,this._stroke=null,this._fill=null),t.off({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},projectLatlngs:function(){},setStyle:function(t){return o.setOptions(this,t),this._container&&this._updateStyle(),this},redraw:function(){return this._map&&(this.projectLatlngs(),this._updatePath()),this}}),o.Map.include({_updatePathViewport:function(){var t=o.Path.CLIP_PADDING,e=this.getSize(),i=o.DomUtil.getPosition(this._mapPane),n=i.multiplyBy(-1)._subtract(e.multiplyBy(t)._round()),s=n.add(e.multiplyBy(1+2*t)._round());this._pathViewport=new o.Bounds(n,s)}}),o.Path.SVG_NS="http://www.w3.org/2000/svg",o.Browser.svg=!(!e.createElementNS||!e.createElementNS(o.Path.SVG_NS,"svg").createSVGRect),o.Path=o.Path.extend({statics:{SVG:o.Browser.svg},bringToFront:function(){var t=this._map._pathRoot,e=this._container;return e&&t.lastChild!==e&&t.appendChild(e),this},bringToBack:function(){var t=this._map._pathRoot,e=this._container,i=t.firstChild;return e&&i!==e&&t.insertBefore(e,i),this},getPathString:function(){},_createElement:function(t){return e.createElementNS(o.Path.SVG_NS,t)},_initElements:function(){this._map._initPathRoot(),this._initPath(),this._initStyle()},_initPath:function(){this._container=this._createElement("g"),this._path=this._createElement("path"),this.options.className&&o.DomUtil.addClass(this._path,this.options.className),this._container.appendChild(this._path)},_initStyle:function(){this.options.stroke&&(this._path.setAttribute("stroke-linejoin","round"),this._path.setAttribute("stroke-linecap","round")),this.options.fill&&this._path.setAttribute("fill-rule","evenodd"),this.options.pointerEvents&&this._path.setAttribute("pointer-events",this.options.pointerEvents),this.options.clickable||this.options.pointerEvents||this._path.setAttribute("pointer-events","none"),this._updateStyle()},_updateStyle:function(){this.options.stroke?(this._path.setAttribute("stroke",this.options.color),this._path.setAttribute("stroke-opacity",this.options.opacity),this._path.setAttribute("stroke-width",this.options.weight),this.options.dashArray?this._path.setAttribute("stroke-dasharray",this.options.dashArray):this._path.removeAttribute("stroke-dasharray"),this.options.lineCap&&this._path.setAttribute("stroke-linecap",this.options.lineCap),this.options.lineJoin&&this._path.setAttribute("stroke-linejoin",this.options.lineJoin)):this._path.setAttribute("stroke","none"),this.options.fill?(this._path.setAttribute("fill",this.options.fillColor||this.options.color),this._path.setAttribute("fill-opacity",this.options.fillOpacity)):this._path.setAttribute("fill","none")},_updatePath:function(){var t=this.getPathString();t||(t="M0 0"),this._path.setAttribute("d",t)},_initEvents:function(){if(this.options.clickable){(o.Browser.svg||!o.Browser.vml)&&o.DomUtil.addClass(this._path,"leaflet-clickable"),o.DomEvent.on(this._container,"click",this._onMouseClick,this);for(var t=["dblclick","mousedown","mouseover","mouseout","mousemove","contextmenu"],e=0;e<t.length;e++)o.DomEvent.on(this._container,t[e],this._fireMouseEvent,this)}},_onMouseClick:function(t){this._map.dragging&&this._map.dragging.moved()||this._fireMouseEvent(t)},_fireMouseEvent:function(t){if(this._map&&this.hasEventListeners(t.type)){var e=this._map,i=e.mouseEventToContainerPoint(t),n=e.containerPointToLayerPoint(i),s=e.layerPointToLatLng(n);this.fire(t.type,{latlng:s,layerPoint:n,containerPoint:i,originalEvent:t}),"contextmenu"===t.type&&o.DomEvent.preventDefault(t),"mousemove"!==t.type&&o.DomEvent.stopPropagation(t)}}}),o.Map.include({_initPathRoot:function(){this._pathRoot||(this._pathRoot=o.Path.prototype._createElement("svg"),this._panes.overlayPane.appendChild(this._pathRoot),this.options.zoomAnimation&&o.Browser.any3d?(o.DomUtil.addClass(this._pathRoot,"leaflet-zoom-animated"),this.on({zoomanim:this._animatePathZoom,zoomend:this._endPathZoom})):o.DomUtil.addClass(this._pathRoot,"leaflet-zoom-hide"),this.on("moveend",this._updateSvgViewport),this._updateSvgViewport())},_animatePathZoom:function(t){var e=this.getZoomScale(t.zoom),i=this._getCenterOffset(t.center)._multiplyBy(-e)._add(this._pathViewport.min);this._pathRoot.style[o.DomUtil.TRANSFORM]=o.DomUtil.getTranslateString(i)+" scale("+e+") ",this._pathZooming=!0},_endPathZoom:function(){this._pathZooming=!1},_updateSvgViewport:function(){if(!this._pathZooming){this._updatePathViewport();var t=this._pathViewport,e=t.min,i=t.max,n=i.x-e.x,s=i.y-e.y,a=this._pathRoot,r=this._panes.overlayPane;o.Browser.mobileWebkit&&r.removeChild(a),o.DomUtil.setPosition(a,e),a.setAttribute("width",n),a.setAttribute("height",s),a.setAttribute("viewBox",[e.x,e.y,n,s].join(" ")),o.Browser.mobileWebkit&&r.appendChild(a)}}}),o.Path.include({bindPopup:function(t,e){return t instanceof o.Popup?this._popup=t:((!this._popup||e)&&(this._popup=new o.Popup(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on("click",this._openPopup,this).on("remove",this.closePopup,this),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this._openPopup).off("remove",this.closePopup),this._popupHandlersAdded=!1),this},openPopup:function(t){return this._popup&&(t=t||this._latlng||this._latlngs[Math.floor(this._latlngs.length/2)],this._openPopup({latlng:t})),this},closePopup:function(){return this._popup&&this._popup._close(),this},_openPopup:function(t){this._popup.setLatLng(t.latlng),this._map.openPopup(this._popup)}}),o.Browser.vml=!o.Browser.svg&&function(){try{var t=e.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(n){return!1}}(),o.Path=o.Browser.svg||!o.Browser.vml?o.Path:o.Path.extend({statics:{VML:!0,CLIP_PADDING:.02},_createElement:function(){try{return e.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return e.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return e.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_initPath:function(){var t=this._container=this._createElement("shape");o.DomUtil.addClass(t,"leaflet-vml-shape"+(this.options.className?" "+this.options.className:"")),this.options.clickable&&o.DomUtil.addClass(t,"leaflet-clickable"),t.coordsize="1 1",this._path=this._createElement("path"),t.appendChild(this._path),this._map._pathRoot.appendChild(t)},_initStyle:function(){this._updateStyle()},_updateStyle:function(){var t=this._stroke,e=this._fill,i=this.options,n=this._container;n.stroked=i.stroke,n.filled=i.fill,i.stroke?(t||(t=this._stroke=this._createElement("stroke"),t.endcap="round",n.appendChild(t)),t.weight=i.weight+"px",t.color=i.color,t.opacity=i.opacity,i.dashArray?t.dashStyle=o.Util.isArray(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):t.dashStyle="",i.lineCap&&(t.endcap=i.lineCap.replace("butt","flat")),i.lineJoin&&(t.joinstyle=i.lineJoin)):t&&(n.removeChild(t),this._stroke=null),i.fill?(e||(e=this._fill=this._createElement("fill"),n.appendChild(e)),e.color=i.fillColor||i.color,e.opacity=i.fillOpacity):e&&(n.removeChild(e),this._fill=null)},_updatePath:function(){var t=this._container.style;t.display="none",this._path.v=this.getPathString()+" ",t.display=""}}),o.Map.include(o.Browser.svg||!o.Browser.vml?{}:{_initPathRoot:function(){if(!this._pathRoot){var t=this._pathRoot=e.createElement("div");t.className="leaflet-vml-container",this._panes.overlayPane.appendChild(t),this.on("moveend",this._updatePathViewport),this._updatePathViewport()}}}),o.Browser.canvas=function(){return!!e.createElement("canvas").getContext}(),o.Path=o.Path.SVG&&!t.L_PREFER_CANVAS||!o.Browser.canvas?o.Path:o.Path.extend({statics:{CANVAS:!0,SVG:!1},redraw:function(){return this._map&&(this.projectLatlngs(),this._requestUpdate()),this},setStyle:function(t){return o.setOptions(this,t),this._map&&(this._updateStyle(),this._requestUpdate()),this},onRemove:function(t){t.off("viewreset",this.projectLatlngs,this).off("moveend",this._updatePath,this),this.options.clickable&&(this._map.off("click",this._onClick,this),this._map.off("mousemove",this._onMouseMove,this)),this._requestUpdate(),this.fire("remove"),this._map=null},_requestUpdate:function(){this._map&&!o.Path._updateRequest&&(o.Path._updateRequest=o.Util.requestAnimFrame(this._fireMapMoveEnd,this._map))},_fireMapMoveEnd:function(){o.Path._updateRequest=null,this.fire("moveend")},_initElements:function(){this._map._initPathRoot(),this._ctx=this._map._canvasCtx},_updateStyle:function(){var t=this.options;t.stroke&&(this._ctx.lineWidth=t.weight,this._ctx.strokeStyle=t.color),t.fill&&(this._ctx.fillStyle=t.fillColor||t.color),t.lineCap&&(this._ctx.lineCap=t.lineCap),t.lineJoin&&(this._ctx.lineJoin=t.lineJoin)},_drawPath:function(){var t,e,i,n,s,a;for(this._ctx.beginPath(),t=0,i=this._parts.length;i>t;t++){for(e=0,n=this._parts[t].length;n>e;e++)s=this._parts[t][e],a=(0===e?"move":"line")+"To",this._ctx[a](s.x,s.y);this instanceof o.Polygon&&this._ctx.closePath()}},_checkIfEmpty:function(){return!this._parts.length},_updatePath:function(){if(!this._checkIfEmpty()){var t=this._ctx,e=this.options;this._drawPath(),t.save(),this._updateStyle(),e.fill&&(t.globalAlpha=e.fillOpacity,t.fill(e.fillRule||"evenodd")),e.stroke&&(t.globalAlpha=e.opacity,t.stroke()),t.restore()}},_initEvents:function(){this.options.clickable&&(this._map.on("mousemove",this._onMouseMove,this),this._map.on("click dblclick contextmenu",this._fireMouseEvent,this))},_fireMouseEvent:function(t){this._containsPoint(t.layerPoint)&&this.fire(t.type,t)},_onMouseMove:function(t){this._map&&!this._map._animatingZoom&&(this._containsPoint(t.layerPoint)?(this._ctx.canvas.style.cursor="pointer",this._mouseInside=!0,this.fire("mouseover",t)):this._mouseInside&&(this._ctx.canvas.style.cursor="",this._mouseInside=!1,this.fire("mouseout",t)))}}),o.Map.include(o.Path.SVG&&!t.L_PREFER_CANVAS||!o.Browser.canvas?{}:{_initPathRoot:function(){var t,i=this._pathRoot;i||(i=this._pathRoot=e.createElement("canvas"),i.style.position="absolute",t=this._canvasCtx=i.getContext("2d"),t.lineCap="round",t.lineJoin="round",this._panes.overlayPane.appendChild(i),this.options.zoomAnimation&&(this._pathRoot.className="leaflet-zoom-animated",this.on("zoomanim",this._animatePathZoom),this.on("zoomend",this._endPathZoom)),this.on("moveend",this._updateCanvasViewport),this._updateCanvasViewport())},_updateCanvasViewport:function(){if(!this._pathZooming){this._updatePathViewport();var t=this._pathViewport,e=t.min,i=t.max.subtract(e),n=this._pathRoot;o.DomUtil.setPosition(n,e),n.width=i.x,n.height=i.y,n.getContext("2d").translate(-e.x,-e.y)}}}),o.LineUtil={simplify:function(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=this._reducePoints(t,i),t=this._simplifyDP(t,i)},pointToSegmentDistance:function(t,e,i){return Math.sqrt(this._sqClosestPointOnSegment(t,e,i,!0))},closestPointOnSegment:function(t,e,i){return this._sqClosestPointOnSegment(t,e,i)},_simplifyDP:function(t,e){var n=t.length,o=typeof Uint8Array!=i+""?Uint8Array:Array,s=new o(n);s[0]=s[n-1]=1,this._simplifyDPStep(t,s,e,0,n-1);var a,r=[];for(a=0;n>a;a++)s[a]&&r.push(t[a]);return r},_simplifyDPStep:function(t,e,i,n,o){var s,a,r,h=0;for(a=n+1;o-1>=a;a++)r=this._sqClosestPointOnSegment(t[a],t[n],t[o],!0),r>h&&(s=a,h=r);h>i&&(e[s]=1,this._simplifyDPStep(t,e,i,n,s),this._simplifyDPStep(t,e,i,s,o))},_reducePoints:function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;s>n;n++)this._sqDist(t[n],t[o])>e&&(i.push(t[n]),o=n);return s-1>o&&i.push(t[s-1]),i},clipSegment:function(t,e,i,n){var o,s,a,r=n?this._lastCode:this._getBitCode(t,i),h=this._getBitCode(e,i);for(this._lastCode=h;;){if(!(r|h))return[t,e];if(r&h)return!1;o=r||h,s=this._getEdgeIntersection(t,e,o,i),a=this._getBitCode(s,i),o===r?(t=s,r=a):(e=s,h=a)}},_getEdgeIntersection:function(t,e,i,n){var s=e.x-t.x,a=e.y-t.y,r=n.min,h=n.max;return 8&i?new o.Point(t.x+s*(h.y-t.y)/a,h.y):4&i?new o.Point(t.x+s*(r.y-t.y)/a,r.y):2&i?new o.Point(h.x,t.y+a*(h.x-t.x)/s):1&i?new o.Point(r.x,t.y+a*(r.x-t.x)/s):void 0},_getBitCode:function(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},_sqClosestPointOnSegment:function(t,e,i,n){var s,a=e.x,r=e.y,h=i.x-a,l=i.y-r,u=h*h+l*l;return u>0&&(s=((t.x-a)*h+(t.y-r)*l)/u,s>1?(a=i.x,r=i.y):s>0&&(a+=h*s,r+=l*s)),h=t.x-a,l=t.y-r,n?h*h+l*l:new o.Point(a,r)}},o.Polyline=o.Path.extend({initialize:function(t,e){o.Path.prototype.initialize.call(this,e),this._latlngs=this._convertLatLngs(t)},options:{smoothFactor:1,noClip:!1},projectLatlngs:function(){this._originalPoints=[];for(var t=0,e=this._latlngs.length;e>t;t++)this._originalPoints[t]=this._map.latLngToLayerPoint(this._latlngs[t])},getPathString:function(){for(var t=0,e=this._parts.length,i="";e>t;t++)i+=this._getPathPartStr(this._parts[t]);return i},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._latlngs=this._convertLatLngs(t),this.redraw()},addLatLng:function(t){return this._latlngs.push(o.latLng(t)),this.redraw()},spliceLatLngs:function(){var t=[].splice.apply(this._latlngs,arguments);return this._convertLatLngs(this._latlngs,!0),this.redraw(),t},closestLayerPoint:function(t){for(var e,i,n=1/0,s=this._parts,a=null,r=0,h=s.length;h>r;r++)for(var l=s[r],u=1,c=l.length;c>u;u++){e=l[u-1],i=l[u];var d=o.LineUtil._sqClosestPointOnSegment(t,e,i,!0);n>d&&(n=d,a=o.LineUtil._sqClosestPointOnSegment(t,e,i))}return a&&(a.distance=Math.sqrt(n)),a},getBounds:function(){return new o.LatLngBounds(this.getLatLngs())},_convertLatLngs:function(t,e){var i,n,s=e?t:[];for(i=0,n=t.length;n>i;i++){if(o.Util.isArray(t[i])&&"number"!=typeof t[i][0])return;s[i]=o.latLng(t[i])}return s},_initEvents:function(){o.Path.prototype._initEvents.call(this)},_getPathPartStr:function(t){for(var e,i=o.Path.VML,n=0,s=t.length,a="";s>n;n++)e=t[n],i&&e._round(),a+=(n?"L":"M")+e.x+" "+e.y;return a},_clipPoints:function(){var t,e,i,n=this._originalPoints,s=n.length;if(this.options.noClip)return void(this._parts=[n]);this._parts=[];var a=this._parts,r=this._map._pathViewport,h=o.LineUtil;for(t=0,e=0;s-1>t;t++)i=h.clipSegment(n[t],n[t+1],r,t),i&&(a[e]=a[e]||[],a[e].push(i[0]),(i[1]!==n[t+1]||t===s-2)&&(a[e].push(i[1]),e++))},_simplifyPoints:function(){for(var t=this._parts,e=o.LineUtil,i=0,n=t.length;n>i;i++)t[i]=e.simplify(t[i],this.options.smoothFactor)},_updatePath:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),o.Path.prototype._updatePath.call(this));
}}),o.polyline=function(t,e){return new o.Polyline(t,e)},o.PolyUtil={},o.PolyUtil.clipPolygon=function(t,e){var i,n,s,a,r,h,l,u,c,d=[1,4,2,8],p=o.LineUtil;for(n=0,l=t.length;l>n;n++)t[n]._code=p._getBitCode(t[n],e);for(a=0;4>a;a++){for(u=d[a],i=[],n=0,l=t.length,s=l-1;l>n;s=n++)r=t[n],h=t[s],r._code&u?h._code&u||(c=p._getEdgeIntersection(h,r,u,e),c._code=p._getBitCode(c,e),i.push(c)):(h._code&u&&(c=p._getEdgeIntersection(h,r,u,e),c._code=p._getBitCode(c,e),i.push(c)),i.push(r));t=i}return t},o.Polygon=o.Polyline.extend({options:{fill:!0},initialize:function(t,e){o.Polyline.prototype.initialize.call(this,t,e),this._initWithHoles(t)},_initWithHoles:function(t){var e,i,n;if(t&&o.Util.isArray(t[0])&&"number"!=typeof t[0][0])for(this._latlngs=this._convertLatLngs(t[0]),this._holes=t.slice(1),e=0,i=this._holes.length;i>e;e++)n=this._holes[e]=this._convertLatLngs(this._holes[e]),n[0].equals(n[n.length-1])&&n.pop();t=this._latlngs,t.length>=2&&t[0].equals(t[t.length-1])&&t.pop()},projectLatlngs:function(){if(o.Polyline.prototype.projectLatlngs.call(this),this._holePoints=[],this._holes){var t,e,i,n;for(t=0,i=this._holes.length;i>t;t++)for(this._holePoints[t]=[],e=0,n=this._holes[t].length;n>e;e++)this._holePoints[t][e]=this._map.latLngToLayerPoint(this._holes[t][e])}},setLatLngs:function(t){return t&&o.Util.isArray(t[0])&&"number"!=typeof t[0][0]?(this._initWithHoles(t),this.redraw()):o.Polyline.prototype.setLatLngs.call(this,t)},_clipPoints:function(){var t=this._originalPoints,e=[];if(this._parts=[t].concat(this._holePoints),!this.options.noClip){for(var i=0,n=this._parts.length;n>i;i++){var s=o.PolyUtil.clipPolygon(this._parts[i],this._map._pathViewport);s.length&&e.push(s)}this._parts=e}},_getPathPartStr:function(t){var e=o.Polyline.prototype._getPathPartStr.call(this,t);return e+(o.Browser.svg?"z":"x")}}),o.polygon=function(t,e){return new o.Polygon(t,e)},function(){function t(t){return o.FeatureGroup.extend({initialize:function(t,e){this._layers={},this._options=e,this.setLatLngs(t)},setLatLngs:function(e){var i=0,n=e.length;for(this.eachLayer(function(t){n>i?t.setLatLngs(e[i++]):this.removeLayer(t)},this);n>i;)this.addLayer(new t(e[i++],this._options));return this},getLatLngs:function(){var t=[];return this.eachLayer(function(e){t.push(e.getLatLngs())}),t}})}o.MultiPolyline=t(o.Polyline),o.MultiPolygon=t(o.Polygon),o.multiPolyline=function(t,e){return new o.MultiPolyline(t,e)},o.multiPolygon=function(t,e){return new o.MultiPolygon(t,e)}}(),o.Rectangle=o.Polygon.extend({initialize:function(t,e){o.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=o.latLngBounds(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}}),o.rectangle=function(t,e){return new o.Rectangle(t,e)},o.Circle=o.Path.extend({initialize:function(t,e,i){o.Path.prototype.initialize.call(this,i),this._latlng=o.latLng(t),this._mRadius=e},options:{fill:!0},setLatLng:function(t){return this._latlng=o.latLng(t),this.redraw()},setRadius:function(t){return this._mRadius=t,this.redraw()},projectLatlngs:function(){var t=this._getLngRadius(),e=this._latlng,i=this._map.latLngToLayerPoint([e.lat,e.lng-t]);this._point=this._map.latLngToLayerPoint(e),this._radius=Math.max(this._point.x-i.x,1)},getBounds:function(){var t=this._getLngRadius(),e=this._mRadius/40075017*360,i=this._latlng;return new o.LatLngBounds([i.lat-e,i.lng-t],[i.lat+e,i.lng+t])},getLatLng:function(){return this._latlng},getPathString:function(){var t=this._point,e=this._radius;return this._checkIfEmpty()?"":o.Browser.svg?"M"+t.x+","+(t.y-e)+"A"+e+","+e+",0,1,1,"+(t.x-.1)+","+(t.y-e)+" z":(t._round(),e=Math.round(e),"AL "+t.x+","+t.y+" "+e+","+e+" 0,23592600")},getRadius:function(){return this._mRadius},_getLatRadius:function(){return this._mRadius/40075017*360},_getLngRadius:function(){return this._getLatRadius()/Math.cos(o.LatLng.DEG_TO_RAD*this._latlng.lat)},_checkIfEmpty:function(){if(!this._map)return!1;var t=this._map._pathViewport,e=this._radius,i=this._point;return i.x-e>t.max.x||i.y-e>t.max.y||i.x+e<t.min.x||i.y+e<t.min.y}}),o.circle=function(t,e,i){return new o.Circle(t,e,i)},o.CircleMarker=o.Circle.extend({options:{radius:10,weight:2},initialize:function(t,e){o.Circle.prototype.initialize.call(this,t,null,e),this._radius=this.options.radius},projectLatlngs:function(){this._point=this._map.latLngToLayerPoint(this._latlng)},_updateStyle:function(){o.Circle.prototype._updateStyle.call(this),this.setRadius(this.options.radius)},setLatLng:function(t){return o.Circle.prototype.setLatLng.call(this,t),this._popup&&this._popup._isOpen&&this._popup.setLatLng(t),this},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius}}),o.circleMarker=function(t,e){return new o.CircleMarker(t,e)},o.Polyline.include(o.Path.CANVAS?{_containsPoint:function(t,e){var i,n,s,a,r,h,l,u=this.options.weight/2;for(o.Browser.touch&&(u+=10),i=0,a=this._parts.length;a>i;i++)for(l=this._parts[i],n=0,r=l.length,s=r-1;r>n;s=n++)if((e||0!==n)&&(h=o.LineUtil.pointToSegmentDistance(t,l[s],l[n]),u>=h))return!0;return!1}}:{}),o.Polygon.include(o.Path.CANVAS?{_containsPoint:function(t){var e,i,n,s,a,r,h,l,u=!1;if(o.Polyline.prototype._containsPoint.call(this,t,!0))return!0;for(s=0,h=this._parts.length;h>s;s++)for(e=this._parts[s],a=0,l=e.length,r=l-1;l>a;r=a++)i=e[a],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u}}:{}),o.Circle.include(o.Path.CANVAS?{_drawPath:function(){var t=this._point;this._ctx.beginPath(),this._ctx.arc(t.x,t.y,this._radius,0,2*Math.PI,!1)},_containsPoint:function(t){var e=this._point,i=this.options.stroke?this.options.weight/2:0;return t.distanceTo(e)<=this._radius+i}}:{}),o.CircleMarker.include(o.Path.CANVAS?{_updateStyle:function(){o.Path.prototype._updateStyle.call(this)}}:{}),o.GeoJSON=o.FeatureGroup.extend({initialize:function(t,e){o.setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,s=o.Util.isArray(t)?t:t.features;if(s){for(e=0,i=s.length;i>e;e++)n=s[e],(n.geometries||n.geometry||n.features||n.coordinates)&&this.addData(s[e]);return this}var a=this.options;if(!a.filter||a.filter(t)){var r=o.GeoJSON.geometryToLayer(t,a.pointToLayer,a.coordsToLatLng,a);return r.feature=o.GeoJSON.asFeature(t),r.defaultOptions=r.options,this.resetStyle(r),a.onEachFeature&&a.onEachFeature(t,r),this.addLayer(r)}},resetStyle:function(t){var e=this.options.style;e&&(o.Util.extend(t.options,t.defaultOptions),this._setLayerStyle(t,e))},setStyle:function(t){this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}}),o.extend(o.GeoJSON,{geometryToLayer:function(t,e,i,n){var s,a,r,h,l="Feature"===t.type?t.geometry:t,u=l.coordinates,c=[];switch(i=i||this.coordsToLatLng,l.type){case"Point":return s=i(u),e?e(t,s):new o.Marker(s);case"MultiPoint":for(r=0,h=u.length;h>r;r++)s=i(u[r]),c.push(e?e(t,s):new o.Marker(s));return new o.FeatureGroup(c);case"LineString":return a=this.coordsToLatLngs(u,0,i),new o.Polyline(a,n);case"Polygon":if(2===u.length&&!u[1].length)throw new Error("Invalid GeoJSON object.");return a=this.coordsToLatLngs(u,1,i),new o.Polygon(a,n);case"MultiLineString":return a=this.coordsToLatLngs(u,1,i),new o.MultiPolyline(a,n);case"MultiPolygon":return a=this.coordsToLatLngs(u,2,i),new o.MultiPolygon(a,n);case"GeometryCollection":for(r=0,h=l.geometries.length;h>r;r++)c.push(this.geometryToLayer({geometry:l.geometries[r],type:"Feature",properties:t.properties},e,i,n));return new o.FeatureGroup(c);default:throw new Error("Invalid GeoJSON object.")}},coordsToLatLng:function(t){return new o.LatLng(t[1],t[0],t[2])},coordsToLatLngs:function(t,e,i){var n,o,s,a=[];for(o=0,s=t.length;s>o;o++)n=e?this.coordsToLatLngs(t[o],e-1,i):(i||this.coordsToLatLng)(t[o]),a.push(n);return a},latLngToCoords:function(t){var e=[t.lng,t.lat];return t.alt!==i&&e.push(t.alt),e},latLngsToCoords:function(t){for(var e=[],i=0,n=t.length;n>i;i++)e.push(o.GeoJSON.latLngToCoords(t[i]));return e},getFeature:function(t,e){return t.feature?o.extend({},t.feature,{geometry:e}):o.GeoJSON.asFeature(e)},asFeature:function(t){return"Feature"===t.type?t:{type:"Feature",properties:{},geometry:t}}});var a={toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"Point",coordinates:o.GeoJSON.latLngToCoords(this.getLatLng())})}};o.Marker.include(a),o.Circle.include(a),o.CircleMarker.include(a),o.Polyline.include({toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"LineString",coordinates:o.GeoJSON.latLngsToCoords(this.getLatLngs())})}}),o.Polygon.include({toGeoJSON:function(){var t,e,i,n=[o.GeoJSON.latLngsToCoords(this.getLatLngs())];if(n[0].push(n[0][0]),this._holes)for(t=0,e=this._holes.length;e>t;t++)i=o.GeoJSON.latLngsToCoords(this._holes[t]),i.push(i[0]),n.push(i);return o.GeoJSON.getFeature(this,{type:"Polygon",coordinates:n})}}),function(){function t(t){return function(){var e=[];return this.eachLayer(function(t){e.push(t.toGeoJSON().geometry.coordinates)}),o.GeoJSON.getFeature(this,{type:t,coordinates:e})}}o.MultiPolyline.include({toGeoJSON:t("MultiLineString")}),o.MultiPolygon.include({toGeoJSON:t("MultiPolygon")}),o.LayerGroup.include({toGeoJSON:function(){var e,i=this.feature&&this.feature.geometry,n=[];if(i&&"MultiPoint"===i.type)return t("MultiPoint").call(this);var s=i&&"GeometryCollection"===i.type;return this.eachLayer(function(t){t.toGeoJSON&&(e=t.toGeoJSON(),n.push(s?e.geometry:o.GeoJSON.asFeature(e)))}),s?o.GeoJSON.getFeature(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}})}(),o.geoJson=function(t,e){return new o.GeoJSON(t,e)},o.DomEvent={addListener:function(t,e,i,n){var s,a,r,h=o.stamp(i),l="_leaflet_"+e+h;return t[l]?this:(s=function(e){return i.call(n||t,e||o.DomEvent._getEvent())},o.Browser.pointer&&0===e.indexOf("touch")?this.addPointerListener(t,e,s,h):(o.Browser.touch&&"dblclick"===e&&this.addDoubleTapListener&&this.addDoubleTapListener(t,s,h),"addEventListener"in t?"mousewheel"===e?(t.addEventListener("DOMMouseScroll",s,!1),t.addEventListener(e,s,!1)):"mouseenter"===e||"mouseleave"===e?(a=s,r="mouseenter"===e?"mouseover":"mouseout",s=function(e){return o.DomEvent._checkMouse(t,e)?a(e):void 0},t.addEventListener(r,s,!1)):"click"===e&&o.Browser.android?(a=s,s=function(t){return o.DomEvent._filterClick(t,a)},t.addEventListener(e,s,!1)):t.addEventListener(e,s,!1):"attachEvent"in t&&t.attachEvent("on"+e,s),t[l]=s,this))},removeListener:function(t,e,i){var n=o.stamp(i),s="_leaflet_"+e+n,a=t[s];return a?(o.Browser.pointer&&0===e.indexOf("touch")?this.removePointerListener(t,e,n):o.Browser.touch&&"dblclick"===e&&this.removeDoubleTapListener?this.removeDoubleTapListener(t,n):"removeEventListener"in t?"mousewheel"===e?(t.removeEventListener("DOMMouseScroll",a,!1),t.removeEventListener(e,a,!1)):"mouseenter"===e||"mouseleave"===e?t.removeEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1):t.removeEventListener(e,a,!1):"detachEvent"in t&&t.detachEvent("on"+e,a),t[s]=null,this):this},stopPropagation:function(t){return t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,o.DomEvent._skipped(t),this},disableScrollPropagation:function(t){var e=o.DomEvent.stopPropagation;return o.DomEvent.on(t,"mousewheel",e).on(t,"MozMousePixelScroll",e)},disableClickPropagation:function(t){for(var e=o.DomEvent.stopPropagation,i=o.Draggable.START.length-1;i>=0;i--)o.DomEvent.on(t,o.Draggable.START[i],e);return o.DomEvent.on(t,"click",o.DomEvent._fakeStop).on(t,"dblclick",e)},preventDefault:function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this},stop:function(t){return o.DomEvent.preventDefault(t).stopPropagation(t)},getMousePosition:function(t,e){if(!e)return new o.Point(t.clientX,t.clientY);var i=e.getBoundingClientRect();return new o.Point(t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop)},getWheelDelta:function(t){var e=0;return t.wheelDelta&&(e=t.wheelDelta/120),t.detail&&(e=-t.detail/3),e},_skipEvents:{},_fakeStop:function(t){o.DomEvent._skipEvents[t.type]=!0},_skipped:function(t){var e=this._skipEvents[t.type];return this._skipEvents[t.type]=!1,e},_checkMouse:function(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(n){return!1}return i!==t},_getEvent:function(){var e=t.event;if(!e)for(var i=arguments.callee.caller;i&&(e=i.arguments[0],!e||t.Event!==e.constructor);)i=i.caller;return e},_filterClick:function(t,e){var i=t.timeStamp||t.originalEvent.timeStamp,n=o.DomEvent._lastClick&&i-o.DomEvent._lastClick;return n&&n>100&&500>n||t.target._simulatedClick&&!t._simulated?void o.DomEvent.stop(t):(o.DomEvent._lastClick=i,e(t))}},o.DomEvent.on=o.DomEvent.addListener,o.DomEvent.off=o.DomEvent.removeListener,o.Draggable=o.Class.extend({includes:o.Mixin.Events,statics:{START:o.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(t,e){this._element=t,this._dragStartTarget=e||t},enable:function(){if(!this._enabled){for(var t=o.Draggable.START.length-1;t>=0;t--)o.DomEvent.on(this._dragStartTarget,o.Draggable.START[t],this._onDown,this);this._enabled=!0}},disable:function(){if(this._enabled){for(var t=o.Draggable.START.length-1;t>=0;t--)o.DomEvent.off(this._dragStartTarget,o.Draggable.START[t],this._onDown,this);this._enabled=!1,this._moved=!1}},_onDown:function(t){if(this._moved=!1,!t.shiftKey&&(1===t.which||1===t.button||t.touches)&&(o.DomEvent.stopPropagation(t),!o.Draggable._disabled&&(o.DomUtil.disableImageDrag(),o.DomUtil.disableTextSelection(),!this._moving))){var i=t.touches?t.touches[0]:t;this._startPoint=new o.Point(i.clientX,i.clientY),this._startPos=this._newPos=o.DomUtil.getPosition(this._element),o.DomEvent.on(e,o.Draggable.MOVE[t.type],this._onMove,this).on(e,o.Draggable.END[t.type],this._onUp,this)}},_onMove:function(t){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var i=t.touches&&1===t.touches.length?t.touches[0]:t,n=new o.Point(i.clientX,i.clientY),s=n.subtract(this._startPoint);(s.x||s.y)&&(o.Browser.touch&&Math.abs(s.x)+Math.abs(s.y)<3||(o.DomEvent.preventDefault(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=o.DomUtil.getPosition(this._element).subtract(s),o.DomUtil.addClass(e.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,o.DomUtil.addClass(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(s),this._moving=!0,o.Util.cancelAnimFrame(this._animRequest),this._animRequest=o.Util.requestAnimFrame(this._updatePosition,this,!0,this._dragStartTarget)))},_updatePosition:function(){this.fire("predrag"),o.DomUtil.setPosition(this._element,this._newPos),this.fire("drag")},_onUp:function(){o.DomUtil.removeClass(e.body,"leaflet-dragging"),this._lastTarget&&(o.DomUtil.removeClass(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in o.Draggable.MOVE)o.DomEvent.off(e,o.Draggable.MOVE[t],this._onMove).off(e,o.Draggable.END[t],this._onUp);o.DomUtil.enableImageDrag(),o.DomUtil.enableTextSelection(),this._moved&&this._moving&&(o.Util.cancelAnimFrame(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1}}),o.Handler=o.Class.extend({initialize:function(t){this._map=t},enable:function(){this._enabled||(this._enabled=!0,this.addHooks())},disable:function(){this._enabled&&(this._enabled=!1,this.removeHooks())},enabled:function(){return!!this._enabled}}),o.Map.mergeOptions({dragging:!0,inertia:!o.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,inertiaThreshold:o.Browser.touch?32:18,easeLinearity:.25,worldCopyJump:!1}),o.Map.Drag=o.Handler.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new o.Draggable(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDrag,this),t.on("viewreset",this._onViewReset,this),t.whenReady(this._onViewReset,this))}this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){var t=this._map;t._panAnim&&t._panAnim.stop(),t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(){if(this._map.options.inertia){var t=this._lastTime=+new Date,e=this._lastPos=this._draggable._newPos;this._positions.push(e),this._times.push(t),t-this._times[0]>200&&(this._positions.shift(),this._times.shift())}this._map.fire("move").fire("drag")},_onViewReset:function(){var t=this._map.getSize()._divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.project([0,180]).x},_onPreDrag:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,a=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._newPos.x=a},_onDragEnd:function(t){var e=this._map,i=e.options,n=+new Date-this._lastTime,s=!i.inertia||n>i.inertiaThreshold||!this._positions[0];if(e.fire("dragend",t),s)e.fire("moveend");else{var a=this._lastPos.subtract(this._positions[0]),r=(this._lastTime+n-this._times[0])/1e3,h=i.easeLinearity,l=a.multiplyBy(h/r),u=l.distanceTo([0,0]),c=Math.min(i.inertiaMaxSpeed,u),d=l.multiplyBy(c/u),p=c/(i.inertiaDeceleration*h),_=d.multiplyBy(-p/2).round();_.x&&_.y?(_=e._limitOffset(_,e.options.maxBounds),o.Util.requestAnimFrame(function(){e.panBy(_,{duration:p,easeLinearity:h,noMoveStart:!0})})):e.fire("moveend")}}}),o.Map.addInitHook("addHandler","dragging",o.Map.Drag),o.Map.mergeOptions({doubleClickZoom:!0}),o.Map.DoubleClickZoom=o.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom()+(t.originalEvent.shiftKey?-1:1);"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}}),o.Map.addInitHook("addHandler","doubleClickZoom",o.Map.DoubleClickZoom),o.Map.mergeOptions({scrollWheelZoom:!0}),o.Map.ScrollWheelZoom=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this),o.DomEvent.on(this._map._container,"MozMousePixelScroll",o.DomEvent.preventDefault),this._delta=0},removeHooks:function(){o.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll),o.DomEvent.off(this._map._container,"MozMousePixelScroll",o.DomEvent.preventDefault)},_onWheelScroll:function(t){var e=o.DomEvent.getWheelDelta(t);this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(40-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o.bind(this._performZoom,this),i),o.DomEvent.preventDefault(t),o.DomEvent.stopPropagation(t)},_performZoom:function(){var t=this._map,e=this._delta,i=t.getZoom();e=e>0?Math.ceil(e):Math.floor(e),e=Math.max(Math.min(e,4),-4),e=t._limitZoom(i+e)-i,this._delta=0,this._startTime=null,e&&("center"===t.options.scrollWheelZoom?t.setZoom(i+e):t.setZoomAround(this._lastMousePos,i+e))}}),o.Map.addInitHook("addHandler","scrollWheelZoom",o.Map.ScrollWheelZoom),o.extend(o.DomEvent,{_touchstart:o.Browser.msPointer?"MSPointerDown":o.Browser.pointer?"pointerdown":"touchstart",_touchend:o.Browser.msPointer?"MSPointerUp":o.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(t,i,n){function s(t){var e;if(o.Browser.pointer?(_.push(t.pointerId),e=_.length):e=t.touches.length,!(e>1)){var i=Date.now(),n=i-(r||i);h=t.touches?t.touches[0]:t,l=n>0&&u>=n,r=i}}function a(t){if(o.Browser.pointer){var e=_.indexOf(t.pointerId);if(-1===e)return;_.splice(e,1)}if(l){if(o.Browser.pointer){var n,s={};for(var a in h)n=h[a],"function"==typeof n?s[a]=n.bind(h):s[a]=n;h=s}h.type="dblclick",i(h),r=null}}var r,h,l=!1,u=250,c="_leaflet_",d=this._touchstart,p=this._touchend,_=[];t[c+d+n]=s,t[c+p+n]=a;var m=o.Browser.pointer?e.documentElement:t;return t.addEventListener(d,s,!1),m.addEventListener(p,a,!1),o.Browser.pointer&&m.addEventListener(o.DomEvent.POINTER_CANCEL,a,!1),this},removeDoubleTapListener:function(t,i){var n="_leaflet_";return t.removeEventListener(this._touchstart,t[n+this._touchstart+i],!1),(o.Browser.pointer?e.documentElement:t).removeEventListener(this._touchend,t[n+this._touchend+i],!1),o.Browser.pointer&&e.documentElement.removeEventListener(o.DomEvent.POINTER_CANCEL,t[n+this._touchend+i],!1),this}}),o.extend(o.DomEvent,{POINTER_DOWN:o.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:o.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:o.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:o.Browser.msPointer?"MSPointerCancel":"pointercancel",_pointers:[],_pointerDocumentListener:!1,addPointerListener:function(t,e,i,n){switch(e){case"touchstart":return this.addPointerListenerStart(t,e,i,n);case"touchend":return this.addPointerListenerEnd(t,e,i,n);case"touchmove":return this.addPointerListenerMove(t,e,i,n);default:throw"Unknown touch event type"}},addPointerListenerStart:function(t,i,n,s){var a="_leaflet_",r=this._pointers,h=function(t){"mouse"!==t.pointerType&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&o.DomEvent.preventDefault(t);for(var e=!1,i=0;i<r.length;i++)if(r[i].pointerId===t.pointerId){e=!0;break}e||r.push(t),t.touches=r.slice(),t.changedTouches=[t],n(t)};if(t[a+"touchstart"+s]=h,t.addEventListener(this.POINTER_DOWN,h,!1),!this._pointerDocumentListener){var l=function(t){for(var e=0;e<r.length;e++)if(r[e].pointerId===t.pointerId){r.splice(e,1);break}};e.documentElement.addEventListener(this.POINTER_UP,l,!1),e.documentElement.addEventListener(this.POINTER_CANCEL,l,!1),this._pointerDocumentListener=!0}return this},addPointerListenerMove:function(t,e,i,n){function o(t){if(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons){for(var e=0;e<a.length;e++)if(a[e].pointerId===t.pointerId){a[e]=t;break}t.touches=a.slice(),t.changedTouches=[t],i(t)}}var s="_leaflet_",a=this._pointers;return t[s+"touchmove"+n]=o,t.addEventListener(this.POINTER_MOVE,o,!1),this},addPointerListenerEnd:function(t,e,i,n){var o="_leaflet_",s=this._pointers,a=function(t){for(var e=0;e<s.length;e++)if(s[e].pointerId===t.pointerId){s.splice(e,1);break}t.touches=s.slice(),t.changedTouches=[t],i(t)};return t[o+"touchend"+n]=a,t.addEventListener(this.POINTER_UP,a,!1),t.addEventListener(this.POINTER_CANCEL,a,!1),this},removePointerListener:function(t,e,i){var n="_leaflet_",o=t[n+e+i];switch(e){case"touchstart":t.removeEventListener(this.POINTER_DOWN,o,!1);break;case"touchmove":t.removeEventListener(this.POINTER_MOVE,o,!1);break;case"touchend":t.removeEventListener(this.POINTER_UP,o,!1),t.removeEventListener(this.POINTER_CANCEL,o,!1)}return this}}),o.Map.mergeOptions({touchZoom:o.Browser.touch&&!o.Browser.android23,bounceAtZoomLimits:!0}),o.Map.TouchZoom=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){o.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var n=i.mouseEventToLayerPoint(t.touches[0]),s=i.mouseEventToLayerPoint(t.touches[1]),a=i._getCenterLayerPoint();this._startCenter=n.add(s)._divideBy(2),this._startDist=n.distanceTo(s),this._moved=!1,this._zooming=!0,this._centerOffset=a.subtract(this._startCenter),i._panAnim&&i._panAnim.stop(),o.DomEvent.on(e,"touchmove",this._onTouchMove,this).on(e,"touchend",this._onTouchEnd,this),o.DomEvent.preventDefault(t)}},_onTouchMove:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&this._zooming){var i=e.mouseEventToLayerPoint(t.touches[0]),n=e.mouseEventToLayerPoint(t.touches[1]);this._scale=i.distanceTo(n)/this._startDist,this._delta=i._add(n)._divideBy(2)._subtract(this._startCenter),1!==this._scale&&(e.options.bounceAtZoomLimits||!(e.getZoom()===e.getMinZoom()&&this._scale<1||e.getZoom()===e.getMaxZoom()&&this._scale>1))&&(this._moved||(o.DomUtil.addClass(e._mapPane,"leaflet-touching"),e.fire("movestart").fire("zoomstart"),this._moved=!0),o.Util.cancelAnimFrame(this._animRequest),this._animRequest=o.Util.requestAnimFrame(this._updateOnMove,this,!0,this._map._container),o.DomEvent.preventDefault(t))}},_updateOnMove:function(){var t=this._map,e=this._getScaleOrigin(),i=t.layerPointToLatLng(e),n=t.getScaleZoom(this._scale);t._animateZoom(i,n,this._startCenter,this._scale,this._delta,!1,!0)},_onTouchEnd:function(){if(!this._moved||!this._zooming)return void(this._zooming=!1);var t=this._map;this._zooming=!1,o.DomUtil.removeClass(t._mapPane,"leaflet-touching"),o.Util.cancelAnimFrame(this._animRequest),o.DomEvent.off(e,"touchmove",this._onTouchMove).off(e,"touchend",this._onTouchEnd);var i=this._getScaleOrigin(),n=t.layerPointToLatLng(i),s=t.getZoom(),a=t.getScaleZoom(this._scale)-s,r=a>0?Math.ceil(a):Math.floor(a),h=t._limitZoom(s+r),l=t.getZoomScale(h)/this._scale;t._animateZoom(n,h,i,l)},_getScaleOrigin:function(){var t=this._centerOffset.subtract(this._delta).divideBy(this._scale);return this._startCenter.add(t)}}),o.Map.addInitHook("addHandler","touchZoom",o.Map.TouchZoom),o.Map.mergeOptions({tap:!0,tapTolerance:15}),o.Map.Tap=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){o.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(o.DomEvent.preventDefault(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new o.Point(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.addClass(n,"leaflet-active"),this._holdTimeout=setTimeout(o.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),o.DomEvent.on(e,"touchmove",this._onMove,this).on(e,"touchend",this._onUp,this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),o.DomEvent.off(e,"touchmove",this._onMove,this).off(e,"touchend",this._onUp,this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],n=i.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.removeClass(n,"leaflet-active"),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new o.Point(e.clientX,e.clientY)},_simulateEvent:function(i,n){var o=e.createEvent("MouseEvents");o._simulated=!0,n.target._simulatedClick=!0,o.initMouseEvent(i,!0,!0,t,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}}),o.Browser.touch&&!o.Browser.pointer&&o.Map.addInitHook("addHandler","tap",o.Map.Tap),o.Map.mergeOptions({boxZoom:!0}),o.Map.BoxZoom=o.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._moved=!1},addHooks:function(){o.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){o.DomEvent.off(this._container,"mousedown",this._onMouseDown),this._moved=!1},moved:function(){return this._moved},_onMouseDown:function(t){return this._moved=!1,!t.shiftKey||1!==t.which&&1!==t.button?!1:(o.DomUtil.disableTextSelection(),o.DomUtil.disableImageDrag(),this._startLayerPoint=this._map.mouseEventToLayerPoint(t),void o.DomEvent.on(e,"mousemove",this._onMouseMove,this).on(e,"mouseup",this._onMouseUp,this).on(e,"keydown",this._onKeyDown,this))},_onMouseMove:function(t){this._moved||(this._box=o.DomUtil.create("div","leaflet-zoom-box",this._pane),o.DomUtil.setPosition(this._box,this._startLayerPoint),this._container.style.cursor="crosshair",this._map.fire("boxzoomstart"));var e=this._startLayerPoint,i=this._box,n=this._map.mouseEventToLayerPoint(t),s=n.subtract(e),a=new o.Point(Math.min(n.x,e.x),Math.min(n.y,e.y));o.DomUtil.setPosition(i,a),this._moved=!0,i.style.width=Math.max(0,Math.abs(s.x)-4)+"px",i.style.height=Math.max(0,Math.abs(s.y)-4)+"px"},_finish:function(){this._moved&&(this._pane.removeChild(this._box),this._container.style.cursor=""),o.DomUtil.enableTextSelection(),o.DomUtil.enableImageDrag(),o.DomEvent.off(e,"mousemove",this._onMouseMove).off(e,"mouseup",this._onMouseUp).off(e,"keydown",this._onKeyDown)},_onMouseUp:function(t){this._finish();var e=this._map,i=e.mouseEventToLayerPoint(t);if(!this._startLayerPoint.equals(i)){var n=new o.LatLngBounds(e.layerPointToLatLng(this._startLayerPoint),e.layerPointToLatLng(i));e.fitBounds(n),e.fire("boxzoomend",{boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}}),o.Map.addInitHook("addHandler","boxZoom",o.Map.BoxZoom),o.Map.mergeOptions({keyboard:!0,keyboardPanOffset:80,keyboardZoomOffset:1}),o.Map.Keyboard=o.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,173]},initialize:function(t){this._map=t,this._setPanOffset(t.options.keyboardPanOffset),this._setZoomOffset(t.options.keyboardZoomOffset)},addHooks:function(){var t=this._map._container;-1===t.tabIndex&&(t.tabIndex="0"),o.DomEvent.on(t,"focus",this._onFocus,this).on(t,"blur",this._onBlur,this).on(t,"mousedown",this._onMouseDown,this),this._map.on("focus",this._addHooks,this).on("blur",this._removeHooks,this)},removeHooks:function(){this._removeHooks();var t=this._map._container;o.DomEvent.off(t,"focus",this._onFocus,this).off(t,"blur",this._onBlur,this).off(t,"mousedown",this._onMouseDown,this),this._map.off("focus",this._addHooks,this).off("blur",this._removeHooks,this)},_onMouseDown:function(){if(!this._focused){var i=e.body,n=e.documentElement,o=i.scrollTop||n.scrollTop,s=i.scrollLeft||n.scrollLeft;this._map._container.focus(),t.scrollTo(s,o)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanOffset:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;i>e;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;i>e;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;i>e;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;i>e;e++)n[o.up[e]]=[0,-1*t]},_setZoomOffset:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;i>e;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;i>e;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){o.DomEvent.on(e,"keydown",this._onKeyDown,this)},_removeHooks:function(){o.DomEvent.off(e,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){var e=t.keyCode,i=this._map;if(e in this._panKeys){if(i._panAnim&&i._panAnim._inProgress)return;i.panBy(this._panKeys[e]),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds)}else{if(!(e in this._zoomKeys))return;i.setZoom(i.getZoom()+this._zoomKeys[e])}o.DomEvent.stop(t)}}),o.Map.addInitHook("addHandler","keyboard",o.Map.Keyboard),o.Handler.MarkerDrag=o.Handler.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new o.Draggable(t,t)),this._draggable.on("dragstart",this._onDragStart,this).on("drag",this._onDrag,this).on("dragend",this._onDragEnd,this),this._draggable.enable(),o.DomUtil.addClass(this._marker._icon,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off("dragstart",this._onDragStart,this).off("drag",this._onDrag,this).off("dragend",this._onDragEnd,this),this._draggable.disable(),o.DomUtil.removeClass(this._marker._icon,"leaflet-marker-draggable");
},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(){var t=this._marker,e=t._shadow,i=o.DomUtil.getPosition(t._icon),n=t._map.layerPointToLatLng(i);e&&o.DomUtil.setPosition(e,i),t._latlng=n,t.fire("move",{latlng:n}).fire("drag")},_onDragEnd:function(t){this._marker.fire("moveend").fire("dragend",t)}}),o.Control=o.Class.extend({options:{position:"topright"},initialize:function(t){o.setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return o.DomUtil.addClass(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this},removeFrom:function(t){var e=this.getPosition(),i=t._controlCorners[e];return i.removeChild(this._container),this._map=null,this.onRemove&&this.onRemove(t),this},_refocusOnMap:function(){this._map&&this._map.getContainer().focus()}}),o.control=function(t){return new o.Control(t)},o.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.removeFrom(this),this},_initControlPos:function(){function t(t,s){var a=i+t+" "+i+s;e[t+s]=o.DomUtil.create("div",a,n)}var e=this._controlCorners={},i="leaflet-",n=this._controlContainer=o.DomUtil.create("div",i+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){this._container.removeChild(this._controlContainer)}}),o.Control.Zoom=o.Control.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"-",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=o.DomUtil.create("div",e+" leaflet-bar");return this._map=t,this._zoomInButton=this._createButton(this.options.zoomInText,this.options.zoomInTitle,e+"-in",i,this._zoomIn,this),this._zoomOutButton=this._createButton(this.options.zoomOutText,this.options.zoomOutTitle,e+"-out",i,this._zoomOut,this),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},_zoomIn:function(t){this._map.zoomIn(t.shiftKey?3:1)},_zoomOut:function(t){this._map.zoomOut(t.shiftKey?3:1)},_createButton:function(t,e,i,n,s,a){var r=o.DomUtil.create("a",i,n);r.innerHTML=t,r.href="#",r.title=e;var h=o.DomEvent.stopPropagation;return o.DomEvent.on(r,"click",h).on(r,"mousedown",h).on(r,"dblclick",h).on(r,"click",o.DomEvent.preventDefault).on(r,"click",s,a).on(r,"click",this._refocusOnMap,a),r},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";o.DomUtil.removeClass(this._zoomInButton,e),o.DomUtil.removeClass(this._zoomOutButton,e),t._zoom===t.getMinZoom()&&o.DomUtil.addClass(this._zoomOutButton,e),t._zoom===t.getMaxZoom()&&o.DomUtil.addClass(this._zoomInButton,e)}}),o.Map.mergeOptions({zoomControl:!0}),o.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new o.Control.Zoom,this.addControl(this.zoomControl))}),o.control.zoom=function(t){return new o.Control.Zoom(t)},o.Control.Attribution=o.Control.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){o.setOptions(this,t),this._attributions={}},onAdd:function(t){this._container=o.DomUtil.create("div","leaflet-control-attribution"),o.DomEvent.disableClickPropagation(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return t.on("layeradd",this._onLayerAdd,this).on("layerremove",this._onLayerRemove,this),this._update(),this._container},onRemove:function(t){t.off("layeradd",this._onLayerAdd).off("layerremove",this._onLayerRemove)},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):void 0},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):void 0},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}},_onLayerAdd:function(t){t.layer.getAttribution&&this.addAttribution(t.layer.getAttribution())},_onLayerRemove:function(t){t.layer.getAttribution&&this.removeAttribution(t.layer.getAttribution())}}),o.Map.mergeOptions({attributionControl:!0}),o.Map.addInitHook(function(){this.options.attributionControl&&(this.attributionControl=(new o.Control.Attribution).addTo(this))}),o.control.attribution=function(t){return new o.Control.Attribution(t)},o.Control.Scale=o.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0,updateWhenIdle:!1},onAdd:function(t){this._map=t;var e="leaflet-control-scale",i=o.DomUtil.create("div",e),n=this.options;return this._addScales(n,e,i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=o.DomUtil.create("div",e+"-line",i)),t.imperial&&(this._iScale=o.DomUtil.create("div",e+"-line",i))},_update:function(){var t=this._map.getBounds(),e=t.getCenter().lat,i=6378137*Math.PI*Math.cos(e*Math.PI/180),n=i*(t.getNorthEast().lng-t.getSouthWest().lng)/180,o=this._map.getSize(),s=this.options,a=0;o.x>0&&(a=n*(s.maxWidth/o.x)),this._updateScales(s,a)},_updateScales:function(t,e){t.metric&&e&&this._updateMetric(e),t.imperial&&e&&this._updateImperial(e)},_updateMetric:function(t){var e=this._getRoundNum(t);this._mScale.style.width=this._getScaleWidth(e/t)+"px",this._mScale.innerHTML=1e3>e?e+" m":e/1e3+" km"},_updateImperial:function(t){var e,i,n,o=3.2808399*t,s=this._iScale;o>5280?(e=o/5280,i=this._getRoundNum(e),s.style.width=this._getScaleWidth(i/e)+"px",s.innerHTML=i+" mi"):(n=this._getRoundNum(o),s.style.width=this._getScaleWidth(n/o)+"px",s.innerHTML=n+" ft")},_getScaleWidth:function(t){return Math.round(this.options.maxWidth*t)-10},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),o.control.scale=function(t){return new o.Control.Scale(t)},o.Control.Layers=o.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0},initialize:function(t,e,i){o.setOptions(this,i),this._layers={},this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){return this._initLayout(),this._update(),t.on("layeradd",this._onLayerChange,this).on("layerremove",this._onLayerChange,this),this._container},onRemove:function(t){t.off("layeradd",this._onLayerChange,this).off("layerremove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._update(),this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._update(),this},removeLayer:function(t){var e=o.stamp(t);return delete this._layers[e],this._update(),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=o.DomUtil.create("div",t);e.setAttribute("aria-haspopup",!0),o.Browser.touch?o.DomEvent.on(e,"click",o.DomEvent.stopPropagation):o.DomEvent.disableClickPropagation(e).disableScrollPropagation(e);var i=this._form=o.DomUtil.create("form",t+"-list");if(this.options.collapsed){o.Browser.android||o.DomEvent.on(e,"mouseover",this._expand,this).on(e,"mouseout",this._collapse,this);var n=this._layersLink=o.DomUtil.create("a",t+"-toggle",e);n.href="#",n.title="Layers",o.Browser.touch?o.DomEvent.on(n,"click",o.DomEvent.stop).on(n,"click",this._expand,this):o.DomEvent.on(n,"focus",this._expand,this),o.DomEvent.on(i,"click",function(){setTimeout(o.bind(this._onInputClick,this),0)},this),this._map.on("click",this._collapse,this)}else this._expand();this._baseLayersList=o.DomUtil.create("div",t+"-base",i),this._separator=o.DomUtil.create("div",t+"-separator",i),this._overlaysList=o.DomUtil.create("div",t+"-overlays",i),e.appendChild(i)},_addLayer:function(t,e,i){var n=o.stamp(t);this._layers[n]={layer:t,name:e,overlay:i},this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex))},_update:function(){if(this._container){this._baseLayersList.innerHTML="",this._overlaysList.innerHTML="";var t,e,i=!1,n=!1;for(t in this._layers)e=this._layers[t],this._addItem(e),n=n||e.overlay,i=i||!e.overlay;this._separator.style.display=n&&i?"":"none"}},_onLayerChange:function(t){var e=this._layers[o.stamp(t.layer)];if(e){this._handlingClick||this._update();var i=e.overlay?"layeradd"===t.type?"overlayadd":"overlayremove":"layeradd"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)}},_createRadioElement:function(t,i){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"';i&&(n+=' checked="checked"'),n+="/>";var o=e.createElement("div");return o.innerHTML=n,o.firstChild},_addItem:function(t){var i,n=e.createElement("label"),s=this._map.hasLayer(t.layer);t.overlay?(i=e.createElement("input"),i.type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=s):i=this._createRadioElement("leaflet-base-layers",s),i.layerId=o.stamp(t.layer),o.DomEvent.on(i,"click",this._onInputClick,this);var a=e.createElement("span");a.innerHTML=" "+t.name,n.appendChild(i),n.appendChild(a);var r=t.overlay?this._overlaysList:this._baseLayersList;return r.appendChild(n),n},_onInputClick:function(){var t,e,i,n=this._form.getElementsByTagName("input"),o=n.length;for(this._handlingClick=!0,t=0;o>t;t++)e=n[t],i=this._layers[e.layerId],e.checked&&!this._map.hasLayer(i.layer)?this._map.addLayer(i.layer):!e.checked&&this._map.hasLayer(i.layer)&&this._map.removeLayer(i.layer);this._handlingClick=!1,this._refocusOnMap()},_expand:function(){o.DomUtil.addClass(this._container,"leaflet-control-layers-expanded")},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-layers-expanded","")}}),o.control.layers=function(t,e,i){return new o.Control.Layers(t,e,i)},o.PosAnimation=o.Class.extend({includes:o.Mixin.Events,run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._newPos=e,this.fire("start"),t.style[o.DomUtil.TRANSITION]="all "+(i||.25)+"s cubic-bezier(0,0,"+(n||.5)+",1)",o.DomEvent.on(t,o.DomUtil.TRANSITION_END,this._onTransitionEnd,this),o.DomUtil.setPosition(t,e),o.Util.falseFn(t.offsetWidth),this._stepTimer=setInterval(o.bind(this._onStep,this),50)},stop:function(){this._inProgress&&(o.DomUtil.setPosition(this._el,this._getPos()),this._onTransitionEnd(),o.Util.falseFn(this._el.offsetWidth))},_onStep:function(){var t=this._getPos();return t?(this._el._leaflet_pos=t,void this.fire("step")):void this._onTransitionEnd()},_transformRe:/([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/,_getPos:function(){var e,i,n,s=this._el,a=t.getComputedStyle(s);if(o.Browser.any3d){if(n=a[o.DomUtil.TRANSFORM].match(this._transformRe),!n)return;e=parseFloat(n[1]),i=parseFloat(n[2])}else e=parseFloat(a.left),i=parseFloat(a.top);return new o.Point(e,i,!0)},_onTransitionEnd:function(){o.DomEvent.off(this._el,o.DomUtil.TRANSITION_END,this._onTransitionEnd,this),this._inProgress&&(this._inProgress=!1,this._el.style[o.DomUtil.TRANSITION]="",this._el._leaflet_pos=this._newPos,clearInterval(this._stepTimer),this.fire("step").fire("end"))}}),o.Map.include({setView:function(t,e,n){if(e=e===i?this._zoom:this._limitZoom(e),t=this._limitCenter(o.latLng(t),e,this.options.maxBounds),n=n||{},this._panAnim&&this._panAnim.stop(),this._loaded&&!n.reset&&n!==!0){n.animate!==i&&(n.zoom=o.extend({animate:n.animate},n.zoom),n.pan=o.extend({animate:n.animate},n.pan));var s=this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan);if(s)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},panBy:function(t,e){if(t=o.point(t).round(),e=e||{},!t.x&&!t.y)return this;if(this._panAnim||(this._panAnim=new o.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),e.animate!==!1){o.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t);this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){o.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._floor();return(e&&e.animate)===!0||this.getSize().contains(i)?(this.panBy(i,e),!0):!1}}),o.PosAnimation=o.DomUtil.TRANSITION?o.PosAnimation:o.PosAnimation.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=o.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(),this._complete())},_animate:function(){this._animId=o.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(){var t=+new Date-this._startTime,e=1e3*this._duration;e>t?this._runFrame(this._easeOut(t/e)):(this._runFrame(1),this._complete())},_runFrame:function(t){var e=this._startPos.add(this._offset.multiplyBy(t));o.DomUtil.setPosition(this._el,e),this.fire("step")},_complete:function(){o.Util.cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),o.Map.mergeOptions({zoomAnimation:!0,zoomAnimationThreshold:4}),o.DomUtil.TRANSITION&&o.Map.addInitHook(function(){this._zoomAnimated=this.options.zoomAnimation&&o.DomUtil.TRANSITION&&o.Browser.any3d&&!o.Browser.android23&&!o.Browser.mobileOpera,this._zoomAnimated&&o.DomEvent.on(this._mapPane,o.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)}),o.Map.include(o.DomUtil.TRANSITION?{_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n),s=this._getCenterLayerPoint()._add(o);return i.animate===!0||this.getSize().contains(o)?(this.fire("movestart").fire("zoomstart"),this._animateZoom(t,e,s,n,null,!0),!0):!1},_animateZoom:function(t,e,i,n,s,a,r){r||(this._animatingZoom=!0),o.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim"),this._animateToCenter=t,this._animateToZoom=e,o.Draggable&&(o.Draggable._disabled=!0),o.Util.requestAnimFrame(function(){this.fire("zoomanim",{center:t,zoom:e,origin:i,scale:n,delta:s,backwards:a}),setTimeout(o.bind(this._onZoomTransitionEnd,this),250)},this)},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._animatingZoom=!1,o.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),o.Util.requestAnimFrame(function(){this._resetView(this._animateToCenter,this._animateToZoom,!0,!0),o.Draggable&&(o.Draggable._disabled=!1)},this))}}:{}),o.TileLayer.include({_animateZoom:function(t){this._animating||(this._animating=!0,this._prepareBgBuffer());var e=this._bgBuffer,i=o.DomUtil.TRANSFORM,n=t.delta?o.DomUtil.getTranslateString(t.delta):e.style[i],s=o.DomUtil.getScaleString(t.scale,t.origin);e.style[i]=t.backwards?s+" "+n:n+" "+s},_endZoomAnim:function(){var t=this._tileContainer,e=this._bgBuffer;t.style.visibility="",t.parentNode.appendChild(t),o.Util.falseFn(e.offsetWidth);var i=this._map.getZoom();(i>this.options.maxZoom||i<this.options.minZoom)&&this._clearBgBuffer(),this._animating=!1},_clearBgBuffer:function(){var t=this._map;!t||t._animatingZoom||t.touchZoom._zooming||(this._bgBuffer.innerHTML="",this._bgBuffer.style[o.DomUtil.TRANSFORM]="")},_prepareBgBuffer:function(){var t=this._tileContainer,e=this._bgBuffer,i=this._getLoadedTilesPercentage(e),n=this._getLoadedTilesPercentage(t);return e&&i>.5&&.5>n?(t.style.visibility="hidden",void this._stopLoadingImages(t)):(e.style.visibility="hidden",e.style[o.DomUtil.TRANSFORM]="",this._tileContainer=e,e=this._bgBuffer=t,this._stopLoadingImages(e),void clearTimeout(this._clearBgBufferTimer))},_getLoadedTilesPercentage:function(t){var e,i,n=t.getElementsByTagName("img"),o=0;for(e=0,i=n.length;i>e;e++)n[e].complete&&o++;return o/i},_stopLoadingImages:function(t){var e,i,n,s=Array.prototype.slice.call(t.getElementsByTagName("img"));for(e=0,i=s.length;i>e;e++)n=s[e],n.complete||(n.onload=o.Util.falseFn,n.onerror=o.Util.falseFn,n.src=o.Util.emptyImageUrl,n.parentNode.removeChild(n))}}),o.Map.include({_defaultLocateOptions:{watch:!1,setView:!1,maxZoom:1/0,timeout:1e4,maximumAge:0,enableHighAccuracy:!1},locate:function(t){if(t=this._locateOptions=o.extend(this._defaultLocateOptions,t),!navigator.geolocation)return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o.bind(this._handleGeolocationResponse,this),i=o.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,n=new o.LatLng(e,i),s=180*t.coords.accuracy/40075017,a=s/Math.cos(o.LatLng.DEG_TO_RAD*e),r=o.latLngBounds([e-s,i-a],[e+s,i+a]),h=this._locateOptions;if(h.setView){var l=Math.min(this.getBoundsZoom(r),h.maxZoom);this.setView(n,l)}var u={latlng:n,bounds:r,timestamp:t.timestamp};for(var c in t.coords)"number"==typeof t.coords[c]&&(u[c]=t.coords[c]);this.fire("locationfound",u)}})}(window,document),function(a){a.vectormaps={TILE_SIZE:256,TILE_SCALING:1},vectormaps.scaleMap=function(a,b){a.getContainer().style.transform+="scale("+b+")"};var b=vectormaps.Browser={canvas:!!a.CanvasRenderingContext2D,mobile:!!navigator.userAgent.match(/Mobile/i),worker:!!a.Worker,xhr:!!a.XMLHttpRequest};a.devicePixelRatio||(a.devicePixelRatio=Math.round(a.screen.availWidth/document.documentElement.clientWidth*10)/10||1),b.canvas&&(a=a.CanvasRenderingContext2D.prototype,a.setLineDash||"mozDash"in a||"webkitLineDash"in a)&&(b.canvas={linedash:!0},a.setLineDash||(a.setLineDash=function(a){this.webkitLineDash=this.mozDash=a}))}(window),function(a){a.Util={get:function(a,d,f){function s(){4===l.readyState&&(200===l.status?G():f(l))}function G(){var a=l.responseText;f(null,"json"===d&&a?JSON.parse(a):a)}var l=new XMLHttpRequest;f||(f=d,d="json"),"withCredentials"in l?l.onreadystatechange=s:window.XDomainRequest&&(l=new window.XDomainRequest,l.onload=G,l.onerror=l.ontimeout=onerror,l.onprogress=function(){}),l.open("GET",a),l.send()},scaleCanvasForHighres:function(b){if(!b._ptvVectorMapScaled){b._ptvVectorMapScaled=!0;var d=b.getContext("2d"),f=(window.devicePixelRatio||1)/(d.backingStorePixelRatio||d.webkitBackingStorePixelRatio||d.mozBackingStorePixelRatio||d.msBackingStorePixelRatio||d.oBackingStorePixelRatio||1)*a.TILE_SCALING;if(1!==f){var s=b.width,G=b.height;b.width=s*f,b.height=G*f,b.style.width=s+"px",b.style.height=G+"px",d.scale(f,f)}}},extend:function(a,d){for(var f in d)a[f]=d[f];return a},object:function(a,d){return a.reduce(function(a,b,G){return a[b]=d[G],a},{})}}}(vectormaps),function(a){function b(a,b,e,f){this.str=a,this.dimensions=b||1,this.useDeltaNegative=!!e,this.defaultValue=f||0,this.pos=0,this.reset()}function d(a){return a>=l&&O>=a}function f(a){return"number"==typeof a}function s(a,b){return Array.apply(0,Array(a)).map(function(){return b})}function G(a,b){function e(){return a.apply(this,b)}return e.prototype=a.prototype,new e}var l=48,O=57;a.DeltaIterator=b,b.deltaDecode=function(){for(var e,a=G(b,arguments),H=[];null!==(e=a.next());)H.push(e);return H},a=b.prototype,a.next=function(a){var b=this._next(),e=this.currentDimension,d=!1;return f(b)?(a=this.prevDeltaNegative[e],this.useDeltaNegative&&(0>b&&(a=this.prevDeltaNegative[e]=!a,b=-b),a&&(b=-b)),b+=this.prev[e],d=!0):f(a)&&(null!==b&&this.pos--,b=a,d=!0),d&&(this.prev[e]=b,this.currentDimension=(e+1)%this.dimensions),b},a._next=function(){var a=this.str,b=null;if(a&&this.pos<a.length){var e=a[this.pos++],b=e.charCodeAt(0);if(b>=65&&83>=b){for(var e=b>74,f=b-(e?74:65);this.pos<a.length&&d(b=a[this.pos].charCodeAt(0));)f=10*f+(b-l),this.pos++;b=e?-f:f}else b=e}return b},a.getPosition=function(){return this.pos},a.seek=function(a){this.pos=a,this.reset()},a.reset=function(){this.currentDimension=0,this.prev=s(this.dimensions,this.defaultValue),this.prevDeltaNegative=s(this.dimensions,!1)},a.isValue=f}(vectormaps);var _typeface_js={faces:{},loadFace:function(a){var b=a.familyName.toLowerCase();this.faces[b]||(this.faces[b]={}),this.faces[b][a.cssFontWeight]||(this.faces[b][a.cssFontWeight]={}),(this.faces[b][a.cssFontWeight][a.cssFontStyle]=a).loaded=!0}};!function(a){function b(c,a,b,p){return this.left<b&&c<this.right&&this.top<p&&a<this.bottom}function d(c,a,W,p){var k=(this.right-this.left)*(this.looseIntersectionWidthFactor-1)/2,h=(this.bottom-this.top)*(this.looseIntersectionHeightFactor-1)/2;return b.call(this,c-k,a-h,W+k,p+h)}function f(){return this}function s(){return this.wrappedOverlay}function G(c){c.save(),c.translate(this.offsetX,this.offsetY),this.wrappedOverlay.draw(c),c.restore()}function l(c){c.fillStyle=this.fillColor,c.strokeStyle=this.haloColor,c.lineWidth=this.haloWidth,c.lineJoin="round",c.lineCap="round",L?(I=this.typeface,z.fontSize=this.size,c.save(),c.translate(this.x,this.y+z.fontSize*I.resolution/I.ascender/2),e(this.text,c,z,this.haloWidth,!0),c.restore()):(c.font=this.size+"px Helvetica",c.textBaseline="middle",0<haloWidth&&c.strokeText(this.text,this.x,this.y),c.fillText(this.text,this.x,this.y))}function O(c){c.fillStyle=this.fillColor,c.strokeStyle=this.haloColor,c.lineWidth=this.haloWidth,c.lineJoin="round",c.lineCap="round";var a=this.text,b=this.x,p=this.y,k=this.rotation,h=this.haloWidth;L?(I=this.typeface,z.fontSize=this.size,c.save(),c.translate(b,p),c.rotate(k),e(a,c,z,h,!0)):(c.font=this.size+"px Helvetica",c.textBaseline="alphabetic",c.save(),c.translate(b,p),c.rotate(k),c.translate(-b,-p),h>0&&c.strokeText(a,b,p),c.fillText(a,b,p)),c.restore()}function S(c){c.fillStyle=this.fillColor,c.strokeStyle=this.haloColor,c.lineWidth=this.haloWidth,c.lineJoin="round",c.lineCap="round",L?(I=this.typeface,z.fontSize=this.size):(c.font=this.size+"px Helvetica",c.textBaseline="alphabetic");for(var a=this.text,b=this.x,p=this.y,k=this.rotation,h=this.haloWidth,f=a.length,d=0;2>d;++d)for(var v=0;f>v;++v){c.save(),c.translate(b[v],p[v]),c.rotate(k[v]);var l=a.charAt(v);L?e(l,c,z,0===d?h:0,1===d):(c.translate(-b[v],-p[v]),1==d?c.fillText(l,b,p):h>0&&c.strokeText(l,b,p)),c.restore()}}function H(c){try{c.drawImage(this.image,this.left,this.top,this.right-this.left,this.bottom-this.top)}catch(a){}l.call(this,c)}function e(c,a,b,p,k){a.save();var h=72*b.fontSize/(100*I.resolution);a.scale(h*b.fontStretchPercent,-1*h),a.beginPath();for(var d=0,f=c.length;f>d;d++)P(a,I,c.charAt(d),b);p>0&&(a.lineWidth=p/h,a.stroke()),k&&a.fill(),a.restore()}function P(c,a,b,p){if(b=a.glyphs[b]){if(b.o){b.cached_outline?a=b.cached_outline:(a=b.o.split(" "),b.cached_outline=a),p=a.length;for(var k=0;p>k;)switch(a[k++]){case"m":c.moveTo(a[k++],a[k++]);break;case"l":c.lineTo(a[k++],a[k++]);break;case"q":var h=a[k++],d=a[k++];c.quadraticCurveTo(a[k++],a[k++],h,d);break;case"b":h=a[k++],d=a[k++],c.bezierCurveTo(a[k++],a[k++],a[k++],a[k++],h,d)}}b.ha&&c.translate(b.ha,0)}else P(c,a,p.fallbackCharacter,p)}var z,I,Y=a.Util,L=!0;L&&(z={fontSize:10,fallbackCharacter:".",fontStretchPercent:1});var U,ca=a.TILE_SIZE;a.renderOverlays=function(c,b,d){function p(a){if(!l){for(var b=a.overlayIndex;k>b;)if(c[b].draw(w),++b,Date.now()-U>f){a={overlayIndex:b},setTimeout(function(){U=Date.now(),p(a)},e);break}b==k&&d()}}var k=null==c?0:c.length,h=Date.now();(!U||h-U>500)&&(U=h);var w,f=a.Browser.mobile?10:100,e=5,l=!1;return function(){var a=b.width;Y.scaleCanvasForHighres(b),b.setAttribute("data-scaling",b.width/a),w=b.getContext("2d"),w.fillStyle="rgba(0,0,0,0)",w.fillRect(0,0,ca,ca)}(),p({overlayIndex:0}),{cancel:function(){l=!0,d(!0)},canvas:b}},a.overlay=function(a,e,l,p){return a={left:a,top:e,right:l,bottom:p,looseIntersectionWidthFactor:1,looseIntersectionHeightFactor:1},a.intersects=b,a.intersectsLoosely=d,a.getWrappedOverlay=f,a},a.overlayWrapper=function(a,f,e){var p=a.getWrappedOverlay();return p!==a&&(f+=a.offsetX,e+=a.offsetY,a=p),a={left:a.left+f,top:a.top+e,right:a.right+f,bottom:a.bottom+e,looseIntersectionWidthFactor:a.looseIntersectionWidthFactor,looseIntersectionHeightFactor:a.looseIntersectionHeightFactor,offsetX:f,offsetY:e,wrappedOverlay:a},a.intersects=b,a.intersectsLoosely=d,a.getWrappedOverlay=s,a.draw=G,a},a.textOverlay=function(c,b,d,p,k,h,f,e,l,w){return c=a.overlay(c,b,d,p),c.text=k,c.typeface=h,c.size=f,c.fillColor=e,c.haloColor=l,c.haloWidth=w,c},a.simpleTextOverlay=function(c,b,d,f,k,h,e,z,v,w,C,J){return c=a.textOverlay(c,b,d,f,k,h,e,z,v,w),c.x=C,c.y=J,c.draw=l,c},a.rotatedTextOverlay=function(b,d,f,e,k,h,l,z,v,w,C,J,y){return b=a.simpleTextOverlay(b,d,f,e,k,h,l,z,v,w,C,J),b.rotation=y,b.draw=O,b},a.pathTextOverlay=function(b,d,f,e,k,h,l,z,v,w,C,J,y){return b=a.textOverlay(b,d,f,e,k,h,l,z,v,w),b.x=C,b.y=J,b.rotation=y,b.draw=S,b},a.imageAndTextOverlay=function(b,d,f,e,k,h,l,z,v,w,C,J,y){return b=a.simpleTextOverlay(b,d,f,e,k,h,l,z,v,w,C,J),b.image=y,b.draw=H,b}}(vectormaps),function(a){function b(a,b,c,d){this.str=a,this.dimensions=b||1,this.useDeltaNegative=!!c,this.defaultValue=d||0,this.pos=0,this.reset()}function d(a){return a>=S&&H>=a}function f(a){return"number"==typeof a}function s(a,b){return Array.apply(0,Array(a)).map(function(){return b})}function G(a,b){function c(){return a.apply(this,b)}return c.prototype=a.prototype,new c}function l(b){b=new a.DeltaIterator(b,2,!0);for(var h,c=[],d={x:[],y:[],cm:[],length:0},f=0,e=P,k=!1;null!==(h=b.next());)b.isValue(h)?(d.x.push(h),d.y.push(f=b.next(f)),d.cm.push(e),d.length++,e=Y):"a"===h?e=L:"b"===h?e=z:"c"===h?k=!0:":"===h?(c.push(d),d={x:[],y:[],cm:[],length:0},b.reset(),f=0,e=P,k=!1):k?(e=I,k=!1):e=P;return c.push(d),c}function O(d,e,f,M,G,s,H,Q){function S(){var a=f.width;ca.scaleCanvasForHighres(f),f.setAttribute("data-scaling",f.width/a),r=f.getContext("2d"),a=d.b,e&&(a=a||e.b),r.fillStyle=a||ra,r.fillRect(0,0,h,h),s&&r.scale(1/s,1/s)}function Z(a){ka||($("draw"),$("total"),a&&(f.width=f.width),M&&X&&X.removeEventListener("message",fa),M&&M.apply(null,arguments),ka=!0)}function fa(a){if(a=a.data,a.id===aa){if(da=a.coords,$("parse"),ba("draw"),s||!M){var b,c;if(s){c=!0;var d=0,e=a=0,k=0,h=da.length;for(b=0;h>b;++b)for(var R=da[b],l=R.x.length,m=0;l>m;++m){var q=R.x[m],p=R.y[m];R.cm[m]!=L&&R.cm[m]!=z&&((c||d>q)&&(d=q),(c||q>e)&&(e=q),(c||a>p)&&(a=p),(c||p>k)&&(k=p),c=!1)}for(c=1,h=ga.length,b=0;h>b;++b)R=ga[b].s,R>c&&(c=R);h=Math.ceil(c/2)+1,b=Math.round((-d+h)/s),c=Math.round((-a+h)/s),d=Math.ceil((e-d+2*h)/s),a=Math.ceil((k-a+2*h)/s),f.width=d,f.height=a,f.style.width=d+"px",f.style.height=a+"px",f._ptvVectorMapScaled=!1}S(),(b||c)&&f.getContext("2d").translate(b*s,c*s)}try{ha(sa)}catch(r){throw Z(r),r}}}function ha(b,d){function f(){var b=ga[e],t=da[l];if("p"==s){if(null!=H&&-1==H.indexOf("p"))return d;if(!b.disabled){var F,A,u,y,B,C=t.length,q=0;d?(q=d.start,F=d.needToClose,A=d.needLine,u=d.moveX,y=d.moveY,B=d.needArc):r.fillStyle=b.c;for(var b=!1,n=q;C>n;++n){if(0===n%la&&n!==q&&M&&Date.now()-T>ia){b=!0;break}var g=N(t,n);if(g.cm==P)F&&(A&&r.lineTo(u,y),r.fill()),r.beginPath(),u=g.x,y=g.y,r.moveTo(u,y),A=F=!0,B=!1;else if(g.cm==I)A&&r.lineTo(u,y),u=g.x,y=g.y,r.moveTo(u,y),A=!0,B=!1;else if(g.cm==L||g.cm==z)B=!0;else if(g.cm==Y){if(B){B=!1;var x=g.x,v=g.y,g=N(t,n-2),D=g.x;A=g.y;var g=N(t,n-1),E=Math.hypot(D-g.x,A-g.y),D=Math.atan2(A-g.y,D-g.x),x=Math.atan2(v-g.y,x-g.x);r.arc(g.x,g.y,E,D,x,g.cm==z)}else r.lineTo(g.x,g.y);A=!1}}!b&&F&&(A&&r.lineTo(u,y),r.fill()),d=b&&{start:n,needToClose:F,needLine:A,moveX:u,moveY:y,needArc:B}}}else if("l"==s){if(null!=H&&-1==H.indexOf("l"))return d;if(!b.disabled&&0<b.s){F=t.length,u=0;var w;for(d?(u=d.start,w=d.needLine,C=d.moveX,q=d.moveY,n=d.needArc):(r.strokeStyle=b.c,r.lineWidth=b.s,r.lineJoin=b.linejoin||"miter",r.lineCap=b.linecap||"butt",r.beginPath()),y=!1,B=u;F>B;++B){if(0===B%la&&B!==u&&M&&Date.now()-T>ia){y=!0;break}g=N(t,B),g.cm==P||g.cm==I?(w&&r.lineTo(C,q),C=g.x,q=g.y,r.moveTo(C,q),w=!0,n=!1):g.cm==L||g.cm==z?n=!0:g.cm==Y&&(n?(n=!1,x=g.x,v=g.y,g=N(t,B-2),D=g.x,A=g.y,g=N(t,B-1),E=Math.hypot(D-g.x,A-g.y),D=Math.atan2(A-g.y,D-g.x),x=Math.atan2(v-g.y,x-g.x),r.arc(g.x,g.y,E,D,x,g.cm==z)):r.lineTo(g.x,g.y),w=!1)}y||(w&&r.lineTo(C,q),!G&&b.d?(r.save(),r.setLineDash(b.d),r.stroke(),r.restore()):r.stroke()),d=y&&{start:B,needLine:w,moveX:C,moveY:q}}}else if("t"==s){if(null!=H&&-1==H.indexOf("t"))return d;if(!b.disabled){if(F=ta[J],A=F.length,w=t.length,q=2==w&&A>1,u=b.s,W?p.fontSize=u:r.font=u+"px Helvetica",y=2*(b.haloradius||0),m&&Q&&(u*=m.s,y*=m.s),B=b.c||c,C=b.halofill||U,w==2*A){if(A>0){b=Array(A),D=Array(A),w=Array(A);for(var K=0;A>K;++K)n=N(t,K),q=n.x/2,n=n.y/2,m&&Q&&(q=q*m.s-m.dx*h,n=n*m.s-m.dy*h),(0==K||g>q)&&(g=q),(0==K||E>n)&&(E=n),(0==K||q>x)&&(x=q),(0==K||n>v)&&(v=n),b[K]=q,D[K]=n,q=N(t,K+A),w[K]=-Math.atan2(q.x,q.y);D=a.pathTextOverlay(g-u,E-u,x+u,v+u,F,k,u,B,C,y,b,D,w)}}else if(n=N(t,0),q)q=n.x/2,n=n.y/2,b=N(t,w-1),t=b.x/2,g=b.y/2,b=Math.PI/2-Math.atan2(t-q,g-n),m&&Q&&(q=q*m.s-m.dx*h,n=n*m.s-m.dy*h,t=t*m.s-m.dx*h,g=g*m.s-m.dy*h),D=a.rotatedTextOverlay(Math.min(q,t)-u,Math.min(n,g)-u,Math.max(q,t)+u,Math.max(n,g)+u,F,k,u,B,C,y,q,n,b);else{if(q=n.x/2,n=n.y/2,W){for(t=p,g=0,E=F.length,x=0;E>x;x++)(v=k.glyphs[F.charAt(x)])||(v=k.glyphs[t.fallbackCharacter]),g+=x+1==E?Math.max(v.x_max,v.ha):v.ha;t=g*t.fontSize*72/(100*k.resolution)}else t=r.measureText(F).width;x=t,t=q-x/2,g=n,E=ma[b.u],m&&Q&&(t=t*m.s-m.dx*h,g=g*m.s-m.dy*h,x*=m.s),!E&&b.u&&"{"==b.u.charAt(0)&&(E=document.createElement("canvas"),O(JSON.parse(b.u),null,E,null,!1,2),ma[b.u]=E),E?(x=+E.getAttribute("data-scaling"),b=E.width/x/2,x=E.height/x/2,m&&Q&&(q=q*m.s-m.dx*h,n=n*m.s-m.dy*h,b*=m.s,x*=m.s),D=a.imageAndTextOverlay(q-b,n-x,q+b,n+x,F,k,u,B,C,y,t,g,E)):(b=1,m&&Q&&(b*=m.s),D=a.simpleTextOverlay(t+b,g-.4*u,t+x-b,g+.4*u,F,k,u,B,C,y,t,g),D.looseIntersectionHeightFactor=1.5)}void 0!==D&&(Q?na.push(D):D.draw(r)),d=void 0}++J}return d}if(!oa){var e=b.styleIndex,l=b.coordIndex,J=b.textIndex,s=b.type;if(d)ha(b,f());else for(;null!==(s=ja.next());)if(e=ja.next(e+1),l=ja.next(l+1),f(),d||M&&Date.now()-T>ia){b={styleIndex:e,coordIndex:l,textIndex:J,type:s},setTimeout(function(){T=Date.now();try{ha(b,d)}catch(a){throw Z(a),a}},ua);break}null===s&&Z()}}function N(a,b){return ea.x=a.x[b],ea.y=a.y[b],ea.cm=a.cm[b],ea}var na=Q?[]:void 0,pa=Date.now();M&&(!T||pa-T>500)&&(T=pa);var ba,$,ia=a.Browser.mobile?10:100,ua=5,la=100,oa=!1,qa={},V={};w?(ba=function(a){
qa[a]=Date.now()},$=function(a){var b=Date.now()-qa[a];V[a]?(V[a]+=b,V[a+"_num"]=(V[a+"_num"]||1)+1):V[a]=b}):ba=$=function(){},ba("total");var r;if(!M&&s||S(),null==d.e||null==d.c||null==d.s)return Z(!0);var ka=!1;"string"==typeof d.s&&(d.s=b.deltaDecode(d.s).map(function(a){return e.s[a]}));var ga=d.s.map(function(a){return"string"==typeof a&&(a={c:a}),null==a.s&&(a.s=1),a}),ja=new b(d.e,2,!1,-1),ta=d.t,ma=e&&e.symbols,ea={x:0,y:0,cm:null},sa={styleIndex:-1,coordIndex:-1,textIndex:0},m=d.overzoom;m&&(r.translate(-(m.dx*h),-(m.dy*h)),r.scale(m.s,m.s)),W&&!k&&(k=e&&e.typefaceFace),ba("parse");var da,aa;return M?(aa=v++,X||(X=new Worker(getUrlForWorker(parseCoordsWorker))),X.addEventListener("message",fa),X.postMessage({id:aa,coordString:d.c})):(aa=1,fa({data:{id:aa,coords:l(d.c)}})),{cancel:function(){oa=!0,Z(!0)},performance:V,overlays:na}}function getUrlForWorker(workerFunction){try{var URL=window.URL||window.webkitURL,mainString=workerFunction.toString(),bodyString=mainString.substring(mainString.indexOf("{")+1,mainString.lastIndexOf("}")),blob=new Blob([bodyString]);return URL.createObjectURL(blob)}catch(e){var BlobBuilder=window.MozBlobBuilder||window.WebKitBlobBuilder||window.BlobBuilder,URL=window.URL||window.webkitURL,mainString=workerFunction.toString(),bodyString=mainString.substring(mainString.indexOf("{")+1,mainString.lastIndexOf("}")),bb=new BlobBuilder;return bb.append(bodyString),URL.createObjectURL(bb.getBlob())}}var parseCoordsWorker=function(){!function(e){function f(b,a,c,d){this.str=b,this.dimensions=a||1,this.useDeltaNegative=!!c,this.defaultValue=d||0,this.pos=0,this.reset()}function k(b){return b>=m&&g>=b}function l(b){return"number"==typeof b}function n(b,a){return Array.apply(0,Array(b)).map(function(){return a})}function p(b,a){function c(){return b.apply(this,a)}return c.prototype=b.prototype,new c}var m=48,g=57;e.DeltaIterator=f,f.deltaDecode=function(){for(var c,b=p(f,arguments),a=[];null!==(c=b.next());)a.push(c);return a},e=f.prototype,e.next=function(b){var a=this._next(),c=this.currentDimension,d=!1;return l(a)?(b=this.prevDeltaNegative[c],this.useDeltaNegative&&(0>a&&(b=this.prevDeltaNegative[c]=!b,a=-a),b&&(a=-a)),a+=this.prev[c],d=!0):l(b)&&(null!==a&&this.pos--,a=b,d=!0),d&&(this.prev[c]=a,this.currentDimension=(c+1)%this.dimensions),a},e._next=function(){var b=this.str,a=null;if(b&&this.pos<b.length){var c=b[this.pos++],a=c.charCodeAt(0);if(a>=65&&83>=a){for(var c=a>74,d=a-(c?74:65);this.pos<b.length&&k(a=b[this.pos].charCodeAt(0));)d=10*d+(a-m),this.pos++;a=c?-d:d}else a=c}return a},e.getPosition=function(){return this.pos},e.seek=function(b){this.pos=b,this.reset()},e.reset=function(){this.currentDimension=0,this.prev=n(this.dimensions,this.defaultValue),this.prevDeltaNegative=n(this.dimensions,!1)},e.isValue=l}(this),function(e){function f(g){g=new e.DeltaIterator(g,2,!0);for(var h,b=[],a={x:[],y:[],cm:[],length:0},c=0,d=k,f=!1;null!==(h=g.next());)g.isValue(h)?(a.x.push(h),a.y.push(c=g.next(c)),a.cm.push(d),a.length++,d=l):"a"===h?d=n:"b"===h?d=p:"c"===h?f=!0:":"===h?(b.push(a),a={x:[],y:[],cm:[],length:0},g.reset(),c=0,d=k,f=!1):f?(d=m,f=!1):d=k;return b.push(a),b}var k=0,l=1,n=2,p=3,m=4;e.addEventListener("message",function(g){e.postMessage({id:g.data.id,coords:f(g.data.coordString)})})}(this)},S=48,H=57;a.DeltaIterator=b,b.deltaDecode=function(){for(var d,a=G(b,arguments),c=[];null!==(d=a.next());)c.push(d);return c};var e=b.prototype;e.next=function(a){var b=this._next(),c=this.currentDimension,d=!1;return f(b)?(a=this.prevDeltaNegative[c],this.useDeltaNegative&&(0>b&&(a=this.prevDeltaNegative[c]=!a,b=-b),a&&(b=-b)),b+=this.prev[c],d=!0):f(a)&&(null!==b&&this.pos--,b=a,d=!0),d&&(this.prev[c]=b,this.currentDimension=(c+1)%this.dimensions),b},e._next=function(){var a=this.str,b=null;if(a&&this.pos<a.length){var c=a[this.pos++],b=c.charCodeAt(0);if(b>=65&&83>=b){for(var c=b>74,e=b-(c?74:65);this.pos<a.length&&d(b=a[this.pos].charCodeAt(0));)e=10*e+(b-S),this.pos++;b=c?-e:e}else b=c}return b},e.getPosition=function(){return this.pos},e.seek=function(a){this.pos=a,this.reset()},e.reset=function(){this.currentDimension=0,this.prev=s(this.dimensions,this.defaultValue),this.prevDeltaNegative=s(this.dimensions,!1)},e.isValue=f;var p,k,P=0,Y=1,L=2,z=3,I=4,ca=a.Util,b=a.DeltaIterator,U="rgb(255,255,255)",c="rgb(0,0,0)",ra="rgba(0,0,0,0)",W=!0;W&&(p={fontSize:10,fallbackCharacter:".",fontStretchPercent:1});var T,X,h=a.TILE_SIZE,v=0,w=!1;O.PARSE_COORDS_WORKER="js/parseCoordsWorker.js",a.renderPTV=O}(vectormaps),function(){var a=L.Map.prototype,g=a._resetView;a._resetView=function(){var a=[].slice.call(arguments);return a[1]=Math.floor(a[1]),g.apply(this,a)},L.TileLayer.Canvas.prototype.redraw=function(){if(this._map){this._prepareBgBuffer(),this._reset(),this._update();var a=this._tileContainer,g=this._bgBuffer;a.style.visibility="",a.parentNode.appendChild(a),L.Util.falseFn(g.offsetWidth)}return this}}(),function(a){function g(m){this.baseUrl=m}function n(m,c){h.get(m+"styles.json?timestamp="+(new Date).getTime(),c)}function q(m,c,d,b){function e(){++a===f.length&&b(null,d)}var f=Object.keys(d),a=0;d=h.object(f,f.map(function(b){var f;f=d[b];for(var a=f.length-1;a>=0&&f[a]>=window.devicePixelRatio;)a--;f=f[a+1]||f[a],b=/^https?:/.test(b)?b:m+"ts_"+c+"/symbols/"+b;var a=f>1?"@"+f+"x":"",l=b.lastIndexOf(".");return b=b.substr(0,l)+a+b.substr(l),a=new Image,a.src=b,a.onload=e,a.onerror=e,a.setAttribute("data-scaling",f),a}))}function p(a,c){var d=document.createElement("script");return d.src=a,d.onload=c,d.onerror=c,document.body.appendChild(d),d}var h=a.Util;a.styleManager=function(a){return new g(a)},a=g.prototype,h.extend(a,L.Mixin.Events),a.getStyles=function(a,c){function d(a){c&&e.updateSymbols?q(e.baseUrl,a.timestamp,a.symbols,function(c,a){e.symbols=a,e.updateSymbols=!1,b()}):b()}function b(){!e.styles||c&&e.updateSymbols||!e.typefaceFace||e.fire("reset")}var e=this;!e.styles||c&&e.updateSymbols?(e.loading||(e.loading=!0,e.styles?d(e.styles):n(e.baseUrl,function(b,c){b?a(b):(e.styles=c,e.updateSymbols=!0,d(c))}),e.typefaceFace||p(e.baseUrl+"fonts/dejavu_sans_condensed_ext.typeface.js",function(){e.typefaceFace=_typeface_js.faces["dejavu sans"].normal.normal,b()})),e.once("reset",function(){e.loading=!1,a(null,e._getStyles(c))})):a(null,e._getStyles(c))},a.getStylesWithSymbols=function(a){return this.getStyles(a,!0)},a._getStyles=function(a){var c=h.extend({},this.styles);return c.typefaceFace=this.typefaceFace,a&&(c.symbols=this.symbols),c},a.setStyles=function(a){this.styles=a,this.updateSymbols=!0,this.fire("update")},a.reloadStyles=function(){var a=this;a.inReload||(a.inReload=!0,n(this.baseUrl,function(c,d){c||a.setStyles(d),a.inReload=!1}))},a._setBaseUrl=function(a){this.baseUrl=a,this.reloadStyles()},a.loadThemes=function(a){h.get(this.baseUrl+"themes.json?timestamp="+(new Date).getTime(),a)}}(vectormaps),function(a){function g(a,d,b){var e=this,f=a["data-tileId"]=[b,d.x,d.y].join("/");e.inProgress[f]={cancel:function(){e.renderDone(f)},canvas:a},e.doDrawTile(f)}function n(c){var d=this,b=d.inProgress[c];if(void 0!==b&&void 0!==b.canvas){var e=d.overlaysByTileId[c];void 0!==e&&(h.push(function(f){d.inProgress[c]=a.renderOverlays(e,b.canvas,function(){f(),d.renderDone(c)})}),p())}}function q(a){var d=this.inProgress[a];void 0!==d&&(delete this.inProgress[a],this.tileDrawn(d.canvas))}function p(){!m&&h.length&&(m=!0,h.shift()(function(){m=!1,p()}))}var h=[],m=!1;a.overlayLayer=function(a){function d(){e-=.078125,0>e&&(e=0),b._bgBuffer.style.opacity=e,0==e&&null!=f&&(window.clearInterval(f),f=null)}a=a||{},a.async=!0,a.maxZoom=a.maxZoom||19;var b=L.tileLayer.canvas(a);b.inProgress={},b.overlaysByTileId={};var e=1,f=null,l=b._prepareBgBuffer;b._prepareBgBuffer=function(){null!=f&&(window.clearInterval(f),f=null),l.apply(b,arguments),e=b._tileContainer.style.opacity=1,f=window.setInterval(d,50)};var m=b._animateZoom;return b._animateZoom=function(){b.cancel(),m.apply(b,arguments)},b.drawTile=g,b.doDrawTile=n,b.renderDone=q,b.cancel=function(){var a=b.inProgress;Object.keys(a).forEach(function(b){a[b]&&a[b].cancel()})},b.on("tileunload",function(a){(a=b.inProgress[a.tile["data-tileId"]])&&a.cancel()}),b.setOverlays=function(a,c){b.overlaysByTileId[a]=c,b.doDrawTile(a)},b.resetOverlays=function(a){delete b.overlaysByTileId[a]},b.getNeighborOverlays=function(a){var c=a.split("/");a=parseInt(c[0]);for(var f=parseInt(c[1]),c=parseInt(c[2]),e=Array(9),d=-1;1>=d;++d)for(var l=-1;1>=l;++l)if(0!=d||0!=l){var m=b.overlaysByTileId[[a,f+d,c+l].join("/")];void 0!==m&&(e[3*(d+1)+l+1]=m)}return e},b}}(vectormaps),function(a){function g(m,c,d){function b(a){l.timestamp=g.timestamp,q.get(m["data-src"]=l.baseUrl+["tile","ts_"+g.timestamp,d,c.x,c.y].join("/"),a)}function e(b){!b&&x?(p.push(function(b){function c(){b(),f()}if(x)try{!v&&"ozs"in k&&"ozx"in k&&"ozy"in k&&(v={dx:k.ozx,dy:k.ozy,s:k.ozs}),k.overzoom=v,l.inProgress[w]=a.renderPTV(k,g,m,c,l.ignoreDashes,null,l.allowedElements,!!l.overlayLayer)}catch(e){throw c(),e}else c()}),n()):f()}function f(){var b=l.inProgress[w];if(void 0!==b&&x&&(delete l.inProgress[w],l.tileDrawn(m),b=b.overlays,void 0!==b)){for(var c=a.TILE_SIZE,f=b.length,e=Array(f),d=[],h=l.overlayLayer.getNeighborOverlays(w),g=-1;1>=g;++g)for(var k=-1;1>=k;++k)if(0!=g||0!=k){var p=h[3*(g+1)+k+1];if(void 0!==p){for(var n=g*c,q=k*c,r=0;f>r;++r)if(!e[r]){var s=b[r];e[r]=s.intersects(n,q,n+c,q+c)}for(s=p.length,r=0;s>r;++r){var v=p[r];if(v.intersectsLoosely(-n,-q,-n+c,-q+c)){for(var t=v.getWrappedOverlay(),y=!1,z=d.length,u=0;z>u;++u)if(d[u]===t){y=!0;break}y||d.push(a.overlayWrapper(v,n,q))}}}}for(c=d.length,r=0;f>r;++r)if(!e[r]){if(h=!1,s=b[r],t=s.getWrappedOverlay(),void 0!==t.text&&void 0!==t.rotation){for(u=0;c>u;++u)if(g=d[u],k=g.getWrappedOverlay(),void 0!==k.text&&void 0!==k.rotation&&k.text==t.text&&g.intersects(s.left,s.top,s.right,s.bottom)){h=!0;break}}else for(u=0;c>u;++u)if(g=d[u],k=g.getWrappedOverlay(),(void 0===k.text||void 0===k.rotation)&&g.intersects(s.left,s.top,s.right,s.bottom)){h=!0;break}h||d.push(s)}l.overlayLayer.setOverlays(w,d)}}var g,k,v,l=this,h=l.styleManager,w=m["data-tileId"]=[d,c.x,c.y].join("/"),x=!0;if(d>l.maxNonOverzoom){var t=Math.pow(2,d-l.maxNonOverzoom),A=Math.floor(c.x/t),B=Math.floor(c.y/t),C=c.x%t,D=c.y%t;d=l.maxNonOverzoom,c={x:A,y:B},v={dx:C,dy:D,s:t}}l.inProgress[w]={cancel:function(){f(),x=!1}},h.getStylesWithSymbols(function(a,c){a?f():(g=c,x&&b(function(a,b){k=b||{},k.Error&&(a=k.Error),e(a),k.Error&&h.reloadStyles()}))})}function n(){!h&&p.length&&(h=!0,p.shift()(function(){h=!1,n()}))}var q=a.Util,p=[],h=!1;a.vectorTileLayer=function(h,c,d){c=c||{},c.async=!0,c.maxZoom=c.maxZoom||19;var b=L.tileLayer.canvas(c);b.baseUrl=h,b.maxNonOverzoom=c.maxNonOverzoom||19,b.inProgress={},b.overlayLayer=d;var e=b._animateZoom;return b._animateZoom=function(){b.cancel(),e.apply(b,arguments)},b.drawTile=g,b.cancel=function(){var a=b.inProgress;Object.keys(a).forEach(function(b){a[b]&&a[b].cancel()})},b.setOverlayImageSources=function(){if(b.overlayLayer)for(var a in b.overlayLayer._tiles){var c=b.overlayLayer._tiles[a];c["data-src"]=b.baseUrl+["elements_t/tile","ts_"+b.timestamp,c["data-tileId"]].join("/")}},b.on("tileunload",function(a){a=a.tile["data-tileId"];var c=b.inProgress[a];c&&c.cancel(),b.overlayLayer&&b.overlayLayer.resetOverlays(a)}),b.styleManager=a.styleManager(h),b.styleManager.on("update",function(){b.redraw(),b.overlayLayer&&b.overlayLayer.redraw()}),b._setBaseUrl=function(a){var c=/\/elements_([^\/]*)/;a=c.exec(a),null!=a&&(a=a[1],b.baseUrl=b.baseUrl.replace(c,""),b.allowedElements=a)},b.setBaseUrl=function(a){b._setBaseUrl(a),b.styleManager._setBaseUrl(a)},b._setBaseUrl(h),b}}(vectormaps),function(a){var g=a.Browser,n=a.Util,q=g.canvas&&g.canvas.linedash&&g.worker&&g.xhr,p=Math.round(window.devicePixelRatio*a.TILE_SIZE);a.tileLayer=function(h,g){g=g||{},g.maxZoom=1/0;var c=q?a.vectorTileLayer(h,g):L.tileLayer(h+"tile/"+p+"/{z}/{x}/{y}.png",g);if(!q){var d=null,b=c.onAdd,e=c.onRemove;c.onAdd=function(a){d=a},c.onRemove=function(){d=null},n.get(h+"styles.json?timestamp="+(new Date).getTime(),function(a,g){if(!a&&(c.setUrl(h+"tile/ts_"+g.timestamp+"/"+p+"/{z}/{x}/{y}.png",!0),c.onAdd=b,c.onRemove=e,d)){c.onAdd(d);var f=d._panes.tilePane,k=f.childNodes,m=f.removeChild(k[k.length-1]);0==k.length?f.appendChild(m):f.insertBefore(m,k[0]),d=null}})}if(c.cancel){var f=c.addTo;c.addTo=function(a){return a.on("zoomstart",c.cancel),f.apply(this,arguments)}}return c}}(vectormaps),function(a){var g=a.Util,n=a.TILE_SIZE;a.tileIdLayer=function(){var a=L.tileLayer.canvas({maxZoom:19});return a.drawTile=function(a,h,m){var c=a.getContext("2d");h=[m,h.x,h.y].join("/"),g.scaleCanvasForHighres(a),c.strokeStyle="rgb(255,255,255)",c.lineWidth=3,c.lineJoin="round",c.strokeText(h,5,13),c.fillStyle="rgb(0,0,0)",c.fillText(h,5,13),c.beginPath(),c.rect(0,0,n,n),c.strokeStyle="rgba(0,0,0,0.5)",c.lineWidth=1,c.lineJoin="miter",c.stroke()},a}}(vectormaps),function($,win){"use strict";function init(theInitSettings){try{config=dl.model.Configuration,util=dl.common.ParseUtil,settings=$.extend(!0,{},defaultSettings,theInitSettings),initSettings=theInitSettings,initEnvironment(),initDebug(),handleSettings(),dl.controller.Widget.init(),dl.controller.Progress.init(),initConfiguration()}catch(e){dl.log("Init::Initialization is failed"),dl.log(e),dl.errorCallback(new dl.error.InitializationError("Init::initialization is failed","INITIALIZATION_FAILED"))}}function initEnvironment(){dl.env.Environment.init(settings.env),dl.pageConfig=dl.env.Environment.getCurrentEnvironment(),dl.pageConfig.service.cloud===!0&&0==dl.pageConfig.service.baseUrl.indexOf("/")&&(dl.pageConfig.service.baseUrl="https://dealerlocator.mercedes-benz.com"+(win.location.port?":"+win.location.port:"")+dl.pageConfig.service.baseUrl,dl.pageConfig.service.dataBaseUrl=win.location.hostname+(win.location.port?":"+win.location.port:"")+dl.pageConfig.service.baseUrl)}function initDebug(){util.isStrNotEmpty(settings.debug)&&_.each(settings.debug.split(","),function(flag){dl.DEBUG[flag]=!0})}function handleSettings(){var apiEndpoint=dl.pageConfig.service.baseUrl.substring(0,dl.pageConfig.service.baseUrl.indexOf("/dl/"));if(util.isStrNotEmpty(settings.api_endpoint)&&(apiEndpoint=settings.api_endpoint),apiEndpoint.lastIndexOf("/")!=apiEndpoint.length-1&&(apiEndpoint+="/"),settings.api_endpoint=apiEndpoint,dl.pageConfig.service.baseUrl=apiEndpoint+"dl/api/v1/",util.isStrNotEmpty(settings.api_data_endpoint)?dl.pageConfig.service.dataBaseUrl=settings.api_data_endpoint+"dl/api/v1/":(settings.api_data_endpoint=settings.api_endpoint,dl.pageConfig.service.dataBaseUrl=dl.pageConfig.service.baseUrl),util.isStrNotEmpty(settings.lang)?dl.pageConfig.service.locale=settings.lang:settings.lang=dl.pageConfig.service.locale,util.isStrNotEmpty(settings.token)?dl.pageConfig.service.token=settings.token:settings.token=dl.pageConfig.service.token,util.isStrNotEmpty(settings.SKU)){var items=settings.SKU.split("@");util.isStrNotEmpty(items[1])?(settings.organization=items[1],dl.pageConfig.service.organization=settings.organization):settings.organization=dl.pageConfig.service.organization,util.isStrNotEmpty(items[0])?(settings.sku=items[0],dl.pageConfig.service.config=settings.sku):settings.sku=dl.pageConfig.service.config}else util.isStrNotEmpty(settings.organization)?dl.pageConfig.service.organization=settings.organization:settings.organization=dl.pageConfig.service.organization,util.isStrNotEmpty(settings.sku)?dl.pageConfig.service.config=settings.sku:settings.sku=dl.pageConfig.service.config;"eMB-MyM-DL"==settings.templateset?dl.pageConfig.service.templateset=settings.templateset:settings.templateset=dl.pageConfig.service.templateset;var localeParts=settings.lang.split("_");localeParts.length>1?(settings.language=localeParts[0],settings.country=localeParts[1],dl.pageConfig.language=settings.language,dl.pageConfig.country=settings.country):(settings.language=settings.lang,dl.pageConfig.language=settings.language);var contentRoot=util.isStrNotEmpty(settings.content_root)?settings.content_root:computeContentRoot(settings);contentRoot.lastIndexOf("/")!=contentRoot.length-1&&(contentRoot+="/"),dl.pageConfig.service.contentRoot=contentRoot;var initState=$.extend(!0,{},defaultState,initSettings.current_state);state=dl.model.State.Create(initState),config.setCurrentState(state),config.setWidgetSettings(settings),config.setWidgetContainerId(settings.element),config.setOperating(settings.operating),config.setViewMode(settings.viewMode),config.setLogoUrl(settings.logoUrl),config.setSpinnerEnabled(config.isDealerSearchOperation()),config.setUserTrackingEnabled(config.isDealerSearchOperation()),config.setLinkJumpTo(settings.linkJumpTo),config.setFormButtonStyle(settings.formButtonStyle),config.setShowBackButton(settings.show_backbutton),config.setPageSize(settings.page_size),config.setDataContext(settings.dataContext),config.setAdditionalURLParameters(settings.additionalURLParameters),config.setDealerSelectorMode(settings.dealerSelectorMode),config.setShowSearchForm(settings.show_searchform),config.setSearchCurrent(settings.search_current),config.setCallbacks({selected:settings.selected_callback,displayWait:settings.display_wait_callback,hideWait:settings.hide_wait_callback,backButton:settings.backbutton_callback,configurationAvailable:settings.configuration_available_callback,error:settings.error_callback,tracking:settings.tracking_callback,dealersFound:settings.dealers_found_callback}),util.isStrNotEmpty(settings.style)&&config.setStyle(settings.style)}function computeContentRoot(settings){var url="";try{var hostRegEx=/^(http(s)?:)?(\/?\/?([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,hostMatchResult=settings.api_endpoint.match(hostRegEx);url=hostMatchResult[4],dl.isCloudEnvironment()?url+="/dls1/dealersearch/":(url+="/INTERSHOP/static/WFS/",url+=settings.organization+"-consumer-Site",url+="/-/-/"+settings.lang+"/widget/dealerselector/theme/eMB-MyM-DL/")}catch(e){url="",dl.log("Init::Compute content root failed"),dl.log(e)}return url}function initConfiguration(){configInitialized=new $.Deferred,dl.controller.Progress.show(),dl.util.Service.invoke("get_configuration",{templateset:dl.pageConfig.service.templateset},{cache:!0}).then(function(data){try{dl.config=data,handleConfiguration(),initContextFilter(),configInitialized.resolve(),dl.callCallback(config.getCallbacks().configurationAvailable,[data])}catch(e){configInitialized.reject(),dl.log("Init::Widget initialization is not completed"),dl.log(e),dl.errorCallback(new dl.error.InitializationError("Init::Widget initialization is not completed","INITIALIZATION_NOT_COMPLETED"))}},function(e){configInitialized.reject(),dl.log("Init::Error loading widget configuration"),dl.errorCallback(new dl.error.ConfigurationError("Init::Error loading widget configuration","CONFIGURATION_NOT_LOADED"))}).always(function(){dl.controller.Progress.hide()})}function handleConfiguration(){var headerClaimContext,controlI18nKeys={DefaultShopLocatorHeadline:!0,DefaultShopLocatorSearchResultHeadline:!0,DefaultShopLocatorDetailPageHeadline:!0,name:!0};$.each(dl.config.control,function(key,value){var prefix=dl.pageConfig.service.templateset+".text.";if(util.isStrNotEmpty(key)&&0==key.indexOf(prefix)){var resourceKey=key.substring(prefix.length);dl.config.resources[resourceKey]=value}}),dl.log(dl.config),"true"==dl.lookupConfig("useUrlParamsForConfig","false")&&extractUrlParamsForConfig(),config.init(),"true"==dl.lookupConfig("startup.showAll","false")&&config.setViewMode("allview"),config.isDealerSearchOperation()&&!config.isDealerDetailsEnabled()?config.setFavoriteActive(!1):"listview"==config.getViewMode()||"detailview"==config.getViewMode()||"positionview"==config.getViewMode()?config.setFavoriteActive(!1):"dealer_by_ids"==config.getSearchCurrent()?config.setFavoriteActive(!1):config.setFavoriteActive(lookupParameter("favorite.active","favoriteActive")),config.setFavoriteHideAdress(lookupParameter("favorite.hideAdress","favoriteHideAdress")),config.setFavoriteHidePhoneFax(lookupParameter("favorite.hidePhoneFax","favoriteHidePhoneFax")),config.setFavoriteHideEmail(lookupParameter("favorite.hideEmail","favoriteHideEmail")),config.setFavoriteHideHomepage(lookupParameter("favorite.hideHomepage","favoriteHideHomepage")),config.setFavoriteHideContact(lookupParameter("favorite.hideContact","favoriteHideContact")),config.setFormRegionMainOption(lookupParameter("form.regionMainOption","formRegionMainOption")),config.setFormRegionDropdown(lookupParameter("form.regionDropdown","formRegionDropdown")),config.setFormSubregionDropdown(lookupParameter("form.subregionDropdown","formSubregionDropdown")),config.setFormRegionSubregionCascade(lookupParameter("form.regionSubregionCascade","formRegionSubregionCascade")),config.setRouteSymbols(lookupParameter("route.symbols","routeSymbols")),config.setPrintEnabled(lookupParameter("print.enabled","printEnabled")),config.setVisibleGridCountX(lookupParameter("clustering.visibleGridCount.x","clusteringVisibleGridCountX")),config.setVisibleGridCountY(lookupParameter("clustering.visibleGridCount.y","clusteringVisibleGridCountY")),config.setListViewSorting(lookupParameter("listView.sorting","listViewSorting")),config.setMapMinZoom(lookupParameter("map.minZoom","mapMinZoom")),config.setMapMaxZoom(lookupParameter("map.maxZoom","mapMaxZoom")),config.setMapBound1(lookupParameter("map.bound1","mapBound1")),config.setMapBound2(lookupParameter("map.bound2","mapBound2")),config.setMapMaxBound1(lookupParameter("map.maxBound1","mapMaxBound1")),config.setMapMaxBound2(lookupParameter("map.maxBound2","mapMaxBound2")),config.setMapPrimarySource(lookupParameterWithRessources("map.primarySource","mapPrimarySource")),config.setLinkTextInfoBubble(lookupParameter("linkTextInfoBubble","linkTextInfoBubble")),config.setExpandForm(lookupParameter("expandForm","expandForm")),config.setLinkTextLeftNavi(lookupParameter("linkTextLeftNavi","linkTextLeftNavi")),config.setFormPreselect(lookupParameter("form.preselect","formPreselect")),config.setHideGeoSearch(lookupParameter("hideGeoSearch","hideGeoSearch")),config.getShowSearchForm()||config.setPrintEnabled(!1),config.isDealerSearchOperation()&&!dl.isPluginMode()?config.setCookiePolicyActive(lookupParameter("cookiePolicy.active","cookiePolicyActive")):config.setCookiePolicyActive(!1),config.isDealerSearchOperation()&&!dl.isPluginMode()?(config.setHideHeader(lookupParameter("hideHeader","hideHeader")),config.setHideFooter(lookupParameter("hideFooter","hideFooter"))):(config.setHideHeader(!0),config.setHideFooter(!0)),config.setSwapAddressLines(dl.lookupConfig("dealerData.swapAddressLines",!1)),config.setHideActivityIcons(dl.lookupConfig("portfolio.hideActivityIcons","false")),config.setDisplayProductGroups(dl.lookupConfig("result.displayProductGroups",!1)),config.setVCardActive(dl.lookupConfig("vcard.active",!0)),config.setFormHideExtendedOptions(dl.lookupConfig("form.hideExtendedOptions",!1)),config.setServiceProductBlockSize(dl.lookupConfig("details.serviceProductBlockSize","small")),headerClaimContext=dl.lookupConfig("header.claimContext","passengercar"),_.contains(["passengercar","truck","van","bus","noclaim"],headerClaimContext)?config.setHeaderClaimContext(headerClaimContext):config.setHeaderClaimContext("passengercar"),config.setDealerPorfolioMediaMapping(dl.lookupConfig("porfolio.media.mapping",[{exp:"act_paint_body",media:{thumbnail:{name:"paint-body",path:"/xp/activities"},thumbnailLight:{name:"paint-body-light",path:"/xp/activities"}}},{exp:"act_new_vehicles",media:{thumbnail:{name:"new-vehicles",path:"/xp/activities"},thumbnailLight:{name:"new-vehicles-light",path:"/xp/activities"}}},{exp:"act_service",media:{thumbnail:{name:"service",path:"/xp/activities"},thumbnailLight:{name:"service-light",path:"/xp/activities"}}},{exp:"act_used_vehicles",media:{thumbnail:{name:"used-vehicles",path:"/xp/activities"},thumbnailLight:{name:"used-vehicles-light",path:"/xp/activities"}}},{exp:"act_parts",media:{thumbnail:{name:"parts-sale",path:"/xp/activities"},thumbnailLight:{name:"parts-sale-light",path:"/xp/activities"}}},{exp:"act_amg_performance_center",media:{thumbnail:{name:"amg",path:"/xp/activities"},thumbnailLight:{name:"amg-light",path:"/xp/activities"}}},{exp:"prg_bus",media:{thumbnail:{name:"bus",path:"/xp/productgroups"},thumbnailLight:{name:"bus-light",path:"/xp/productgroups"}}},{exp:"prg_passenger_car",media:{thumbnail:{name:"passenger-car",path:"/xp/productgroups"},thumbnailLight:{name:"passenger-car-light",path:"/xp/productgroups"}}},{exp:"prg_truck",media:{thumbnail:{name:"truck",path:"/xp/productgroups"},thumbnailLight:{name:"truck-light",path:"/xp/productgroups"}}},{exp:"prg_unimog",media:{thumbnail:{name:"unimog",path:"/xp/productgroups"},thumbnailLight:{name:"unimog-light",path:"/xp/productgroups"}}},{exp:"prg_transporter",media:{thumbnail:{name:"transporter",path:"/xp/productgroups"},thumbnailLight:{name:"transporter-light",path:"/xp/productgroups"}}}])),dl.i18n=_.extend(dl.i18n||{},extractI18n(dl.config.control,"control.",controlI18nKeys),dl.config.resources)}function extractI18n(jsonMap,keyPrefix,i18nKeys,msgArr){return msgArr=msgArr||[],_.each(jsonMap,function(value,key){i18nKeys[key]?msgArr[keyPrefix+key]=value:$.isPlainObject(value)&&extractI18n(value,keyPrefix+key+".",i18nKeys,msgArr)}),msgArr}function extractUrlParamsForConfig(){var config=dl.config.configuration,text=dl.config.resources,control=dl.config.control,urlParams=splitUrlParams();_.each(urlParams,function(value,key){"~"==value&&(value=""),0==key.indexOf("text.")?text[key.substring(5)]=value:0==key.indexOf("conf.")?config[key.substring(5)]=value:0==key.indexOf("control.")&&(-1!=key.indexOf("PresentationCountryFilter")?control[key.substring(8)]=value.split("|"):-1!=key.indexOf("RoutePlanner.Street.Enabled")?control[key.substring(8)]=parseInt(value):control[key.substring(8)]=value)})}function render(){try{dl.controller.Progress.show(),$.when(configInitialized).then(function(){dl.controller.Widget.render(),dl.controller.Progress.hide()}).fail(function(){dl.controller.Progress.hide()}),win.setTimeout(function(){navigator.userAgent.indexOf("Firefox")>-1&&navigator.userAgent.indexOf("Android")>-1&&config.isDealerSearchOperation()&&!dl.isPluginMode()&&($("body").children("input").remove(),$("body").children("div").not(".rdl-app").remove())},100)}catch(e){dl.controller.Progress.hide(),dl.log("Render::Widget rendering is failed"),dl.log(e),dl.errorCallback(new dl.error.RenderingError("Render::Widget rendering is failed","WIDGET_RENDERING_FAILED"))}}function initContextFilter(){var i,contextFilter={sku:null,org:null,activities:[],productGroups:[],gssnActivities:[],gssnProductGroups:[]},productGroup=state.getProductGroup(),activities=state.getActivities(),gssnProductGroups=state.getGssnPrdGrps(),gssnActivities=state.getGssnActivities();if(util.isStrNotEmpty(productGroup)||util.isArrayNotEmpty(activities)||state.getDynamicApplicationContext()){if(util.isStrNotEmpty(productGroup)&&contextFilter.productGroups.push(productGroup),util.isArrayNotEmpty(activities))for(i=0;i<activities.length;i++)contextFilter.activities.push(activities[i]);if(state.getDynamicApplicationContext()&&util.isAttrNotEmpty(state.getApplicationContext())){var parser=dl.common.ContextParser,contextRules=parser.compileContextRules(state.getApplicationContext(),dl.config.configuration);parser.evaluateContextRules(state.getApplicationContext(),contextFilter,contextRules)}config.setContextFilter(contextFilter),(util.isArrayNotEmpty(contextFilter.activities)||util.isArrayNotEmpty(contextFilter.productGroups))&&(state.setIncludeDealerData(!0),state.setIncludeDealerPrograms(!0))}(util.isStrNotEmpty(gssnProductGroups)||util.isStrNotEmpty(gssnActivities))&&(util.isStrNotEmpty(gssnProductGroups)&&(contextFilter.gssnProductGroups=gssnProductGroups.split(",")),util.isStrNotEmpty(gssnActivities)&&(contextFilter.gssnActivities=gssnActivities.split(",")),config.setContextFilter(contextFilter),(util.isArrayNotEmpty(contextFilter.gssnProductGroups)||util.isArrayNotEmpty(contextFilter.gssnActivities))&&(state.setIncludeDealerData(!0),state.setIncludeDealerPrograms(!0))),util.isAttrNotEmpty(config.getContextFilter())&&(dl.log("Widget::Context filter:"),dl.log(config.getContextFilter()))}function lookupParameter(key,settingsKey){var value=dl.lookupConfig(key,defaultSettings[settingsKey]);return util.isAttrNotEmpty(initSettings[settingsKey])&&(value=settings[settingsKey]),value}function lookupParameterWithRessources(key,settingsKey){var value=dl.lookupResources(key,defaultSettings[settingsKey]);return util.isAttrNotEmpty(initSettings[settingsKey])&&(value=settings[settingsKey]),value}function splitUrlParams(){for(var match,urlParamMap={},search=location.search,regex=new RegExp("[?&]([^=&]+)=?([^&]+)?","g");null!==(match=regex.exec(search));)urlParamMap[decodeURIComponent(match[1])]=decodeURIComponent(match[2]);return urlParamMap}function getCurrentState(){return state.getStateObject()}function abortSearch(){dl.controller.Search.resetSearchForm(),dl.model.Dealers.setUserPosition(null),dl.model.Dealers.set(null)}var dl=win.dl=win.dls1={env:{},config:{},model:{},controller:{},common:{},util:{},error:{},urlParams:splitUrlParams()};win.nscommon=dl.common,dl.DEBUG={};var state,config,util,configInitialized,settings={},initSettings={},defaultSettings={element:"",context:"",token:"",lang:"",locale:"",SKU:"",sku:"",organization:"",api_endpoint:"",api_data_endpoint:"",content_root:"",error_callback:function(){},display_wait_callback:function(){},hide_wait_callback:function(){},selected_callback:function(){},backbutton_callback:function(){},tracking_callback:function(){},configuration_available_callback:function(){},dealers_found_callback:function(){},show_backbutton:!1,show_searchform:!0,current_state:{},search_current:"",templateset:"eMB-MyM-DL",dataContext:"",page_size:10,additionalURLParameters:"",env:"prod",operating:"dealerselector",expandForm:!1,viewMode:"",favoriteActive:!1,favoriteHideAdress:!1,favoriteHidePhoneFax:!0,favoriteHideEmail:!0,favoriteHideHomepage:!0,favoriteHideContact:!0,formRegionMainOption:!1,formRegionDropdown:!1,formSubregionDropdown:!1,formRegionSubregionCascade:!1,formButtonStyle:"color",routeSymbols:!1,printEnabled:!0,clusteringVisibleGridCountX:8,clusteringVisibleGridCountY:8,listViewSorting:!1,hideHeader:!1,hideFooter:!1,logoUrl:"",mapMaxZoom:18,mapMinZoom:3,mapBound1:"55,-1",mapBound2:"47.2,15",mapMaxBound1:"-85,-180",mapMaxBound2:"85,180",mapPrimarySource:"deu",debug:"",linkTextInfoBubble:"",linkTextLeftNavi:"",formPreselect:"",hideGeoSearch:!1,linkJumpTo:"",dealerSelectorMode:!1,cookiePolicyActive:!0},defaultState={city:"",postcode:"",name:"",radius:"",region:"",subregion:"",gssnBrands:"",gssnActivities:"",gssnPrdGrps:"",sortOrderName:"",sortOrderZipCity:"",ids:"",idType:"",includeDealerData:!1,includeDealerPrograms:!1,dynamicApplicationContext:!1,applicationContext:null,productGroup:"",activities:[]};win.MBMapDealerSelectorWidget=win.MB_DealerSelector_Widget=function(){return{init:init,render:render,getCurrentState:getCurrentState,get_current_state:getCurrentState,abortSearch:abortSearch}}}(jQuery,window),function($,win,nscommon){"use strict";function splitUrlParams(){for(var match,urlParamMap={},search=location.search,regex=new RegExp("[?&]([^=&]+)=?([^&]+)?","g");null!==(match=regex.exec(search));)urlParamMap[decodeURIComponent(match[1])]=decodeValue(match[2]);return urlParamMap}function decodeValue(value){var result=value;return result&&(result=result.replace(/\+/g,"%20"),result=decodeURIComponent(result)),result}var urlParams=splitUrlParams();nscommon.WidgetSettingsBuilder={buildFromUrl:function(defaultSettings){var util=nscommon.ParseUtil;util=nscommon.ParseUtil,defaultSettings=defaultSettings||{};var settings=$.extend(!0,{},defaultSettings);return util.isStrNotEmpty(urlParams.locale)&&(settings.lang=urlParams.locale),util.isStrNotEmpty(urlParams.lang)&&(settings.lang=urlParams.locale),util.isStrNotEmpty(urlParams.env)&&(settings.env=urlParams.env),
util.isStrNotEmpty(urlParams.organization)&&(settings.organization=urlParams.organization),util.isStrNotEmpty(urlParams.sku)&&(settings.sku=urlParams.sku),util.isStrNotEmpty(urlParams.expandForm)&&(settings.expandForm="true"==urlParams.expandForm),util.isStrNotEmpty(urlParams.mode)&&(settings.viewMode=urlParams.mode),util.isStrNotEmpty(urlParams.viewMode)&&(settings.viewMode=urlParams.viewMode),util.isStrNotEmpty(urlParams.cookiePolicyActive)&&(settings.cookiePolicyActive="true"==urlParams.cookiePolicyActive),util.isStrNotEmpty(urlParams["favorite.active"])&&(settings.favoriteActive="true"==urlParams["favorite.active"]),util.isStrNotEmpty(urlParams["favorite.hideAdress"])&&(settings.favoriteHideAdress="true"==urlParams["favorite.hideAdress"]),util.isStrNotEmpty(urlParams["favorite.hidePhoneFax"])&&(settings.favoriteHidePhoneFax="true"==urlParams["favorite.hidePhoneFax"]),util.isStrNotEmpty(urlParams["favorite.hideEmail"])&&(settings.favoriteHideEmail="true"==urlParams["favorite.hideEmail"]),util.isStrNotEmpty(urlParams["favorite.hideHomepage"])&&(settings.favoriteHideHomepage="true"==urlParams["favorite.hideHomepage"]),util.isStrNotEmpty(urlParams["favorite.hideContact"])&&(settings.favoriteHideContact="true"==urlParams["favorite.hideContact"]),util.isStrNotEmpty(urlParams["form.regionMainOption"])&&(settings.formRegionMainOption="true"==urlParams["form.regionMainOption"]),util.isStrNotEmpty(urlParams["form.regionDropdown"])&&(settings.formRegionDropdown="true"==urlParams["form.regionDropdown"]),util.isStrNotEmpty(urlParams["form.subregionDropdown"])&&(settings.formSubregionDropdown="true"==urlParams["form.subregionDropdown"]),util.isStrNotEmpty(urlParams["form.regionSubregionCascade"])&&(settings.formRegionSubregionCascade="true"==urlParams["form.regionSubregionCascade"]),util.isStrNotEmpty(urlParams["route.symbols"])&&(settings.routeSymbols="true"==urlParams["route.symbols"]),util.isStrNotEmpty(urlParams["print.enabled"])&&(settings.printEnabled="true"==urlParams["print.enabled"]),util.isStrNotEmpty(urlParams.visibleGridCountX)&&(settings.clusteringVisibleGridCountX=parseInt(urlParams.visibleGridCountX)),util.isStrNotEmpty(urlParams.visibleGridCountY)&&(settings.clusteringVisibleGridCountY=parseInt(urlParams.visibleGridCountY)),util.isStrNotEmpty(urlParams["clustering.visibleGridCount.x"])&&(settings.clusteringVisibleGridCountX=parseInt(urlParams["clustering.visibleGridCount.x"])),util.isStrNotEmpty(urlParams["clustering.visibleGridCount.y"])&&(settings.clusteringVisibleGridCountY=parseInt(urlParams["clustering.visibleGridCount.y"])),util.isStrNotEmpty(urlParams["listView.sorting"])&&(settings.listViewSorting="true"==urlParams["listView.sorting"]),util.isStrNotEmpty(urlParams.hideHeader)&&(settings.hideHeader="true"==urlParams.hideHeader),util.isStrNotEmpty(urlParams.hideFooter)&&(settings.hideFooter="true"==urlParams.hideFooter),util.isStrNotEmpty(urlParams.logoUrl)&&(settings.logoUrl=urlParams.logoUrl),util.isStrNotEmpty(urlParams.Headline)&&(settings.headline=urlParams.Headline),util.isStrNotEmpty(urlParams.headline)&&(settings.headline=urlParams.headline),util.isStrNotEmpty(urlParams.dsmode)&&(settings.dealerSelectorMode="true"==urlParams.dsmode),util.isStrNotEmpty(urlParams.maxZoom)&&(settings.mapMaxZoom=parseInt(urlParams.maxZoom)),util.isStrNotEmpty(urlParams.minZoom)&&(settings.mapMinZoom=parseInt(urlParams.minZoom)),util.isStrNotEmpty(urlParams.mapBound1)&&(settings.mapBound1=urlParams.mapBound1),util.isStrNotEmpty(urlParams.mapBound2)&&(settings.mapBound2=urlParams.mapBound2),util.isStrNotEmpty(urlParams.maxBound1)&&(settings.mapMaxBound1=urlParams.maxBound1),util.isStrNotEmpty(urlParams.maxBound2)&&(settings.mapMaxBound2=urlParams.maxBound2),util.isStrNotEmpty(urlParams.mapPrimarySource)&&(settings.mapPrimarySource=urlParams.mapPrimarySource),util.isStrNotEmpty(urlParams["map.maxZoom"])&&(settings.mapMaxZoom=parseInt(urlParams["map.maxZoom"])),util.isStrNotEmpty(urlParams["map.minZoom"])&&(settings.mapMinZoom=parseInt(urlParams["map.minZoom"])),util.isStrNotEmpty(urlParams["map.bound1"])&&(settings.mapBound1=urlParams["map.bound1"]),util.isStrNotEmpty(urlParams["map.bound2"])&&(settings.mapBound2=urlParams["map.bound2"]),util.isStrNotEmpty(urlParams["map.maxBound1"])&&(settings.mapMaxBound1=urlParams["map.maxBound1"]),util.isStrNotEmpty(urlParams["map.maxBound2"])&&(settings.mapMaxBound2=urlParams["map.maxBound2"]),util.isStrNotEmpty(urlParams["map.primarySource"])&&(settings.mapPrimarySource=urlParams["map.primarySource"]),util.isStrNotEmpty(urlParams.dbgDealerIDs)&&(settings.current_state=settings.current_state||{},settings.current_state.ids=urlParams.dbgDealerIDs.split(",")),util.isStrNotEmpty(urlParams.dealerDetailID)&&(settings.current_state=settings.current_state||{},settings.current_state.ids=urlParams.dealerDetailID.split(",")),util.isStrNotEmpty(urlParams.debug)&&(settings.debug=urlParams.debug),util.isStrNotEmpty(urlParams.Linktextinfobubble)&&(settings.linkTextInfoBubble=urlParams.Linktextinfobubble),util.isStrNotEmpty(urlParams.linkTextInfoBubble)&&(settings.linkTextInfoBubble=urlParams.linkTextInfoBubble),util.isStrNotEmpty(urlParams.Linktextleftnavi)&&(settings.linkTextLeftNavi=urlParams.Linktextleftnavi),util.isStrNotEmpty(urlParams.linkTextLeftNavi)&&(settings.linkTextLeftNavi=urlParams.linkTextLeftNavi),util.isStrNotEmpty(urlParams.preselect)&&(settings.formPreselect=urlParams.preselect),util.isStrNotEmpty(urlParams.formPreselect)&&(settings.formPreselect=urlParams.formPreselect),util.isStrNotEmpty(urlParams.hideGeoSearch)&&(settings.hideGeoSearch="true"==urlParams.hideGeoSearch),util.isStrNotEmpty(urlParams.jumpTo)&&(settings.linkJumpTo=urlParams.jumpTo),util.isStrNotEmpty(urlParams.JumpTo)&&(settings.linkJumpTo=urlParams.JumpTo),util.isStrNotEmpty(urlParams.linkJumpTo)&&(settings.linkJumpTo=urlParams.linkJumpTo),util.isStrNotEmpty(urlParams.setname)&&(settings.current_state=settings.current_state||{},settings.current_state.name=urlParams.setname),util.isStrNotEmpty(urlParams.setzip)&&(settings.current_state=settings.current_state||{},settings.current_state.postcode=urlParams.setzip),util.isStrNotEmpty(urlParams.setcity)&&(settings.current_state=settings.current_state||{},settings.current_state.city=urlParams.setcity),util.isStrNotEmpty(urlParams.execute)&&"true"==urlParams.execute&&(util.isStrNotEmpty(urlParams.setname)||util.isStrNotEmpty(urlParams.setzip)||util.isStrNotEmpty(urlParams.setcity))&&(settings.search_current="dealer_by_addressAndName"),util.isStrNotEmpty(urlParams.style)&&(settings.style=urlParams.style),util.isStrNotEmpty(urlParams.gssnBrands)&&(settings.current_state=settings.current_state||{},settings.current_state.gssnBrands=urlParams.gssnBrands),settings}}}(jQuery,window,nscommon),function(win,$,nscommon){"use strict";var CustomForm={$root:null,initDone:!1,init:function($root){CustomForm.$root=$root,CustomForm.initDone=!0,CustomForm.update()},update:function(){for(var textnode,option,active,inputs=CustomForm.$root.find("input").get(),span=Array(),inputs_len=inputs.length,a=0;inputs_len>a;a++)$(inputs[a]).next().hasClass("dl-"+inputs[a].type)||("checkbox"!=inputs[a].type&&"radio"!=inputs[a].type||!$(inputs[a]).hasClass("dl-styled")||(span[a]=document.createElement("span"),span[a].className="dl-"+inputs[a].type,1==inputs[a].checked&&$(span[a]).addClass("dl-checked"),inputs[a].parentNode.insertBefore(span[a],inputs[a].nextSibling),inputs[a].onchange=CustomForm.clear,inputs[a].getAttribute("disabled")?span[a].className=span[a].className+=" dl-disabled":(span[a].onmousedown=CustomForm.pushed,span[a].onmouseup=CustomForm.check)),CustomForm.$root.find("input + span + label").click(function(){$(this).prev().prev().focus()}));for(inputs=CustomForm.$root.find("select").get(),inputs_len=inputs.length,a=0;inputs_len>a;a++)if($(inputs[a]).next().hasClass("dl-select-wrap"));else if($(inputs[a]).hasClass("dl-styled")){option=inputs[a].getElementsByTagName("option"),active=$(option[0]).text(),textnode=document.createTextNode(active);for(var b=0;b<option.length;b++)1==option[b].selected&&(textnode=document.createTextNode($(option[b]).text()));var spanWrap=document.createElement("span");spanWrap.className="dl-select-wrap",span[a]=document.createElement("span"),span[a].className="dl-select",span[a].id=inputs[a].name,span[a].appendChild(textnode),spanWrap.appendChild(span[a]),inputs[a].parentNode.insertBefore(spanWrap,inputs[a].nextSibling),inputs[a].getAttribute("disabled")?inputs[a].previousSibling.className=inputs[a].previousSibling.className+=" dl-disabled":inputs[a].onchange=CustomForm.choose}},pushed:function(){},check:function(){var element=this.previousSibling;if(1==element.checked&&"checkbox"==element.type)$(this).removeClass("dl-checked"),$(element).prop("checked",!1),$(element).trigger("change");else{if("checkbox"==element.type)$(this).addClass("dl-checked");else{$(this).addClass("dl-checked");for(var group=this.nextSibling.name,inputs=CustomForm.$root.find("input").get(),a=0;a<inputs.length;a++)inputs[a].name==group&&inputs[a]!=this.previousSibling&&$(this).next().removeClass("dl-checked")}$(element).prop("checked",!0),$(element).trigger("change"),$(element).focus()}},clear:function(){for(var inputs=CustomForm.$root.find("input").get(),b=0;b<inputs.length;b++)"checkbox"==inputs[b].type&&1==inputs[b].checked&&"dl-styled"==inputs[b].className?$(inputs[b]).next().addClass("dl-checked"):"checkbox"==inputs[b].type&&"dl-styled"==inputs[b].className?$(inputs[b]).next().removeClass("dl-checked"):"radio"==inputs[b].type&&1==inputs[b].checked&&"dl-styled"==inputs[b].className?$(inputs[b]).next().addClass("dl-checked"):"radio"==inputs[b].type&&"dl-styled"==inputs[b].className&&$(inputs[b]).next().removeClass("dl-checked")},choose:function(){for(var options=$(this).find("option").get(),d=0;d<options.length;d++)1==options[d].selected&&$(this).parent().find(".dl-select-wrap .dl-select").text($(options[d]).text())}};nscommon.CustomForm=CustomForm}(window,jQuery,nscommon),function(win,nscommon){"use strict";function Spinner(opts){var me=this;opts=me.opts=defaults(opts,_defaults);var outerRadius=opts.radius+opts.width+(opts.shadow||1),size=2*outerRadius,el=me.el=document.createElement("canvas");el.className="spinner",el.width=size,el.height=size;var style=el.style;style.position="fixed",style.top="50%",style.left="50%",style.marginTop=-outerRadius+"px",style.marginLeft=-outerRadius+"px",style.zIndex=1e4}function defaults(opts,defs){opts=opts||{};for(var key in defs)"undefined"==typeof opts[key]&&(opts[key]=defs[key]);return opts}nscommon.Spinner=Spinner;var _defaults={radius:30,width:15,color:"white",bgColor:"rgba(127, 127, 127, 0.5)",shadow:!1,shadowColor:"black",speed:2e3},fps=30,spinnerProto=Spinner.prototype;spinnerProto.spin=function(target){var me=this,el=me.el;return target&&target.appendChild(el),me.start=(new Date).getTime(),me._draw(),target?me:el},spinnerProto._draw=function(){var me=this,el=me.el;!el.getContext&&window.G_vmlCanvasManager&&G_vmlCanvasManager.initElement(el),me.initialized||(me.initialized=!0);var ctx=el.getContext("2d"),opts=me.opts,outerRadius=opts.radius+opts.width+(opts.shadow||1),strokeRadius=opts.radius+opts.width/2,size=2*outerRadius;me.tid=setTimeout(function(){me.aid=requestAnimationFrame(function(){me._draw()});var deltaTime=(new Date).getTime()-me.start,animationProgress=deltaTime/opts.speed%1,rad=2*animationProgress*Math.PI;ctx.clearRect(0,0,size,size),ctx.beginPath(),ctx.arc(outerRadius,outerRadius,strokeRadius,0,2*Math.PI),ctx.lineWidth=opts.width,opts.shadow&&(ctx.shadowColor=opts.shadowColor,ctx.shadowBlur=opts.shadow),ctx.strokeStyle=opts.bgColor,ctx.stroke(),ctx.beginPath(),ctx.arc(outerRadius,outerRadius,strokeRadius,0+rad,135*Math.PI/180+rad),ctx.lineWidth=opts.width+1,ctx.strokeStyle=opts.color,ctx.stroke()},1e3/fps)},spinnerProto.stop=function(){var me=this,el=me.el;return el.parentNode&&el.parentNode.removeChild(el),clearTimeout(me.tid),cancelAnimationFrame(me.aid),me}}(window,nscommon),function(){"use strict";for(var lastTime=0,vendors=["ms","moz","webkit","o"],i=0;i<vendors.length&&!window.requestAnimationFrame;i++)window.requestAnimationFrame=window[vendors[i]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[vendors[i]+"CancelAnimationFrame"]||window[vendors[i]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(callback){var currTime=(new Date).getTime(),timeToCall=Math.max(0,16-(currTime-lastTime)),id=window.setTimeout(function(){callback(currTime+timeToCall)},timeToCall);return lastTime=currTime+timeToCall,id}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(id){clearTimeout(id)})}(),function(win,nscommon){"use strict";nscommon.ParseUtil={isAttrEmpty:function(attr){return null===attr||void 0===attr},isAttrNotEmpty:function(attr){return!this.isAttrEmpty(attr)},isStrEmpty:function(str){return null===str||void 0===str||""==str},isStrNotEmpty:function(str){return!this.isStrEmpty(str)},isFunction:function(obj){return null!==obj&&void 0!==obj&&"function"==typeof obj},isNotFunction:function(obj){return!this.isFunction(obj)},isArray:function(obj){return null!==obj&&void 0!==obj&&jQuery.isArray(obj)},isNotArray:function(obj){return!this.isArray(obj)},isArrayEmpty:function(obj){return null===obj||void 0===obj||!jQuery.isArray(obj)||0==obj.length},isArrayNotEmpty:function(obj){return!this.isArrayEmpty(obj)},isBooleanValue:function(value){return void 0===value?!1:"string"==typeof value?(value=value.toLowerCase?value.toLowerCase():value,"true"==value||"false"==value):"boolean"==typeof value},isInEnumeration:function(value,enumeration){if(this.isStrEmpty(value))return!1;for(var enumValue in enumeration)if(this.isStrNotEmpty(enumValue)&&enumValue==value)return!0;return!1}}}(window,nscommon),function(win,nscommon){"use strict";var logger={log:function(msg){dl.log(msg)}},parser=function(){function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message,this.expected=expected,this.found=found,this.location=location,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(input){function peg$computePosDetails(pos){var p,ch,details=peg$posDetailsCache[pos];if(details)return details;for(p=pos-1;!peg$posDetailsCache[p];)p--;for(details=peg$posDetailsCache[p],details={line:details.line,column:details.column,seenCR:details.seenCR};pos>p;)ch=input.charAt(p),"\n"===ch?(details.seenCR||details.line++,details.column=1,details.seenCR=!1):"\r"===ch||"\u2028"===ch||"\u2029"===ch?(details.line++,details.column=1,details.seenCR=!0):(details.column++,details.seenCR=!1),p++;return peg$posDetailsCache[pos]=details,details}function peg$computeLocation(startPos,endPos){var startPosDetails=peg$computePosDetails(startPos),endPosDetails=peg$computePosDetails(endPos);return{start:{offset:startPos,line:startPosDetails.line,column:startPosDetails.column},end:{offset:endPos,line:endPosDetails.line,column:endPosDetails.column}}}function peg$fail(expected){peg$maxFailPos>peg$currPos||(peg$currPos>peg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildException(message,expected,found,location){function cleanupExpected(expected){var i=1;for(expected.sort(function(a,b){return a.description<b.description?-1:a.description>b.description?1:0});i<expected.length;)expected[i-1]===expected[i]?expected.splice(i,1):i++}function buildMessage(expected,found){function stringEscape(s){function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase()}return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(ch){return"\\x0"+hex(ch)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(ch){return"\\x"+hex(ch)}).replace(/[\u0100-\u0FFF]/g,function(ch){return"\\u0"+hex(ch)}).replace(/[\u1000-\uFFFF]/g,function(ch){return"\\u"+hex(ch)})}var expectedDesc,foundDesc,i,expectedDescs=new Array(expected.length);for(i=0;i<expected.length;i++)expectedDescs[i]=expected[i].description;return expectedDesc=expected.length>1?expectedDescs.slice(0,-1).join(", ")+" or "+expectedDescs[expected.length-1]:expectedDescs[0],foundDesc=found?'"'+stringEscape(found)+'"':"end of input","Expected "+expectedDesc+" but "+foundDesc+" found."}return null!==expected&&cleanupExpected(expected),new peg$SyntaxError(null!==message?message:buildMessage(expected,found),expected,found,location)}function peg$decode(s){var i,bc=new Array(s.length);for(i=0;i<s.length;i++)bc[i]=s.charCodeAt(i)-32;return bc}function peg$parseRule(index){for(var params,i,bc=peg$bytecode[index],ip=0,ips=[],end=bc.length,ends=[],stack=[];;){for(;end>ip;)switch(bc[ip]){case 0:stack.push(peg$consts[bc[ip+1]]),ip+=2;break;case 1:stack.push(void 0),ip++;break;case 2:stack.push(null),ip++;break;case 3:stack.push(peg$FAILED),ip++;break;case 4:stack.push([]),ip++;break;case 5:stack.push(peg$currPos),ip++;break;case 6:stack.pop(),ip++;break;case 7:peg$currPos=stack.pop(),ip++;break;case 8:stack.length-=bc[ip+1],ip+=2;break;case 9:stack.splice(-2,1),ip++;break;case 10:stack[stack.length-2].push(stack.pop()),ip++;break;case 11:stack.push(stack.splice(stack.length-bc[ip+1],bc[ip+1])),ip+=2;break;case 12:stack.push(input.substring(stack.pop(),peg$currPos)),ip++;break;case 13:ends.push(end),ips.push(ip+3+bc[ip+1]+bc[ip+2]),stack[stack.length-1]?(end=ip+3+bc[ip+1],ip+=3):(end=ip+3+bc[ip+1]+bc[ip+2],ip+=3+bc[ip+1]);break;case 14:ends.push(end),ips.push(ip+3+bc[ip+1]+bc[ip+2]),stack[stack.length-1]===peg$FAILED?(end=ip+3+bc[ip+1],ip+=3):(end=ip+3+bc[ip+1]+bc[ip+2],ip+=3+bc[ip+1]);break;case 15:ends.push(end),ips.push(ip+3+bc[ip+1]+bc[ip+2]),stack[stack.length-1]!==peg$FAILED?(end=ip+3+bc[ip+1],ip+=3):(end=ip+3+bc[ip+1]+bc[ip+2],ip+=3+bc[ip+1]);break;case 16:stack[stack.length-1]!==peg$FAILED?(ends.push(end),ips.push(ip),end=ip+2+bc[ip+1],ip+=2):ip+=2+bc[ip+1];break;case 17:ends.push(end),ips.push(ip+3+bc[ip+1]+bc[ip+2]),input.length>peg$currPos?(end=ip+3+bc[ip+1],ip+=3):(end=ip+3+bc[ip+1]+bc[ip+2],ip+=3+bc[ip+1]);break;case 18:ends.push(end),ips.push(ip+4+bc[ip+2]+bc[ip+3]),input.substr(peg$currPos,peg$consts[bc[ip+1]].length)===peg$consts[bc[ip+1]]?(end=ip+4+bc[ip+2],ip+=4):(end=ip+4+bc[ip+2]+bc[ip+3],ip+=4+bc[ip+2]);break;case 19:ends.push(end),ips.push(ip+4+bc[ip+2]+bc[ip+3]),input.substr(peg$currPos,peg$consts[bc[ip+1]].length).toLowerCase()===peg$consts[bc[ip+1]]?(end=ip+4+bc[ip+2],ip+=4):(end=ip+4+bc[ip+2]+bc[ip+3],ip+=4+bc[ip+2]);break;case 20:ends.push(end),ips.push(ip+4+bc[ip+2]+bc[ip+3]),peg$consts[bc[ip+1]].test(input.charAt(peg$currPos))?(end=ip+4+bc[ip+2],ip+=4):(end=ip+4+bc[ip+2]+bc[ip+3],ip+=4+bc[ip+2]);break;case 21:stack.push(input.substr(peg$currPos,bc[ip+1])),peg$currPos+=bc[ip+1],ip+=2;break;case 22:stack.push(peg$consts[bc[ip+1]]),peg$currPos+=peg$consts[bc[ip+1]].length,ip+=2;break;case 23:stack.push(peg$FAILED),0===peg$silentFails&&peg$fail(peg$consts[bc[ip+1]]),ip+=2;break;case 24:peg$savedPos=stack[stack.length-1-bc[ip+1]],ip+=2;break;case 25:peg$savedPos=peg$currPos,ip++;break;case 26:for(params=bc.slice(ip+4,ip+4+bc[ip+3]),i=0;i<bc[ip+3];i++)params[i]=stack[stack.length-1-params[i]];stack.splice(stack.length-bc[ip+2],bc[ip+2],peg$consts[bc[ip+1]].apply(null,params)),ip+=4+bc[ip+3];break;case 27:stack.push(peg$parseRule(bc[ip+1])),ip+=2;break;case 28:peg$silentFails++,ip++;break;case 29:peg$silentFails--,ip++;break;default:throw new Error("Invalid opcode: "+bc[ip]+".")}if(!(ends.length>0))break;end=ends.pop(),ip=ips.pop()}return stack[0]}function log(s){}var peg$result,options=arguments.length>1?arguments[1]:{},peg$FAILED={},peg$startRuleIndices={start:0},peg$startRuleIndex=0,peg$consts=[/^[;]/,{type:"class",value:"[;]",description:"[;]"},function(evalexpression,prdgrps,act,skugrp){return{eval:evalexpression,productGroups:prdgrps,activities:act,sku:skugrp}},/^[ ]/,{type:"class",value:"[ ]",description:"[ ]"},/^[+\-]/,{type:"class",value:"[+-]",description:"[+-]"},/^[a-zA-Z_]/,{type:"class",value:"[a-zA-Z_]",description:"[a-zA-Z_]"},/^[a-zA-Z0-9_\-]/,{type:"class",value:"[a-zA-Z0-9_-]",description:"[a-zA-Z0-9_-]"},/^[,]/,{type:"class",value:"[,]",description:"[,]"},function(type,id,next){log("idgroup:"+id+"-"+next);var result=[{type:type,id:id}];return result.concat(next)},function(type,id){log("Single ID:"+id);var result=[{type:type,id:id}];return result},/^[@]/,{type:"class",value:"[@]",description:"[@]"},function(sku,org){return{sku:sku,org:org}},"&&",{type:"literal",value:"&&",description:'"&&"'},"UND",{type:"literal",value:"UND",description:'"UND"'},"AND",{type:"literal",value:"AND",description:'"AND"'},function(left,right){return log("&&"),left+" && "+right},"||",{type:"literal",value:"||",description:'"||"'},"ODER",{type:"literal",value:"ODER",description:'"ODER"'},"OR",{type:"literal",value:"OR",description:'"OR"'},function(left,right){return log("||"),left+" || "+right},function(value){return log("boolean:single"),value},function(value){return log("single:equally"),value},function(value){return log("single:patternly"),value},function(value){return log("single:rexexply"),value},"(",{type:"literal",value:"(",description:'"("'},")",{type:"literal",value:")",description:'")"'},function(middle){return log("single:brackets"),"( "+middle+" )"},"true",{type:"literal",value:"true",description:'"true"'},function(){return log("single:true"),!0},"false",{type:"literal",value:"false",description:'"false"'},function(){return log("single:false"),!1},{type:"other",description:"equally"},/^[a-zA-Z_$]/,{type:"class",value:"[a-zA-Z_$]",description:"[a-zA-Z_$]"},/^[a-zA-Z0-9_$\-]/,{type:"class",value:"[a-zA-Z0-9_$-]",description:"[a-zA-Z0-9_$-]"},"=",{type:"literal",value:"=",description:'"="'},/^["]/,{type:"class",value:'["]',description:'["]'},/^[^"]/,{type:"class",value:'[^"]',description:'[^"]'},function(id,chars){return log(id+"="+chars),"context."+id+" == "+chars},{type:"other",description:"patternly"},"%",{type:"literal",value:"%",description:'"%"'},function(id,chars){var exp=chars.replace("?",".").replace("*",".*");return log(id+"%s:"+exp),"context."+id+'.match(new RegExp("'+exp+'"))'},{type:"other",description:"regexply"},/^[$]/,{type:"class",value:"[$]",description:"[$]"},/^[^$]/,{type:"class",value:"[^$]",description:"[^$]"},function(id,chars){return log(id+"%r:"+chars),"context."+id+'.match(new RegExp("'+chars+'"))'}],peg$bytecode=[peg$decode(";!"),peg$decode('%;$/#4 ""5!7!/s$;"." &"/e$4 ""5!7!/V$;"." &"/H$4 ""5!7!/9$;#." &"/+$8\':"\'$&$" )(\'\'#(&\'#(%\'#($\'#(#\'#("\'#&\'#'),peg$decode('%$4#""5!7$0)*4#""5!7$&/®#4%""5!7&." &"/$%%4\'""5!7(/?#$4)""5!7*0)*4)""5!7*&/#$+")("\'#&\'#/"!&,)/^$$4#""5!7$0)*4#""5!7$&/B$4+""5!7,/3$;"/*$8&:-&#$# )(&\'#(%\'#($\'#(#\'#("\'#&\'#.² &%$4#""5!7$0)*4#""5!7$&/#4%""5!7&." &"/$%%4\'""5!7(/?#$4)""5!7*0)*4)""5!7*&/#$+")("\'#&\'#/"!&,)/E$$4#""5!7$0)*4#""5!7$&/)$8$:.$""!)($\'#(#\'#("\'#&\'#'),peg$decode('%$4#""5!7$0)*4#""5!7$&/Û#%%4\'""5!7(/?#$4)""5!7*0)*4)""5!7*&/#$+")("\'#&\'#." &"/"!&,)/$4/""5!70." &"/$%%4\'""5!7(/?#$4)""5!7*0)*4)""5!7*&/#$+")("\'#&\'#." &"/"!&,)/E$$4#""5!7$0)*4#""5!7$&/)$8%:1%"#!)(%\'#($\'#(#\'#("\'#&\'#'),peg$decode('%;%/#$4#""5!7$0)*4#""5!7$&/u$22""6273.5 &24""6475.) &26""6677/N$$4#""5!7$0)*4#""5!7$&/2$;$/)$8%:8%"$ )(%\'#($\'#(#\'#("\'#&\'#.­ &%;%/#$4#""5!7$0)*4#""5!7$&/u$29""697:.5 &2;""6;7<.) &2=""6=7>/N$$4#""5!7$0)*4#""5!7$&/2$;$/)$8%:?%"$ )(%\'#($\'#(#\'#("\'#&\'#./ &%;%/\' 8!:@!! )'),peg$decode('%;&/\' 8!:A!! ).¢ &%;\'/\' 8!:B!! ). &%;(/\' 8!:C!! ).~ &%2D""6D7E/@#;$/7$2F""6F7G/($8#:H#!!)(#\'#("\'#&\'#.K &%2I""6I7J/& 8!:K! ).4 &%2L""6L7M/& 8!:N! )'),peg$decode('<%$4#""5!7$0)*4#""5!7$&/ē#%%4P""5!7Q/?#$4R""5!7S0)*4R""5!7S&/#$+")("\'#&\'#/"!&,)/×$$4#""5!7$0)*4#""5!7$&/»$2T""6T7U/¬$$4#""5!7$0)*4#""5!7$&/$%%4V""5!7W/N#$4X""5!7Y0)*4X""5!7Y&/2$4V""5!7W/#$+#)(#\'#("\'#&\'#/"!&,)/E$$4#""5!7$0)*4#""5!7$&/)$8\':Z\'"%!)(\'\'#(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7O'),peg$decode('<%$4#""5!7$0)*4#""5!7$&/ĉ#%%4P""5!7Q/?#$4R""5!7S0)*4R""5!7S&/#$+")("\'#&\'#/"!&,)/Í$$4#""5!7$0)*4#""5!7$&/±$2\\""6\\7]/¢$$4#""5!7$0)*4#""5!7$&/$4V""5!7W/w$%$4X""5!7Y0)*4X""5!7Y&/"!&,)/T$4V""5!7W/E$$4#""5!7$0)*4#""5!7$&/)$8):^)"\'")()\'#((\'#(\'\'#(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7['),peg$decode('<%$4#""5!7$0)*4#""5!7$&/ĉ#%%4P""5!7Q/?#$4R""5!7S0)*4R""5!7S&/#$+")("\'#&\'#/"!&,)/Í$$4#""5!7$0)*4#""5!7$&/±$2\\""6\\7]/¢$$4#""5!7$0)*4#""5!7$&/$4`""5!7a/w$%$4b""5!7c0)*4b""5!7c&/"!&,)/T$4`""5!7a/E$$4#""5!7$0)*4#""5!7$&/)$8):d)"\'")()\'#((\'#(\'\'#(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7_')],peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1,seenCR:!1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;if("startRule"in options){if(!(options.startRule in peg$startRuleIndices))throw new Error("Can't start parsing from rule \""+options.startRule+'".');peg$startRuleIndex=peg$startRuleIndices[options.startRule]}if(peg$result=peg$parseRule(peg$startRuleIndex),peg$result!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos<input.length&&peg$fail({type:"end",description:"end of input"}),peg$buildException(null,peg$maxFailExpected,peg$maxFailPos<input.length?input.charAt(peg$maxFailPos):null,peg$maxFailPos<input.length?peg$computeLocation(peg$maxFailPos,peg$maxFailPos+1):peg$computeLocation(peg$maxFailPos,peg$maxFailPos))}return peg$subclass(peg$SyntaxError,Error),{SyntaxError:peg$SyntaxError,parse:peg$parse}}();dl.common.ContextParser={compileContextRules:function(applicationContext,configuration){var app=applicationContext.application,process=applicationContext.process,rules=[];if(!app||!process)return logger.log("ContextRuleCompiler: applicationContext.app/.process not found. App = ["+app+"] Process=["+process+"]"),rules;for(var counter=0,hadError=!1;;){var nextKey=app+"."+process+".rule."+counter++,nextRule=configuration[nextKey];logger.log("Trying to get rule:"+nextKey+" is "+nextRule);var compiledRule;if(!nextRule)break;try{compiledRule=parser.parse(nextRule)}catch(error){logger.log("Error parsing rule: "+nextRule+" from key:"+nextKey),hadError=!0;continue}try{compiledRule.exec=new Function("context","return "+compiledRule.eval),rules.push(compiledRule)}catch(error){logger.log("Error compiling condition function: "+compiledRule.eval),hadError=!0}}return hadError&&(rules=[]),rules},evaluateContextRules:function(applicationContext,contextFilter,rules){function executeRule(rule,context){try{return rule.exec(context)}catch(e){}return!1}function updateList(oldList,updates){for(var i=0;i<updates.length;i++){0==i&&null==updates[i].type&&void 0!=oldList&&(oldList.length=0);var position=findIndexOf(oldList,updates[i].id);"+"==updates[i].type||null==updates[i].type?-1==position&&oldList.push(updates[i].id):-1!=position&&removeElementAt(oldList,position)}}function findIndexOf(myArray,myElement){for(var i=0;i<myArray.length;i++)if(myArray[i]==myElement)return i;return-1}function removeElementAt(myArray,elementIndex){if(!(0==myArray.length||elementIndex>=myArray.length||0>elementIndex)){for(var i=elementIndex;i<myArray.length-1;myArray[i]=myArray[i+1],i++);myArray.length--}}for(var i=0;i<rules.length;i++)executeRule(rules[i],applicationContext)&&(rules[i].sku&&rules[i].sku.sku&&(contextFilter.sku=rules[i].sku.sku),rules[i].sku&&rules[i].sku.org&&(contextFilter.org=rules[i].sku.org),rules[i].productGroups&&updateList(contextFilter.productGroups,rules[i].productGroups),rules[i].activities&&updateList(contextFilter.activities,rules[i].activities));return contextFilter}}}(window,dl),this.dl=this.dl||{},this.dl.tpl=this.dl.tpl||{},Handlebars.registerPartial("dealerActions",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,options,buffer="";return buffer+='\n<li><button class="dl-act-route">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"general.calculateRoute",options):helperMissing.call(depth0,"tr","general.calculateRoute",options)))+'<span class="dl-btn-select"></span></button></li>\n'}function program3(depth0,data){var stack1,options,buffer="";return buffer+='\n<li class="dl-el-location"><button class="dl-act-location">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"location.areaMap",options):helperMissing.call(depth0,"tr","location.areaMap",options)))+'<span class="dl-btn-select"></span></button></li>\n<li class="dl-el-detail"><button class="dl-act-detail">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"detail.areaMap",options):helperMissing.call(depth0,"tr","detail.areaMap",options)))+'<span class="dl-btn-select"></span></button></li>\n'}function program5(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayHomePageLink.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayHomePageLink.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program6(depth0,data){var stack1,stack2,buffer="";return buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),{hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program7(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-homepage" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"HomepageLink.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","HomepageLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"HomepageLink.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","HomepageLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"detail.dealerWebsiteLink",options):helperMissing.call(depth0,"tr","detail.dealerWebsiteLink",options)))+'<span class="dl-btn-select"></span></a></li>'}function program8(depth0,data){var stack1,options,buffer="";return buffer+=' data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"HomepageLink.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","HomepageLink.Popup.Parameter",options)))+'" data-popup-name="_blank"'}function program10(depth0,data){return' data-popup="0"'}function program12(depth0,data){var stack1,options,buffer="";return buffer+='\n<li><button class="dl-act-print">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,
stack1?stack1.call(depth0,"detail.printDetails",options):helperMissing.call(depth0,"tr","detail.printDetails",options)))+'<span class="dl-btn-select"></span></button></li>\n'}function program14(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(15,program15,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayOnlineServiceBookingLink.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayOnlineServiceBookingLink.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(19,program19,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayOnlineShopLink.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayOnlineShopLink.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[4]),{hash:{},inverse:self.noop,fn:self.program(23,program23,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[5]),{hash:{},inverse:self.noop,fn:self.program(26,program26,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[6]),{hash:{},inverse:self.noop,fn:self.program(29,program29,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program15(depth0,data){var stack1,stack2,buffer="";return buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[2]),{hash:{},inverse:self.noop,fn:self.program(16,program16,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program16(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-onlineservice" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[2]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[2]),options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(17,program17,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"OnlineServiceBookingLink.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","OnlineServiceBookingLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"OnlineServiceBookingLink.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","OnlineServiceBookingLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"detail.serviceAppointmentLink",options):helperMissing.call(depth0,"tr","detail.serviceAppointmentLink",options)))+'<span class="dl-btn-select"></span></a></li>'}function program17(depth0,data){var stack1,options,buffer="";return buffer+='data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[2]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[2]),options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"OnlineServiceBookingLink.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","OnlineServiceBookingLink.Popup.Parameter",options)))+'" data-popup-name="_blank"'}function program19(depth0,data){var stack1,stack2,buffer="";return buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),{hash:{},inverse:self.noop,fn:self.program(20,program20,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program20(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-onlineshop" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(21,program21,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"OnlineShopLink.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","OnlineShopLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"OnlineShopLink.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","OnlineShopLink.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"detail.dealerShopLink",options):helperMissing.call(depth0,"tr","detail.dealerShopLink",options)))+'<span class="dl-btn-select"></span></a></li>'}function program21(depth0,data){var stack1,options,buffer="";return buffer+='data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"OnlineShopLink.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","OnlineShopLink.Popup.Parameter",options)))+'" data-popup-name="_blank"'}function program23(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-custom1" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[4]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[4]),!0,options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(24,program24,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"URL1.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","URL1.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"URL1.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","URL1.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"LinkText_1",options):helperMissing.call(depth0,"dlControlString","LinkText_1",options)))+'<span class="dl-btn-select"></span></a></li>'}function program24(depth0,data){var stack1,options,buffer="";return buffer+='data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[4]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[4]),!0,options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL1.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","URL1.Popup.Parameter",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL1.Popup.Name",options):helperMissing.call(depth0,"dlControlString","URL1.Popup.Name",options)))+'"'}function program26(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-custom2" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[5]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[5]),!0,options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(27,program27,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"URL2.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","URL2.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"URL2.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","URL2.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"LinkText_2",options):helperMissing.call(depth0,"dlControlString","LinkText_2",options)))+'<span class="dl-btn-select"></span></a></li>'}function program27(depth0,data){var stack1,options,buffer="";return buffer+='data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[5]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[5]),!0,options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL2.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","URL2.Popup.Parameter",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL2.Popup.Name",options):helperMissing.call(depth0,"dlControlString","URL2.Popup.Name",options)))+'"'}function program29(depth0,data){var stack1,stack2,options,buffer="";return buffer+='<li><a class="dl-act-custom3" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[6]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[6]),!0,options)))+'" ',options={hash:{},inverse:self.noop,fn:self.program(30,program30,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"URL3.Popup.Enabled",options):helperMissing.call(depth0,"dlEnabled","URL3.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"URL3.Popup.Enabled",options):helperMissing.call(depth0,"dlDisabled","URL3.Popup.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"LinkText_3",options):helperMissing.call(depth0,"dlControlString","LinkText_3",options)))+'<span class="dl-btn-select"></span></a></li>'}function program30(depth0,data){var stack1,options,buffer="";return buffer+='data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLinkHref||depth0.dlLinkHref,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[6]),!0,options):helperMissing.call(depth0,"dlLinkHref",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[6]),!0,options)))+'" data-popup="1" data-popup-params="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL3.Popup.Parameter",options):helperMissing.call(depth0,"dlControlString","URL3.Popup.Parameter",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlControlString||depth0.dlControlString,stack1?stack1.call(depth0,"URL3.Popup.Name",options):helperMissing.call(depth0,"dlControlString","URL3.Popup.Name",options)))+'"'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-dealer-actions">\n<ul class="dl-actions">\n',options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"UseAddressRoutePlanner.Enabled",options):helperMissing.call(depth0,"dlEnabled","UseAddressRoutePlanner.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayPositionView.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayPositionView.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=helpers["with"].call(depth0,(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.formattedData),{hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(12,program12,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"DisplayPrinter.DetailPage.Enabled",options):helperMissing.call(depth0,"dlPrintEnabled","DisplayPrinter.DetailPage.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=helpers["with"].call(depth0,(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.formattedData),{hash:{},inverse:self.noop,fn:self.program(14,program14,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</ul>\n</div>\n"})),Handlebars.registerPartial("dealerData",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data,depth1){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},(stack1=helpers.dlFavoriteAddressEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlFavoriteAddressEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlFavoriteAddressEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(24,program24,data),data:data},(stack1=helpers.dlContactBlockEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlContactBlockEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlContactBlockEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(49,program49,data),data:data},(stack1=helpers.dlContactPersonBlockEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlContactPersonBlockEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlContactPersonBlockEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.programWithDepth(63,program63,data,depth1),data:data},(stack1=helpers.dlDealerSearchOperationEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerSearchOperationEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerSearchOperationEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n"}function program2(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-bl-address">\n\n',options={hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data},(stack1=helpers.dlAddressLinesNotSwapped)?stack1=stack1.call(depth0,options):(stack1=depth0.dlAddressLinesNotSwapped,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlAddressLinesNotSwapped||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(22,program22,data),data:data},(stack1=helpers.dlAddressLinesSwapped)?stack1=stack1.call(depth0,options):(stack1=depth0.dlAddressLinesSwapped,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlAddressLinesSwapped||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n</div>\n"}function program3(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_1.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_1.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_2.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_2.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_3.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_3.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(13,program13,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.ZipCodeCity.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.ZipCodeCity.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(16,program16,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.Add_1.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.Add_1.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(19,program19,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.Add_2.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.Add_2.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program4(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.addressLine1,options):helperMissing.call(depth0,"dlValidValue",depth0.addressLine1,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program5(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-address1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.addressLine1,options):helperMissing.call(depth0,"dlPrint",depth0.addressLine1,options)))+"</span>"}function program7(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.addressLine2,options):helperMissing.call(depth0,"dlValidValue",depth0.addressLine2,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program8(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-address2">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.addressLine2,options):helperMissing.call(depth0,"dlPrint",depth0.addressLine2,options)))+"</span>"}function program10(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(11,program11,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.addressLine3,options):helperMissing.call(depth0,"dlValidValue",depth0.addressLine3,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program11(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-address3">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.addressLine3,options):helperMissing.call(depth0,"dlPrint",depth0.addressLine3,options)))+"</span>"}function program13(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(14,program14,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.cityZipcodeLine,options):helperMissing.call(depth0,"dlValidValue",depth0.cityZipcodeLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program14(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-cityzip">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.cityZipcodeLine,options):helperMissing.call(depth0,"dlPrint",depth0.cityZipcodeLine,options)))+"</span>"}function program16(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(17,program17,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.cityAddon1Line,options):helperMissing.call(depth0,"dlValidValue",depth0.cityAddon1Line,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program17(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-addon1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.cityAddon1Line,options):helperMissing.call(depth0,"dlPrint",depth0.cityAddon1Line,options)))+"</span>"}function program19(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(20,program20,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.cityAddon2Line,options):helperMissing.call(depth0,"dlValidValue",depth0.cityAddon2Line,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program20(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-addon2">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.cityAddon2Line,options):helperMissing.call(depth0,"dlPrint",depth0.cityAddon2Line,options)))+"</span>"}function program22(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(13,program13,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.ZipCodeCity.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.ZipCodeCity.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(16,program16,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.Add_1.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.Add_1.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(19,program19,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address.Add_2.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address.Add_2.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_1.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_1.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_2.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_2.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Address_3.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Address_3.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program24(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-bl-gencontact">\n',options={hash:{},inverse:self.noop,fn:self.program(25,program25,data),data:data},(stack1=helpers.dlFavoritePhoneFaxEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlFavoritePhoneFaxEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlFavoritePhoneFaxEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(41,program41,data),data:data},(stack1=helpers.dlFavoriteEmailEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlFavoriteEmailEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlFavoriteEmailEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(45,program45,data),data:data},(stack1=helpers.dlFavoriteHomepageEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlFavoriteHomepageEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlFavoriteHomepageEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}function program25(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(26,program26,data),data:data},(stack1=helpers.dlVCardActive)?stack1=stack1.call(depth0,options):(stack1=depth0.dlVCardActive,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlVCardActive||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(29,program29,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Phone.Phone.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Phone.Phone.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(32,program32,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Phone.Fax.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Phone.Fax.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(35,program35,data),data:data},(stack2=helpers.dlVCardActive)?stack2=stack2.call(depth0,options):(stack2=depth0.dlVCardActive,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlVCardActive||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n"}function program26(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(27,program27,data),data:data},(stack1=helpers.dlVCardForContextEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlVCardForContextEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlVCardForContextEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program27(depth0,data){return'\n<div class="dl-gr-telfax">\n<div class="dl-gr-content">\n'}function program29(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(30,program30,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.phoneLine,options):helperMissing.call(depth0,"dlValidValue",depth0.phoneLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program30(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-phone">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.phoneLine,options):helperMissing.call(depth0,"dlPrint",depth0.phoneLine,options)))+"</span>"}function program32(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(33,program33,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.faxLine,options):helperMissing.call(depth0,"dlValidValue",depth0.faxLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program33(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-fax">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.faxLine,options):helperMissing.call(depth0,"dlPrint",depth0.faxLine,options)))+"</span>"}function program35(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(36,program36,data),data:data},(stack1=helpers.dlVCardForContextEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlVCardForContextEnabled,
stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlVCardForContextEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program36(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n</div>\n",options={hash:{},inverse:self.noop,fn:self.program(37,program37,data),data:data},stack1=helpers.dlContactPersonNotAvailable||depth0.dlContactPersonNotAvailable,stack2=stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlContactPersonNotAvailable",depth0,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(39,program39,data),data:data},stack1=helpers.dlContactPersonAvailable||depth0.dlContactPersonAvailable,stack2=stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlContactPersonAvailable",depth0,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}function program37(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program39(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer-contact" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program41(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(42,program42,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Email.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Email.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program42(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(43,program43,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.emailLine,options):helperMissing.call(depth0,"dlValidValue",depth0.emailLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program43(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-email">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.emailLine,options):helperMissing.call(depth0,"dlPrint",depth0.emailLine,options)))+"</span>"}function program45(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(46,program46,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Homepage.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Homepage.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program46(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(47,program47,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options):helperMissing.call(depth0,"dlValidValue",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program47(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-homepage">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlLink||depth0.dlLink,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options):helperMissing.call(depth0,"dlLink",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[0]),options)))+"</span>"}function program49(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(50,program50,data),data:data},(stack1=helpers.dlFavoriteContactEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlFavoriteContactEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlFavoriteContactEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program50(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-bl-contact">\n<span class="dl-ln-clabel">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"detail.contactLabel",options):helperMissing.call(depth0,"tr","detail.contactLabel",options)))+"</span>\n\n",options={hash:{},inverse:self.noop,fn:self.program(51,program51,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Person.Name.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Person.Name.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(26,program26,data),data:data},(stack2=helpers.dlVCardActive)?stack2=stack2.call(depth0,options):(stack2=depth0.dlVCardActive,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlVCardActive||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(54,program54,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Person.Phone.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Person.Phone.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(57,program57,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Person.Fax.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Person.Fax.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(35,program35,data),data:data},(stack2=helpers.dlVCardActive)?stack2=stack2.call(depth0,options):(stack2=depth0.dlVCardActive,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlVCardActive||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(60,program60,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Contact.Person.Email.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Contact.Person.Email.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}function program51(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(52,program52,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.contactNameLine,options):helperMissing.call(depth0,"dlValidValue",depth0.contactNameLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program52(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-cname">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.contactNameLine,options):helperMissing.call(depth0,"dlPrint",depth0.contactNameLine,options)))+"</span>"}function program54(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(55,program55,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.contactPhoneLine,options):helperMissing.call(depth0,"dlValidValue",depth0.contactPhoneLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program55(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-cphone">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.contactPhoneLine,options):helperMissing.call(depth0,"dlPrint",depth0.contactPhoneLine,options)))+"</span>"}function program57(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(58,program58,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.contactFaxline,options):helperMissing.call(depth0,"dlValidValue",depth0.contactFaxline,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program58(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-cfax">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.contactFaxline,options):helperMissing.call(depth0,"dlPrint",depth0.contactFaxline,options)))+"</span>"}function program60(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(61,program61,data),data:data},stack1=helpers.dlValidValue||depth0.dlValidValue,stack2=stack1?stack1.call(depth0,depth0.contactEmailLine,options):helperMissing.call(depth0,"dlValidValue",depth0.contactEmailLine,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program61(depth0,data){var stack1,options,buffer="";return buffer+='<span class="dl-ln-cemail">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPrint||depth0.dlPrint,stack1?stack1.call(depth0,depth0.contactEmailLine,options):helperMissing.call(depth0,"dlPrint",depth0.contactEmailLine,options)))+"</span>"}function program63(depth0,data,depth2){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.programWithDepth(64,program64,data,depth2),data:data},(stack1=helpers.dlDealerSelectorModeDisabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerSelectorModeDisabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerSelectorModeDisabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(70,program70,data),data:data},(stack1=helpers.dlDealerSelectorModeEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerSelectorModeEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerSelectorModeEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program64(depth0,data,depth3){var stack1,options,buffer="";return buffer+="\n\n",options={hash:{},inverse:self.programWithDepth(67,program67,data,depth3),fn:self.program(65,program65,data),data:data},(stack1=helpers.dlDealerDetailsEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerDetailsEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerDetailsEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n"}function program65(depth0,data){return"\n"}function program67(depth0,data,depth4){var stack1,stack2,options,buffer="";return buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.programWithDepth(68,program68,data,depth4),data:data},stack1=helpers.dlShopButtonEnabled||depth0.dlShopButtonEnabled,stack2=stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),depth0.links,options):helperMissing.call(depth0,"dlShopButtonEnabled",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),depth0.links,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program68(depth0,data,depth5){var stack1,options,buffer="";return buffer+='\n<a class="dl-btn-primary" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlTargetShopUrl||depth0.dlTargetShopUrl,stack1?stack1.call(depth0,(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),depth0.links,options):helperMissing.call(depth0,"dlTargetShopUrl",(stack1=depth0.links,null==stack1||stack1===!1?stack1:stack1[1]),depth0.links,options)))+'">'+escapeExpression((stack1=depth5.dealerStyle,stack1=null==stack1||stack1===!1?stack1:stack1.shopBtnText,typeof stack1===functionType?stack1.apply(depth0):stack1))+"</a>\n"}function program70(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(71,program71,data),data:data},(stack1=helpers.dlSelectDealerForLeftBoxEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlSelectDealerForLeftBoxEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlSelectDealerForLeftBoxEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(73,program73,data),data:data},(stack1=helpers.dlSelectDealerForTooltipEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlSelectDealerForTooltipEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlSelectDealerForTooltipEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program71(depth0,data){var stack1,options,buffer="";return buffer+='\n<a class="dl-btn-primary dl-btn-select-dealer" href="#">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"dealerlocator.map.select.labelList",options):helperMissing.call(depth0,"tr","dealerlocator.map.select.labelList",options)))+"</a>\n"}function program73(depth0,data){var stack1,options,buffer="";return buffer+='\n<a class="dl-btn-primary dl-btn-select-dealer" href="#">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"dealerlocator.map.select.labelBubble",options):helperMissing.call(depth0,"tr","dealerlocator.map.select.labelBubble",options)))+"</a>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),partials=this.merge(partials,Handlebars.partials),data=data||{};var stack1,stack2,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,self=this,functionType="function",blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-dealer-data">\n\n',stack1=self.invokePartial(partials.dealerName,"dealerName",depth0,helpers,partials,data),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n",stack2=helpers["with"].call(depth0,(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.formattedData),{hash:{},inverse:self.noop,fn:self.programWithDepth(1,program1,data,depth0),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n</div>\n"})),Handlebars.registerPartial("dealerLabel",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+="\n<span>"+escapeExpression((stack1=depth0.dealer,stack1=null==stack1||stack1===!1?stack1:stack1.dealerLabel,typeof stack1===functionType?stack1.apply(depth0):stack1))+"</span>\n"}function program3(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-distance">',options={hash:{},data:data},stack1=helpers.dlFormattedDistance||depth0.dlFormattedDistance,stack2=stack1?stack1.call(depth0,depth0.distanceFromReference,options):helperMissing.call(depth0,"dlFormattedDistance",depth0.distanceFromReference,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="</div>\n"}function program5(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data},stack1=helpers.dlContactPersonNotAvailable||depth0.dlContactPersonNotAvailable,stack2=stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlContactPersonNotAvailable",depth0.dealer,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data},stack1=helpers.dlContactPersonAvailable||depth0.dlContactPersonAvailable,stack2=stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlContactPersonAvailable",depth0.dealer,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program6(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program8(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer-contact" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this,blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-dealer-label">\n',options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},stack1=helpers.dlStringNotEmpty||depth0.dlStringNotEmpty,stack2=stack1?stack1.call(depth0,(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.dealerLabel),options):helperMissing.call(depth0,"dlStringNotEmpty",(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.dealerLabel),options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data},stack1=helpers.dlDistanceAvailable||depth0.dlDistanceAvailable,stack2=stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlDistanceAvailable",depth0.dealer,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data},(stack2=helpers.dlVCardActive)?stack2=stack2.call(depth0,options):(stack2=depth0.dlVCardActive,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlVCardActive||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"})),Handlebars.registerPartial("dealerLinks",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var buffer="";return buffer+="\n"})),Handlebars.registerPartial("dealerName",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-bl-name">\n<a class="dl-name-link">\n',options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Name_1.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Name_1.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Name_2.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Name_2.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerData.Name_3.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerData.Name_3.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</a>\n</div>\n"}function program2(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.nameline1,{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program3(depth0,data){var stack1,buffer="";return buffer+='<span class="dl-ln-name1">',(stack1=helpers.nameline1)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.nameline1,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>"}function program5(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.nameline2,{hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program6(depth0,data){var stack1,buffer="";return buffer+='<span class="dl-ln-name2">',(stack1=helpers.nameline2)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.nameline2,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>"}function program8(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.nameline3,{hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program9(depth0,data){var stack1,buffer="";return buffer+='<span class="dl-ln-name3">',(stack1=helpers.nameline3)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.nameline3,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this,helperMissing=helpers.helperMissing;return stack2=helpers["with"].call(depth0,(stack1=depth0.dealer,null==stack1||stack1===!1?stack1:stack1.formattedData),{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"})),Handlebars.registerPartial("dealerSublabel",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},stack1=helpers.dlContactPersonNotAvailable||depth0.dlContactPersonNotAvailable,stack2=stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlContactPersonNotAvailable",depth0.dealer,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlContactPersonAvailable||depth0.dlContactPersonAvailable,stack2=stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlContactPersonAvailable",depth0.dealer,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program2(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program4(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer-contact" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,self=this,functionType="function",blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-dealer-sublabel">\n',options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},(stack1=helpers.dlVCardActive)?stack1=stack1.call(depth0,options):(stack1=depth0.dlVCardActive,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlVCardActive||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"})),Handlebars.registerPartial("routeForm",Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-textcontrol ',options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.City.Enabled",options):helperMissing.call(depth0,"dlNotDisabled","DealerLocatorSearchForm.City.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<input type="text" name="postcode" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"address.postcode",options):helperMissing.call(depth0,"tr","address.postcode",options)))+'" autofocus>\n</div>\n'}function program2(depth0,data){return"dl-block"}function program4(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-textcontrol ',options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.ZipCode.Enabled",options):helperMissing.call(depth0,"dlNotDisabled","DealerLocatorSearchForm.ZipCode.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<input type="text" name="city" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"address.city",options):helperMissing.call(depth0,"tr","address.city",options)))+'">\n</div>\n'}function program6(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-textcontrol dl-control-street">\n<input type="text" name="street" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"address.street",options):helperMissing.call(depth0,"tr","address.street",options)))+'">\n</div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",self=this,helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression;return buffer+='<div class="dl-routeform">\n<h3>',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"routeEntry.header",options):helperMissing.call(depth0,"tr","routeEntry.header",options)))+'</h3>\n\n<form>\n<div class="dl-linkcontrol">\n<a href="#" class="dl-btn-georoute">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"routeEntry.startAtCurrentLocation",options):helperMissing.call(depth0,"tr","routeEntry.startAtCurrentLocation",options)))+'</a>\n</div>\n\n<div class="dl-formalert hidden"></div>\n\n<div class="dl-controlgroup dl-control-postcodecity">\n',options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.ZipCode.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.ZipCode.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.City.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.City.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n\n",options={hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"RoutePlanner.Street.Disabled",options):helperMissing.call(depth0,"dlDisabled","RoutePlanner.Street.Disabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n<div class="dl-citychooser" style="display: none"></div>\n\n<div class="dl-actionbar">\n<button type="submit" class="dl-btn-primary">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"general.calculateRoute",options):helperMissing.call(depth0,"tr","general.calculateRoute",options)))+"</button>\n</div>\n</form>\n</div>\n"})),this.dl.tpl["forms/searchForm"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){return' dl-branding"'}function program3(depth0,data){var stack1,stack2,buffer="";return buffer+="\n<h2>",(stack1=helpers.headline)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.headline,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</h2>\n",stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program4(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<img class="dl-branding-icon" src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\">\n"}function program6(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n<form>\n",options={hash:{},inverse:self.noop,
fn:self.program(7,program7,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.LocationSearch.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.LocationSearch.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n<div class="dl-controlgroup dl-control-postcodecity">\n',options={hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.ZipCode.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.ZipCode.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(12,program12,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.City.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.City.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n</div>\n\n<div class="dl-citychooser" style="display: none"></div>\n\n',options={hash:{},inverse:self.noop,fn:self.program(14,program14,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.DealerName.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.DealerName.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(16,program16,data),data:data},(stack2=helpers.dlFormRegionMainOption)?stack2=stack2.call(depth0,options):(stack2=depth0.dlFormRegionMainOption,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlFormRegionMainOption||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n<div class="dl-extoptions">\n\n',options={hash:{},inverse:self.noop,fn:self.program(24,program24,data),data:data},(stack2=helpers.dlNotFormRegionMainOption)?stack2=stack2.call(depth0,options):(stack2=depth0.dlNotFormRegionMainOption,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlNotFormRegionMainOption||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=helpers["if"].call(depth0,depth0.activities,{hash:{},inverse:self.noop,fn:self.program(29,program29,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers["if"].call(depth0,depth0.productGroups,{hash:{},inverse:self.noop,fn:self.program(32,program32,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n</div>\n\n<div class="dl-formalert hidden"></div>\n\n<div class="dl-actionbar">\n',stack2=helpers["if"].call(depth0,depth0.extOptionsEnabled,{hash:{},inverse:self.noop,fn:self.program(35,program35,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n<div class="dl-actbar-right">\n',stack2=helpers["if"].call(depth0,depth0.showBackButton,{hash:{},inverse:self.noop,fn:self.program(37,program37,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n<button type="submit" class="dl-btn-primary ',(stack2=helpers.buttonStyle)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.buttonStyle,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'" id="dl-btn-search">\n',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.startSearch",options):helperMissing.call(depth0,"tr","search.startSearch",options)))+"\n</button>\n</div>\n</div>\n</form>\n"}function program7(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-linkcontrol">\n<button type="button" class="dl-btn-link dl-btn-geosearch hidden">\n<span class="dl-icon-geosearch"></span>',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.searchAtCurrentLocation",options):helperMissing.call(depth0,"tr","search.searchAtCurrentLocation",options)))+"\n</button>\n</div>\n"}function program9(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-textcontrol ',options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.City.Enabled",options):helperMissing.call(depth0,"dlNotDisabled","DealerLocatorSearchForm.City.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<input type="text" name="postcode" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"address.postcode",options):helperMissing.call(depth0,"tr","address.postcode",options)))+'">\n</div>\n'}function program10(depth0,data){return"dl-block"}function program12(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-textcontrol ',options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.ZipCode.Enabled",options):helperMissing.call(depth0,"dlNotDisabled","DealerLocatorSearchForm.ZipCode.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<input type="text" name="city" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"address.city",options):helperMissing.call(depth0,"tr","address.city",options)))+'">\n</div>\n'}function program14(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-textcontrol dl-control-name">\n<input type="text" name="name" placeholder="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.dealerName",options):helperMissing.call(depth0,"tr","search.dealerName",options)))+'">\n</div>\n'}function program16(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(17,program17,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.CircumRadius.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.CircumRadius.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(20,program20,data),data:data},(stack2=helpers.dlFormRegionDropdown)?stack2=stack2.call(depth0,options):(stack2=depth0.dlFormRegionDropdown,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlFormRegionDropdown||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(22,program22,data),data:data},(stack2=helpers.dlFormSubregionDropdown)?stack2=stack2.call(depth0,options):(stack2=depth0.dlFormSubregionDropdown,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlFormSubregionDropdown||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program17(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-selectcontrol dl-control-radius">\n<select name="radius" class="dl-styled">\n<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.chooseRadius",options):helperMissing.call(depth0,"tr","search.chooseRadius",options)))+"</option>\n",stack2=helpers.each.call(depth0,depth0.searchRadiusOptions,{hash:{},inverse:self.noop,fn:self.program(18,program18,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</select>\n</div>\n"}function program18(depth0,data){var stack1,options,buffer="";return buffer+='\n<option value="'+escapeExpression(typeof depth0===functionType?depth0.apply(depth0):depth0)+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.radius.value",depth0,options):helperMissing.call(depth0,"tr","search.radius.value",depth0,options)))+"</option>\n"}function program20(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-selectcontrol dl-regions">\n<select name="region" class="dl-styled dl-regions-select">\n<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"regions.default",options):helperMissing.call(depth0,"tr","regions.default",options)))+"</option>\n</select>\n</div>\n"}function program22(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-selectcontrol dl-subregions">\n<select name="subregion" class="dl-styled dl-subregions-select">\n<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"subregions.default",options):helperMissing.call(depth0,"tr","subregions.default",options)))+"</option>\n</select>\n</div>\n"}function program24(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(17,program17,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DealerLocatorSearchForm.CircumRadius.Enabled",options):helperMissing.call(depth0,"dlEnabled","DealerLocatorSearchForm.CircumRadius.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(25,program25,data),data:data},(stack2=helpers.dlFormRegionDropdown)?stack2=stack2.call(depth0,options):(stack2=depth0.dlFormRegionDropdown,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlFormRegionDropdown||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(27,program27,data),data:data},(stack2=helpers.dlFormSubregionDropdown)?stack2=stack2.call(depth0,options):(stack2=depth0.dlFormSubregionDropdown,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlFormSubregionDropdown||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program25(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-selectcontrol dl-regions">\n<select name="region" class="dl-styled">\n<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"regions.default",options):helperMissing.call(depth0,"tr","regions.default",options)))+"</option>\n</select>\n</div>\n"}function program27(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-selectcontrol dl-subregions">\n<select name="subregion" class="dl-styled">\n<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"subregions.default",options):helperMissing.call(depth0,"tr","subregions.default",options)))+"</option>\n</select>\n</div>\n"}function program29(depth0,data){var stack1,buffer="";return buffer+='\n<div class="dl-selectcontrol">\n<select name="gssnActivities" class="dl-styled">\n',stack1=helpers.each.call(depth0,depth0.activities,{hash:{},inverse:self.noop,fn:self.program(30,program30,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</select>\n</div>\n"}function program30(depth0,data){var stack1,buffer="";return buffer+='\n<option value="',(stack1=helpers.value)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.value,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">',(stack1=helpers.label)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.label,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</option>\n"}function program32(depth0,data){var stack1,buffer="";return buffer+='\n<div class="dl-product-groups">\n\n\n\n',stack1=helpers.each.call(depth0,depth0.productGroups,{hash:{},inverse:self.noop,fn:self.program(33,program33,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}function program33(depth0,data){var stack1,stack2,buffer="";return buffer+="\n<span class=\"dl-product-group-item\">\n<input type='checkbox' name='gssnProductGrps' value='",(stack1=helpers.value)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.value,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"' id=\"",(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\n<label for="',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'" style="background-image:url(\'',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png'); background-image: none, url('",(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg\');"></label>\n<div class="dl-prdgrp-tooltip">\n<div class="dl-prdgrp-tooltip-content">',(stack2=helpers.label)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.label,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'</div>\n<div class="dl-prdgrp-tooltip-bottom"></div>\n</div>\n</span>\n'}function program35(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-actbar-left">\n<button type="button" class="dl-btn-link dl-btn-extoptions" tabindex="-1"><span class="dl-icon-extoptions"></span><span class="dl-label">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.extended",options):helperMissing.call(depth0,"tr","search.extended",options)))+"</span></button>\n</div>\n"}function program37(depth0,data){return'\n<button class="dl-btn-link dl-btn-formback" type="button">Zurück</button>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this,helperMissing=helpers.helperMissing,blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-searchform',stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\">\n<div class='dl-favorite-panel-block-searchform'></div>\n",options={hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayHeadline.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayHeadline.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"UseDealerLocator.Enabled",options):helperMissing.call(depth0,"dlEnabled","UseDealerLocator.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}),this.dl.tpl["map/multiDealerBubble"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){return" dl-results-selectable"}function program3(depth0,data,depth1){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-results-item" data-id="',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'" data-outlet-id="',(stack1=helpers.outletId)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.outletId,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\n',options={hash:{},inverse:self.programWithDepth(6,program6,data,depth1),fn:self.program(4,program4,data),data:data},(stack1=helpers.dlDealerDetailsEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerDetailsEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerDetailsEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n",stack2=helpers["if"].call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.last),{hash:{},inverse:self.program(10,program10,data),fn:self.program(8,program8,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program4(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{dealer:depth0},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerName",options):helperMissing.call(depth0,"include","dealerName",options)))+"\n"}function program6(depth0,data,depth2){var stack1,options,buffer="";return buffer+="\n",options={hash:{dealer:depth0,dealerStyle:depth2.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth2.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\n"}function program8(depth0,data){return"\n\n"}function program10(depth0,data){return'\n<div class="dl-dealer-divider"></div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,functionType="function",self=this,blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-bubble-content dl-results-bubble dl-results',options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},(stack1=helpers.dlDealerDetailsEnabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerDetailsEnabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerDetailsEnabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+='">\n',stack1=helpers.each.call(depth0,depth0.dealers,{hash:{},inverse:self.noop,fn:self.programWithDepth(3,program3,data,depth0),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}),this.dl.tpl["modules/addressChooser"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\n<div class="dl-address-line" data-geox="'+escapeExpression((stack1=depth0.geoX,typeof stack1===functionType?stack1.apply(depth0):stack1))+'" data-geoy="'+escapeExpression((stack1=depth0.geoY,typeof stack1===functionType?stack1.apply(depth0):stack1))+'" data-city="'+escapeExpression((stack1=depth0.city,typeof stack1===functionType?stack1.apply(depth0):stack1))+'">\n'+escapeExpression((stack1=depth0.postcode,typeof stack1===functionType?stack1.apply(depth0):stack1))+" "+escapeExpression((stack1=depth0.city,typeof stack1===functionType?stack1.apply(depth0):stack1))+"\n</div>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return stack1=helpers.each.call(depth0,depth0.addresses,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}),this.dl.tpl["modules/clusterBubblePopup"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing;return buffer+='<div class="dl-bubble-popup-content dl-bubble-popup-cluster" data-popup-id="',(stack1=helpers.popupId)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.popupId,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\r\n',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"regionSearch.cluster.bubble",depth0.count,options):helperMissing.call(depth0,"tr","regionSearch.cluster.bubble",depth0.count,options)))+"\r\n</div>\n"}),this.dl.tpl["modules/dealerActivities"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\n<div class="dl-activities">\n',stack1=helpers.each.call(depth0,depth0.activities,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}function program2(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers.unless.call(depth0,depth0.hideIcon,{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program3(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<span class="dl-activity-event dl-screen-view" data-name="',(stack1=helpers.name)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.name,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'"><img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.png\';this.onerror=null;"></span>\n<span class="dl-activity-event dl-print-view" data-name="',(stack2=helpers.name)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.name,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'"><img src="',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\"></span>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return stack1=helpers["if"].call(depth0,depth0.hasActivities,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}),this.dl.tpl["modules/dealerBubblePopup"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){return" dl-bubble-clickable"}function program3(depth0,data){return" dl-branding"}function program5(depth0,data,depth1){var stack1,stack2,options,buffer="";return buffer+='\n<div id="dl-bubble-entry_',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'" class="dl-bubble-entry">\n\n',stack2=helpers["if"].call(depth0,(stack1=depth1.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.programWithDepth(6,program6,data,depth1),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{dealer:depth0,dealerStyle:depth1.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth1.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\n\n",options={hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data},(stack2=helpers.dlDealerSearchOperationEnabled)?stack2=stack2.call(depth0,options):(stack2=depth0.dlDealerSearchOperationEnabled,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlDealerSearchOperationEnabled||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(13,program13,data),data:data},(stack2=helpers.dlVCardActive)?stack2=stack2.call(depth0,options):(stack2=depth0.dlVCardActive,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlVCardActive||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n<div class="dl-btn-select"></div>\n</div>\n\n',stack2=helpers["if"].call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.last),{hash:{},inverse:self.program(20,program20,data),fn:self.program(18,program18,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n"}function program6(depth0,data,depth2){var stack1,stack2,buffer="";return buffer+='\n<div class="dl-bubble-entry-header">\n<span class="dl-branding-title">'+escapeExpression((stack1=depth2.branding,stack1=null==stack1||stack1===!1?stack1:stack1.title,typeof stack1===functionType?stack1.apply(depth0):stack1))+'</span><img class="dl-branding-icon" src="',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth2.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth2.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth2.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth2.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\">\n</div>\n"}function program8(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data},(stack1=helpers.dlDealerSelectorModeDisabled)?stack1=stack1.call(depth0,options):(stack1=depth0.dlDealerSelectorModeDisabled,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),helpers.dlDealerSelectorModeDisabled||(stack1=blockHelperMissing.call(depth0,stack1,options)),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program9(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayDealerPortfolio.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayDealerPortfolio.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program10(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(11,program11,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerPortfolio.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerPortfolio.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program11(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlPortfolioMatrix||depth0.dlPortfolioMatrix,stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlPortfolioMatrix",depth0,options)))+"\n"}function program13(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},
inverse:self.noop,fn:self.program(14,program14,data),data:data},stack1=helpers.dlContactPersonNotAvailable||depth0.dlContactPersonNotAvailable,stack2=stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlContactPersonNotAvailable",depth0,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(16,program16,data),data:data},stack1=helpers.dlContactPersonAvailable||depth0.dlContactPersonAvailable,stack2=stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlContactPersonAvailable",depth0,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program14(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program16(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-btn-vcf dl-btn-vcf-dealer-contact" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"vcard.tooltip",options):helperMissing.call(depth0,"tr","vcard.tooltip",options)))+'"></div>\n'}function program18(depth0,data){return"\n\n"}function program20(depth0,data){return'\n<div class="dl-dealer-divider"></div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this,blockHelperMissing=helpers.blockHelperMissing;return buffer+='<div class="dl-bubble-popup-content',stack1=helpers["if"].call(depth0,depth0.dealerBubbleClickable,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='" data-popup-id="',(stack2=helpers.popupId)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.popupId,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'">\n',stack2=helpers.each.call(depth0,depth0.dealers,{hash:{},inverse:self.noop,fn:self.programWithDepth(5,program5,data,depth0),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}),this.dl.tpl["modules/dealerFavoriteOverlay"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data,depth1){var stack1,stack2,options,buffer="";return buffer+='\r\n<div id="dl-favorite-entry_',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'" class="dl-favorite-entry" data-favorite-id="',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\r\n',options={hash:{dealer:depth0,dealerStyle:depth1.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth1.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\r\n</div>\r\n\r\n",stack2=helpers["if"].call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.last),{hash:{},inverse:self.program(4,program4,data),fn:self.program(2,program2,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\r\n\r\n"}function program2(depth0,data){return"\r\n\r\n"}function program4(depth0,data){return'\r\n<div class="dl-dealer-divider"></div>\r\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this;return buffer+='<div class="dl-favorite-content">\r\n',stack1=helpers.each.call(depth0,depth0.dealers,{hash:{},inverse:self.noop,fn:self.programWithDepth(1,program1,data,depth0),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\r\n</div>\n"}),this.dl.tpl["modules/dealerProductGroups"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\n<div class="dl-productgroups">\n',stack1=helpers.each.call(depth0,depth0.productGroups,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}function program2(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<span class="dl-productgroup-event dl-screen-view" data-name="',(stack1=helpers.name)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.name,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'"><img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.png\';this.onerror=null;"></span>\n<span class="dl-productgroup-event dl-print-view" data-name="',(stack2=helpers.name)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.name,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'"><img src="',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\"></span>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return stack1=helpers["if"].call(depth0,depth0.hasProductGroups,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}),this.dl.tpl["modules/dealerServiceAndPrdgrpList"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<div class="dl-service-block">\n<span class="dl-service-block-activity">'+escapeExpression((stack1=depth0.activity,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+':</span>\n<span class="dl-service-block-prdgrps">\n',stack2=helpers.each.call(depth0,depth0.productGroups,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</span>\n</div>\n"}function program2(depth0,data){var stack1,stack2,buffer="";return buffer+="\n",(stack1=helpers.name)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.name,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1),stack2=helpers["if"].call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.last),{hash:{},inverse:self.program(5,program5,data),fn:self.program(3,program3,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program3(depth0,data){var buffer="";return buffer}function program5(depth0,data){return","}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-service-prdgrp-list dl-service-prdgrp-',(stack1=helpers.serviceProductBlockSize)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.serviceProductBlockSize,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\n',stack1=helpers.each.call(depth0,depth0.serviceList,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}),this.dl.tpl["modules/dealerServices"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\n<tr>\n<th class="dl-activity-column">',(stack1=helpers.head)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.head,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</th>\n",stack1=helpers.each.call(depth0,depth0.cells,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n\n</tr>\n"}function program2(depth0,data){var stack1,buffer="";return buffer+='\n<th class="dl-prdgrp-column">',(stack1=helpers.name)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.name,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</th>\n"}function program4(depth0,data){var stack1,stack2,buffer="";return buffer+="\n<tr ",stack2=helpers["if"].call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.last),{hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+=">\n\n<td>",stack2=helpers.unless.call(depth0,(stack1=depth0.head,null==stack1||stack1===!1?stack1:stack1.hideIcon),{hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+=escapeExpression((stack1=depth0.head,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+"</td>\n\n",stack2=helpers.each.call(depth0,depth0.cells,{hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</tr>\n"}function program5(depth0,data){return' class="dl-services-lastrow"'}function program7(depth0,data){var stack1,stack2,buffer="";return buffer+='<img class="dl-activity-image" src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.head,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.head,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.head,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.head,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnail,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\"> "}function program9(depth0,data){var stack1,buffer="";return buffer+="\n<td",stack1=helpers["if"].call(depth0,depth0,{hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+=">",stack1=helpers["if"].call(depth0,depth0,{hash:{},inverse:self.noop,fn:self.program(12,program12,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="</td>\n"}function program10(depth0,data){return' class="dl-has-service"'}function program12(depth0,data){var stack1,buffer="";return buffer+='<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/catalog/xp/activities/ok.svg" onerror="this.src=\'',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog/xp/activities/png/ok.png';this.onerror=null;\">"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-dealer-services">\n<table class="dl-services">\n',stack2=helpers["with"].call(depth0,(stack1=depth0.matrix,null==stack1||stack1===!1?stack1:stack1.head),{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers.each.call(depth0,(stack1=depth0.matrix,null==stack1||stack1===!1?stack1:stack1.rows),{hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</table>\n</div>\n"}),this.dl.tpl["modules/dealerServicesList"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\n<span class="dl-service-event"><img src="',(stack1=helpers.image)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.image,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'" />',(stack1=helpers.name)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.name,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-services-list">\n',stack1=helpers.each.call(depth0,depth0.servicesList,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n"}),this.dl.tpl["modules/details"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerPortfolio.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerPortfolio.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program2(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlDealerDetailActivities||depth0.dlDealerDetailActivities,stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlDealerDetailActivities",depth0.dealer,options)))+"\n"}function program4(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data},stack1=helpers.dlNotDisabled||depth0.dlNotDisabled,stack2=stack1?stack1.call(depth0,"DealerPortfolio.Excluded.Contexts",options):helperMissing.call(depth0,"dlNotDisabled","DealerPortfolio.Excluded.Contexts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program5(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlServiceAndPrdgrpList||depth0.dlServiceAndPrdgrpList,stack1?stack1.call(depth0,depth0.dealer,options):helperMissing.call(depth0,"dlServiceAndPrdgrpList",depth0.dealer,options)))+"\n\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),partials=this.merge(partials,Handlebars.partials),data=data||{};var stack1,stack2,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-detailsmap-container">\n<button type="button" class="dl-btn-zoom dl-btn-shrink"></button>\n<div id="dl-detailsmap" class="dl-detailsmap"></div>\n<button type="button" class="dl-btn-zoom dl-btn-enlarge"></button>\n</div>\n\n<div class="dl-details">\n',stack1=self.invokePartial(partials.dealerLabel,"dealerLabel",depth0,helpers,partials,data),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",stack1=self.invokePartial(partials.dealerData,"dealerData",depth0,helpers,partials,data),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</div>\n\n",options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayDealerPortfolioDetail.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayDealerPortfolioDetail.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayDealerPortfolioDetail.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayDealerPortfolioDetail.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=self.invokePartial(partials.dealerActions,"dealerActions",depth0,helpers,partials,data),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n<div class="dl-details">\n',stack2=self.invokePartial(partials.dealerLinks,"dealerLinks",depth0,helpers,partials,data),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}),this.dl.tpl["modules/favoritePanel"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){return' dl-branding"'}function program3(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<span class="dl-branding-title">'+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.title,typeof stack1===functionType?stack1.apply(depth0):stack1))+'</span><img class="dl-branding-icon" src="',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\">\n"}function program5(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.headline",options):helperMissing.call(depth0,"tr","favorite.headline",options)))+"\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this;return buffer+='<div class="dl-favorite-panel',stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='" data-id="'+escapeExpression((stack1=depth0.dealer,stack1=null==stack1||stack1===!1?stack1:stack1.id,typeof stack1===functionType?stack1.apply(depth0):stack1))+'" data-outlet-id="'+escapeExpression((stack1=depth0.dealer,stack1=null==stack1||stack1===!1?stack1:stack1.outletId,typeof stack1===functionType?stack1.apply(depth0):stack1))+'">\n<div class="dl-favorite-panel-content">\n<div class="dl-favorited">\n<div class="dl-btn-unfavorite" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.tooltip.selected",options):helperMissing.call(depth0,"tr","favorite.tooltip.selected",options)))+'" ></div>\n<div class="dl-btn-select"></div>\n\n<div class="dl-favorite-panel-header">\n',stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.program(5,program5,data),fn:self.program(3,program3,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n\n",options={hash:{dealer:depth0.dealer},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerLabel",options):helperMissing.call(depth0,"include","dealerLabel",options)))+"\n",options={hash:{dealer:depth0.dealer,dealerStyle:depth0.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+'\n</div>\n</div>\n<div class="dl-favorite-separator"></div>\n</div>\n'}),this.dl.tpl["modules/favoritePanelEmpty"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression;return buffer+='<div class="dl-favorite-panel dl-favorite-empty">\n<div class="dl-favorite-panel-content">\n<h2>',(stack1=helpers.title)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.title,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</title>\n</div>\n</div>\n"}),this.dl.tpl["modules/footer"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression;return buffer+='<div class="dl-divider"></div>\n<ul class="dl-ftr-links">\n<li>',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.title",options):helperMissing.call(depth0,"tr","footer.title",options)))+"</li>\n<li>",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.copyright",options):helperMissing.call(depth0,"tr","footer.copyright",options)))+'</li>\n<li><a href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.internetContentProvider.url",options):helperMissing.call(depth0,"tr","footer.internetContentProvider.url",options)))+'" target="_blank">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.internetContentProvider",options):helperMissing.call(depth0,"tr","footer.internetContentProvider",options)))+'</a></li>\n<li><a href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.vendorLink.url",options):helperMissing.call(depth0,"tr","footer.vendorLink.url",options)))+'" target="_blank" data-popup="1" data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.vendorLink.url",options):helperMissing.call(depth0,"tr","footer.vendorLink.url",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.vendorLink",options):helperMissing.call(depth0,"tr","footer.vendorLink",options)))+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.vendorLink",options):helperMissing.call(depth0,"tr","footer.vendorLink",options)))+'</a></li>\n<li><a id="dl-cookies-link" href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.cookiesLink.url",options):helperMissing.call(depth0,"tr","footer.cookiesLink.url",options)))+'" target="_blank" data-popup="1" data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.cookiesLink.url",options):helperMissing.call(depth0,"tr","footer.cookiesLink.url",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.cookiesLink",options):helperMissing.call(depth0,"tr","footer.cookiesLink",options)))+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.cookiesLink",options):helperMissing.call(depth0,"tr","footer.cookiesLink",options)))+'</a></li>\n<li><a href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.privacyLink.url",options):helperMissing.call(depth0,"tr","footer.privacyLink.url",options)))+'" target="_blank" data-popup="1" data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.privacyLink.url",options):helperMissing.call(depth0,"tr","footer.privacyLink.url",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.privacyLink",options):helperMissing.call(depth0,"tr","footer.privacyLink",options)))+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.privacyLink",options):helperMissing.call(depth0,"tr","footer.privacyLink",options)))+'</a></li>\n<li><a href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.legalLink.url",options):helperMissing.call(depth0,"tr","footer.legalLink.url",options)))+'" target="_blank" data-popup="1" data-popup-href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.legalLink.url",options):helperMissing.call(depth0,"tr","footer.legalLink.url",options)))+'" data-popup-name="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.legalLink",options):helperMissing.call(depth0,"tr","footer.legalLink",options)))+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"footer.legalLink",options):helperMissing.call(depth0,"tr","footer.legalLink",options)))+"</a></li>\n</ul>\n"}),this.dl.tpl["modules/genericError"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression;return buffer+='<div class="dl-genericerror dl-dismiss">\n<div class="dl-genericerror-box">\n<h1 class="dl-genericerror-header">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"producttype.dbg_shoplocator.eMB-MyM-DL.text.general.errorHeader",options):helperMissing.call(depth0,"tr","producttype.dbg_shoplocator.eMB-MyM-DL.text.general.errorHeader",options)))+'</h1>\n<button type="button" class="dl-error-close dl-dismiss"></button>\n<hr>\n<div class="dl-genericerror-content">\n<p>',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"producttype.dbg_shoplocator.eMB-MyM-DL.text.http.500",options):helperMissing.call(depth0,"tr","producttype.dbg_shoplocator.eMB-MyM-DL.text.http.500",options)))+'</p>\n</div>\n<p class="dl-buttonbar"><button type="button" class="dl-btn-secondary dl-dismiss">OK</button></p>\n</div>\n</div>\n'}),this.dl.tpl["modules/header"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing;return buffer+='<a class="dl-logo-link">\n<div class="dl-tm-container">\n<img src="',
(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-star_n_web.svg" class="dl-mb-star svg">\n<div class="dl-mb-star no-svg"></div>\n<div class="dl-claim-container dl-claim-context-',(stack1=helpers.claimContext)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.claimContext,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\n<div class="dl-claim-passengercar">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim1DE_ra_n_web.svg" class="dl-mb-claim svg de">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim1EN_ra_n_web.svg" class="dl-mb-claim svg en">\n<div class="dl-mb-claim no-svg"></div>\n</div>\n\n<div class="dl-claim-truck">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim2DE_ra_n_web.svg" class="dl-mb-claim svg de">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim2EN_ra_n_web.svg" class="dl-mb-claim svg en">\n<div class="dl-mb-claim no-svg"></div>\n</div>\n\n<div class="dl-claim-van">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim3DE_ra_n_web.svg" class="dl-mb-claim svg de">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim3EN_ra_n_web.svg" class="dl-mb-claim svg en">\n<div class="dl-mb-claim no-svg"></div>\n</div>\n\n<div class="dl-claim-bus">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim4DE_ra_n_web.svg" class="dl-mb-claim svg de">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_claim4EN_ra_n_web.svg" class="dl-mb-claim svg en">\n<div class="dl-mb-claim no-svg"></div>\n</div>\n\n<div class="dl-claim-noclaim">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_noclaimDE_ra_n_web.svg" class="dl-mb-claim svg de">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/header/MB-wm_noclaimEN_ra_n_web.svg" class="dl-mb-claim svg en">\n<div class="dl-mb-claim no-svg"></div>\n</div>\n</div>\n</div>\n</a>\n<nav class="dl-metanav">\n<ul class="dl-metanav-links">\n<li><a href="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"header.title.url",options):helperMissing.call(depth0,"tr","header.title.url",options)))+'">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"header.title",options):helperMissing.call(depth0,"tr","header.title",options)))+"</a></li>\n</ul>\n</nav>\n"}),this.dl.tpl["modules/mainMap"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){return this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{},'<div id="dlMainMap" class="dl-mainmap">\n<!-- <iframe src="http://mapsengine.google.com/map/embed?mid=z-BEFzFo7gdM.kYdiUKVQpQQI" width="100%" height="100%"></iframe>\n-->\n<!-- img src="../dummy/detail_map.png" style="width:100%; height:100%;" -->\n<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.de/maps?f=q&amp;source=s_q&amp;hl=de&amp;geocode=&amp;q=Mercedes-Benz+Center+,+Stuttgart&amp;aq=&amp;sll=48.787791,9.23216&amp;sspn=0.143183,0.383148&amp;ie=UTF8&amp;hq=Mercedes-Benz+Center+,&amp;hnear=Stuttgart,+Baden-W%C3%BCrttemberg&amp;t=m&amp;ll=48.75211,9.220354&amp;spn=0.158964,0.107365&amp;output=embed"></iframe>\n</div>\n'}),this.dl.tpl["modules/pagination"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.special,{hash:{},inverse:self.program(15,program15,data),fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program2(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.ellipsis,{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",stack1=helpers["if"].call(depth0,depth0.previous,{hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",stack1=helpers["if"].call(depth0,depth0.next,{hash:{},inverse:self.noop,fn:self.program(10,program10,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program3(depth0,data){return'\n<li class="dl-ellipsis">&hellip;</li>\n'}function program5(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.on,{hash:{},inverse:self.program(8,program8,data),fn:self.program(6,program6,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program6(depth0,data){return'\n<li class="dl-previous"><a href="#page-prev"><div></div></a></li>\n'}function program8(depth0,data){return'\n<li class="dl-previous-off"><div></div></li>\n'}function program10(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.on,{hash:{},inverse:self.program(13,program13,data),fn:self.program(11,program11,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program11(depth0,data){return'\n<li class="dl-next"><a href="#page-next"><div></div></a></li>\n'}function program13(depth0,data){return'\n<li class="dl-next-off"><div></div></li>\n'}function program15(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.selected,{hash:{},inverse:self.program(18,program18,data),fn:self.program(16,program16,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program16(depth0,data){var stack1,buffer="";return buffer+='\n<li class="dl-active">',(stack1=helpers.number)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.number,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</li>\n"}function program18(depth0,data){var stack1,buffer="";return buffer+='\n<li><a href="#page-',(stack1=helpers.number)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.number,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">',(stack1=helpers.number)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.number,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</a></li>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",self=this,functionType="function",escapeExpression=this.escapeExpression;return buffer+='<ul class="dl-pagination">\n',stack1=helpers.each.call(depth0,depth0.pagerElements,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n</ul>\n"}),this.dl.tpl["modules/serviceGroup"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+="\n<p>",(stack1=helpers.serviceGroup)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.serviceGroup,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</p>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this;return buffer+='<div class="dl-servicegroup">\n<div class="dl-servicecontent">\n<h5>',(stack1=helpers.serviceType)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.serviceType,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</h5>\n",stack1=helpers["if"].call(depth0,depth0.serviceGroup,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+='\n</div>\n<div class="dl-servicegrouparrow"></div>\n</div>\n'}),this.dl.tpl["modules/toolTip"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression;return buffer+='<div class="dl-tooltip">\n<div class="dl-tooltipcontent">\n<h5>',(stack1=helpers.toolTipText)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.toolTipText,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</h5>\n</div>\n</div>\n"}),this.dl.tpl["modules/widget"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){return this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{},'<div class="dl-outer-container">\n<div class="dl-scroll-container">\n<div class="dl-header">\n<div class="dl-container">\n<div class="dl-logo"></div>\n</div>\n</div>\n\n<div class="dl-page">\n<div class="dl-container dl-page-content">\n<div id="dl-mainmap" class="dl-mainmap"></div>\n\n<div class="dl-mapzoompanel dl-mainmap-panel">\n<div class="dl-mapzoom-in"></div>\n<div class="dl-mapzoom-out"></div>\n</div>\n\n<div class="dl-map-copyright-panel dl-mainmap-panel hidden">\n<div class="dl-label"></div>\n</div>\n\n<div class="dl-mapclosepanel dl-mainmap-panel hidden">\n<div class="dl-btn-mapclose"></div>\n</div>\n\n<div class="dl-divider"></div>\n<div class="dl-formpanel dl-panel"></div>\n<div class="dl-resultspanel dl-panel"></div>\n<div class="dl-detailspanel dl-panel"></div>\n</div>\n</div>\n\n<div class="dl-footer">\n<div class="dl-container"></div>\n</div>\n</div>\n</div>\n'}),this.dl.tpl["pages/print"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,buffer="",functionType="function",escapeExpression=this.escapeExpression;return buffer+='<!doctype html>\n<!--[if lt IE 7]>      <html class="no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]>         <html class="no-js lt-ie10 lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]>         <html class="no-js lt-ie10 lt-ie9"> <![endif]-->\n<!--[if IE 9]>         <html class="no-js lt-ie10"> <![endif]-->\n<!--[if gt IE 9]><!--> <html class="no-js"> <!--<![endif]-->\n<head>\n<meta charset="utf-8">\n\n<title>Dealer Selector</title>\n\n<meta http-equiv="X-UA-Compatible" content="IE=edge">\n<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=0, minimal-ui">\n\n<meta name="apple-mobile-web-app-capable" content="yes" />\n<meta name="mobile-web-app-capable" content="yes">\n\n<link rel="stylesheet" href="',(stack1=helpers.dlContentRoot)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlContentRoot,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'css/mb-mds-print.css">\n</head>\n<body class="dl-page-search dl-state-search-off dl-state-details-off">\n\n<div class="dl-print-wrapper">\n<div class="dl-print">\n<img src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'images/print/mb-logo.png" class="dl-print-logo">\n<h1 class="dl-print-header"></h1>\n\n<div class="dl-print-content"></div>\n</div>\n</div>\n\n<div class="dl-toolbar-wrapper">\n<div class="dl-print-toolbar">\n<span class="dl-print-copyright"></span>\n<button class="dl-btn-print"></button>\n<button class="dl-btn-printback"></button>\n</div>\n</div>\n\n<script src="',(stack1=helpers.dlContentRoot)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlContentRoot,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'js/mb-mds-print.js"></script>\n<!--[if IE 8]>\n<script src="',(stack1=helpers.dlContentRoot)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlContentRoot,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'js/mb-mds-print-legacy.js"></script>\n<![endif]-->\n\n</body>\n</html>\n'}),this.dl.tpl["panels/detailsPanel"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){return" dl-searchresult-enabled"}function program3(depth0,data){return' dl-branding"'}function program5(depth0,data){return'<div class="dl-btn-back dl-btn-backtoresults"></div>'}function program7(depth0,data){var stack1,options,buffer="";return buffer+="\n<h2>",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"control.DefaultShopLocatorDetailPageHeadline",options):helperMissing.call(depth0,"tr","control.DefaultShopLocatorDetailPageHeadline",options)))+"</h2>\n"}function program9(depth0,data){var stack1,stack2,buffer="";return buffer+='\n<img class="dl-branding-icon" src="',(stack1=helpers.dlImageBase)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.dlImageBase,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+'.svg" onerror="this.src=\'',(stack2=helpers.dlImageBase)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.dlImageBase,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"images/catalog"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.path,typeof stack1===functionType?stack1.apply(depth0):stack1))+"/png/"+escapeExpression((stack1=depth0.branding,stack1=null==stack1||stack1===!1?stack1:stack1.media,stack1=null==stack1||stack1===!1?stack1:stack1.thumbnailLight,stack1=null==stack1||stack1===!1?stack1:stack1.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+".png';this.onerror=null;\">\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),partials=this.merge(partials,Handlebars.partials),data=data||{};var stack1,stack2,options,buffer="",helperMissing=helpers.helperMissing,escapeExpression=this.escapeExpression,functionType="function",self=this;return buffer+='<div class="dl-panel-header',stack1=helpers["if"].call(depth0,depth0.searchResultsEnabled,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<div class="dl-panel-headline">\n',stack2=helpers["if"].call(depth0,depth0.searchResultsEnabled,{hash:{},inverse:self.noop,fn:self.program(5,program5,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayHeadline.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayHeadline.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n</div>\n</div>\n\n<div class="dl-panel-content',stack2=helpers["if"].call(depth0,(stack1=depth0.branding,null==stack1||stack1===!1?stack1:stack1.enabled),{hash:{},inverse:self.noop,fn:self.program(3,program3,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n\n<div class="dl-details-container"></div>\n\n<div class="dl-route-container">\n',stack2=self.invokePartial(partials.routeForm,"routeForm",depth0,helpers,partials,data),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n<div class="dl-route-results"></div>\n<button class="dl-btn-close dl-btn-route-close" />\n</div>\n</div>\n'}),this.dl.tpl["panels/mapPanels"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){return this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{},'<div class="dl-mapzoompanel dl-mainmap-panel">\n<div class="dl-mapzoom-in"></div>\n<div class="dl-mapzoom-out"></div>\n</div>\n\n<div class="dl-map-copyright-panel dl-mainmap-panel hidden">\n<div class="dl-label"></div>\n</div>\n\n<div class="dl-mapclosepanel dl-mainmap-panel hidden">\n<div class="dl-btn-mapclose"></div>\n</div>\n'}),this.dl.tpl["panels/resultsPanel"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-panel-header',stack1=helpers["if"].call(depth0,depth0.searchEnabled,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"DisplayPrinter.SearchResult.Enabled",options):helperMissing.call(depth0,"dlPrintEnabled","DisplayPrinter.SearchResult.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<div class="dl-panel-headline">\n',stack2=helpers["if"].call(depth0,depth0.searchEnabled,{hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n<h2>",(stack2=helpers.headline)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.headline,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+"</h2>\n</div>\n</div>\n"}function program2(depth0,data){return" dl-search-enabled"}function program4(depth0,data){return" dl-print-enabled"}function program6(depth0,data){return'<div class="dl-btn-back dl-btn-changesearch"></div>'}function program8(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-criteria',stack1=helpers["if"].call(depth0,depth0.searchEnabled,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"DisplayPrinter.SearchResult.Enabled",options):helperMissing.call(depth0,"dlPrintEnabled","DisplayPrinter.SearchResult.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayHeadline.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayHeadline.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<div class="dl-criteria-content">\n',options={hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data},stack1=helpers.dlDisabled||depth0.dlDisabled,stack2=stack1?stack1.call(depth0,"DisplayHeadline.Enabled",options):helperMissing.call(depth0,"dlDisabled","DisplayHeadline.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n",stack2=helpers["if"].call(depth0,depth0.searchedBy,{hash:{},inverse:self.noop,fn:self.program(11,program11,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n</div>\n"}function program9(depth0,data){return" dl-headline-enabled"}function program11(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"search.searchEchoLabel",options):helperMissing.call(depth0,"tr","search.searchEchoLabel",options)))+' <span>"',(stack2=helpers.searchedBy)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.searchedBy,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'"</span>\n'}function program13(depth0,data){var stack1,options,buffer="";return buffer+='\n<div class="dl-toolbar-info">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,depth0.dealerTotalCount,"searchResults.result.1","searchResults.result.x",options):helperMissing.call(depth0,"tr",depth0.dealerTotalCount,"searchResults.result.1","searchResults.result.x",options)))+"</div>\n"}function program15(depth0,data){return'\n<div class="dl-toolbar-links">\n<button class="dl-btn-print"></button>\n</div>\n'}function program17(depth0,data){return"dl-results-selectable"}function program19(depth0,data){return"dl-results-selectable-not-phone"}function program21(depth0,data,depth1){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.length,{hash:{},inverse:self.programWithDepth(34,program34,data,depth1),fn:self.programWithDepth(22,program22,data,depth1),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program22(depth0,data,depth2){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-results-group',options={hash:{},inverse:self.noop,fn:self.program(23,program23,data),data:data},stack1=helpers.if_even||depth0.if_even,stack2=stack1?stack1.call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.index),options):helperMissing.call(depth0,"if_even",(stack1=data,null==stack1||stack1===!1?stack1:stack1.index),options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n',stack2=helpers.each.call(depth0,depth0,{hash:{},inverse:self.noop,fn:self.programWithDepth(25,program25,data,depth2),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n"}function program23(depth0,data){return" dl-even"}function program25(depth0,data,depth3){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-results-item" data-id="',(stack1=helpers.id)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.id,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'"  data-outlet-id="',(stack1=helpers.outletId)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.outletId,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+'">\n<div class="dl-btn-favorite" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.tooltip",options):helperMissing.call(depth0,"tr","favorite.tooltip",options)))+'" ></div>\n<div class="dl-btn-unfavorite" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.tooltip.selected",options):helperMissing.call(depth0,"tr","favorite.tooltip.selected",options)))+'" ></div>\n<div class="dl-btn-select"></div>\n',stack2=helpers.unless.call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.index),{hash:{},inverse:self.program(28,program28,data),fn:self.program(26,program26,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{dealer:depth0,dealerStyle:depth3.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth3.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\n\n",options={hash:{},inverse:self.noop,fn:self.program(30,program30,data),data:data},(stack2=helpers.dlDealerSelectorModeDisabled)?stack2=stack2.call(depth0,options):(stack2=depth0.dlDealerSelectorModeDisabled,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlDealerSelectorModeDisabled||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n\n</div>\n"}function program26(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{dealer:depth0},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerLabel",options):helperMissing.call(depth0,"include","dealerLabel",options)))+"\n"}function program28(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{dealer:depth0},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerSublabel",options):helperMissing.call(depth0,"include","dealerSublabel",options)))+"\n"}function program30(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(31,program31,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayDealerPortfolio.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayDealerPortfolio.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program31(depth0,data){var stack1,stack2,options,buffer="";return buffer+="\n",options={hash:{},inverse:self.noop,fn:self.program(32,program32,data),data:data},stack1=helpers.dlControlNotEmpty||depth0.dlControlNotEmpty,stack2=stack1?stack1.call(depth0,"Shoplocator.ActivityIcon.ActivityAndProductGroupProducts",options):helperMissing.call(depth0,"dlControlNotEmpty","Shoplocator.ActivityIcon.ActivityAndProductGroupProducts",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}function program32(depth0,data){var stack1,options,buffer="";return buffer+="\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.dlActivitiesOrProductGroups||depth0.dlActivitiesOrProductGroups,stack1?stack1.call(depth0,depth0,options):helperMissing.call(depth0,"dlActivitiesOrProductGroups",depth0,options)))+"\n"}function program34(depth0,data,depth2){var stack1,stack2,options,buffer="";return buffer+='\n<div class="dl-results-item',options={hash:{},inverse:self.noop,fn:self.program(23,program23,data),data:data},stack1=helpers.if_even||depth0.if_even,stack2=stack1?stack1.call(depth0,(stack1=data,null==stack1||stack1===!1?stack1:stack1.index),options):helperMissing.call(depth0,"if_even",(stack1=data,null==stack1||stack1===!1?stack1:stack1.index),options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='" data-id="',(stack2=helpers.id)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.id,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'" data-outlet-id="',(stack2=helpers.outletId)?stack2=stack2.call(depth0,{hash:{},data:data}):(stack2=depth0.outletId,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),buffer+=escapeExpression(stack2)+'">\n<div class="dl-btn-favorite" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.tooltip",options):helperMissing.call(depth0,"tr","favorite.tooltip",options)))+'" ></div>\n<div class="dl-btn-unfavorite" data-tooltip="',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"favorite.tooltip.selected",options):helperMissing.call(depth0,"tr","favorite.tooltip.selected",options)))+'" ></div>\n<div class="dl-btn-select"></div>\n',options={hash:{dealer:depth0},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerLabel",options):helperMissing.call(depth0,"include","dealerLabel",options)))+"\n\n",options={hash:{dealer:depth0,dealerStyle:depth2.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth2.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\n\n",options={hash:{},inverse:self.noop,fn:self.program(30,program30,data),data:data},(stack2=helpers.dlDealerSelectorModeDisabled)?stack2=stack2.call(depth0,options):(stack2=depth0.dlDealerSelectorModeDisabled,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlDealerSelectorModeDisabled||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n\n</div>\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",self=this,helperMissing=helpers.helperMissing,functionType="function",escapeExpression=this.escapeExpression,blockHelperMissing=helpers.blockHelperMissing;return buffer+="<div class='dl-favorite-panel-block-resultpanel'></div>\n\n",options={hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data},stack1=helpers.dlEnabled||depth0.dlEnabled,stack2=stack1?stack1.call(depth0,"DisplayHeadline.Enabled",options):helperMissing.call(depth0,"dlEnabled","DisplayHeadline.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",stack2=helpers["if"].call(depth0,depth0.searchEnabled,{hash:{},inverse:self.noop,fn:self.program(8,program8,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n\n<div class="dl-panel-toolbar',stack2=helpers["if"].call(depth0,depth0.searchEnabled,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),options={hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"DisplayPrinter.SearchResult.Enabled",options):helperMissing.call(depth0,"dlPrintEnabled","DisplayPrinter.SearchResult.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n<div class="dl-toolbargroup">\n',stack2=helpers["if"].call(depth0,depth0.searchEnabled,{
hash:{},inverse:self.noop,fn:self.program(13,program13,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n",options={hash:{},inverse:self.noop,fn:self.program(15,program15,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"DisplayPrinter.SearchResult.Enabled",options):helperMissing.call(depth0,"dlPrintEnabled","DisplayPrinter.SearchResult.Enabled",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n</div>\n</div>\n\n\n<div class="dl-panel-content">\n\n<div class="dl-results ',options={hash:{},inverse:self.program(19,program19,data),fn:self.program(17,program17,data),data:data},(stack2=helpers.dlDealerDetailsEnabled)?stack2=stack2.call(depth0,options):(stack2=depth0.dlDealerDetailsEnabled,stack2=typeof stack2===functionType?stack2.apply(depth0):stack2),helpers.dlDealerDetailsEnabled||(stack2=blockHelperMissing.call(depth0,stack2,options)),(stack2||0===stack2)&&(buffer+=stack2),buffer+='">\n',stack2=helpers.each.call(depth0,depth0.dealers,{hash:{},inverse:self.noop,fn:self.programWithDepth(21,program21,data,depth0),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n</div>\n\n<div class="dl-pager"></div>\n\n</div>\n'}),this.dl.tpl["panels/routePanel"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+="\n",stack1=helpers["if"].call(depth0,depth0.street,{hash:{},inverse:self.noop,fn:self.program(2,program2,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n",stack1=helpers["if"].call(depth0,depth0.postcode_city,{hash:{},inverse:self.noop,fn:self.program(4,program4,data),data:data}),(stack1||0===stack1)&&(buffer+=stack1),buffer+="\n"}function program2(depth0,data){var stack1,buffer="";return buffer+='\n<span class="dl-route-street">',(stack1=helpers.street)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.street,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>\n"}function program4(depth0,data){var stack1,buffer="";return buffer+='\n<span class="dl-route-postcode-city">',(stack1=helpers.postcode_city)?stack1=stack1.call(depth0,{hash:{},data:data}):(stack1=depth0.postcode_city,stack1=typeof stack1===functionType?stack1.apply(depth0):stack1),buffer+=escapeExpression(stack1)+"</span>\n"}function program6(depth0,data){var stack1,stack2,options,buffer="";return buffer+='\n<tr>\n<td>\n<div class="dl-route-cell">\n',options={hash:{},data:data},stack1=helpers.dlFormattedDistanceForRoute||depth0.dlFormattedDistanceForRoute,stack2=stack1?stack1.call(depth0,depth0.delta_distance,options):helperMissing.call(depth0,"dlFormattedDistanceForRoute",depth0.delta_distance,options),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n\n</div>\n</td>\n<td>\n<div class="dl-route-cell">\n'+escapeExpression((stack1=depth0.turning_off,typeof stack1===functionType?stack1.apply(depth0):stack1))+"\n",stack2=helpers["if"].call(depth0,depth0.route,{hash:{},inverse:self.noop,fn:self.program(7,program7,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n</td>\n</tr>\n"}function program7(depth0,data){var stack1,options,buffer="";return buffer+="\n<span>\n",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"routeResult.direction",options):helperMissing.call(depth0,"tr","routeResult.direction",options)))+"\n"+escapeExpression((stack1=depth0.route,typeof stack1===functionType?stack1.apply(depth0):stack1))+"\n</span>\n"}function program9(depth0,data){return'\n<div class="dl-toolbar-links">\n<button class="dl-btn-print"></button>\n</div>\n'}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,self=this,helperMissing=helpers.helperMissing;return buffer+='\n<table class="dl-routesteps">\n<tr>\n<th colspan="2">\n',options={hash:{decimalNumbers:0},data:data},stack1=helpers.dlFormattedDistanceForRoute||depth0.dlFormattedDistanceForRoute,stack2=stack1?stack1.call(depth0,(stack1=depth0.route,null==stack1||stack1===!1?stack1:stack1.total_distance),options):helperMissing.call(depth0,"dlFormattedDistanceForRoute",(stack1=depth0.route,null==stack1||stack1===!1?stack1:stack1.total_distance),options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n(",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"general.about",options):helperMissing.call(depth0,"tr","general.about",options)))+" "+escapeExpression((stack1=depth0.route,stack1=null==stack1||stack1===!1?stack1:stack1.total_time,typeof stack1===functionType?stack1.apply(depth0):stack1))+" ",options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"general.hoursMinutes",options):helperMissing.call(depth0,"tr","general.hoursMinutes",options)))+')\n</th>\n</tr>\n<tr class="dl-route-start">\n<td>\n<div class="dl-route-cell">\n<span class="dl-icon-startstep"></span>\n</div>\n</td>\n<td>\n<div class="dl-route-cell">\n',stack2=helpers["with"].call(depth0,depth0.startAddress,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n</div>\n</td>\n</tr>\n",stack2=helpers.each.call(depth0,depth0.descriptions,{hash:{},inverse:self.noop,fn:self.program(6,program6,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+='\n<tr class="dl-route-end">\n<td>\n<div class="dl-route-cell">\n<span class="dl-icon-endstep"></span>\n</div>\n</td>\n<td>\n<div class="dl-route-cell">\n',options={hash:{dealer:depth0.dealer,dealerStyle:depth0.dealerStyle},data:data},buffer+=escapeExpression((stack1=helpers.include||depth0.include,stack1?stack1.call(depth0,"dealerData",options):helperMissing.call(depth0,"include","dealerData",options)))+"\n</div>\n</td>\n</tr>\n</table>\n\n",options={hash:{},inverse:self.noop,fn:self.program(9,program9,data),data:data},stack1=helpers.dlPrintEnabled||depth0.dlPrintEnabled,stack2=stack1?stack1.call(depth0,"",options):helperMissing.call(depth0,"dlPrintEnabled","",options),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n\n\n"}),this.dl.tpl["partials/regionOptions"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\r\n<option value="'+escapeExpression((stack1=depth0.id,typeof stack1===functionType?stack1.apply(depth0):stack1))+'">'+escapeExpression((stack1=depth0.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+"</option>\r\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this;return buffer+='<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"regions.default",options):helperMissing.call(depth0,"tr","regions.default",options)))+"</option>\r\n",stack2=helpers.each.call(depth0,depth0.regions,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}),this.dl.tpl["partials/subregionOptions"]=Handlebars.template(function(Handlebars,depth0,helpers,partials,data){function program1(depth0,data){var stack1,buffer="";return buffer+='\r\n<option value="'+escapeExpression((stack1=depth0.id,typeof stack1===functionType?stack1.apply(depth0):stack1))+"!"+escapeExpression((stack1=depth0.regionId,typeof stack1===functionType?stack1.apply(depth0):stack1))+'">'+escapeExpression((stack1=depth0.name,typeof stack1===functionType?stack1.apply(depth0):stack1))+"</option>\r\n"}this.compilerInfo=[4,">= 1.0.0"],helpers=this.merge(helpers,Handlebars.helpers),data=data||{};var stack1,stack2,options,buffer="",functionType="function",escapeExpression=this.escapeExpression,helperMissing=helpers.helperMissing,self=this;return buffer+='<option value="-1">',options={hash:{},data:data},buffer+=escapeExpression((stack1=helpers.tr||depth0.tr,stack1?stack1.call(depth0,"subregions.default",options):helperMissing.call(depth0,"tr","subregions.default",options)))+"</option>\r\n",stack2=helpers.each.call(depth0,depth0.subregions,{hash:{},inverse:self.noop,fn:self.program(1,program1,data),data:data}),(stack2||0===stack2)&&(buffer+=stack2),buffer+="\n"}),function(win){"use strict";function PTVMapClient(){function init(){config=dl.model.Configuration;var mapConfig=dl.model.Configuration.getMapServiceConfiguration();initWithConfig(mapConfig)}function initWithConfig(mapConfig){if(config=dl.model.Configuration,dl.endsWith(mapConfig.mapTransactionUrl,"=")||dl.endsWith(mapConfig.mapTransactionUrl,"%3A")){var parts=config.getMapPrimarySource().split("-");mapConfig.mapTransactionUrl+=parts[0]}vectormapsConfig={baseUrl:checkProtocol(mapConfig.baseUrl),ajaxMapsUrl:checkProtocol(mapConfig.ajaxMapsUrl),token:mapConfig.token,mapTransactionUrl:checkProtocol(mapConfig.mapTransactionUrl),mapLoggingUrl:checkProtocol(mapConfig.mapLoggingUrl)},transactionHelpers=[];for(var i=0;10>i;++i)transactionHelpers.push(new Image);transactionIndex=0,imageBaseUrl=checkProtocol(mapConfig.imageBaseUrl),imageBaseUrl.lastIndexOf("/")!=imageBaseUrl.length-1&&(imageBaseUrl+="/"),imageBaseUrl+="images/"}function checkProtocol(url){return"http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url),url}function createLeafletInstance(id,theOptions){var map,options=theOptions||{};if("undefined"!=typeof dl&&void 0!==dl.controller&&void 0!==dl.model.Configuration){var mapMaxBounds=config.getMapMaxBounds();map=new Map(id,{minZoom:void 0!==config.getMapMinZoom?config.getMapMinZoom():3,maxZoom:void 0!==config.getMapMaxZoom?config.getMapMaxZoom():19,maxBounds:mapMaxBounds,zoomControl:options.zoomControl||!1,attributionControl:!1})}else map=new Map(id,{minZoom:3,maxZoom:19,zoomControl:options.zoomControl||!1,attributionControl:!1});return map}function createMap(id,options){var map;vectormapsConfig||init(),void 0===options&&(options={}),map=createLeafletInstance(id,options),map.eachLayer(function(layer){map.removeLayer(layer)}),map.on("moveend",function(){transactionScheduled||(transactionScheduled=!0,window.setTimeout(function(){transactionHelpers[transactionIndex].src=vectormapsConfig.mapTransactionUrl+"&tok="+encodeURIComponent(vectormapsConfig.token)+"&imageId="+(new Date).getTime(),++transactionIndex,transactionIndex>=transactionHelpers.length&&(transactionIndex=0);var logUrl=vectormapsConfig.mapLoggingUrl;$.ajax({url:logUrl,success:function(){},async:!0,cache:!1}),transactionScheduled=!1},0))});var primarySource=config.getMapPrimarySource();return vectormaps.tileLayer(vectormapsConfig.baseUrl+"primarySource_"+primarySource+"/tok_"+vectormapsConfig.token+"/").addTo(map),map}function createMarker(latlon,options){return options=options||{icon:{}},options.icon=new Icon(options.icon),new Marker(latlon,options)}function createScale(options){return new Scale(options)}function printMap(mapOptions,outImg){function doPrint(){function latlonToXY(latlon){var merk=prj.project(latlon);return{x:Math.round((merk.x-mercCenter.x)/mercPerPx+mapOptions.size.x/2),y:Math.round((mercCenter.y-merk.y)/mercPerPx+mapOptions.size.y/2)}}function drawImage(image,x,y){var size=imageSizes[image],w=size.w,h=size.h;printContext.drawImage({src:imageBaseUrl+image},0,0,w,h,x-Math.floor(w/2),y-h,w,h)}function drawCopyright(){var width=120,height=20,x=10,y=size.y-height-10,textX=8,textY=4,text=mapCopyright;printContext.fillStyle="#ffffff",printContext.beginPath(),printContext.rect(x,y,width,height),printContext.fill(),printContext.strokeStyle="#666666",printContext.fontFamily="sans-serif",printContext.fontStyle="plain",printContext.fontSize=10,printContext.textAlignment=17,printContext.drawText(text,x+textX,y+textY)}ajaxMapsLoaded=!0;var context={getWidth:function(){return size.x},getHeight:function(){return size.y}},printService=null,printContext=new com.ptvag.webcomponent.map.PrintContext(context);printContext.getPrintService=function(){return null==printService&&(printService=new qxp.io.remote.Rpc(qxp.io.remote.Rpc.makeServerURL(""+printContext.getPrintId()),"com.ptvag.webcomponent.map.printing.PrintService"),printService.setTimeout(2e4),printService.setCrossDomain(!0)),printService};var x,y,prj=L.Projection.SphericalMercator,mercWidthPerTile=2*Math.PI/Math.pow(2,zoom),mercPerPx=mercWidthPerTile/256,mercCenter=prj.project(center),mercCenterX=Math.PI+mercCenter.x,mercCenterY=Math.PI-mercCenter.y,mercLeft=mercCenterX-size.x*mercPerPx/2,mercTop=mercCenterY-size.y*mercPerPx/2,mercRight=mercCenterX+size.x*mercPerPx/2,mercBottom=mercCenterY+size.y*mercPerPx/2,minX=Math.floor(mercLeft/mercWidthPerTile),maxX=Math.floor(mercRight/mercWidthPerTile),minY=Math.floor(mercTop/mercWidthPerTile),maxY=Math.floor(mercBottom/mercWidthPerTile),offsetLeft=Math.round((minX*mercWidthPerTile-mercLeft)/mercPerPx),offsetTop=Math.round((minY*mercWidthPerTile-mercTop)/mercPerPx);for(x=minX;maxX>=x;++x)for(y=minY;maxY>=y;++y){var imageUrl=[vectormapsConfig.baseUrl+"tok_"+vectormapsConfig.token,"tile",zoom,x,y+".png"].join("/");printContext.drawImage({src:imageUrl},0,0,256,256,256*(x-minX)+offsetLeft,256*(y-minY)+offsetTop,256,256)}if(mapOptions.route){var coords=getRouteCoords(mapOptions.route),pos=latlonToXY(coords[0]);printContext.beginPath(),printContext.moveTo(pos.x,pos.y),$.each(coords,function(i,latlon){pos=latlonToXY(latlon),printContext.lineTo(pos.x,pos.y)}),printContext.lineCap="round",printContext.lineJoin="round",printContext.lineWidth=7,printContext.strokeStyle="#00b0e3",printContext.stroke(),mapOptions.layers=(mapOptions.layers||[]).concat({type:"marker",markerType:"start",latlon:coords[0]},{type:"marker",markerType:"end",latlon:coords[coords.length-1]})}$.each(mapOptions.layers,function(i,layer){if("marker"===layer.type){var pos=latlonToXY(layer.latlon||center);if(drawImage("print/map/ICN-mappoint.png",pos.x,pos.y),layer.markerType){var image={logo:"print/map/ICN-mapflag-logo.png",start:"print/route/ICN-POI-own-map.png",end:"print/route/ICN-POI-seller-map.png"}[layer.markerType];drawImage(image,pos.x,pos.y-12)}}}),drawCopyright(),printContext.end();var timer=window.setInterval(function(){if(printContext.isIdle()){window.clearInterval(timer);var printImageUrl=com.ptvag.webcomponent.map.MapUtil.rewriteURL("/MapServlet?special=printimg&printId="+printContext.getPrintId()+"&tok="+encodeURIComponent(vectormapsConfig.token),!1,"");outImg.src=printImageUrl,result.resolve()}},100);result.abort=function(){window.clearInterval(timer)}}function failed(){result.reject()}vectormapsConfig||initWithConfig(mapOptions.mapConfig);var center,zoom,options,map,result=new $.Deferred,size=mapOptions.size,outerContainer=$("<div><div></div></div>").css("position","absolute").css("left","0").css("top","0").css("width","10px").css("height","10px").css("overflow","hidden").css("visibility","hidden"),innerContainer=outerContainer.children(":first").css("width",size.x+"px").css("height",size.y+"px");if($("body").append(outerContainer),options=mapOptions.options?mapOptions.options:{},map=createLeafletInstance(innerContainer[0]),$.extend(options,{animate:!1}),mapOptions.bounds)map.fitBounds(mapOptions.bounds,options);else if(mapOptions.center){var targetCenter=L.latLng(mapOptions.center[0],mapOptions.center[1]);map.setView(targetCenter,mapOptions.zoom,options)}else mapOptions.route&&(showRouteOnMap(mapOptions.route,map),map.fitBounds(map.dl_route.routeLine.getBounds(),options));return center=map.getCenter(),zoom=map.getZoom(),map.remove(),outerContainer.remove(),ajaxMapsLoaded?doPrint():$.ajax({url:vectormapsConfig.ajaxMapsUrl+"webcomponent/script/map-standalone.js",dataType:"script"}).then(function(){$.ajax({url:vectormapsConfig.ajaxMapsUrl+".qxrpc",dataType:"script"}).then(doPrint,failed)},failed),result}function showRouteOnMap(route,map,options){var theOptions=options||{},oldRoute=map.dl_route;if(oldRoute&&(oldRoute.routeLine&&map.removeLayer(oldRoute.routeLine),oldRoute.routeMarkers&&$.each(oldRoute.routeMarkers,function(i,marker){map.removeLayer(marker)})),!route)return void(map.dl_route=null);map.dl_route={};var leafletCoords=getRouteCoords(route);map.dl_route.routeLine=L.polyline(leafletCoords,{color:"#00b0e3",weight:7,opacity:1}).addTo(map);var routeStartMarker=createMarker(leafletCoords[0],{icon:{variant:"routeStart"},clickable:!1,keyboard:!1}).addTo(map),routeDestMarker=createMarker(leafletCoords[leafletCoords.length-1],$.extend(!0,{icon:{variant:"routeDest"},clickable:!1,keyboard:!1},theOptions.destMarkerOptions)).addTo(map);map.dl_route.routeMarkers=[routeStartMarker,routeDestMarker]}function getRouteCoords(route){for(var coordinates=route.routePlan.coordinates,coordCount=parseInt(coordinates.length/2,10),leafletCoords=[],i=0;coordCount>i;++i)leafletCoords.push(L.latLng(coordinates[2*i]/1e5,coordinates[2*i+1]/1e5));return leafletCoords}var transactionHelpers,transactionIndex,transactionScheduled,imageBaseUrl,vectormapsConfig,config,Map,Marker,Icon,Scale,ajaxMapsLoaded=!1,mapCopyright="© PTV, NAVTEQ, AND",imageSizes={"print/map/ICN-mappoint.png":{w:11,h:11},"print/map/ICN-mapflag-logo.png":{w:50,h:64},"print/route/ICN-POI-own-map.png":{w:30,h:38},"print/route/ICN-POI-seller-map.png":{w:50,h:64}};Map=function(){var features=["dragging","touchZoom","doubleClickZoom","scrollWheelZoom","boxZoom","keyboard"];return L.Map.extend({disable:function(){var me=this;return $.each(features,function(idx,feature){me[feature].disable()}),me},enable:function(){var me=this;return $.each(features,function(idx,feature){me[feature].enable()}),me}})}(),Marker=L.Marker.extend({timeOutHandle:null,setActive:function(active,activeZIndexOffset){var me=this;this._icon&&(active?(me.activate(),null!=this.timeOutHandle&&window.clearTimeout(this.timeOutHandle)):this.timeOutHandle=win.setTimeout(function(){me.unactivate()},800)),this.setZIndexOffset(active?activeZIndexOffset||1e3:0)},activate:function(){$(".leaflet-marker-pane .leaflet-marker-icon *:first-child").removeClass("active"),L.DomUtil.addClass(this._icon.firstChild,"active")},unactivate:function(){L.DomUtil.removeClass(this._icon.firstChild,"active")},isActive:function(){return $(this._icon).hasClass("active")}});var iconProto=L.DivIcon.prototype;return Icon=L.DivIcon.extend({initialize:function(options){var size,sizes,markerPointMargin=1,markerPointHeight=12;sizes={normal:[31,39+markerPointMargin+markerPointHeight],"double":[39,43+markerPointMargin+markerPointHeight],multi:[47,47+markerPointMargin+markerPointHeight],logo:[50,64+markerPointMargin+markerPointHeight],routeStart:[30,38+markerPointMargin+markerPointHeight],routeDest:[50,64+markerPointMargin+markerPointHeight]},size=options.iconSize||sizes[options.variant]||sizes.normal,options.iconSize=size,options.iconAnchor=[Math.round(size[0]/2),size[1]-markerPointHeight/2],options.html='<div class="dl-marker'+(options.variant?"-"+options.variant:options.html?"":"-unlabeled")+'"><div class="dl-pin-marker">'+(options.html||"")+'</div><div class="dl-point-marker"></div></div>',iconProto.initialize.apply(this,arguments)},createIcon:function(){var icon=iconProto.createIcon.apply(this,arguments);return L.DomUtil.removeClass(icon,"leaflet-div-icon"),icon}}),Scale=L.Control.Scale.extend({_addScales:function(options,className,container){var me=this;options.metric&&(me._mScale=me._addScale(className,container)),options.imperial&&(me._iScale=me._addScale(className,container))},_addScale:function(className,container){var $container=$(container).attr("class","dl-scale"),$scale=$('<div class="dl-scale-inner">').append('<div class="dl-scale-line">').append('<div class="dl-scale-text">');return $container.append($scale),{line:$scale.children()[0],text:$scale.children()[1]}},_update:function(){var me=this,bounds=me._map.getBounds(),centerLat=bounds.getCenter().lat,halfWorldMeters=6378137*Math.PI*Math.cos(centerLat*Math.PI/180),dist=halfWorldMeters*(bounds.getEast()-bounds.getWest())/180,size=me._map.getSize(),options=me.options,maxMeters=size.x>0?dist*(options.maxWidth/size.x):0;me._updateScales(options,maxMeters)},_updateMetric:function(maxMeters){var me=this,meters=me._getRoundNum(maxMeters),label=1e3>meters?meters+" m":meters/1e3+" km";me._updateScale(me._mScale,label,meters/maxMeters)},_updateImperial:function(maxMeters){var maxMiles,miles,feet,me=this,maxFeet=3.2808399*maxMeters;maxFeet>5280?(maxMiles=maxFeet/5280,miles=me._getRoundNum(maxMiles),me._updateScale(me._iScale,miles+" mi",miles/maxMiles)):(feet=me._getRoundNum(maxFeet),me._updateScale(me._iScale,feet+" ft",feet/maxFeet))},_updateScale:function(scale,text,ratio){scale.line.style.width=Math.round(this.options.maxWidth*ratio)-10+"px",scale.text.innerHTML=text}}),{mapCopyright:mapCopyright,createMap:createMap,createMarker:createMarker,createScale:createScale,showRouteOnMap:showRouteOnMap,printMap:printMap,init:init,initWithConfig:initWithConfig}}function Create(config){var newInstance=new PTVMapClient;return void 0!==config?newInstance.initWithConfig(config):newInstance.init(),newInstance}return nscommon.PTVMapClient={Create:Create}}(window,nscommon),function($,dl){"use strict";function init(env){currentEnvironment="local"==env?environmentValues.local:"cloud"==env?environmentValues.cloud:"clouddev"==env?environmentValues.clouddev:"cloudlocal"==env?environmentValues.cloudlocal:"cloudlocaldev"==env?environmentValues.cloudlocaldev:"wt"==env?environmentValues.wt:"dev"==env?environmentValues.dev:"is7dev"==env?environmentValues.dev:"int"==env?environmentValues["int"]:"is7int"==env?environmentValues["int"]:environmentValues.cloud,currentEnvironment.callbacks={},currentEnvironment.search={},currentEnvironment.distance={display:"true"},currentEnvironment.dealerBubblePopup={display:"true"},currentEnvironment.clusterBubblePopup={display:"true"},currentEnvironment.linkedDealerRadius=20}function getCurrentEnvironment(){return currentEnvironment}dl.env.Environment={init:init,getCurrentEnvironment:getCurrentEnvironment};var environmentValues={local:{service:{baseUrl:"localhost:9393/dl/api/v1/",dataBaseUrl:"localhost:9393/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL"},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom",mapLoggingUrl:"emb-shop-dev.service-shop.mercedes-benz.com/is-bin/INTERSHOP.enfinity/WFS/outlet-de-wholesale-consumer-Site/de_DE/-/EUR/DBG_ViewShopLocator-LogMapEvent"},useTestOmnitureId:!0},cloud:{service:{baseUrl:"/dl/api/v1/",dataBaseUrl:"/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL",cloud:!0},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom"},useTestOmnitureId:!1},clouddev:{service:{baseUrl:"https://dev.dealerlocator.mercedes-benz.cinteo.de/dl/api/v1/",dataBaseUrl:"https://dev.dealerlocator.mercedes-benz.cinteo.de/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL",cloud:!0},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom"},useTestOmnitureId:!0},cloudlocal:{service:{baseUrl:"localhost:8480/dl/api/v1/",dataBaseUrl:"localhost:8480/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL",cloud:!0},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom"},useTestOmnitureId:!0},cloudlocaldev:{service:{baseUrl:"10.0.0.53:8480/dl/api/v1/",dataBaseUrl:"10.0.0.53:8480/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL",cloud:!0},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom"},useTestOmnitureId:!0},wt:{service:{baseUrl:"emb-shop-dev.mercedes-benz.com/dl/api/v1/",dataBaseUrl:"emb-shop-dev.mercedes-benz.com/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL"},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom",mapLoggingUrl:"emb-shop-dev.service-shop.mercedes-benz.com/is-bin/INTERSHOP.enfinity/WFS/outlet-de-wholesale-consumer-Site/de_DE/-/EUR/DBG_ViewShopLocator-LogMapEvent"},useTestOmnitureId:!0},dev:{service:{baseUrl:"emb-shop-dev.mercedes-benz.com/dl/api/v1/",dataBaseUrl:"emb-shop-dev.mercedes-benz.com/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL"},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom",mapLoggingUrl:"emb-shop-dev.mercedes-benz.com/INTERSHOP/web/WFS/outlet-de-wholesale-consumer-Site/de_DE/-/EUR/DBG_ViewShopLocator-LogMapEvent"},useTestOmnitureId:!0},"int":{service:{baseUrl:"emb-shop-int.mercedes-benz.com/dl/api/v1/",dataBaseUrl:"emb-shop-int.mercedes-benz.com/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL"},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom",mapLoggingUrl:"emb-shop-int.mercedes-benz.com/INTERSHOP/web/WFS/outlet-de-wholesale-consumer-Site/de_DE/-/EUR/DBG_ViewShopLocator-LogMapEvent"},useTestOmnitureId:!0},prod:{service:{baseUrl:"dealersearch.mercedes-benz.com/dl/api/v1/",dataBaseUrl:"dealersearch.mercedes-benz.com/dl/api/v1/",locale:"de_DE",token:"dl-responsive",w:"test",organization:"outlet-de-wholesale",config:"DLp",templateset:"eMB-MyM-DL"},mapService:{baseUrl:"ajaxmap1.ptv.de/uams2/vectormaps/",ajaxMapsUrl:"ajaxmap1.ptv.de/uams2/",token:"fwff674g$$www.service-shop.mercedes-benz.com",mapTransactionUrl:"ajaxmap1.ptv.de/uams2/MapServlet?left=0&right=0&top=0&bottom=0&width=1&height=1&visibleLayers=Town&transparent=true&loggingInfo=user%3AmousewheelZoom",mapLoggingUrl:"dealersearch.mercedes-benz.com/is-bin/INTERSHOP.enfinity/WFS/outlet-de-wholesale-consumer-Site/de_DE/-/EUR/DBG_ViewShopLocator-LogMapEvent"},useTestOmnitureId:!1}},currentEnvironment=environmentValues.cloud}(jQuery,dl),function(dl){"use strict";dl.TrackingEvents={SearchTrackingEvent:{name:"DEALER_SEARCH",data:{searchMethod:"",searchParams:{}}},ResultTrackingEvent:{name:"DEALER_RESULT",data:{response:{}}},DealerSelectionTrackingEvent:{name:"DEALER_SELECTION",data:{dealer:{}}},FavoriteDealerSelectionTrackingEvent:{name:"FAVORITE_DEALER_SELECTION",data:{dealer:{}}},UnfavoriteDealerTrackingEvent:{name:"UNFAVORITE_DEALER",data:{dealer:{}}},FavoriteDealerTrackingEvent:{name:"FAVORITE_DEALER",data:{dealer:{}}}}}(dl),function($,hbs){"use strict";function parseDlLink(link){function isUrl(str){return 0===str.indexOf("http")}var text,href,match=linkRE.exec(link);if(match)text=match[1],-1!=text.indexOf("#")&&(text=text.substring(0,text.indexOf("#"))),href=match[3]||text;else{if(!isUrl(link))return null;text=link.replace(/^https?:\/\//,""),href=link}return{text:text,href:href,openInNewPage:isUrl(href)}}function isValidDealerValue(value){return value?"[]"==value?!1:"["!=value.substring(0,1)||"]"!=value.substring(value.length-1)||parseDlLink(value)?!!value:!1:!1}function getConfig(){return dl.model.Configuration}hbs.registerHelper("tr",function(){return dl.tr.apply(null,[].slice.call(arguments,0,arguments.length-1))}),hbs.registerHelper("include",function(templatename,options){var partial=hbs.partials[templatename],context=_.extend({},this,options.hash);return new hbs.SafeString(partial(context))}),hbs.registerHelper("if_even",function(conditional,options){return conditional%2===0?options.fn(this):options.inverse(this)}),hbs.registerHelper("equal",function(value1,value2,options){if(arguments.length<3)throw new Error("Two parameters are required for equal ");return value1==value2?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlPrint",function(value){if("["!=value.substring(0,1)||"]"!=value.substring(value.length-1))return value;var parsed=parseDlLink(value);return parsed?new hbs.SafeString("<a"+(parsed.openInNewPage?' target="_blank" ':"")+' href="'+hbs.Utils.escapeExpression(parsed.href)+'">'+hbs.Utils.escapeExpression(parsed.text)+"</a>"):(dl.log("Illegal link syntax:",value),value)}),hbs.registerHelper("dlValidValue",function(value,options){return value?"[]"==value?options.inverse(this):("["!=value.substring(0,1)||"]"!=value.substring(value.length-1)||parseDlLink(value))&&value?options.fn(this):options.inverse(this):options.inverse(this)}),hbs.registerHelper("dlLink",function(link){var parsed=parseDlLink(link);return parsed?new hbs.SafeString("<a"+(parsed.openInNewPage?' target="_blank" ':"")+' href="'+hbs.Utils.escapeExpression(parsed.href)+'">'+hbs.Utils.escapeExpression(parsed.text)+"</a>"):(dl.log("Illegal link syntax:",link),link)}),hbs.registerHelper("dlLinkHref",function(link,extendWithParams){var parsed=parseDlLink(link);if(parsed){var attachedParamNames=["omnitureid"],attachedParams=$.param(_.pick(dl.urlParams,attachedParamNames)),url=parsed.href;return extendWithParams===!0&&attachedParams&&(url+=(-1===url.indexOf("?")?"?":"&")+attachedParams),url}return dl.log("Illegal link syntax:",link),link});var linkRE=/^\[([^|]+)(\|(.*))?\]$/;hbs.registerHelper("dlEnabled",function(key,options){return dl.isConfigTruthy(key,options.hash)?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDisabled",function(key,options){return dl.isConfigTruthy(key,options.hash)?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlNotDisabled",function(key,options){return dl.isConfigTruthy(key,options.hash)?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlSelectDealerForLeftBoxEnabled",function(options){var result=dl.tpl.$$context&&"DEALER_BOX_LEFT"==dl.tpl.$$context;return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlSelectDealerForTooltipEnabled",function(options){var result=dl.tpl.$$context&&"TOOLTIP"==dl.tpl.$$context;
return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDealerSearchOperationEnabled",function(options){return getConfig().isDealerSearchOperation()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDealerSelectorOperationEnabled",function(options){return getConfig().isDealerSelectorOperation()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDealerDetailsEnabled",function(options){return getConfig().isDealerDetailsEnabled()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDealerSelectorModeEnabled",function(options){return dl.isDealerSelectorMode()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlDealerSelectorModeDisabled",function(options){return dl.isDealerSelectorMode()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFavoriteAddressEnabled",function(options){return dl.isFavoriteMode()&&getConfig().getFavoriteHideAdress()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFavoritePhoneFaxEnabled",function(options){return dl.isFavoriteMode()&&getConfig().getFavoriteHidePhoneFax()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFavoriteEmailEnabled",function(options){return dl.isFavoriteMode()&&getConfig().getFavoriteHideEmail()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFavoriteHomepageEnabled",function(options){return dl.isFavoriteMode()&&getConfig().getFavoriteHideHomepage()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFavoriteContactEnabled",function(options){return dl.isFavoriteMode()&&getConfig().getFavoriteHideContact()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlSelectDealerForLeftBoxEnabled",function(options){var result=dl.tpl.$$context&&"DEALER_BOX_LEFT"==dl.tpl.$$context;return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlSelectDealerForTooltipEnabled",function(options){var result=dl.tpl.$$context&&"TOOLTIP"==dl.tpl.$$context;return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlVCardForContextEnabled",function(options){return!dl.tpl.$$context||"DEALER_BOX_LEFT"!=dl.tpl.$$context&&"DETAIL_LEFT"!=dl.tpl.$$context?void 0:options.fn(this)}),hbs.registerHelper("dlAddressLinesSwapped",function(options){return getConfig().getSwapAddressLines()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlAddressLinesNotSwapped",function(options){return getConfig().getSwapAddressLines()?options.inverse(this):options.fn(this)}),hbs.registerHelper("dlFormRegionMainOption",function(options){var result=getConfig().getFormRegionMainOption()&&(getConfig().getFormRegionDropdown()||getConfig().getFormSubregionDropdown());return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlNotFormRegionMainOption",function(options){var result=!getConfig().getFormRegionMainOption()||!getConfig().getFormRegionDropdown()&&!getConfig().getFormSubregionDropdown();return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlFormRegionDropdown",function(options){var result=getConfig().getFormRegionDropdown();return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlFormSubregionDropdown",function(options){var result=getConfig().getFormSubregionDropdown()||getConfig().getFormRegionDropdown();return result?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlContactBlockEnabled",function(options){return dl.isConfigTruthy("DealerData.Phone.Phone.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Phone.Fax.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Contact.Email.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Contact.Homepage.Excluded.Contexts")?options.inverse(this):isValidDealerValue(this.phoneLine)||isValidDealerValue(this.faxLine)||isValidDealerValue(this.emailLine)||isValidDealerValue(this.links[0])?options.fn(this):void options.inverse(this)}),hbs.registerHelper("dlContactPersonBlockEnabled",function(options){return dl.isConfigTruthy("DealerData.Contact.Person.Name.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Contact.Person.Phone.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Contact.Person.Email.Excluded.Contexts")&&dl.isConfigTruthy("DealerData.Contact.Person.Fax.Excluded.Contexts")?options.inverse(this):isValidDealerValue(this.contactNameLine)||isValidDealerValue(this.contactPhoneLine)||isValidDealerValue(this.contactFaxline)||isValidDealerValue(this.contactEmailLine)?options.fn(this):void options.inverse(this)}),hbs.registerHelper("dlContactPersonAvailable",function(dealer,options){return isValidDealerValue(dealer.contactNameLine)||isValidDealerValue(dealer.contactPhoneLine)||isValidDealerValue(dealer.contactFaxline)||isValidDealerValue(dealer.contactEmailLine)?options.fn(this):void 0}),hbs.registerHelper("dlContactPersonNotAvailable",function(dealer,options){return isValidDealerValue(dealer.contactNameLine)||isValidDealerValue(dealer.contactPhoneLine)||isValidDealerValue(dealer.contactFaxline)||isValidDealerValue(dealer.contactEmailLine)?void 0:options.fn(this)}),hbs.registerHelper("dlVCardActive",function(options){var vcardActive=getConfig().getVCardActive();return vcardActive?options.fn(this):void 0}),hbs.registerHelper("dlPrintEnabled",function(key,options){var util=dl.common.ParseUtil;return util.isStrNotEmpty(key)?getConfig().getPrintEnabled()&&dl.isConfigTruthy(key)?options.fn(this):options.inverse(this):getConfig().getPrintEnabled()?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlControlString",function(key){return dl.config.control[key]||null}),hbs.registerHelper("dlConfigString",function(key){return dl.config.configuration[key]||null}),hbs.registerHelper("dlControlNotEmpty",function(key,options){var util=dl.common.ParseUtil;return util.isStrNotEmpty(dl.config.control[key])?options.fn(this):options.inverse(this)}),hbs.registerHelper("dlPortfolioMatrix",function(dealer){return new Handlebars.SafeString(dl.tpl["modules/dealerServices"]({matrix:dl.model.Dealers.getMatrixFromDealer(dealer)}))}),hbs.registerHelper("dlPortfolioList",function(dealer){return new Handlebars.SafeString(dl.tpl["modules/dealerServicesList"]({servicesList:dl.model.Dealers.getServicesListFromDealer(dealer)}))}),hbs.registerHelper("dlServiceAndPrdgrpList",function(dealer){return new Handlebars.SafeString(dl.tpl["modules/dealerServiceAndPrdgrpList"]({serviceList:dl.model.Dealers.getServicesAndPrdgrpListFromDealer(dealer),serviceProductBlockSize:"large"==getConfig().getServiceProductBlockSize()?"large":"small"}))}),hbs.registerHelper("dlActivities",function(dealer){var activities=dl.model.Dealers.getActivitiesFromDealer(dealer);return new Handlebars.SafeString(dl.tpl["modules/dealerActivities"]({activities:activities,hasActivities:activities.length>0}))}),hbs.registerHelper("dlDealerDetailActivities",function(dealer){var activities=dl.model.Dealers.getDealerDetailActivities(dealer);return new Handlebars.SafeString(dl.tpl["modules/dealerActivities"]({activities:activities,hasActivities:activities.length>0}))}),hbs.registerHelper("dlActivitiesOrProductGroups",function(dealer){if(getConfig().getDisplayProductGroups()){var productGroups=dl.model.Dealers.getProductGroupsFromDealer(dealer);return new Handlebars.SafeString(dl.tpl["modules/dealerProductGroups"]({productGroups:productGroups,hasProductGroups:productGroups.length>0}))}var activities=dl.model.Dealers.getActivitiesFromDealer(dealer);return new Handlebars.SafeString(dl.tpl["modules/dealerActivities"]({activities:activities,hasActivities:activities.length>0}))}),hbs.registerHelper("withGetParams",function(url){var ownParamNames=["debug","mode","dbgDealerIDs","Linktextleftnavi","Linktextinfobubble","locale","sku","organization","templateset"],encodedGetParams=$.param(_.omit(dl.urlParams,ownParamNames));return encodedGetParams&&(url+=(-1===url.indexOf("?")?"?":"&")+encodedGetParams),url}),hbs.registerHelper("dlTargetShopUrl",function(shopUrl,allLinks){var ownParamNames=["debug","mode","dbgDealerIDs","Linktextleftnavi","Linktextinfobubble","locale","sku","organization","templateset","env","expandForm"],attachedParamNames=($.param(_.omit(dl.urlParams,ownParamNames)),["omnitureid"]),attachedParams=$.param(_.pick(dl.urlParams,attachedParamNames));if(dl.isCloudEnvironment()){var url,expression=dl.config.configuration["link.JumpTo."+getConfig().getLinkJumpTo()];if(void 0===expression)switch(getConfig().getLinkJumpTo()){case"Link1":url=allLinks[4];break;case"Link2":url=allLinks[5];break;case"Link3":url=allLinks[6]}else url=expression;return attachedParams&&(url+=(-1===url.indexOf("?")?"?":"&")+attachedParams),url}if(void 0===shopUrl)return shopUrl;var linkNr,expression=dl.config.configuration["link.JumpTo."+getConfig().getLinkJumpTo()];if(void 0===expression)switch(getConfig().getLinkJumpTo()){case"Basket":expression="{{protocol}}://{{host}}/{{shopBaseURL}}/ViewPurchaseProcess-Start?JumpTo=Basket&ProductSKU={{ProductSKU}}&CenterID={{CenterID}}&Quantity_{{ProductSKU}}={{Quantity_{{ProductSKU}}}}";break;case"Category":expression="{{protocol}}://{{host}}/{{shopBaseUrl}}/ViewApplication-SelectServiceDispatch?CenterID={{CenterID}}&selectservicecategoryname={{selectservicecategoryname}}";break;case"Product":expression="{{protocol}}://{{host}}/{{shopBaseUrl}}/ViewProductDetail-ProductBySKU?CenterID={{CenterID}}&ProductSKU={{ProductSKU}}";break;case"Link1":linkNr="1",expression=allLinks[4];break;case"Link2":linkNr="2",expression=allLinks[5];break;case"Link3":linkNr="3",expression=allLinks[6]}for(var match,shopUrlRegExp=/^(htt.*?):\/\/(.*?)\/(.*)\/(.*)\?/,parsedShopUrl=shopUrl.match(shopUrlRegExp),urlParamMap={},regex=new RegExp("[?&]([^=]+)=([^&]+)","g");null!==(match=regex.exec(shopUrl));)urlParamMap[decodeURIComponent(match[1])]=decodeURIComponent(match[2]);var context=$.extend(urlParamMap,_.omit(dl.urlParams,ownParamNames));null!==parsedShopUrl&&parsedShopUrl.length>4&&(context=$.extend(context,{protocol:parsedShopUrl[1],host:parsedShopUrl[2],shopBaseURL:parsedShopUrl[3],basePipeline:parsedShopUrl[4],locale:dl.pageConfig.service.locale}));var url=expression;if(null!==url&&void 0!==url){for(var variable in context){var regExp=new RegExp("\\{\\{"+variable+"\\}\\}","gi");url=url.replace(regExp,context[variable])}url=url.replace(/\{\{.*?\}\}/g,"")}return attachedParams&&(url+=(-1===url.indexOf("?")?"?":"&")+attachedParams),url}),hbs.registerHelper("dlShopButtonEnabled",function(shopUrl,allLinks,options){var url=shopUrl;if(dl.isCloudEnvironment()){var expression=dl.config.configuration["link.JumpTo."+getConfig().getLinkJumpTo()];if(void 0===expression)switch(getConfig().getLinkJumpTo()){case"Link1":url=allLinks[4];break;case"Link2":url=allLinks[5];break;case"Link3":url=allLinks[6]}else url=expression}return null!==url&&void 0!==url&&url.length>0?options.fn(this):void 0}),hbs.registerHelper("dlDistanceAvailable",function(dealer,options){var config=getConfig().getConfigValueWithFallback("distance.display");if(config&&"false"!=config){var distance=dealer.distanceFromReference,isDetails=dl.tpl.$$context&&"DETAIL_LEFT"==dl.tpl.$$context;return!isDetails&&void 0!==distance&&"number"==typeof distance&&distance>0?options.fn(this):void 0}}),hbs.registerHelper("dlStringNotEmpty",function(str,options){return null!==str&&void 0!==str&&str.length>0?options.fn(this):void 0}),hbs.registerHelper("dlFormattedDistance",function(distance,options){return dl.formatDistance(distance,options.hash.decimalNumbers)}),hbs.registerHelper("dlFormattedDistanceForRoute",function(formattedDistance,options){return dl.formatDistanceForRouteDesc(formattedDistance,options.hash.decimalNumbers)}),hbs.registerHelper("dlImageBase",function(){var url=getConfig().getImageBaseUrl();return"http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url),url}),hbs.registerHelper("dlContentRoot",function(){var url=dl.pageConfig.service.contentRoot;return"http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url),url})}(jQuery,Handlebars),function(dl){"use strict";function passThrough(promise,key){var origThen=promise.then;return promise.then=function(){var result=origThen.apply(promise,arguments);return result[key]=promise[key],passThrough(result,key),result},promise}function invoke(method,reqParams,options){var serviceConfig=dl.pageConfig.service,config=dl.model.Configuration,util=dl.common.ParseUtil,baseUrl="get_configuration"==method?serviceConfig.baseUrl:serviceConfig.dataBaseUrl,sku=serviceConfig.config,org=serviceConfig.organization;if("get_configuration"!=method){var contextFilter=config.getContextFilter();util.isAttrNotEmpty(contextFilter)&&(util.isAttrNotEmpty(contextFilter.sku)&&(sku=contextFilter.sku),util.isAttrNotEmpty(contextFilter.org)&&(org=contextFilter.org));var gssnBrands=config.getCurrentState().getGssnBrands();util.isStrNotEmpty(gssnBrands)&&(reqParams.gssnBrands=gssnBrands.split(","))}var url=baseUrl+sku+"/"+org+"/"+serviceConfig.locale+"/"+method,dataType="jsonp",allowCaching=options&&options.cache;if("http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url),dl.DEBUG.service&&(url="dummy_responses/"+method+".json",dataType="json"),"dealer_by_ids"==method){var idParam=reqParams.id,idType=reqParams.idType,util=dl.common.ParseUtil,swapParams=!1;util.isAttrNotEmpty(idType)?("outletId"==idType&&(delete reqParams.id,reqParams.outletId=idParam),delete reqParams.idType):($.isArray(idParam)?(swapParams=0==idParam[0].indexOf("GS"),idParam.length>50&&(idParam=idParam.slice(0,50),reqParams.id=idParam)):swapParams=0==idParam.indexOf("GS"),swapParams&&(delete reqParams.id,reqParams.outletId=idParam))}url=appendUrlParameterBlock(url,config.getAdditionalURLParameters()),dl.log("Invoking API method "+method+" ...");var request=$.ajax({url:url,dataType:dataType,timeout:12e4,traditional:!0,cache:allowCaching,jsonpCallback:allowCaching?"dl_jsonp_"+method:void 0,data:_.extend({w:serviceConfig.w,token:serviceConfig.token,config:sku},reqParams)});return passThrough(request,"abort"),request.then(function(data){var def=new $.Deferred,errors=data.errors;return errors&&errors.length>0&&!(data.dealers&&data.dealers.length>0)?(def.reject(errors,data),onError("Invoking API method "+method+" failed. Errors are:\n",errors)):def.resolve(data),def},onAjaxError)}function onError(message,errors){dl.log(message,_.pluck(errors,"ErrorMessage"))}function onAjaxError(request,status,err){var errorMessage;"timeout"==status?dl.log("timeout"):dl.log("error: "+request+status+err),errorMessage=dl.tr("http.500");var error=[{ErrorMessage:"System error.",ErrorCode:500,displayMessage:errorMessage}],def=new $.Deferred;return def.reject(error),def}function appendUrlParameterBlock(url,block){return null!=block&&""!=block&&(url+=url.indexOf("?")<0?"?":"&",url+=block),url}dl.util.Service={invoke:invoke}}(dl),function(win,$,dl){"use strict";function log(){dl.DEBUG.log&&win.console&&console.log&&(console.log.apply?console.log.apply(console,arguments):console.log($.makeArray(arguments).join("\n")))}function splitUrlParams(){for(var match,urlParamMap={},search=location.search,regex=new RegExp("[?&]([^=&]+)=?([^&]+)?","g");null!==(match=regex.exec(search));)urlParamMap[decodeURIComponent(match[1])]=decodeURIComponent(match[2]);return urlParamMap}function showGenericError(show){function onClick(evt){$(evt.target).is(".dl-dismiss")&&showGenericError(!1)}var $genericError=getWidget().find(".dl-genericerror");show&&!$genericError.length&&($genericError=$(dl.tpl["modules/genericError"]()).appendTo(document.body).on("click",onClick)),$genericError.toggle(show)}function createSortname(string,language,country){return string}function localeSortCompare(string1,string2,language,country){return country?string1.localeCompare(string2,language+"-"+country):string1.localeCompare(string2,language)}function endsWith(str,suffix){return-1!==str.indexOf(suffix,str.length-suffix.length)}function tr(msgid){var args=[].slice.call(arguments,1),maybePlural="number"==typeof msgid;if(maybePlural){var count=msgid;msgid=1===count?args[0]:args[1],args=[count].concat(args.slice(2))}var subprocess=dl.pageConfig.service.config,msg=dl.i18n[subprocess+"."+msgid];if(msg||(msg=dl.i18n[msgid]),msg){if(args.length>0){for(var match,paramRE=/\{ *(\d+) *\}/g,lastPos=0,filledMsg=[];null!==(match=paramRE.exec(msg));)filledMsg.push(msg.substring(lastPos,match.index)),filledMsg.push(args[parseInt(match[1],10)]),lastPos=match.index+match[0].length;filledMsg.push(msg.substring(lastPos,msg.length)),msg=filledMsg.join("")}}else msg="["+msgid+"]",log("Missing I18N key: "+msgid);return msg}function isConfigTruthy(key,options){options=options||{};var val=dl.config["conf"===options.use?"configuration":"control"][key];return _.isString(val)&&(val=_.map(val.split(","),$.trim)),_.isArray(val)?!_.isEmpty(val)&&_.contains(val,options.val||dl.tpl.$$context):!!val}function isPluginMode(){return window.ds&&window.ds.plugin?window.ds.plugin:!1}function isFavoriteMode(){return dl.tpl.$$context&&dl.tpl.$$context==getConfig().getDataContext()+"FAVORITE_BOX"}function isDealerSelectorMode(){return getConfig().getDealerSelectorMode()}function isTouchDevice(){var mobileOS=getMobileOperatingSystem();return"iOS"==mobileOS||"Android"==mobileOS}function isTooltipEnabled(){return!isTouchDevice()}function getMobileOperatingSystem(){var userAgent=navigator.userAgent||navigator.vendor||window.opera;return userAgent.match(/iPad/i)||userAgent.match(/iPhone/i)||userAgent.match(/iPod/i)?"iOS":userAgent.match(/Android/i)?"Android":"unknown"}function setState(context,state){function stateClass(context,state){return["dl-state",context,state].join("-")}dl.log('Setting state "'+context+"-"+state+'" ...'),getWidgetCntr().removeClass(stateClass(context,getState(context))).addClass(stateClass(context,state)),states[context]=state,triggerResize()}function getState(context){return states[context]||"off"}function resetState(){states={}}function getFormFields($form,names){return _.reduce(names,function(fields,name){return fields[name]=$form.find("[name="+name+"]"),fields},{})}function getFormInputs(fields,validate){var inputs={};return _.each(fields,function($field,key){$field.is("[type=radio]")&&($field=$field.filter(":checked"));var val=$.trim($field.val());$field.is("[type=checkbox]")&&(val=[],$field.filter(":checked").each(function(index,element){val.push($(element).val())})),val&&-1!=val&&(inputs[key]=val)}),(!validate||validate(inputs))&&inputs}function scrollTo($scrollTarget,$scrollParent,delta){$scrollParent=$scrollParent||getScrollParent($scrollTarget),$scrollTarget.length>0&&$scrollParent.length>0&&setTimeout(function(){$scrollParent.animate({scrollTop:$scrollParent.scrollTop()-$scrollParent.offset().top+$scrollTarget.offset().top+(delta||0)})})}function getScrollParent($elem){var $scrollParent;return $elem.parents().each(function(){return"auto"==$.css(this,"overflow-y")?($scrollParent=$(this),!1):void 0}),$scrollParent||getWidget()}function showInPopup(url,parameters,theWindowTitle){var windowTitle=theWindowTitle||dl.tr("general.header");windowTitle=windowTitle.replace(/[ !.]/g,"_"),"null"==parameters?parameters=null:"footer"==parameters&&(parameters="left=20,top=20,toolbars=0,scrollbars=1,location=0,statusbars=0,menubars=1,resizable=0,width=440,height=550");var popupWin=win.open(url,windowTitle,parameters);return popupWin.focus(),!1}function hideTouchKeyboard(){document.activeElement&&document.activeElement.blur()}function triggerResize(){win.setTimeout(function(){dl.controller.Widget.triggerResize()})}function print(printWin,type,html,options){var mobileOS=getMobileOperatingSystem();if(options.backLabel=dl.tr("general.back"),options.copyright=dl.tr("footer.copyright")+" "+dl.tr("footer.title"),printWin.document.open(),printWin.document.write(dl.tpl["pages/print"]()),printWin.document.close(),browser.msie||browser.edge||browser.opera||navigator.userAgent.match(/Trident\/7\./)||"Android"==mobileOS&&browser.firefox){var counter=0,ready=!1,checkPrintPage=setInterval(function(){counter++,printWin.dl&&printWin.dl.controller&&printWin.dl.controller.Print&&$(".dl-print-content",printWin.document).length?(ready||(ready=!0,printWin.dl.controller.Print.print(type,html,options)),clearInterval(checkPrintPage)):counter>1e3&&clearInterval(checkPrintPage)},100);"Android"==mobileOS&&browser.firefox&&$(printWin).on("load",function(){ready||(ready=!0,this.dl.controller.Print.print(type,html,options))})}else $(printWin).on("load",function(){this.dl.controller.Print.print(type,html,options)})}function tpl(name,context,globalContext){globalContext&&dl.log('Executing template "'+name+'" in context "'+globalContext+'" ...'),dl.tpl.$$context=globalContext;var res=dl.tpl[name](context);return dl.tpl.$$context=null,res}function formatDistance(distance,decimalNumbers){if(isNaN(distance))return"distance is not a number!";var distanceFormatConfig=getConfig().getDistanceFormatConfig(),localDecimalNumbers=distanceFormatConfig.decimalNumbers;isNaN(decimalNumbers)||(localDecimalNumbers=parseInt(decimalNumbers));var convertedDistance=distance*distanceFormatConfig.distanceConversion,factor=Math.pow(10,localDecimalNumbers);convertedDistance=Math.round(convertedDistance*factor)/factor;var intValue=Math.floor(convertedDistance),decimalFraction=(convertedDistance-intValue).toFixed(localDecimalNumbers),decimalFractionString=decimalFraction.toString().substring(2);return 0==localDecimalNumbers?""+intValue+"&nbsp;"+distanceFormatConfig.distanceUnit:""+intValue+distanceFormatConfig.decimalChar+decimalFractionString+"&nbsp;"+distanceFormatConfig.distanceUnit}function formatDistanceForRouteDesc(formattedDistance,decimalNumbers){var parsedDistance=parseFloat(formattedDistance.replace(/,/,"."));return formatDistance(parsedDistance,decimalNumbers)}function getVisibleBrowserWidth(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0}function getVisibleBrowserHeight(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}function findByIdOrOutletId(collection,id){var result=_.find(collection,function(dealer){return dealer.id==id||dealer.outletId==id});return result}function hasActivityInPortfolio(activity,portfolio){for(var activitiesLookup=dl.config.control["Shoplocator.ActivityIcon.ActivityProducts"]||[],index=-1,i=0;i<activitiesLookup.length;i++)if(activitiesLookup[i]==activity){index=i;break}var result=!1;return index>=0&&portfolio&&portfolio[index]&&_.each(portfolio[index],function(entry){return"y"==entry?(result=!0,!1):void 0}),result}function hasProductGroupInPortfolio(productGroup,portfolio){for(var productGroupsLookup=dl.config.control["Shoplocator.ActivityIcon.ProductGroupProducts"]||[],index=-1,i=0;i<productGroupsLookup.length;i++)if(productGroupsLookup[i]==productGroup){index=i;break}var result=!1;return index>=0&&portfolio&&_.each(portfolio,function(element){return"y"==element[index]?(result=!0,!1):void 0}),result}function getPortfolioActivity(activity){var activitiesLookup=dl.config.control.__activities||{},activityLookup=activitiesLookup[activity]||{},portfolioActivity="",portfolioActivityList=dl.config.control["Shoplocator.ActivityIcon.ActivityProducts"]||[];if(null===portfolioActivityList||void 0==portfolioActivityList)return activity;for(var i=0;i<portfolioActivityList.length;i++)if(portfolioActivityList[i]==activity)return activity;return _.each(portfolioActivityList,function(name){var i;for(i=1;10>=i;i++)if(activitiesLookup[name]["GSSNActivities_"+i]&&activityLookup["GSSNActivities_"+i]){var diffs=_.difference(activitiesLookup[name]["GSSNActivities_"+i],activityLookup["GSSNActivities_"+i]);if(0!=diffs.length)break}else if(activitiesLookup[name]["GSSNActivities_"+i]||activityLookup["GSSNActivities_"+i])break;return i>10?(portfolioActivity=name,!1):void 0}),portfolioActivity}function getPortfolioProductGroup(productGroup){for(var productGroupsLookup=dl.config.control.__productGroups||{},productGroupLookup=productGroupsLookup[productGroup]||{},portfolioProductGroup="",portfolioProductGroupList=dl.config.control["Shoplocator.ActivityIcon.ProductGroupProducts"]||[],index=-1,i=0;i<portfolioProductGroupList.length;i++)if(portfolioProductGroupList[i]==productGroup){index=i;break}return-1!=index?productGroup:(_.each(portfolioProductGroupList,function(name){var diffs=_.difference(productGroupsLookup[name].GSSNProductGroups,productGroupLookup.GSSNProductGroups);return 0==diffs.length?(portfolioProductGroup=name,!1):void 0}),portfolioProductGroup)}function downloadVCard(dealer){if(null!==dealer&&void 0!==dealer){var type="general",serviceConfig=dl.pageConfig.service,organisation=dealer.organisation?dealer.organisation:serviceConfig.organization,url=serviceConfig.dataBaseUrl+serviceConfig.config+"/"+organisation+"/"+serviceConfig.locale+"/vcard/"+type+"/"+dealer.outletId+".vcf?token="+serviceConfig.token;if("http"!=url.slice(0,4)&&(url=win.location.protocol+"//"+url),!isPluginMode()&&/CriOS/i.test(navigator.userAgent)&&/iphone|ipod|ipad/i.test(navigator.userAgent))return void(location.href=url);window.open(url)}}function showTooltip(element,evt){var elementPos,parentPos,widgetPos,left,top,html,$element=$(element),$parent=getWidget(),toolTipText=$element.data("tooltip"),$toolTip=$parent.children(".dl-tooltip-wrapper");html=dl.tpl["modules/toolTip"]({toolTipText:toolTipText}),$toolTip.length?$toolTip.html(html):$toolTip=$("<div class='dl-tooltip-wrapper' >"+html+"</div>").appendTo($parent),elementPos=$element.offset(),parentPos=$parent.offset(),widgetPos=getWidget().offset(),left=elementPos.left-parentPos.left-$toolTip.width(),top=elementPos.top-parentPos.top-20,elementPos.left-widgetPos.left<$toolTip.width()&&(left=elementPos.left-parentPos.left+$element.width()),$toolTip.css({left:left+"px",top:top+"px"}).show()}function hideTooltip(element,evt){getWidget().find(".dl-tooltip-wrapper").hide()}function getWidget(){return $("#"+getConfig().getWidgetContainerId())}function getWidgetCntr(){return $("#"+getConfig().getWidgetContainerId()+" .dl-outer-container")}function getConfig(){return dl.model.Configuration}function callCallback(callback,args){try{"function"==typeof callback&&callback.apply(window,args||[])}catch(e){}}function errorCallback(error){dl.callCallback(getConfig().getCallbacks().error,[error])}function lookupConfig(key,defaultValue){var value=defaultValue,subprocess=dl.pageConfig.service.config;return dl.config&&dl.config.configuration&&void 0!==dl.config.configuration[key]&&(value=dl.config.configuration[key]),dl.config&&dl.config.control&&void 0!==dl.config.control[key]&&(value=dl.config.control[key]),dl.config&&dl.config.configuration&&void 0!==dl.config.configuration[subprocess+"."+key]&&(value=dl.config.configuration[subprocess+"."+key]),dl.config&&dl.config.control&&void 0!==dl.config.control[subprocess+"."+key]&&(value=dl.config.control[subprocess+"."+key]),value}function lookupResources(key,defaultValue){var value=defaultValue,subprocess=dl.pageConfig.service.config;return dl.config&&dl.config.configuration&&void 0!==dl.config.configuration[key]&&(value=dl.config.configuration[key]),dl.config&&dl.config.resources&&void 0!==dl.config.resources[key]&&(value=dl.config.resources[key]),dl.config&&dl.config.configuration&&void 0!==dl.config.configuration[subprocess+"."+key]&&(value=dl.config.configuration[subprocess+"."+key]),dl.config&&dl.config.resources&&void 0!==dl.config.resources[subprocess+"."+key]&&(value=dl.config.resources[subprocess+"."+key]),value}function findIndexOf(myArray,myElement){for(var i=0;i<myArray.length;i++)if(myArray[i]==myElement)return i;return-1}function deduplicateArray(arr){if(null!==arr&&void 0!==arr){for(var result=arr.concat(),i=0;i<result.length;i++)for(var j=i+1;j<result.length;j++)result[i]===result[j]&&result.splice(j--,1);return result}return arr}function isCloudEnvironment(){var serviceConfig=dl.pageConfig.service,apiBaseUrl=serviceConfig.dataBaseUrl;return serviceConfig.cloud===!0||-1!=apiBaseUrl.indexOf("oneweb")||-1!=apiBaseUrl.indexOf("dealerlocator")||-1!=apiBaseUrl.indexOf("localhost:8480")||-1!=apiBaseUrl.indexOf("10.0.0.53:8480")}function getBrowser(){return browser}var browser={},userAgent=navigator.userAgent.toLowerCase();browser.opera=/opera/.test(userAgent),browser.msie=/msie/.test(userAgent),browser.edge=/edge/.test(userAgent),browser.firefox=/mozilla/.test(userAgent),browser.mozilla5=/mozilla\/5\.0/.test(userAgent),browser.android5=userAgent.match(/android 5/i),browser.android4=userAgent.match(/android 4/i),browser.android4&&(win.L_DISABLE_3D=!0),_.extend(dl,{log:log,showGenericError:showGenericError,tr:tr,print:print,tpl:_.extend(tpl,dl.tpl||{}),isConfigTruthy:isConfigTruthy,isDealerSelectorMode:isDealerSelectorMode,isFavoriteMode:isFavoriteMode,isTooltipEnabled:isTooltipEnabled,isTouchDevice:isTouchDevice,isPluginMode:isPluginMode,setState:setState,getState:getState,resetState:resetState,getFormFields:getFormFields,getFormInputs:getFormInputs,scrollTo:scrollTo,getScrollParent:getScrollParent,showInPopup:showInPopup,hideTouchKeyboard:hideTouchKeyboard,triggerResize:triggerResize,formatDistance:formatDistance,formatDistanceForRouteDesc:formatDistanceForRouteDesc,getVisibleBrowserHeight:getVisibleBrowserHeight,getVisibleBrowserWidth:getVisibleBrowserWidth,findByIdOrOutletId:findByIdOrOutletId,createSortname:createSortname,localeSortCompare:localeSortCompare,endsWith:endsWith,getPortfolioActivity:getPortfolioActivity,getPortfolioProductGroup:getPortfolioProductGroup,hasActivityInPortfolio:hasActivityInPortfolio,hasProductGroupInPortfolio:hasProductGroupInPortfolio,downloadVCard:downloadVCard,showTooltip:showTooltip,hideTooltip:hideTooltip,callCallback:callCallback,errorCallback:errorCallback,splitUrlParams:splitUrlParams,lookupConfig:lookupConfig,lookupResources:lookupResources,findIndexOf:findIndexOf,deduplicateArray:deduplicateArray,isCloudEnvironment:isCloudEnvironment,getBrowser:getBrowser,getMobileOperatingSystem:getMobileOperatingSystem});var states={}}(window,jQuery,dl),function(win,dl){"use strict";function messageFunc(evt){var message=evt.data;if(isObject(message)){var channel=message.channel?message.channel.toLowerCase():CHANNEL_UNKNOWN,topic=message.topic?message.topic.toLowerCase():TOPIC_UNKNOWN;if(channel==CHANNEL_NAME_STORAGE&&topic==TOPIC_FAVORITE_GET_RESULT&&"function"==typeof callbacks.favorite)try{callbacks.favorite(message.data),callbacks.favorite=null}catch(e){}}}function setFavorite(dealer){var $iframe=$(STORAGE_IFRAME_SELECTOR);if($iframe.length){var iframe=$iframe.get(0);iframe.contentWindow.postMessage({channel:CHANNEL_NAME_STORAGE,topic:TOPIC_FAVORITE_SET,data:dealer},"*")}}function getFavorite(callback){callbacks.favorite=callback;var $iframe=$(STORAGE_IFRAME_SELECTOR);if($iframe.length){var iframe=$iframe.get(0);iframe.contentWindow.postMessage({channel:CHANNEL_NAME_STORAGE,topic:TOPIC_FAVORITE_GET},"*")}}function isObject(val){return val instanceof Object&&!(val instanceof Array)}var STORAGE_IFRAME_SELECTOR=".dl-storage-iframe",CHANNEL_NAME_STORAGE="dsstorage",TOPIC_FAVORITE_GET="favorite.get",TOPIC_FAVORITE_GET_RESULT="favorite.get.result",TOPIC_FAVORITE_SET="favorite.set",CHANNEL_UNKNOWN="unknown",TOPIC_UNKNOWN="unknown",callbacks={};dl.storage={setFavorite:setFavorite,getFavorite:getFavorite},win.addEventListener?win.addEventListener("message",messageFunc,!1):win.attachEvent&&win.attachEvent("onmessage",messageFunc)}(window,dl),function(dl){"use strict";function init(){dealers=null,allDealers=null,regionsWithDealers=null,searchedByMessage=null,currentPage=null,currentDealer=null,favoriteDealerId=null,userPosition=null,me.clearAllEventListeners()}function set(list,search){_.each(list,function(dealer){var formattedData=dealer.formattedData;"[]"==formattedData.homepageLine&&(formattedData.homepageLine=null)}),null!==list&&void 0!==list&&dl.log("Dealers::Dealer list size before grouping: "+list.length),dealers=groupDealersByGeo(list),searchedByMessage=search,setCurrentPage(list?0:-1)}function setAndSort(list,search,orderList){for(var order={},i=0;i<orderList.length;i++)order[orderList[i]]=i;var sortedList=_.sortBy(list,function(dealer){
return null!==order[dealer.outletId]?order[dealer.outletId]:1e4});me.set(sortedList,search)}function setRegionsWithDealers(regions){regionsWithDealers=regions}function getRegionsWithDealers(){return regionsWithDealers}function setAllDealers(dealers){allDealers=dealers}function getAllDealers(){return allDealers}function filterDealerResult(resultSet,filterSet){var filter={},result=[];if(!filterSet)return resultSet;for(var i=0;i<filterSet.length;i++)filter[filterSet[i].id]=!0;for(i=0;i<resultSet.length;i++)filter[resultSet[i].id]&&result.push(resultSet[i]);return result}function sortDealersForRegionSearch(dealers){dealers.sort(function(d1,d2){var s1=dl.createSortname(getDealerRegionSortName(d1),dl.pageConfig.language,dl.pageConfig.country),s2=dl.createSortname(getDealerRegionSortName(d2),dl.pageConfig.language,dl.pageConfig.country);return dl.localeSortCompare(s1,s2,dl.pageConfig.language,dl.pageConfig.country)})}function getDealerRegionSortName(dealer){return(dealer.formattedData.nameline1+dealer.formattedData.nameline2+dealer.formattedData.cityZipcodeLine+dealer.outletId).toLowerCase()}function getAllDealersByCriteriasAndCountry(criterias){var util=dl.common.ParseUtil,dealers=getAllDealersByCriterias(criterias),countryFilter=dl.config.control.PresentationCountryFilter;if(util.isArrayNotEmpty(countryFilter)){for(var country={},i=0;i<countryFilter.length;i++)country[countryFilter[i]]=!0;for(var filteredDealers=[],i=0;i<dealers.length;i++)util.isStrNotEmpty(dealers[i].country)&&country[dealers[i].country]===!0&&filteredDealers.push(dealers[i]);dealers=filteredDealers}return dealers}function getAllDealersByCriterias(criterias){for(var allDealers=getAllDealers(),dealers=[],regionName=null,subregionName=null,i=0;i<criterias.length;i++)criterias[i].type==CRITERIA_TYPE_REGION&&(regionName=criterias[i].region),criterias[i].type==CRITERIA_TYPE_SUBREGION&&(subregionName=criterias[i].subregion);var region;if(null!=subregionName){var subregionParts=subregionName.split("!");for(i=0;i<regionsWithDealers.regions.length;i++)if(regionsWithDealers.regions[i].id==subregionParts[1]){region=regionsWithDealers.regions[i];break}for(i=0;i<region.subregions.length;i++)region.subregions[i].id==subregionParts[0]&&(allDealers=region.subregions[i].dealers)}else if(null!=regionName){for(i=0;i<regionsWithDealers.regions.length;i++)if(regionsWithDealers.regions[i].id==regionName){region=regionsWithDealers.regions[i];break}if(null==region.subregions)allDealers=region.dealers;else for(allDealers=[],i=0;i<region.subregions.length;i++)allDealers=allDealers.concat(region.subregions[i].dealers)}return _.each(allDealers,function(dealer){matchCriterias(dealer,criterias)&&dealers.push(dealer)}),dl.log("Dealers::Dealer criterias:"),dl.log(criterias),dealers}function setCurrentPage(page){var config=dl.model.Configuration,dealers=null;if(currentPage=page,setCurrentDealer(null),page>=0){var start=page*config.getPageSize();dealers=get().slice(start,start+config.getPageSize()),_.each(dealers,function(dealerGroup,idx){var label=String.fromCharCode(65+idx);dealerGroup.dealerLabel=label,_.isArray(dealerGroup)&&_.each(dealerGroup,function(dealerItem){dealerItem.dealerLabel=label})})}me.fire("change:currentPage",{pageSize:config.getPageSize(),page:page,dealers:dealers})}function getCurrentPage(){return currentPage}function setCurrentDealer(dealer,options){dealer!=currentDealer&&(currentDealer=dealer,dl.log("setting current dealer:"),dl.log(dealer),me.fire("change:currentDealer",{dealer:dealer,options:options})),me.fire("set:currentDealer",{dealer:dealer,options:options})}function getCurrentDealer(){return currentDealer}function setFavoriteDealerId(dealerId){favoriteDealerId=dealerId}function getFavoriteDealerId(){return favoriteDealerId}function get(){return dealers}function getCount(){return dealers?dealers.length:0}function getSearchedByMessage(){return searchedByMessage}function getDealerById(id){var wantedDealer;return _.some(dealers,function(dealerGroup){return _.isArray(dealerGroup)?wantedDealer=_.findWhere(dealerGroup,{id:""+id}):dealerGroup.id==id&&(wantedDealer=dealerGroup),wantedDealer}),wantedDealer}function groupDealersByGeo(dealers){function geoKey(dealer){var dealerId=dealer.id,groupKey="G_"+dealerId,geo=dealer.geoRepresentation,foundSurroundingDealer=!1;if(null==geo||null==geo.gpsX||null==geo.gpsY)return null;for(var latitudeSortKey=parseInt(100*geo.gpsX),currentDealerPosition=L.latLng(dealerToLatlon(dealer)),i=-1;1>=i;i++){var surroundingDealers=sortedDealersByLatitude[latitudeSortKey+i];if(void 0!==surroundingDealers)for(var j=0;j<surroundingDealers.length;j++){var surroundingDealer=surroundingDealers[j],surroundingDealerPosition=L.latLng(dealerToLatlon(surroundingDealer)),distance=currentDealerPosition.distanceTo(surroundingDealerPosition);if(LINKED_DEALER_RADIUS>=distance){dl.DEBUG.group&&dl.log("found dealer at same place:"+dealerId+" - "+surroundingDealer.id+" - distance in m:"+distance),groupKey="G_"+surroundingDealer.id,foundSurroundingDealer=!0;break}}}return void 0===sortedDealersByLatitude[latitudeSortKey]&&(sortedDealersByLatitude[latitudeSortKey]=[]),foundSurroundingDealer||sortedDealersByLatitude[latitudeSortKey].push(dealer),groupKey}function toGroup(group){return group.length>1&&_.each(group,function(elem){elem.dealerGroup=group}),group.length>1?group:group[0]}var LINKED_DEALER_RADIUS=parseInt(dl.config.configuration.linkedDealerRadius)||dl.pageConfig.linkedDealerRadius,sortedDealersByLatitude={};return _.chain(dealers).reject(function(dealer){var geo=dealer.geoRepresentation;return _.isUndefined(geo)||_.isNull(geo)||_.isUndefined(geo.gpsX)||_.isNull(geo.gpsX)||_.isUndefined(geo.gpsY)||_.isNull(geo.gpsY)}).groupBy(geoKey).map(toGroup).value()}function getServicesAndPrdgrpListFromDealer(dealer){var servicePrdgrpList=[],portfolio=dealer.formattedData.portfolio,control=dl.config.control;return control={productGroups:control.__productGroups,productGroupsLookup:control["Shoplocator.ActivityIcon.ProductGroupProducts"]||[],activities:control.__activities,activitiesLookup:control["Shoplocator.ActivityIcon.ActivityProducts"]},_.each(portfolio,function(row,i){if(_.some(row)){var activity=control.activities[control.activitiesLookup[i]],activityBlock={};activityBlock.activity=activity,activityBlock.productGroups=[],_.each(row,function(cell,j){if(_.some(cell)){var productGroup=control.productGroups[control.productGroupsLookup[j]];activityBlock.productGroups.push(productGroup)}}),servicePrdgrpList.push(activityBlock)}}),servicePrdgrpList}function getServicesListFromDealer(dealer){var matrix=getMatrixFromDealer(dealer),services=[];return _.each(matrix.rows,function(row){services.push({image:row.head.thumbnail,name:row.head.name})}),services}function getMatrixFromDealer(dealer){return getMatrix(dealer.formattedData.portfolio,dl.config)}function getMatrix(portfolio,config){function createHead(category,idx){var config=dl.model.Configuration,head=_.pick(control[category][control[category+"Lookup"][idx]],"name");return head.media=config.getDealerPorfolioMediaMatchForValue(control[category][control[category+"Lookup"][idx]].SKU),null!==head.media&&null!==head.media.thumbnail&&void 0!==head.media.thumbnail||(head.media={thumbnail:{name:"undefined",path:"/xp/activities"}}),head.hideIcon=config.isActivityIconHidden(control[category][control[category+"Lookup"][idx]].SKU),head}function createRow(head,cells){return{head:head,cells:cells}}var res={},rows=res.rows=[],control=dl.config.control;return control={productGroups:control.__productGroups,productGroupsLookup:control["Shoplocator.ActivityIcon.ProductGroupProducts"]||[],activities:control.__activities,activitiesLookup:control["Shoplocator.ActivityIcon.ActivityProducts"]},res.head=createRow(dl.tr("detail.services"),_.map(_.range(control.productGroupsLookup.length),_.partial(createHead,"productGroups"))),_.each(portfolio,function(row,i){_.some(row)&&rows.push(createRow(createHead("activities",i),row))}),res}function getProductGroupsFromDealer(dealer){var config=dl.model.Configuration,res=[],control=dl.config.control;if(control={productGroups:control.__productGroups,productGroupsLookup:control["Shoplocator.ActivityIcon.ProductGroupProducts"]||[],activities:control.__activities,activitiesLookup:control["Shoplocator.ActivityIcon.ActivityProducts"]},null!=dealer.formattedData.portfolio&&dealer.formattedData.portfolio.length>0){var addedProductGroups={};_.each(control.productGroupsLookup,function(productGroup,productGroupIndex){_.each(control.activitiesLookup,function(activity,activityIndex){if("y"==dealer.formattedData.portfolio[activityIndex][productGroupIndex]&&addedProductGroups[productGroup]!==!0){var media=config.getDealerPorfolioMediaMatchForValue(productGroup);null!==media&&null!==media.thumbnail&&void 0!==media.thumbnail||(media={thumbnail:{name:"undefined",path:"/xp/productgroups"},thumbnailLight:{name:"undefined-light",path:"/xp/productgroups"}}),res.push({code:productGroup,name:control.productGroups[productGroup].name,media:media}),addedProductGroups[productGroup]=!0}})})}return res}function getActivitiesFromDealer(dealer){return getActivities(dealer.formattedData.activities,dl.config)}function getActivities(activities,config){var config=dl.model.Configuration,res=[],control=dl.config.control;return control={activities:control.__activities,activitiesLookup:control["Shoplocator.ActivityIcon.ActivityProducts"]},_.each(activities,function(activity){if(!_.some(res,function(act){return act.code==activity})){var media=config.getDealerPorfolioMediaMatchForValue(activity);null!==media&&null!==media.thumbnail&&void 0!==media.thumbnail||(media={thumbnail:{name:"undefined",path:"/xp/activities"},thumbnailLight:{name:"undefined-light",path:"/xp/activities"}});var hideIcon=config.isActivityIconHidden(activity);res.push({code:activity,name:control.activities[activity].name,image:control.activities[activity].thumbnail,media:media,hideIcon:hideIcon})}}),res}function getDealerDetailActivities(dealer){var activities=dealer.formattedData.activities,config=dl.model.Configuration,res=[],control=dl.config.control,detailActivities=control["DealerDetail.ActivityIcon.ActivityProducts"];return null!==detailActivities&&void 0!==detailActivities&&_.each(activities,function(activity){if(!_.some(res,function(act){return act.code==activity})&&_.contains(detailActivities,activity)){var media=config.getDealerPorfolioMediaMatchForValue(activity);null!==media&&null!==media.thumbnail&&void 0!==media.thumbnail||(media={thumbnail:{name:"undefined",path:"/xp/activities"},thumbnailLight:{name:"undefined-light",path:"/xp/activities"}});var hideIcon=config.isActivityIconHidden(activity);res.push({code:activity,name:control.__activities[activity].name,media:media,hideIcon:hideIcon})}}),res}function dealerToLatlon(dealer){var geo=(_.isArray(dealer)?dealer[0]:dealer).geoRepresentation;return null==geo.gpsX||null==geo.gpsY?null:[geo.gpsY,geo.gpsX]}function getUserPosition(){return void 0===userPosition||null==userPosition?null:[userPosition.originY,userPosition.originX]}function setUserPosition(newPosition){userPosition=newPosition}function setHighlightedDealers(dealersObject){var newDealers=null!=dealersObject?dealersObject.dealers:null;if(newDealers!=highlightedDealers){highlightedDealers=newDealers,dl.log("setting highlighted dealers");var evtDealers=[];_.isArray(newDealers)?evtDealers=newDealers:null==newDealers?evtDealers=null:evtDealers.push(newDealers),me.fire("change:highlightedDealers",{dealers:evtDealers,clusterElement:dealersObject.clusterElement,marker:dealersObject.marker})}}function getHighlightedDealers(){return highlightedDealers}function matchCriterias(dealer,criterias){if(criterias.length>0){var resultActivity=!1,resultProductGroup=!1,resultFilter=!1,hasActivityCriterias=!1,hasProductGroupCriterias=!1,hasFilterCriterias=!1;return _.each(criterias,function(criteria){if(resultActivity||criteria.type!=CRITERIA_TYPE_ACTIVITY)if(resultProductGroup||criteria.type!=CRITERIA_TYPE_PRODUCT_GROUP)resultFilter||criteria.type!=CRITERIA_TYPE_CONTEXT_FILTER||(hasFilterCriterias=!0,matchPortfolioWithConditions(dealer,criteria.filter.conditions)&&(resultFilter=!0));else{hasProductGroupCriterias=!0;var portfolioProductGroup=dl.getPortfolioProductGroup(criteria.name);""!=portfolioProductGroup&&dl.hasProductGroupInPortfolio(portfolioProductGroup,dealer.formattedData.portfolio)&&(resultProductGroup=!0)}else{hasActivityCriterias=!0;var portfolioActivity=dl.getPortfolioActivity(criteria.name);""!=portfolioActivity&&dl.hasActivityInPortfolio(portfolioActivity,dealer.formattedData.portfolio)&&(resultActivity=!0)}}),(!hasProductGroupCriterias||resultProductGroup)&&(!hasActivityCriterias||resultActivity)&&(!hasFilterCriterias||resultFilter)}return!0}function matchPortfolioWithConditions(dealer,conditions){var util=dl.common.ParseUtil,result=!0;if(util.isArrayNotEmpty(conditions))if(util.isAttrEmpty(dealer.dealerData)||util.isArrayEmpty(dealer.dealerData.programs))result=!1;else for(var i=0;i<conditions.length;i++)try{if(!conditions[i].test(dealer.dealerData.programs)){result=!1;break}}catch(e){result=!1;break}return result}var me,dealers,allDealers,regionsWithDealers,searchedByMessage,currentPage,currentDealer,favoriteDealerId,userPosition,highlightedDealers,CRITERIA_TYPE_ACTIVITY="ACTIVITY",CRITERIA_TYPE_PRODUCT_GROUP="PRODUCT_GROUP",CRITERIA_TYPE_REGION="REGION",CRITERIA_TYPE_SUBREGION="SUBREGION",CRITERIA_TYPE_CONTEXT_FILTER="CONTEXT_FILTER";dl.model.Dealers=me=_.extend({set:set,setAndSort:setAndSort,setCurrentPage:setCurrentPage,getCurrentPage:getCurrentPage,setCurrentDealer:setCurrentDealer,getCurrentDealer:getCurrentDealer,setFavoriteDealerId:setFavoriteDealerId,getFavoriteDealerId:getFavoriteDealerId,setUserPosition:setUserPosition,getUserPosition:getUserPosition,getHighlightedDealers:getHighlightedDealers,setHighlightedDealers:setHighlightedDealers,get:get,getCount:getCount,getSearchedByMessage:getSearchedByMessage,getDealerById:getDealerById,groupDealersByGeo:groupDealersByGeo,getMatrixFromDealer:getMatrixFromDealer,getServicesListFromDealer:getServicesListFromDealer,getActivitiesFromDealer:getActivitiesFromDealer,getProductGroupsFromDealer:getProductGroupsFromDealer,getServicesAndPrdgrpListFromDealer:getServicesAndPrdgrpListFromDealer,dealerToLatlon:dealerToLatlon,setRegionsWithDealers:setRegionsWithDealers,getRegionsWithDealers:getRegionsWithDealers,setAllDealers:setAllDealers,getAllDealers:getAllDealers,getAllDealersByCriterias:getAllDealersByCriterias,getAllDealersByCriteriasAndCountry:getAllDealersByCriteriasAndCountry,sortDealersForRegionSearch:sortDealersForRegionSearch,getDealerDetailActivities:getDealerDetailActivities,filterDealerResult:filterDealerResult,init:init},L.Mixin.Events)}(dl),function(dl){"use strict";function init(){route=null,me.clearAllEventListeners()}function set(newRoute){route=newRoute,me.fire("change:route",{route:route})}function get(){return route}var me,route;dl.model.Route=me=_.extend({set:set,get:get,init:init},L.Mixin.Events)}(dl),function(dl){"use strict";function ClusterElement(){function init(gridCoords,theWidth,theHeight){this.type="clusterElement",Dealers=dl.model.Dealers,absoluteX=parseFloat(gridCoords.absoluteX),absoluteY=parseFloat(gridCoords.absoluteY),gridX=gridCoords.gridX,gridY=gridCoords.gridY,width=parseFloat(theWidth),height=parseFloat(theHeight)}function addDealerToCluster(dealer){var dealerCoords=Dealers.dealerToLatlon(dealer);null!=dealerCoords&&(totalLatitude+=parseFloat(dealerCoords[1]),totalLongitude+=parseFloat(dealerCoords[0]),dealers.push(dealer),_.isArray(dealer)?dealerCount+=dealer.length:dealerCount++)}function getAllDealers(){return _.clone(dealers)}function getDealersLocationCount(){return dealers.length}function getDealersCountIncludingCombinedDealers(){return dealerCount}function getGridCoords(){return{gridX:gridX,gridY:gridY}}function getID(){return gridX.toString()+"_"+gridY.toString()}function getAbsoluteCoords(){return{absoluteX:absoluteX,absoluteY:absoluteY}}function getBounds(){var lat=[],lon=[];return _.each(dealers,function(dealer){var latlng=Dealers.dealerToLatlon(dealer);null!=latlng&&(lat.push(latlng[0]),lon.push(latlng[1]))}),[[_.min(lat),_.min(lon)],[_.max(lat),_.max(lon)]]}function getRenderingCoords(){return{lat:totalLatitude/dealers.length,lng:totalLongitude/dealers.length}}function getClusterIconRadius(){var radius=0,count=getDealersCountIncludingCombinedDealers();switch(!0){case 10>count:radius=10;break;case 20>count:radius=15;break;case 35>count:radius=17;break;case 50>count:radius=20;break;case 70>count:radius=23;break;default:radius=25}return radius}var gridX,gridY,absoluteX,absoluteY,width,height,Dealers,dealerCount=0,totalLatitude=0,totalLongitude=0,dealers=[];return{init:init,addDealerToCluster:addDealerToCluster,getAllDealers:getAllDealers,getGridCoords:getGridCoords,getAbsoluteCoords:getAbsoluteCoords,getRenderingCoords:getRenderingCoords,getDealersLocationCount:getDealersLocationCount,getDealersCountIncludingCombinedDealers:getDealersCountIncludingCombinedDealers,getBounds:getBounds,getClusterIconRadius:getClusterIconRadius,getID:getID}}function Create(gridCoords,width,height){var newInstance=new ClusterElement;return newInstance.init(gridCoords,width,height),newInstance}return dl.model.ClusterElement={Create:Create}}(dl),function(dl){"use strict";function Create(gridCount,dealers,bounds,map){var newInstance=new ClusterMap;return newInstance.init(gridCount,dealers,bounds,map),newInstance}var ClusterMap=function(){function init(gridCount,dealers,bounds,theMap){Dealers=dl.model.Dealers,visibleGridCount=gridCount,allDealers=dealers,mapBounds=bounds,map=theMap;var visibleTotalWidth=Math.abs(mapBounds.getNorthWest().lng-mapBounds.getNorthEast().lng),visibleTotalHeight=Math.abs(mapBounds.getNorthWest().lat-mapBounds.getSouthWest().lat);dl.log("NW:"+mapBounds.getNorthWest().lng+" - NE:"+mapBounds.getNorthEast().lng),dl.log("NW:"+mapBounds.getNorthWest().lat+" - SW:"+mapBounds.getSouthWest().lat),dl.log("totalWidth:"+visibleTotalWidth),dl.log("totalHeight:"+visibleTotalHeight),clusterWidth=visibleTotalWidth/visibleGridCount.x,clusterHeight=visibleTotalHeight/visibleGridCount.y,printGrid(),doClustering()}function doClustering(){dl.log("do clustering: width:"+clusterWidth+" - height:"+clusterHeight);var start=(new Date).getTime(),clusteringStartPos=mapBounds.getNorthWest();_.each(allDealers,function(dealer){var latlon=Dealers.dealerToLatlon(dealer);if(null!=latlon){var gridX=Math.floor((latlon[1]-clusteringStartPos.lng)/clusterWidth),gridY=Math.floor((latlon[0]-clusteringStartPos.lat)/clusterHeight),clusterKey=gridX+"_"+gridY,cluster=clusters[clusterKey];void 0===cluster&&(cluster=new dl.model.ClusterElement.Create({gridX:gridX,gridY:gridY,absoluteX:clusteringStartPos.lng+gridX*clusterWidth,absoluteY:clusteringStartPos.lat+gridY*clusterHeight},clusterWidth,clusterHeight),clusters[clusterKey]=cluster),cluster.addDealerToCluster(dealer)}});var end=(new Date).getTime(),time=end-start;dl.log("clustering finished after:"+time/1e3+" s")}function printGrid(){if(void 0!==dl.DEBUG.grid)for(var northWest=mapBounds.getNorthWest(),x=0;x<=visibleGridCount.x;x++){var startPointX=L.latLng(northWest.lat,northWest.lng+clusterWidth*x),endPointX=L.latLng(northWest.lat-clusterHeight*visibleGridCount.y,northWest.lng+clusterWidth*x),xLine=L.polyline([startPointX,endPointX],{color:"red"}).addTo(map);gridLines.push(xLine);for(var y=0;y<=visibleGridCount.y;y++){var startPointY=L.latLng(northWest.lat-clusterHeight*y,northWest.lng+clusterWidth*x),endPointY=L.latLng(northWest.lat-clusterHeight*y,northWest.lng+clusterWidth),yLine=L.polyline([startPointY,endPointY],{color:"red"}).addTo(map);gridLines.push(yLine)}}}function deleteGrid(){void 0!==dl.DEBUG.grid&&_.each(gridLines,function(line){map.removeLayer(line)})}function getClusteredElements(){return clusters}var visibleGridCount,allDealers,mapBounds,map,Dealers,clusterWidth,clusterHeight,gridLines=[],clusters=[];return{init:init,getClusteredElements:getClusteredElements,deleteGrid:deleteGrid}};return dl.model.ClusterMap={Create:Create}}(dl),function(dl){"use strict";function State(){function init(initState){util=dl.common.ParseUtil,util.isStrNotEmpty(initState.city)&&(city=initState.city),util.isStrNotEmpty(initState.postcode)&&(postcode=initState.postcode),util.isStrNotEmpty(initState.name)&&(name=initState.name),util.isStrNotEmpty(initState.radius)&&(radius=initState.radius),util.isStrNotEmpty(initState.region)&&(region=initState.region),util.isStrNotEmpty(initState.subregion)&&(subregion=initState.subregion),util.isAttrNotEmpty(initState.includeDealerData)&&(includeDealerData=initState.includeDealerData),util.isAttrNotEmpty(initState.includeDealerPrograms)&&(includeDealerPrograms=initState.includeDealerPrograms),util.isAttrNotEmpty(initState.ids)&&(ids=initState.ids),util.isStrNotEmpty(initState.idType)&&(idType=initState.idType),util.isAttrNotEmpty(initState.dynamicApplicationContext)&&(dynamicApplicationContext=initState.dynamicApplicationContext),util.isAttrNotEmpty(initState.applicationContext)&&(applicationContext=initState.applicationContext),util.isStrNotEmpty(initState.productGroup)&&(productGroup=initState.productGroup),util.isArrayNotEmpty(initState.activities)&&(activities=initState.activities),util.isStrNotEmpty(initState.sortOrderName)&&(sortOrderName=initState.sortOrderName),util.isStrNotEmpty(initState.sortOrderZipCity)&&(sortOrderZipCity=initState.sortOrderZipCity),util.isStrNotEmpty(initState.gssnBrands)&&(gssnBrands=initState.gssnBrands),util.isStrNotEmpty(initState.gssnActivities)&&(gssnActivities=initState.gssnActivities),util.isStrNotEmpty(initState.gssnPrdGrps)&&(gssnPrdGrps=initState.gssnPrdGrps)}function setCity(value){city=value}function getCity(){return city}function setPostcode(value){postcode=value}function getPostcode(){return postcode}function setName(value){name=value}function getName(){return name}function setRadius(value){radius=value}function getRadius(){return radius}function setRegion(value){region=value}function getRegion(){return region}function setSubregion(value){subregion=value}function getSubregion(){return subregion}function setIncludeDealerData(value){includeDealerData=value}function getIncludeDealerData(){return includeDealerData}function setIncludeDealerPrograms(value){includeDealerPrograms=value}function getIncludeDealerPrograms(){return includeDealerPrograms}function setIds(value){ids=value}function getIds(){return ids}function setIdType(value){idType=value}function getIdType(){return idType}function getDynamicApplicationContext(){return dynamicApplicationContext}function getApplicationContext(){return applicationContext}function getProductGroup(){return productGroup}function getActivities(){return activities}function setSortOrderName(value){sortOrderName=value}function getSortOrderName(){return sortOrderName}function setSortOrderZipCity(value){sortOrderZipCity=value}function getSortOrderZipCity(){return sortOrderZipCity}function setGssnBrands(value){gssnBrands=value}function getGssnBrands(){return gssnBrands}function setGssnActivities(value){gssnActivities=value}function getGssnActivities(){return gssnActivities}function setGssnPrdGrps(value){gssnPrdGrps=value}function getGssnPrdGrps(){return gssnPrdGrps}function getStateObject(){return{city:city,postcode:postcode,name:name,radius:radius,region:region,subregion:subregion,gssnBrands:gssnBrands,gssnActivities:gssnActivities,gssnPrdGrps:gssnPrdGrps,ids:ids,idType:idType,includeDealerData:includeDealerData,includeDealerPrograms:includeDealerPrograms,dynamicApplicationContext:dynamicApplicationContext,applicationContext:applicationContext,productGroup:productGroup,activities:activities,sortOrderName:sortOrderName,sortOrderZipCity:sortOrderZipCity}}var util,city,postcode,name,radius,region,subregion,gssnBrands,gssnActivities,gssnPrdGrps,sortOrderName,sortOrderZipCity,ids,idType,includeDealerData,includeDealerPrograms,dynamicApplicationContext,applicationContext,productGroup,activities,sortOrderName,sortOrderZipCity;return{init:init,getStateObject:getStateObject,setCity:setCity,setPostcode:setPostcode,setName:setName,setRadius:setRadius,setRegion:setRegion,setSubregion:setSubregion,setIncludeDealerData:setIncludeDealerData,setIncludeDealerPrograms:setIncludeDealerPrograms,setIds:setIds,setIdType:setIdType,setSortOrderName:setSortOrderName,setSortOrderZipCity:setSortOrderZipCity,setGssnBrands:setGssnBrands,setGssnActivities:setGssnActivities,setGssnPrdGrps:setGssnPrdGrps,getIncludeDealerData:getIncludeDealerData,getIncludeDealerPrograms:getIncludeDealerPrograms,getCity:getCity,getPostcode:getPostcode,getName:getName,getRadius:getRadius,getRegion:getRegion,getSubregion:getSubregion,getIds:getIds,getIdType:getIdType,getDynamicApplicationContext:getDynamicApplicationContext,getApplicationContext:getApplicationContext,getProductGroup:getProductGroup,getActivities:getActivities,getSortOrderName:getSortOrderName,getSortOrderZipCity:getSortOrderZipCity,getGssnBrands:getGssnBrands,getGssnActivities:getGssnActivities,getGssnPrdGrps:getGssnPrdGrps}}function Create(initState){var newInstance=new State;return newInstance.init(initState),newInstance}return dl.model.State={Create:Create}}(dl),function($,dl){"use strict";function init(){var util=dl.common.ParseUtil,configuration=dl.config.configuration,control=dl.config.control,resources=dl.config.resources;if(contextFilter=null,configuration.OmnitureClientID||(configuration.OmnitureClientID="daimpcde,daiembshopde,daimpc"),control["DealerPortfolio.Excluded.Contexts"]||(control["DealerPortfolio.Excluded.Contexts"]="ROUTING"),control["DealerData.Contact.Excluded.Contexts"]||(control["DealerData.Contact.Excluded.Contexts"]="DEALER_BOX_LEFT,ROUTING"),control.DefaultShopLocatorDetailPageHeadline||(control.DefaultShopLocatorDetailPageHeadline=control["PrintView.DetailPage.Headline"]),control["DealerLocatorSearchForm.LocationSearch.Enabled"]||(control["DealerLocatorSearchForm.LocationSearch.Enabled"]=1),control["Tracking.SearchMap.Enabled"]||(control["Tracking.SearchMap.Enabled"]=1),resources["language.brandmark"])dl.log("Brandmark language from configuration:"+resources["language.brandmark"]);else{var loc=widgetSettings.lang;resources["language.brandmark"]=loc?"de"==loc.substr(0,2)?"de":"en":"de",dl.log("Calculated brandmark language:"+resources["language.brandmark"])}util.isStrNotEmpty(widgetSettings.headline)&&(control.DefaultShopLocatorHeadline=widgetSettings.headline),dealerDetailsEnabled=!isDealerSelectorOperation()&&!widgetSettings.dealerSelectorMode&&0!=control["DisplayDealerDetails.Enabled"],setCookiePolicyConfig(),setMapServiceConfiguration()}function isDealerDetailsEnabled(){return dealerDetailsEnabled}function getLogoLanguage(){return dl.config.resources["language.brandmark"]}function setMapPrimarySource(value){mapPrimarySource=value}function getMapPrimarySource(){return mapPrimarySource}function setMapBound1(value){mapBound1=value}function setMapBound2(value){mapBound2=value}function getMapBound1(){return mapBound1}function getMapBound2(){return mapBound2}function getMapBounds(){var swCoords=mapBound1.split(","),neCoords=mapBound2.split(",");return mapBounds=[swCoords,neCoords]}function setMapMaxBound1(value){mapMaxBound1=value}function setMapMaxBound2(value){mapMaxBound2=value}function getMapMaxBound1(){return mapMaxBound1}function getMapMaxBound2(){return mapMaxBound2}function getMapMaxBounds(){var swCoords=mapMaxBound1.split(","),neCoords=mapMaxBound2.split(",");return mapMaxBounds=[swCoords,neCoords]}function setMapMinZoom(value){mapMinZoom=value}function setMapMaxZoom(value){mapMaxZoom=value}function getMapMinZoom(){return mapMinZoom}function getMapMaxZoom(){return mapMaxZoom}function getClusteringGridConfig(){var defaultGridX=8,defaultGridY=8,gridX=getVisibleGridCountX(),gridY=getVisibleGridCountY();return isNaN(gridX)&&(gridX=defaultGridX),isNaN(gridY)&&(gridY=defaultGridY),{x:gridX,y:gridY}}function getDistanceFormatConfig(){var decimalChar=dl.config.configuration["distance.format.decimal.char"],decimalNumbers=dl.config.configuration["distance.format.decimal.numbers"],distanceConversion=dl.config.configuration["distance.conversion"],distanceUnit=dl.config.resources["general.distanceUnit"];return void 0===decimalChar&&(decimalChar="."),isNaN(decimalNumbers)&&(decimalNumbers=1),void 0===distanceUnit&&(distanceUnit="km"),isNaN(distanceConversion)&&(distanceConversion=1),{decimalChar:decimalChar,decimalNumbers:decimalNumbers,distanceUnit:distanceUnit,distanceConversion:distanceConversion}}function getCookiePolicyConfig(){return cookiePolicyConfig}function setCookiePolicyConfig(){cookiePolicyConfig={cookiePolicyScript:"emb-cda.mercedes-benz.com/js/cookiepolicy-client.js",cookiePolicyContext:{lang:dl.pageConfig.language,market:dl.pageConfig.country.toLowerCase(),dealer:"ws"},cookiePolicyApp:{id:"DL",tag:"DL"}};var cpScript=dl.config.configuration["cookiepolicy.script"],contextId=dl.config.configuration["cookiepolicy.context.dealer"],appId=dl.config.configuration["cookiepolicy.app.id"],appTag=dl.config.configuration["cookiepolicy.app.tag"];void 0!==cpScript&&(cookiePolicyConfig.cookiePolicyScript=cpScript),void 0!==contextId&&(cookiePolicyConfig.cookiePolicyContext.dealer=contextId),void 0!==appId&&(cookiePolicyConfig.cookiePolicyApp.id=appId),void 0!==appTag&&(cookiePolicyConfig.cookiePolicyApp.tag=appTag)}function getMapServiceConfiguration(){return mapServiceConfig}function getBrandingSettings(){var enabled=dl.isConfigTruthy("Branding.Enabled"),iconActivity=null!==dl.config.control["Branding.Icon"]&&void 0!==dl.config.control["Branding.Icon"]?dl.config.control["Branding.Icon"]:"",title=null!==dl.config.control["Branding.Title"]&&void 0!==dl.config.control["Branding.Title"]?dl.config.control["Branding.Title"]:"",media=getDealerPorfolioMediaMatchForValue(iconActivity);return null!==media&&null!==media.thumbnail&&void 0!==media.thumbnail||(media={thumbnail:{name:"branding-undefined",path:"/xp/branding"},thumbnailLight:{name:"branding-undefined-light",path:"/xp/branding"}}),{enabled:enabled,title:title,media:media}}function setMapServiceConfiguration(){mapServiceConfig=dl.pageConfig.mapService,mapServiceConfig.imageBaseUrl=getImageBaseUrl(),mapServiceConfig.mapLoggingUrl=computeMapLoggingUrl();var baseUrl=dl.config.configuration["mapservice.baseUrl"],ajaxMapUrl=dl.config.configuration["mapservice.ajaxMapsUrl"],token=dl.config.configuration["mapservice.token"],mapTransactionUrl=dl.config.configuration["mapservice.mapTransactionUrl"];dl.config.configuration["mapservice.imageBaseUrl"];void 0!==baseUrl&&(mapServiceConfig.baseUrl=baseUrl),void 0!==ajaxMapUrl&&(mapServiceConfig.ajaxMapsUrl=ajaxMapUrl),void 0!==token&&(mapServiceConfig.token=token),void 0!==mapTransactionUrl&&(mapServiceConfig.mapTransactionUrl=mapTransactionUrl),dl.log("computed mapserviceconfig:"),dl.log(mapServiceConfig)}function computeMapLoggingUrl(){var config=dl.config.configuration,mapService=dl.pageConfig.mapService,serviceConfig=dl.pageConfig.service,apiBaseUrl=serviceConfig.dataBaseUrl,subprocess=serviceConfig.config,organisation=serviceConfig.organization,locale=serviceConfig.locale,token=serviceConfig.token,url="";try{if(dl.isCloudEnvironment())url=apiBaseUrl+subprocess+"/"+organisation+"/"+locale+"/log_map_event?token="+token,"http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url);else{var mapLoggingUrl=config["mapservice.mapLoggingUrl"];url=void 0!==mapLoggingUrl?mapLoggingUrl:mapService.mapLoggingUrl}}catch(e){url="",dl.log("Init::Compute map logging url failed"),dl.log(e)}return url}function getConfigValueWithFallback(configKey){var configValue=dl.config.configuration[configKey];return configValue=configValue||getNestedPropertiesByString(dl.pageConfig,configKey)}function getImageBaseUrl(){return dl.pageConfig.service.contentRoot}function getNestedPropertiesByString(o,s){s=s.replace(/\[(\w+)\]/g,".$1"),s=s.replace(/^\./,"");for(var a=s.split(".");a.length;){var n=a.shift();if(!(n in o))return;o=o[n];
}return o}function booleanValue(value){return"boolean"==typeof value?value:"true"==value}function getFavoriteActive(){return favoriteActive}function getFavoriteHideAdress(){return favoriteHideAdress}function getFavoriteHidePhoneFax(){return favoriteHidePhoneFax}function getFavoriteHideEmail(){return favoriteHideEmail}function getFavoriteHideHomepage(){return favoriteHideHomepage}function getFavoriteHideContact(){return favoriteHideContact}function getFormRegionMainOption(){return formRegionMainOption}function getFormRegionDropdown(){return formRegionDropdown}function getFormSubregionDropdown(){return formSubregionDropdown}function getFormRegionSubregionCascade(){return formRegionSubregionCascade}function getRouteSymbols(){return routeSymbols}function getDealerSelectorMode(){return dealerSelectorMode}function getSwapAddressLines(){return swapAddressLines}function getDisplayProductGroups(){return displayProductGroups}function getListViewSorting(){return listViewSorting}function getFormRadiusIsSeparated(){return getFormRegionMainOption()&&(getFormRegionDropdown()||getFormSubregionDropdown())}function getVCardActive(){return vcardActive}function getPrintEnabled(){return printEnabled}function getVisibleGridCountX(){return visibleGridCountX}function getVisibleGridCountY(){return visibleGridCountY}function setFavoriteActive(value){favoriteActive=booleanValue(value)}function setFavoriteHideAdress(value){favoriteHideAdress=booleanValue(value)}function setFavoriteHidePhoneFax(value){favoriteHidePhoneFax=booleanValue(value)}function setFavoriteHideEmail(value){favoriteHideEmail=booleanValue(value)}function setFavoriteHideHomepage(value){favoriteHideHomepage=booleanValue(value)}function setFavoriteHideContact(value){favoriteHideContact=booleanValue(value)}function setFormRegionMainOption(value){formRegionMainOption=booleanValue(value)}function setFormRegionDropdown(value){formRegionDropdown=booleanValue(value)}function setFormSubregionDropdown(value){formSubregionDropdown=booleanValue(value)}function setFormRegionSubregionCascade(value){formRegionSubregionCascade=booleanValue(value)}function setRouteSymbols(value){routeSymbols=booleanValue(value)}function setDealerSelectorMode(value){dealerSelectorMode=value}function setSwapAddressLines(value){swapAddressLines=booleanValue(value)}function setHideActivityIcons(value){hideActivityIcons=value}function setDisplayProductGroups(value){displayProductGroups=booleanValue(value)}function setVCardActive(value){vcardActive=booleanValue(value)}function setPrintEnabled(value){printEnabled=booleanValue(value)}function setVisibleGridCountX(value){visibleGridCountX="string"==typeof value?parseInt(value):value}function setVisibleGridCountY(value){visibleGridCountY="string"==typeof value?parseInt(value):value}function setListViewSorting(value){listViewSorting=value}function getDealerPorfolioMediaMapping(){return dealerPorfolioMediaMapping}function getDealerPorfolioMediaMatchForValue(value){for(var i=0;i<dealerPorfolioMediaMapping.length;i++)try{var re=new RegExp(dealerPorfolioMediaMapping[i].exp);if(re.test(value))return dealerPorfolioMediaMapping[i].media}catch(e){}return null}function setDealerPorfolioMediaMapping(value){if(value instanceof Array)dealerPorfolioMediaMapping=value,dl.log("portfolio media mapping set:"),dl.log(dealerPorfolioMediaMapping);else if("string"==typeof value){var items=value.split("||");dealerPorfolioMediaMapping=[];for(var i=0;i<items.length;i++)try{var data=items[i].split("##");if(data.length>1){for(var exp=data[0],media={},j=1;j<data.length;j++){var def=data[j].split("==");if(def.length>1){var key=def[0],desc=def[1].split(",");desc.length>1&&(media[key]={name:desc[0],path:desc[1]})}}dealerPorfolioMediaMapping.push({exp:exp,media:media})}}catch(e){}dl.log("portfolio media mapping extracted:"),dl.log(dealerPorfolioMediaMapping)}}function getHideActivityIcons(){return hideActivityIcons}function isActivityIconHidden(activity){var value=getHideActivityIcons();if("true"==value||"false"==value)return"true"==value;var hiddenIcons=getHiddenActivityIcons();return hiddenIcons[activity]===!0}function getHiddenActivityIcons(){if(null===hiddenActivityIcons||void 0===hiddenActivityIcons){hiddenActivityIcons={};var value=getHideActivityIcons();if("true"!=value&&"false"!=value&&null!==value&&void 0!==value)for(var items=value.split("|"),i=0;i<items.length;i++){var key=items[i];hiddenActivityIcons[key]=!0}}return hiddenActivityIcons}function setOperating(value){operating=value}function getOperating(){return operating}function isDealerSelectorOperation(){return"dealerselector"==operating}function isDealerSearchOperation(){return"dealersearch"==operating}function setViewMode(value){viewMode=value}function getViewMode(){return viewMode}function setSpinnerEnabled(value){spinnerEnabled=booleanValue(value)}function getSpinnerEnabled(){return spinnerEnabled}function setWidgetContainerId(value){widgetContainerId=value}function getWidgetContainerId(){return widgetContainerId}function setHideHeader(value){hideHeader=booleanValue(value)}function getHideHeader(){return hideHeader}function setHideFooter(value){hideFooter=booleanValue(value)}function getHideFooter(){return hideFooter}function setWidgetSettings(value){widgetSettings=value}function getWidgetSettings(){return widgetSettings}function setLogoUrl(value){logoUrl=value}function getLogoUrl(){return logoUrl}function setUserTrackingEnabled(value){userTrackingEnabled=booleanValue(value)}function getUserTrackingEnabled(){return userTrackingEnabled}function setLinkTextInfoBubble(value){linkTextInfoBubble=value}function getLinkTextInfoBubble(){return linkTextInfoBubble}function setExpandForm(value){expandForm=booleanValue(value)}function getExpandForm(){return expandForm}function setLinkTextLeftNavi(value){linkTextLeftNavi=value}function getLinkTextLeftNavi(){return linkTextLeftNavi}function setFormPreselect(value){formPreselect=value}function getFormPreselect(){return formPreselect}function setHideGeoSearch(value){hideGeoSearch=booleanValue(value)}function getHideGeoSearch(value){return hideGeoSearch}function setLinkJumpTo(value){linkJumpTo=value}function getLinkJumpTo(){return linkJumpTo}function setCallbacks(value){callbacks=value}function getCallbacks(){return callbacks}function setFormHideExtendedOptions(value){formHideExtendedOptions=booleanValue(value)}function getFormHideExtendedOptions(){return formHideExtendedOptions}function setFormButtonStyle(value){formButtonStyle=value}function getFormButtonStyle(){return formButtonStyle}function setStyle(value){style=value.replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g,"")}function getStyle(){return style}function setShowBackButton(value){showBackButton=value}function getShowBackButton(){return showBackButton}function setPageSize(value){pageSize=value}function getPageSize(){return pageSize}function setDataContext(value){dataContext=value}function getDataContext(){return dataContext}function setAdditionalURLParameters(value){additionalURLParameters=value}function getAdditionalURLParameters(){return additionalURLParameters}function setCookiePolicyActive(value){cookiePolicyActive=booleanValue(value)}function getCookiePolicyActive(){return cookiePolicyActive}function setShowSearchForm(value){showSearchForm=booleanValue(value)}function getShowSearchForm(){return showSearchForm}function setContextFilter(value){contextFilter=value}function getContextFilter(){return contextFilter}function setCurrentState(value){currentState=value}function getCurrentState(){return currentState}function setSearchCurrent(value){searchCurrent=value}function getSearchCurrent(){return searchCurrent}function setServiceProductBlockSize(value){serviceProductBlockSize=value}function getServiceProductBlockSize(){return serviceProductBlockSize}function setHeaderClaimContext(value){headerClaimContext=value}function getHeaderClaimContext(){return headerClaimContext}dl.model.Configuration={init:init,isDealerDetailsEnabled:isDealerDetailsEnabled,getBrandingSettings:getBrandingSettings,getDealerSelectorMode:getDealerSelectorMode,getUserTrackingEnabled:getUserTrackingEnabled,getMapPrimarySource:getMapPrimarySource,getMapMinZoom:getMapMinZoom,getMapMaxZoom:getMapMaxZoom,getMapBound1:getMapBound1,getMapBound2:getMapBound2,getMapMaxBound1:getMapMaxBound1,getMapMaxBound2:getMapMaxBound2,getMapBounds:getMapBounds,getMapMaxBounds:getMapMaxBounds,getClusteringGridConfig:getClusteringGridConfig,getDistanceFormatConfig:getDistanceFormatConfig,getCookiePolicyConfig:getCookiePolicyConfig,getMapServiceConfiguration:getMapServiceConfiguration,getConfigValueWithFallback:getConfigValueWithFallback,getImageBaseUrl:getImageBaseUrl,getLogoLanguage:getLogoLanguage,getFavoriteActive:getFavoriteActive,getFavoriteHideAdress:getFavoriteHideAdress,getFavoriteHidePhoneFax:getFavoriteHidePhoneFax,getFavoriteHideEmail:getFavoriteHideEmail,getFavoriteHideHomepage:getFavoriteHideHomepage,getFavoriteHideContact:getFavoriteHideContact,getLinkTextInfoBubble:getLinkTextInfoBubble,getExpandForm:getExpandForm,getLinkTextLeftNavi:getLinkTextLeftNavi,getFormPreselect:getFormPreselect,getHideGeoSearch:getHideGeoSearch,getFormHideExtendedOptions:getFormHideExtendedOptions,getPageSize:getPageSize,getDataContext:getDataContext,getAdditionalURLParameters:getAdditionalURLParameters,getCookiePolicyActive:getCookiePolicyActive,setMapPrimarySource:setMapPrimarySource,setMapMinZoom:setMapMinZoom,setMapMaxZoom:setMapMaxZoom,setMapBound1:setMapBound1,setMapBound2:setMapBound2,setMapMaxBound1:setMapMaxBound1,setMapMaxBound2:setMapMaxBound2,setDealerSelectorMode:setDealerSelectorMode,setFavoriteActive:setFavoriteActive,setFavoriteHideAdress:setFavoriteHideAdress,setFavoriteHidePhoneFax:setFavoriteHidePhoneFax,setFavoriteHideEmail:setFavoriteHideEmail,setFavoriteHideHomepage:setFavoriteHideHomepage,setFavoriteHideContact:setFavoriteHideContact,setFormRegionMainOption:setFormRegionMainOption,setFormRegionDropdown:setFormRegionDropdown,setFormSubregionDropdown:setFormSubregionDropdown,setFormRegionSubregionCascade:setFormRegionSubregionCascade,setRouteSymbols:setRouteSymbols,setDealerPorfolioMediaMapping:setDealerPorfolioMediaMapping,setSwapAddressLines:setSwapAddressLines,setHideActivityIcons:setHideActivityIcons,setDisplayProductGroups:setDisplayProductGroups,setVCardActive:setVCardActive,setPrintEnabled:setPrintEnabled,setVisibleGridCountX:setVisibleGridCountX,setVisibleGridCountY:setVisibleGridCountY,setListViewSorting:setListViewSorting,setOperating:setOperating,setWidgetContainerId:setWidgetContainerId,setViewMode:setViewMode,setHideHeader:setHideHeader,setHideFooter:setHideFooter,setSpinnerEnabled:setSpinnerEnabled,setWidgetSettings:setWidgetSettings,setLogoUrl:setLogoUrl,setUserTrackingEnabled:setUserTrackingEnabled,setLinkTextInfoBubble:setLinkTextInfoBubble,setExpandForm:setExpandForm,setLinkTextLeftNavi:setLinkTextLeftNavi,setFormPreselect:setFormPreselect,setHideGeoSearch:setHideGeoSearch,setLinkJumpTo:setLinkJumpTo,setCallbacks:setCallbacks,setFormHideExtendedOptions:setFormHideExtendedOptions,setStyle:setStyle,setFormButtonStyle:setFormButtonStyle,setShowBackButton:setShowBackButton,setPageSize:setPageSize,setDataContext:setDataContext,setCookiePolicyActive:setCookiePolicyActive,setAdditionalURLParameters:setAdditionalURLParameters,setShowSearchForm:setShowSearchForm,setContextFilter:setContextFilter,setCurrentState:setCurrentState,setSearchCurrent:setSearchCurrent,setServiceProductBlockSize:setServiceProductBlockSize,setHeaderClaimContext:setHeaderClaimContext,getFormRegionMainOption:getFormRegionMainOption,getFormRegionDropdown:getFormRegionDropdown,getFormSubregionDropdown:getFormSubregionDropdown,getFormRegionSubregionCascade:getFormRegionSubregionCascade,getRouteSymbols:getRouteSymbols,getFormRadiusIsSeparated:getFormRadiusIsSeparated,getDealerPorfolioMediaMapping:getDealerPorfolioMediaMapping,getDealerPorfolioMediaMatchForValue:getDealerPorfolioMediaMatchForValue,getSwapAddressLines:getSwapAddressLines,getHideActivityIcons:getHideActivityIcons,isActivityIconHidden:isActivityIconHidden,isDealerSelectorOperation:isDealerSelectorOperation,isDealerSearchOperation:isDealerSearchOperation,getDisplayProductGroups:getDisplayProductGroups,getVCardActive:getVCardActive,getPrintEnabled:getPrintEnabled,getVisibleGridCountX:getVisibleGridCountX,getVisibleGridCountY:getVisibleGridCountY,getListViewSorting:getListViewSorting,getOperating:getOperating,getWidgetContainerId:getWidgetContainerId,getViewMode:getViewMode,getHideHeader:getHideHeader,getHideFooter:getHideFooter,getSpinnerEnabled:getSpinnerEnabled,getWidgetSettings:getWidgetSettings,getLogoUrl:getLogoUrl,getLinkJumpTo:getLinkJumpTo,getCallbacks:getCallbacks,getStyle:getStyle,getFormButtonStyle:getFormButtonStyle,getShowBackButton:getShowBackButton,getShowSearchForm:getShowSearchForm,getContextFilter:getContextFilter,getCurrentState:getCurrentState,getSearchCurrent:getSearchCurrent,getServiceProductBlockSize:getServiceProductBlockSize,getHeaderClaimContext:getHeaderClaimContext};var widgetSettings,cookiePolicyConfig,cookiePolicyActive,favoriteActive,favoriteHideAdress,favoriteHidePhoneFax,favoriteHideEmail,favoriteHideHomepage,favoriteHideContact,formRegionMainOption,formRegionDropdown,formSubregionDropdown,formRegionSubregionCascade,formButtonStyle,showBackButton,routeSymbols,dealerPorfolioMediaMapping,swapAddressLines,hideActivityIcons,hiddenActivityIcons,displayProductGroups,showSearchForm,vcardActive,dealerSelectorMode,printEnabled,logoUrl,visibleGridCountX,visibleGridCountY,listViewSorting,userTrackingEnabled,operating,contextFilter,viewMode,spinnerEnabled,linkTextInfoBubble,expandForm,linkTextLeftNavi,linkJumpTo,formHideExtendedOptions,dealerDetailsEnabled,widgetContainerId,pageSize,dataContext,currentState,searchCurrent,additionalURLParameters,hideHeader,hideFooter,formPreselect,hideGeoSearch,serviceProductBlockSize,headerClaimContext,mapMinZoom,mapMaxZoom,mapBound1,mapBound2,mapMaxBound1,mapMaxBound2,mapBounds,mapMaxBounds,mapPrimarySource,mapServiceConfig,style="",callbacks={}}(jQuery,dl),function(win,dl){"use strict";dl.error.RenderingError=function(details,errorCode){this.message="Widget cannot be displayed.",this.details=details,this.errorCode=errorCode},dl.error.RenderingError.prototype=new Error,dl.error.RegionDataError=function(details,errorCode){this.message="Region data is not loaded.",this.details=details,this.errorCode=errorCode},dl.error.RegionDataError.prototype=new Error,dl.error.InitializationError=function(details,errorCode){this.message="Widget could not be initialized.",this.details=details,this.errorCode=errorCode},dl.error.InitializationError.prototype=new Error,dl.error.ConfigurationError=function(details,errorCode){this.message="Widget configuration could not be loaded.",this.details=details,this.errorCode=errorCode},dl.error.ConfigurationError.prototype=new Error}(window,dl),function($,win,dl){"use strict";function init(){config=dl.model.Configuration,util=dl.common.ParseUtil,state=config.getCurrentState(),storageInitialized=new $.Deferred,regionsInitialized=new $.Deferred,widgetSize={width:0,height:0},me.clearAllEventListeners(),dl.model.Route.init(),dl.model.Dealers.init(),dl.model.Dealers.on("set:currentDealer",onCurrentDealerSet),config.isDealerSearchOperation()&&($("body").append("<div id='dl-loadfont' style='color: #000; font-family: CorpoSRegular;'>.</div>"),$("#dl-loadfont").remove())}function render(){try{setupUI();dl.dl_shared=dl.common.PTVMapClient.Create();if(initControllers(),"listview"!=config.getViewMode()&&"allview"!=config.getViewMode()&&"detailview"!=config.getViewMode()&&"positionview"!=config.getViewMode()&&(initRegions(),$.when(regionsInitialized).then(function(){util.isStrEmpty(config.getSearchCurrent())&&showAllDealersOnMap()})),"listview"==config.getViewMode()&&dl.isDealerSelectorMode()){var messageFunc=function(evt){var message=evt.data;if(message instanceof Object&&!(message instanceof Array)){var channel=message.channel?message.channel.toLowerCase():"unknown",topic=message.topic?message.topic.toLowerCase():"unknown";"dsselector"==channel&&"dealerselector.list"==topic&&(config.getListViewSorting()?dl.model.Dealers.setAndSort(message.data,null,state.getIds()):dl.model.Dealers.set(message.data,null))}};win.addEventListener?win.addEventListener("message",messageFunc,!1):win.attachEvent&&win.attachEvent("onmessage",messageFunc),win.parent&&win.parent.postMessage({channel:"dsselector",topic:"dealerselector.init"},"*")}else if("listview"==config.getViewMode()){util.isArrayEmpty(state.getIds())&&dl.log('ERROR: view mode is "listview", but param "current_state.ids" is not set!'),$cntr.addClass("dl-listview");var reqParams={};reqParams.id=state.getIds(),reqParams.cache=!0,reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),dl.util.Service.invoke("dealer_by_ids",reqParams).then(function(res){config.getListViewSorting()?dl.model.Dealers.setAndSort(res.dealers,null,state.getIds()):dl.model.Dealers.set(res.dealers,null)}).fail(function(){initRegions(),$.when(regionsInitialized).then(function(){showAllDealersOnMap()})})}else if("allview"==config.getViewMode()){$cntr.addClass("dl-listview");var reqParams={};reqParams.name="*",reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),dl.util.Service.invoke("dealer_by_name",reqParams).then(function(res){dl.model.Dealers.setAllDealers(res.dealers),dl.model.Dealers.set(res.dealers,null),setupFavorite()}).fail(function(){initRegions(),$.when(regionsInitialized).then(function(){showAllDealersOnMap()})})}else if("detailview"==config.getViewMode()||"positionview"==config.getViewMode()){util.isArrayEmpty(state.getIds())&&dl.log('ERROR: view mode is "listview", but param "current_state.ids" is not set!');var dealerId=state.getIds()[0],reqParams={};reqParams.id=dealerId,reqParams.cache=!0,reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),dl.util.Service.invoke("dealer_by_ids",reqParams).then(function(res){var dealer=dl.findByIdOrOutletId(res.dealers,dealerId);dl.model.Dealers.setCurrentDealer(dealer),"detailview"==config.getViewMode()?(dl.controller.Details.initDetailView(),$cntr.addClass("dl-detailview")):(dl.controller.Details.initPositionView(),$cntr.addClass("dl-positionview"))}).fail(function(){initRegions(),$.when(regionsInitialized).then(function(){showAllDealersOnMap()})})}else if("dealer_by_ids"==config.getSearchCurrent()){util.isArrayEmpty(state.getIds())&&dl.log('ERROR: search current is "dealer_by_ids", but param "current_state.ids" is not set!'),$cntr.addClass("dl-listview");var reqParams={};reqParams.id=state.getIds(),reqParams.idType=state.getIdType(),reqParams.cache=!0,reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),dl.util.Service.invoke("dealer_by_ids",reqParams).then(function(res){config.getListViewSorting()?dl.model.Dealers.setAndSort(res.dealers,null,state.getIds()):dl.model.Dealers.set(res.dealers,null)}).fail(function(){$.when(regionsInitialized).then(function(){showRegions()})})}else"dealer_by_addressAndName"==config.getSearchCurrent()?$.when(regionsInitialized).then(function(){dl.controller.Search.startSearch()}):"dealer_by_location"==config.getSearchCurrent()?$.when(regionsInitialized).then(function(){dl.controller.Search.startGeoSearch()}):config.getShowSearchForm()&&dl.setState("search","form")}catch(e){dl.log("Render::widget setup is failed"),dl.log(e),dl.errorCallback(new dl.error.RenderingError("Render::widget setup is failed","WIDGET_SETUP_FAILED"))}}function initRegions(){var reqParams={};reqParams.includeDealers=!0,reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),dl.util.Service.invoke("get_regions",reqParams,{cache:!0}).then(function(response){handleRegions(response.regions),regionsInitialized.resolve(),dl.log("Region Data::Regions initialized")}).fail(function(){regionsInitialized.reject(),dl.log("Region Data::Region data is not loaded"),dl.errorCallback(new dl.error.RegionDataError("Region Data::Region data is not loaded","REGION_DATA_NOT_LOADED"))})}function handleRegions(regions){var dealers=[];_.each(regions,function(region){null!==region.dealers&&void 0!==region.dealers&&(dealers=dealers.concat(region.dealers)),null!==region.subregions&&void 0!==region.subregions&&(_.each(region.subregions,function(subregion){dealers=dealers.concat(subregion.dealers),subregion.sortName=dl.createSortname(subregion.name,dl.pageConfig.language,dl.pageConfig.country)}),region.subregions.sort(function(r1,r2){return dl.localeSortCompare(r1.sortName,r2.sortName,dl.pageConfig.language,dl.pageConfig.country)})),region.sortName=dl.createSortname(region.name,dl.pageConfig.language,dl.pageConfig.country)}),regions.sort(function(r1,r2){return dl.localeSortCompare(r1.sortName,r2.sortName,dl.pageConfig.language,dl.pageConfig.country)}),dl.model.Dealers.setAllDealers(dealers),dl.model.Dealers.setRegionsWithDealers({regions:regions}),dl.controller.Search.setupRegionSearch()}function showAllDealersOnMap(){var dealers=dl.model.Dealers.getAllDealersByCriteriasAndCountry(dl.controller.Search.getCriterias());dl.controller.Map.showAllDealers(dl.model.Dealers.groupDealersByGeo(dealers))}function setupUI(){setupWidget(),setupHeaderFooter(),setupIEClasses(),setupStorage(),$.when(regionsInitialized,storageInitialized).then(function(){setupFavorite()}),config.getVCardActive()&&$cntr.addClass("dl-vcf-active"),win.setInterval(function(){updateBreakpoints(),updateWidgetSize()},100),config.isDealerSearchOperation()&&!dl.isPluginMode()?(win.document.title=dl.tr("general.header"),$(win).on("orientationchange",function(){win.scrollTo(0,0),me.fire("change:orientation",{media:getCurrentMedia()})})):$(win).on("orientationchange",function(){me.fire("change:orientation",{media:getCurrentMedia()})})}function setupWidget(){$widget=$("#"+config.getWidgetContainerId()),config.isDealerSearchOperation()&&!dl.isPluginMode()&&(0==$widget.length&&$('<div id="'+config.getWidgetContainerId()+'" class="dl-widget"></div>').appendTo("body"),$widget=$("#"+config.getWidgetContainerId())),$widget.hasClass("dl-widget")||$widget.addClass("dl-widget");var styleName=config.getStyle();util.isStrNotEmpty(styleName)&&!$widget.hasClass(styleName)&&$widget.addClass(styleName),$cntr=$(dl.tpl["modules/widget"]()),$cntr.addClass("dl-state-search-off dl-state-details-off"),dl.isTouchDevice()||$cntr.addClass("no-touch"),updateBreakpoints(),dl.resetState(),$widget.empty(),$widget.append($cntr)}function initControllers(){dl.controller.Map.init(),dl.controller.Tracking.init(),dl.controller.Search.init(),dl.controller.Results.init(),dl.controller.Details.init(),dl.controller.Routing.init(),dl.controller.Header.init(),dl.controller.HtmlPage.init(),config.getCookiePolicyActive()&&dl.controller.CookiePolicy.init(),$.when(regionsInitialized,storageInitialized).always(function(){dl.controller.Search.onRegionsInitialized()}),dl.controller.HtmlPage.initTouchListeners()}function setupHeaderFooter(){if(config.getHideHeader())$cntr.addClass("no-header"),$widget.find(".dl-header").remove();else{var $header=$widget.find(".dl-header");$header.removeClass("en").removeClass("de").addClass(config.getLogoLanguage()),$header.find(".dl-container").html(dl.tpl["modules/header"]({claimContext:config.getHeaderClaimContext()}))}if(config.getHideFooter())$cntr.addClass("no-footer"),$widget.find(".dl-footer").remove();else{var $footer=$widget.find(".dl-footer");$footer.find(".dl-container").html(dl.tpl["modules/footer"]()),$footer.find('li:has(a[data-popup-href="-"])').hide(),$footer.find('li:has(a[href="-"])').hide(),$footer.find(".dl-container").find('a[data-popup="1"]').on("click.link",function(event){event.preventDefault;var link=$(this).attr("data-popup-href");return dl.showInPopup(link,"footer",$(this).attr("data-popup-name")),!1}),$footer.find('a[data-popup="1"]').attr("href","javascript:void()").removeAttr("target")}}function updateWidgetSize(){var width=$widget.width(),height=$widget.height();width==widgetSize.width&&height==widgetSize.height||triggerResize(),widgetSize={width:width,height:height}}function triggerResize(){L.Util.cancelAnimFrame(resizeRequest),resizeRequest=L.Util.requestAnimFrame(function(){updatePanelSize(),me.fire("resize",{media:getCurrentMedia()})},dl.controller.Widget,!1,$widget.get(0))}function updatePanelSize(){var userAgent=($(win),$widget.find(".dl-footer"),navigator.userAgent.toLowerCase()),iphone=userAgent.match(/iphone/i);$widget.find(".dl-panel-content").css("max-height",function(){var height="none",footerHidden=config.getHideFooter();config.getHideHeader();if($widget.width()>=714&&!iphone){var offsetPanel=$(this).offset(),offsetFooter=$widget.find(".dl-footer").offset();footerHidden?height=$widget.find(".dl-page").offset().top+$widget.find(".dl-page").height()-offsetPanel.top-27+"px":offsetPanel.top<offsetFooter.top&&(height=offsetFooter.top-offsetPanel.top-27+"px")}return height}),$widget.find(".dl-formpanel").css("max-height",function(){var offsetPanel=$(this).offset(),offsetFooter=$widget.find(".dl-footer").offset(),height="none";if($widget.width()>=714&&!iphone){var footerHidden=config.getHideFooter();config.getHideHeader();footerHidden?height=$widget.find(".dl-page").offset().top+$widget.find(".dl-page").height()-offsetPanel.top-27+"px":offsetPanel.top<offsetFooter.top&&(height=offsetFooter.top-offsetPanel.top-27+"px"),parseInt(height,10)-$widget.find(".dl-formpanel").height()>40?$cntr.addClass("dl-form-small"):$cntr.removeClass("dl-form-small")}return height}),$widget.find(".dl-panel-content").css("-webkit-overflow-scrolling","auto"),win.setTimeout(function(){$widget.find(".dl-panel-content").css("-webkit-overflow-scrolling","touch")},100)}function setupIEClasses(){if(void 0!==ie)for(var ieVersion=11;ieVersion>ie&&ieVersion>8;)$cntr.addClass("lt-ie"+ieVersion),ieVersion--}function setupStorage(){var iframeUrl=dl.pageConfig.service.contentRoot+"storage.html";"http"!=iframeUrl.slice(0,4)&&(iframeUrl=window.location.protocol+"//"+iframeUrl);var $iframe=$("<iframe/>",{"class":"dl-storage-iframe",style:"display:none;",load:function(){storageInitialized.resolve()}});$widget.append($iframe),$iframe.attr("src",iframeUrl)}function setupFavorite(){if(config.getFavoriteActive())try{dl.storage.getFavorite(function(dealer){dealer&&dealer.outletId?(dl.model.Dealers.setFavoriteDealerId(dealer.outletId),dl.controller.Results.showFavorite(dealer.outletId)):dl.controller.Results.hideFavorite()})}catch(e){}}function updateBreakpoints(){try{var curValue,curWidth,curClass,classList,finalClassList,elem,breakpoint,clazz,modified,curClassFound,i;for(elem=$widget.get()[0],curWidth=$widget.width(),i=0;breakpoint=breakpoints[i++];)curWidth>=breakpoint.min&&curWidth<=breakpoint.max&&(curClass="dl-media-"+breakpoint.media);for(curValue=getClass(elem),classList=curValue.replace(/[\t\r\n\f]/g," ").split(" "),i=0,modified=!1,curClassFound=!1,finalClassList=[];clazz=classList[i++];)0==clazz.indexOf("dl-media-")?clazz==curClass?curClassFound?modified=!0:(curClassFound=!0,finalClassList.push(curClass)):modified=!0:finalClassList.push(clazz);curClassFound||(modified=!0,finalClassList.push(curClass)),modified&&elem.setAttribute("class",finalClassList.join(" "))}catch(e){dl.log("ERROR: Failed to update breakpoints: "+e)}}function getClass(elem){return elem&&elem.getAttribute&&elem.getAttribute("class")||""}function getCurrentMedia(){var media="";return _.each(breakpoints,function(item){var mediaClass="dl-media-"+item.media;return $widget.hasClass(mediaClass)?(media=item.media,!0):void 0}),media}function onCurrentDealerSet(evt){var dealer=evt.dealer;evt.options;if(util.isAttrNotEmpty(dealer)){dl.callCallback(config.getCallbacks().selected,[dealer]);var trackingEvent=$.extend(!0,{},dl.TrackingEvents.DealerSelectionTrackingEvent);trackingEvent.data.dealer=dealer,dl.controller.Tracking.trackEvent(trackingEvent)}}dl.controller.Widget=me=_.extend({init:init,render:render,triggerResize:triggerResize,regionsInitialized:regionsInitialized},L.Mixin.Events);var me,config,util,state,regionsInitialized,storageInitialized,widgetSize,resizeRequest,$widget,$cntr,breakpoints=[{min:0,max:713,media:"mobile"},{min:714,max:1153,media:"tablet"},{min:1154,max:9999,media:"desktop"}],ie=function(){for(var undef,v=3,div=document.createElement("div");div.innerHTML="<!--[if gt IE "+ ++v+"]><i></i><![endif]-->",div.getElementsByTagName("i")[0];);return v>4?v:undef}()}(jQuery,window,dl),function($,win,dl){"use strict";function init(){config=dl.model.Configuration,util=dl.common.ParseUtil,callsCount=0,spinner=null}function show(){try{0==callsCount&&(config.getSpinnerEnabled()&&showSpinner(!0),dl.callCallback(config.getCallbacks().displayWait))}catch(e){dl.log("Progress::Error::Progress show is failed"),dl.log(e)}finally{callsCount++}}function hide(){try{1==callsCount&&(config.getSpinnerEnabled()&&showSpinner(!1),dl.callCallback(config.getCallbacks().hideWait))}catch(e){dl.log("Progress::Error::Progress hide is failed"),dl.log(e)}finally{callsCount--,0>callsCount&&(callsCount=0)}}function showSpinner(show){if(show&&!spinner){spinner=new dl.common.Spinner;var $widget=$("#"+config.getWidgetContainerId());spinner.spin($widget.find(".dl-page-content").get(0))}else!show&&spinner&&(spinner.stop(),spinner=null)}dl.controller.Progress={init:init,show:show,hide:hide};var config,util,spinner,callsCount=0}(jQuery,window,dl),function($,dl){"use strict";function init(){try{if(config=dl.model.Configuration,config.getUserTrackingEnabled()){var omnitureClientID=dl.pageConfig.useTestOmnitureId?"daitest1":dl.config.configuration.OmnitureClientID;window.setVariables=function(){window.s&&0!=s&&(s.charSet="utf-8",s.channel="shop",s.server=""+window.location.hostname,s.eVar1=""+s.getQueryParam("pid"),s.eVar2="shop",s.pageName="dealer_shop_locator:page:start",s.prop1=s.pageName,s.prop11="shop",s.prop14=dl.pageConfig.language,s.prop21="dealer_shop_locator",s.prop22=dl.pageConfig.service.config,s.campaign=""+s.getQueryParam("csref"),window.s_account=omnitureClientID,s.eVar21="dealer_shop_locator",s.eVar22=dl.pageConfig.service.config,s.events="event17")},_satellite.track("do_tracking")}}catch(e){dl.log("Error while tracking"),dl.log(e)}}function trackPage(page,extraData){try{if(config.getUserTrackingEnabled()){var omnitureClientID=dl.pageConfig.useTestOmnitureId?"daitest1":dl.config.configuration.OmnitureClientID;window.setVariables=function(){window.s&&0!=s&&(s.charSet="utf-8",s.channel="shop",s.server=""+window.location.hostname,s.eVar1=""+s.getQueryParam("pid"),s.eVar2="shop",s.pageName=page,s.prop1=s.pageName,s.prop11="shop",s.prop14=dl.pageConfig.language,s.prop21="dealer_shop_locator",s.prop22=dl.pageConfig.service.config,s.campaign=""+s.getQueryParam("csref"),window.s_account=omnitureClientID,extraData?(s.prop59=extraData,s.eVar43=extraData):(delete s.prop59,delete s.eVar43),delete s.linkName,delete s.prop19,s.eVar21="dealer_shop_locator",s.eVar22=dl.pageConfig.service.config,delete s.events)},_satellite.track("do_tracking")}}catch(e){dl.log("Error while tracking"),dl.log(e)}}function trackLink(link,extraData){try{if(config.getUserTrackingEnabled()){var omnitureClientID=dl.pageConfig.useTestOmnitureId?"daitest1":dl.config.configuration.OmnitureClientID,s_obj=s_gi(omnitureClientID);s_obj.linkTrackVars="prop19,events",s_obj.linkTrackEvents="event18",s_obj.prop19=link,extraData&&_.each(extraData,function(value,key){s_obj[key]=value}),s_obj.tl(!0,"o",link)}}catch(e){dl.log("Error while tracking"),dl.log(e)}}function trackEvent(event){dl.callCallback(config.getCallbacks().tracking,[event])}dl.controller.Tracking={init:init,trackPage:trackPage,trackLink:trackLink,trackEvent:trackEvent};var config}(jQuery,dl),function($,dl){"use strict";function init(){config=dl.model.Configuration,
$widget=$("#"+config.getWidgetContainerId()),function(){var origDeferred=$.Deferred;$.Deferred=function(){var result=origDeferred.apply(this,arguments);return result.isResolved=function(){return"resolved"==result.state()},result.isRejected=function(){return"rejected"==result.state()},result}}(),function(){var cookiePolicyConfig=config.getCookiePolicyConfig();dl.log("Using the following cookie policy configuration:"),dl.log(cookiePolicyConfig);var serviceUrl=window.location.protocol+"//"+cookiePolicyConfig.cookiePolicyScript,cp_endpoint=serviceUrl;$(document).ready(function(){$.getScript(cp_endpoint,function(){emb.cookiepolicy.init({context:cookiePolicyConfig.cookiePolicyContext,app:cookiePolicyConfig.cookiePolicyApp,endpoint:cp_endpoint,onConsent:function(cookieContext,disclaimerUrl){_cookieContext=cookieContext,getCookieLayerUrl()},onError:function(errorMessage){window.console&&dl.log(errorMessage)}})})})}()}function onCookieLinkClicked(){dl.log("Cookie Link clicked!");var urls=cookieUrls;if(urls&&1==urls.length){var cs_popup=window.open(urls[0],"cs_popup","left=20,top=20,toolbars=0,scrollbars=1,location=0,statusbars=0,menubars=1,resizable=0,width=440,height=550");cs_popup&&cs_popup.focus()}else urls&&urls.length>1&&emb.cookiepolicy.renderLayer(_cookieContext);return!1}function getCookieLayerUrl(){emb&&emb.cookiepolicy&&_cookieContext&&emb.cookiepolicy.getCookieInfoUrls(_cookieContext,function(urls){dl.log("cookie url:"+urls),cookieUrls=urls;var $cookiesLnk=$widget.find("#dl-cookies-link");$cookiesLnk&&$cookiesLnk.length>0&&($cookiesLnk[0].href="javascript:void()",$cookiesLnk.off("click.link")),$widget.find("#dl-cookies-link").on("click.link",function(event){return event.preventDefault,onCookieLinkClicked()})})}dl.controller.CookiePolicy={init:init};var _cookieContext,cookieUrls,$widget,config}(jQuery,dl),function(win,dl){"use strict";function init(theMap){map=theMap,Map=dl.controller.Map,Dealers=dl.model.Dealers,config=dl.model.Configuration,util=dl.common.ParseUtil,$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container"),Dealers.on("change:highlightedDealers",onHighlightedDealerChange),dealerStyle={shopBtnText:util.isStrNotEmpty(config.getLinkTextInfoBubble())?config.getLinkTextInfoBubble():dl.tr("detail.dealerShopLink")},displayDealerBubble=config.getConfigValueWithFallback("dealerBubblePopup.display"),displayClusterBubble=config.getConfigValueWithFallback("clusterBubblePopup.display"),dealerBubbleClickable=config.isDealerSelectorOperation(),dealerNameClickable=config.isDealerDetailsEnabled()&&config.isDealerSearchOperation(),"false"==displayDealerBubble&&dl.log("dealer bubble deactivated"),"false"==displayClusterBubble&&dl.log("cluster bubble deactivated")}function onHighlightedDealerChange(evt){dl.log("highlighted dealer changed:"),dl.log(evt);var newDealers=evt.dealers,newPopupId=null!=newDealers?_.isArray(newDealers[0])?newDealers[0][0].id:newDealers[0].id:null;if(currentHighlightedPopupId&&null!=currentHighlightedPopupId&&currentHighlightedPopupId!=newPopupId&&0==isMouseInBubble())removeLayer(currentHighlightedPopupId);else if(currentHighlightedPopupId&&null!=currentHighlightedPopupId&&currentHighlightedPopupId==newPopupId)return dl.log("clearing timeout for still visible:"+currentHighlightedPopupId),clearRemoveCallback(currentHighlightedPopupId),void updateLayer(currentHighlightedPopupId);if(null!=newDealers){clearRemoveCallback(newPopupId);var layer;if(void 0!==evt.clusterElement&&"false"!=displayClusterBubble)layer=showClusterPopup(evt.clusterElement,newPopupId);else if("false"!=displayDealerBubble){var marker=evt.marker||null;layer=showDealerBubblePopup(newDealers,marker)}currentHighlightedPopupId=newPopupId,dealerLayers[newPopupId]=layer}}function showClusterPopup(clusterElement,newPopupId){var tplContext={count:clusterElement.getDealersCountIncludingCombinedDealers(),popupId:newPopupId},content=dl.tpl("modules/clusterBubblePopup",tplContext,config.getDataContext()+"TOOLTIP"),coords=clusterElement.getRenderingCoords(),layer=new BubblePopup({closeOnClick:!1,minWidth:100,maxWidth:250,closeButton:!1,autoPan:!1,className:"dl-bubble-popup",multiDealerPopup:!1});return layer.setLatLng([coords.lng,coords.lat]).setContent($(content).wrap("<p/>").parent().html()).openOn(map),$widget.find(".dl-bubble-popup").off("mouseenter").on("mouseenter",onDealerBubbleEnter),$widget.find(".dl-bubble-popup").off("mouseleave").on("mouseleave",onDealerBubbleLeave),$widget.find(".dl-bubble-popup").off("click").on("click",{clusterElement:clusterElement,popupId:newPopupId},onClusterBubbleClick),$widget.find(".dl-bubble-popup").off("dblclick").on("dblclick",{clusterElement:clusterElement,popupId:newPopupId},onClusterBubbleClick),$widget.find(".dl-bubble-popup").off("mousemove").on("mousemove",function(evt){evt.stopPropagation()}),layer}function showDealerBubblePopup(dealers,marker){var multiDealerPopup=dealers.length>1,popupId=dealers[0].id,tplContext={dealers:dealers,popupId:popupId,dealerBubbleClickable:dealerBubbleClickable,branding:config.getBrandingSettings()};config.isDealerDetailsEnabled()||(tplContext.dealerStyle=dealerStyle);var content=dl.tpl("modules/dealerBubblePopup",tplContext,config.getDataContext()+"TOOLTIP"),$content=$(content),activityColumnWidth=dl.config.control["DealerPortfolioTable.ActivitiesColumnWidth"],productGroupColumnWidth=dl.config.control["DealerPortfolioTable.ProductGroupsColumnsWidth"];void 0!==activityColumnWidth&&null!=activityColumnWidth&&setColumnWidth($content.find(".dl-activity-column"),activityColumnWidth),void 0!==productGroupColumnWidth&&null!=productGroupColumnWidth&&setColumnWidth($content.find(".dl-prdgrp-column"),productGroupColumnWidth);var coords=Dealers.dealerToLatlon(dealers[0]),layer=new BubblePopup({closeOnClick:!1,minWidth:400,maxWidth:500,closeButton:!1,autoPan:!1,className:"dl-bubble-popup",multiDealerPopup:multiDealerPopup,marker:marker});return layer.setLatLng(coords).setContent($content.wrap("<p/>").parent().html()).openOn(map),multiDealerPopup&&(adjustMultiBubblePopupContent($widget.find(".dl-bubble-popup-content"),dealers[0].id),addMultiPopupListeners()),$widget.find(".dl-bubble-popup").off("mouseenter").on("mouseenter",onDealerBubbleEnter),$widget.find(".dl-bubble-popup").off("mouseleave").on("mouseleave",onDealerBubbleLeave),$widget.find(".dl-bubble-popup").off("click").on("click",function(evt){evt.stopPropagation()}),$widget.find(".dl-bubble-popup").off("dblclick").on("dblclick",function(evt){evt.stopPropagation()}),$widget.find(".dl-bubble-popup").off("mousemove").on("mousemove",function(evt){evt.stopPropagation()}),_.each(dealers,function(dealer){var $bubbleEntry=$widget.find(".dl-bubble-popup").find("#dl-bubble-entry_"+dealer.id);dealerBubbleClickable?($bubbleEntry.on("click",{dealer:dealer,popupId:popupId},onDealerBubbleClick),$bubbleEntry.find(".dl-ln-email").off("click").on("click",function(evt){evt.stopPropagation()}),$bubbleEntry.find(".dl-ln-homepage").off("click").on("click",function(evt){evt.stopPropagation()})):dealerNameClickable&&$bubbleEntry.on("click",".dl-name-link",{dealer:dealer,popupId:popupId},onNameLinkClick),$bubbleEntry._dealer=dealer,$bubbleEntry.find(".dl-btn-vcf-dealer").on("click",{dealer:dealer},onSaveDealerVCard),$bubbleEntry.find(".dl-btn-vcf-dealer-contact").on("click",{dealer:dealer},onSaveDealerVCard),$bubbleEntry.find(".dl-btn-select-dealer").on("click",{dealer:dealer},onSelectDealerClick),dl.isTooltipEnabled()&&($bubbleEntry.on("mouseenter",".dl-btn-vcf",onVCardHover),$bubbleEntry.on("mouseout",".dl-btn-vcf",onVCardExit))}),layer}function addMultiPopupListeners(){$(".dl-bubble-entry").each(function(){$(this).on("mouseenter",onTogglePreferredDealer)})}function adjustMultiBubblePopupContent($bubbleContent,preferredDealerId){$bubbleContent.find(".dl-bubble-entry .dl-dealer-services").css("display","none")}function setColumnWidth($selector,maxWidth){$selector.css("max-width",maxWidth),$selector.css("word-wrap","break-word")}function onTogglePreferredDealer(evt){var currentTarget=evt.delegateTarget;if(!(2>multiDealersToggling)&&1!=$(currentTarget).find(".dl-dealer-services").hasClass("dl-open")){$(currentTarget).parents(".leaflet-popup");multiDealersToggling=0,$(".dl-bubble-entry .dl-open").length?$(".dl-bubble-entry .dl-open").slideToggle({complete:function(){$(".dl-bubble-entry .dl-open").removeClass("dl-open"),multiDealersToggling++}}):multiDealersToggling++,$(currentTarget).find(".dl-dealer-services").slideToggle({complete:function(){$(currentTarget).find(".dl-dealer-services").addClass("dl-open"),multiDealersToggling++}})}}function onDealerBubbleEnter(evt){mouseInBubble=!0;var delegateTarget=evt.delegateTarget,popupId=$(delegateTarget).find(".dl-bubble-popup-content").attr("data-popup-id");dl.log("clearing timeout for:"+popupId),clearRemoveCallback(popupId)}function onDealerBubbleLeave(evt){mouseInBubble=!1;var delegateTarget=evt.delegateTarget,popupId=$(delegateTarget).find(".dl-bubble-popup-content").attr("data-popup-id");dl.log("setting timeout for:"+popupId),removeLayer(popupId)}function onNameLinkClick(evt){evt.stopPropagation();var popupId=evt.data.popupId;removeLayerImmediately(popupId),Dealers.setHighlightedDealers({dealers:null}),Dealers.setCurrentDealer(evt.data.dealer)}function onDealerBubbleClick(evt){evt.stopPropagation();var popupId=evt.data.popupId;removeLayerImmediately(popupId),Dealers.setHighlightedDealers({dealers:null}),Dealers.setCurrentDealer(evt.data.dealer)}function onClusterBubbleClick(evt){evt.stopPropagation();var popupId=evt.data.popupId;removeLayerImmediately(popupId),dl.log("recluster"),Dealers.setCurrentDealer(null),Map.fitBounds(evt.data.clusterElement.getBounds(),{maxZoom:16})}function onSaveDealerVCard(evt){evt.stopPropagation();var dealer=evt.data.dealer;dl.downloadVCard(dealer),dl.controller.Tracking.trackLink("DLp_vcard_popup",{events:"event18"})}function onSelectDealerClick(evt){evt.stopPropagation();var dealerObj=evt.data.dealer,dealer={id:dealerObj.id,outletId:dealerObj.outletId,country:dealerObj.country,organisation:dealerObj.organisation,geoOriginID:dealerObj.geoOriginID,dealerData:dealerObj.dealerData,formattedData:dealerObj.formattedData,geoRepresentation:dealerObj.geoRepresentation};win.parent&&win.parent.postMessage({channel:"dsselector",topic:"dealerselector.select",data:dealer},"*")}function onVCardHover(evt){dl.showTooltip(this,evt)}function onVCardExit(evt){dl.hideTooltip(this,evt)}function removeLayer(popupId){var handle=win.setTimeout(function(){dl.log("removing layer:"+popupId),dealerLayers[popupId]&&void 0===dl.DEBUG.bubble&&map.closePopup(dealerLayers[popupId]),delete highlightedDealerHandles[popupId],popupId==currentHighlightedPopupId&&(currentHighlightedPopupId=null,mouseInBubble=!1)},500);mouseInBubble=!1,void 0!==highlightedDealerHandles[popupId]&&clearRemoveCallback(popupId),highlightedDealerHandles[popupId]=handle}function removeLayerImmediately(popupId){dealerLayers[popupId]&&void 0===dl.DEBUG.bubble&&map.closePopup(dealerLayers[popupId]),delete highlightedDealerHandles[popupId],currentHighlightedPopupId=null,mouseInBubble=!1}function updateLayer(popupId){var layer=dealerLayers[popupId];void 0!==layer&&(map.hasLayer(layer)||win.setTimeout(function(){map.openPopup(layer)},100))}function clearRemoveCallback(popupId){var handle=highlightedDealerHandles[popupId];void 0!==handle&&(dl.log("removing callback for:"+popupId+"- handle:"+handle),win.clearTimeout(handle),delete highlightedDealerHandles[popupId])}function isMouseInBubble(){return mouseInBubble}var map,Dealers,Map,currentHighlightedPopupId,dealerStyle,displayDealerBubble,displayClusterBubble,dealerBubbleClickable,dealerNameClickable,$widget,$cntr,config,util,highlightedDealerHandles=[],dealerLayers=[],mouseInBubble=!1,multiDealersToggling=2;dl.controller.DealerBubblePopup={init:init};var BubblePopup=L.Popup.extend({_updatePosition:function(){var padding=10;if(this._map){var pos=this._map.latLngToLayerPoint(this._latlng),animated=this._animated,offset=L.point(this.options.offset);animated&&L.DomUtil.setPosition(this._container,pos);var container=this._container;this._containerBottom=-offset.y-(animated?0:pos.y),this._containerLeft=-Math.round(this._containerWidth/2)+offset.x+(animated?0:pos.x);var containerHeight=this._container.offsetHeight,containerWidth=this._containerWidth,layerPosNS=new L.Point(this._containerLeft,-containerHeight-this._containerBottom),layerPosWE=new L.Point(this._containerLeft-Math.round(this._containerWidth/2),-containerHeight-this._containerBottom+Math.round(containerHeight/2));this._animated&&(layerPosNS._add(L.DomUtil.getPosition(this._container)),layerPosWE._add(L.DomUtil.getPosition(this._container)));var containerPosNS=map.layerPointToContainerPoint(layerPosNS),containerPosWE=map.layerPointToContainerPoint(layerPosWE),poiPos=map.layerPointToContainerPoint(pos),size=this._map.getSize();dl.log("height:"+containerHeight),dl.log("width:"+containerWidth),dl.log("left:"+this._containerLeft),dl.log("bottom:"+this._containerBottom),dl.log("layerposNS:"),dl.log(layerPosNS),dl.log("layerposWE:"),dl.log(layerPosWE),dl.log("container pos:"),dl.log(containerPosWE),dl.log("map size:"),dl.log(size);var spaceToNorth=containerPosNS.y-padding,offsetToNorth=0;if(void 0!=this.options.marker&&void 0!=this.options.marker.options&&void 0!=this.options.marker.options.icon&&void 0!=this.options.marker.options.icon.options){var iconHeight=this.options.marker.options.icon.options.iconSize[1]||0;dl.log("Found marker with height:"+iconHeight),spaceToNorth-=iconHeight,offsetToNorth=iconHeight}var popupTipPos,spaceToSouth=size.y-(containerPosNS.y+2*containerHeight+padding),spaceToWest=containerPosWE.x+padding,spaceToEast=size.x-(containerPosWE.x+2*containerWidth+padding),visiblePanelWidth=0,visiblePanelHeight=0;if($widget.find(".dl-panel:visible").each(function(){visiblePanelWidth=Math.max(visiblePanelWidth,$(this).width()+$(this).position().left),visiblePanelHeight=Math.max(visiblePanelHeight,$(this).height()+$(this).position().top)}),dl.log("panel size w:"+visiblePanelWidth+" - h:"+visiblePanelHeight),spaceToNorth>30&&poiPos.x>visiblePanelWidth+containerWidth/2+padding){dl.log("direction north"),this._container.style.bottom=this._containerBottom+offsetToNorth+27+"px";var leftContainerPos=this.getLeftContainerPos(containerPosNS,size,padding,containerWidth);this._container.style.left=leftContainerPos.leftPoint.x+"px",$(container).find(".leaflet-popup-tip").css("left",Math.round(containerWidth/2-padding+leftContainerPos.correction)+1+"px"),offsetToNorth>0&&$(container).find(".leaflet-popup-tip-container").addClass("dl-popup-tip-small")}else if(!(spaceToSouth>30&&poiPos.x>visiblePanelWidth+containerWidth/2+padding+45)||$widget.is(".lt-ie10")&&this.options.multiDealerPopup)if(spaceToWest>spaceToEast&&(spaceToWest>visiblePanelWidth+24+padding+70||0>spaceToEast)){dl.log("position west"),this._container.style.left=this._containerLeft-containerWidth/2-padding-24+"px";var topContainerPos=this.getTopContainerPos(containerPosWE,size,padding,containerHeight,visiblePanelWidth,visiblePanelHeight);topContainerPos.growNorth?(this._container.style.bottom=-1*(topContainerPos.topPoint.y+containerHeight)+"px",popupTipPos=Math.round(containerHeight/2-5-topContainerPos.correction),$cntr.is(".lt-ie9")&&(popupTipPos-=7),$(container).find(".leaflet-popup-tip").css("bottom",popupTipPos+"px")):(this._container.style.top=topContainerPos.topPoint.y+"px",popupTipPos=Math.round(containerHeight/2-22+topContainerPos.correction),$(container).find(".leaflet-popup-tip").css("top",popupTipPos+"px")),window.setTimeout(function(){$(container).find(".leaflet-popup-tip").addClass("leaflet-popup-tip-east")},10)}else{dl.log("position east"),this._container.style.left=this._containerLeft+(Math.round(containerWidth/2)+padding+25)+"px";var topContainerPos=this.getTopContainerPos(containerPosWE,size,padding,containerHeight,poiPos,visiblePanelWidth,visiblePanelHeight);topContainerPos.growNorth?(this._container.style.bottom=-1*(topContainerPos.topPoint.y+containerHeight)+"px",popupTipPos=Math.round(containerHeight/2-5-topContainerPos.correction),$cntr.is(".lt-ie9")&&(popupTipPos-=7),$(container).find(".leaflet-popup-tip").css("bottom",popupTipPos+"px")):(this._container.style.top=topContainerPos.topPoint.y+"px",popupTipPos=Math.round(containerHeight/2-22+topContainerPos.correction),$cntr.is(".lt-ie9")&&(popupTipPos+=7),$(container).find(".leaflet-popup-tip").css("top",popupTipPos+"px")),window.setTimeout(function(){$(container).find(".leaflet-popup-tip").addClass("leaflet-popup-tip-west")},10)}else{dl.log("direction south"),$widget.is(".lt-ie10")?this._container.style.bottom=this._containerBottom-13-containerHeight+"px":this._container.style.top=this._containerBottom+27+"px";var leftContainerPoint=this.getLeftContainerPos(containerPosNS,size,padding,containerWidth);this._container.style.left=leftContainerPoint.leftPoint.x+"px",$(container).prepend($(container).find(".leaflet-popup-tip-container")),$(container).find(".leaflet-popup-tip").addClass("leaflet-popup-tip-north"),window.setTimeout(function(){$(container).find(".leaflet-popup-tip").css("left",Math.round(containerWidth/2-padding+leftContainerPoint.correction)+1+"px")},10)}dl.log("position end")}},getLeftContainerPos:function(containerPos,mapSize,padding,containerWidth){var leftContainerPosX=containerPos.x;containerPos.x+padding<0?leftContainerPosX=padding:containerPos.x+1*containerWidth+padding>mapSize.x&&(leftContainerPosX=mapSize.x-containerWidth-padding);var correction=containerPos.x-leftContainerPosX,leftPoint=map.containerPointToLayerPoint(new L.Point(leftContainerPosX,containerPos.y));return dl.log("correct:"+correction),dl.log(L.DomUtil.getPosition(this._container)),this._animated&&leftPoint._subtract(L.DomUtil.getPosition(this._container)),{leftPoint:leftPoint,correction:correction}},getTopContainerPos:function(containerPos,mapSize,padding,containerHeight,poiPos,visiblePanelWidth,visiblePanelHeight){var growNorth=!0,topContainerPosY=containerPos.y;poiPos.x<visiblePanelWidth-10&&containerPos.y+padding<visiblePanelHeight&&containerPos.y+containerHeight+padding<mapSize.y?(topContainerPosY=visiblePanelHeight+padding,growNorth=!1):containerPos.y+padding<0?(topContainerPosY=padding,growNorth=!1):containerPos.y+containerHeight+padding>mapSize.y&&(topContainerPosY=mapSize.y-containerHeight-padding);var correction=containerPos.y-topContainerPosY;dl.log("correct:"+correction);var topPoint=map.containerPointToLayerPoint(new L.Point(containerPos.x,topContainerPosY));return this._animated&&topPoint._subtract(L.DomUtil.getPosition(this._container)),{topPoint:topPoint,growNorth:growNorth,correction:correction}}})}(window,dl),function(win,dl){"use strict";function init(){Dealers=dl.model.Dealers,Route=dl.model.Route,WidgetCntr=dl.controller.Widget,config=dl.model.Configuration,util=dl.common.ParseUtil,mapConfig=config.getMapServiceConfiguration(),$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container");var styleName="amg"==config.getStyle()?"amg":"xp";userPosIcon=L.icon({iconUrl:checkProtocol(mapConfig.imageBaseUrl)+($("html").hasClass("svg")?"images/catalog/"+styleName+"/map/position.svg":"images/catalog/"+styleName+"/map/png/position.png"),iconSize:[55,55],iconAnchor:[25,25]}),allDealersMap=null,lastFitBounds=null,activeMarker=null,visibility=!1;var mapOptions={trackResize:!1};dl.getBrowser().android4&&(mapOptions.fadeAnimation=!1,mapOptions.zoomAnimation=!1),map=createMap("dl-mainmap","stage",mapOptions).fitBounds(config.getMapBounds()),dlBubbleController=dl.controller.DealerBubblePopup,dlBubbleController.init(map),$map=$(map.getContainer());var $copyrightPanel=$widget.find(".dl-map-copyright-panel");$copyrightPanel.find(".dl-label").text(dl.dl_shared.mapCopyright),$copyrightPanel.removeClass("hidden");var $closePanel=$widget.find(".dl-mapclosepanel");dl.isDealerSelectorMode()&&$closePanel.removeClass("hidden"),dl.dl_shared.createScale({metric:!0,imperial:!1,maxWidth:80,position:"bottomright"}).addTo(map),$closePanel.on("click",".dl-btn-mapclose",onMapClose),"positionview"!=config.getViewMode()&&"detailview"!=config.getViewMode()&&"listview"!=config.getViewMode()&&"allview"!=config.getViewMode()&&map.on("mousemove",onMapMove),map.on("click",onMapClick),map.on("zoomstart",onMapZoomStart),$widget.find(".dl-mapzoompanel").on("click",".dl-mapzoom-in",onZoomIn).on("click",".dl-mapzoom-out",onZoomOut),Dealers.on("change:currentPage",onCurrentPageChange),Dealers.on("change:currentDealer",onCurrentDealerChange),Route.on("change:route",onRouteChange),$map.css("cursor","default"),WidgetCntr.on("resize",onResize),WidgetCntr.on("change:orientation",onOrientationChange)}function onMapMove(evt){if("off"==dl.getState("routing")){var availableDealer=findDealerGroupAround(evt.latlng);setHighlightedDealersByMapMove(availableDealer&&"clusterElement"==availableDealer.type&&1==availableDealer.getDealersLocationCount()?{dealers:availableDealer.getAllDealers()[0]}:availableDealer&&"clusterElement"==availableDealer.type?{dealers:availableDealer.getAllDealers(),clusterElement:availableDealer}:availableDealer&&"object"==typeof availableDealer?{dealers:availableDealer}:{dealers:null})}}function setHighlightedDealersByMapMove(dealersObject){var dealers=_.isArray(dealersObject.dealers)?dealersObject.dealers[0]:dealersObject.dealers;util.isAttrNotEmpty(dealers)?$map.css("cursor","pointer"):$map.css("cursor","default"),setHighlightedDealers(dealersObject)}function setHighlightedDealers(dealersObject){win.clearTimeout(highlightedDealerHandle),highlightedDealerHandle=win.setTimeout(function(){util.isAttrNotEmpty(dealersObject)&&util.isAttrEmpty(dealersObject.marker)&&(dealersObject.marker=getMarkerForDealer(dealersObject.dealers)),Dealers.setHighlightedDealers(dealersObject)},100)}function onMapZoomed(evt){clusterMap.deleteGrid(),win.clearTimeout(reclusteringHandle),reclusteringHandle=win.setTimeout(function(){showAllDealers(allDealers,"current")},250),lastFitBounds={bounds:map.getBounds(),options:{}}}function onMapZoomStart(evt){map.closePopup()}function onMapClick(evt){if("off"==dl.getState("routing")&&"detailview"!=config.getViewMode()&&"positionview"!=config.getViewMode()){var marker,dealerGroup=findDealerGroupAround(evt.latlng);if(null==dealerGroup)return map.closePopup(),setHighlightedDealers({dealers:null}),void("off"===dl.getState("details")&&(unhighlightMarker(),Dealers.setCurrentDealer(null)));var dealerCount="clusterElement"==dealerGroup.type?dealerGroup.getDealersLocationCount():1,selectedDealers="clusterElement"==dealerGroup.type?dealerGroup.getAllDealers()[0]:dealerGroup;if(util.isAttrNotEmpty(dealerCount)&&dealerCount>1)return dl.log("dealers in target cluster:"+dealerCount),map.closePopup(),unhighlightMarker(),Dealers.setCurrentDealer(null),setHighlightedDealers({dealers:null}),void fitBounds(dealerGroup.getBounds(),{maxZoom:16});if(!config.isDealerDetailsEnabled())return _.some(markers,function(currMarker){var found=!1;return found=selectedDealers.length>1?_.every(selectedDealers,function(singleDealer){return markerContainsDealer(currMarker,singleDealer)}):markerContainsDealer(currMarker,selectedDealers),found?(marker=currMarker,!0):void 0}),setHighlightedDealers(dealerGroup&&"clusterElement"==dealerGroup.type&&1==dealerGroup.getDealersLocationCount()?{dealers:dealerGroup.getAllDealers()[0]}:dealerGroup&&"object"==typeof dealerGroup?{dealers:dealerGroup}:{dealers:null}),void(dl.isTouchDevice()&&marker&&highlightMarker(marker));if(util.isAttrNotEmpty(selectedDealers))if(mapSearchTrackingSent||(mapSearchTrackingSent=!0,dl.isConfigTruthy("Tracking.SearchMap.Enabled")&&dl.controller.Tracking.trackLink("DLp_search_map")),_.some(markers,function(currMarker){var found=!1;return found=selectedDealers.length>1?_.every(selectedDealers,function(singleDealer){return markerContainsDealer(currMarker,singleDealer)}):markerContainsDealer(currMarker,selectedDealers),found?(marker=currMarker,!0):void 0}),marker)showMarkerDetails(marker);else if(selectedDealers.length>1){marker=createDealerPinMarker(selectedDealers);var currentDealer=Dealers.getCurrentDealer();markerContainsDealer(marker,currentDealer)||Dealers.setCurrentDealer(null),highlightMarker(marker),showMarkerDetails(marker)}else Dealers.setCurrentDealer(selectedDealers)}}function findDealerGroupAround(latlon){function findNearDealerGroup(){for(var minSquareDist=-1,candidate=null,x=xMin;xMax>=x;x++){var yMap=allDealersMap[x];if(yMap)for(var y=yMin;yMax>=y;y++){var dealers=yMap[y];if(null!=dealers)for(var dealerCount=dealers.length,i=0;dealerCount>i;++i){var dealerEntry=dealers[i];if(isNear(dealerEntry,merc,tolerance)){var dealerMerc=dealerEntry[1],distX=dealerMerc.x-merc.x,distY=dealerMerc.y-merc.y,squareDist=distX*distX+distY*distY;(-1==minSquareDist||minSquareDist>squareDist)&&(minSquareDist=squareDist,candidate=dealerEntry)}}}}return null==candidate?null:candidate[0]}function toInt(n){return parseInt(1e3*n,10)}function isNear(dealerEntry,merc,tolerance){var dealerMerc=dealerEntry[1];return Math.abs(dealerMerc.x-merc.x)<tolerance&&Math.abs(dealerMerc.y-merc.y)<tolerance}if(!allDealersMap)return null;var mercWidth=2*Math.PI/Math.pow(2,map.getZoom()),mercPerPx=mercWidth/256,tolerance=(dl.isTouchDevice()?20:10)*mercPerPx,merc=prj.project(latlon),mercLeft=merc.x-tolerance,mercTop=merc.y+tolerance,mercRight=merc.x+tolerance,mercBottom=merc.y-tolerance,xMin=toInt(mercLeft),xMax=toInt(mercRight),yMin=toInt(mercBottom),yMax=toInt(mercTop);return findNearDealerGroup()}function onMapClose(evt){evt.preventDefault(),evt.stopPropagation(),win.parent&&win.parent.postMessage({channel:"dsselector",topic:"dealerselector.close"},"*")}function onZoomIn(){map.zoomIn()}function onZoomOut(){map.zoomOut()}function onCurrentPageChange(evt){if(-1==evt.page){showDealers([]),setHighlightedDealers({dealers:null});var dealers=dl.model.Dealers.getAllDealersByCriteriasAndCountry(dl.controller.Search.getCriterias());showAllDealers(Dealers.groupDealersByGeo(dealers),"reset")}else showDealers(evt.dealers)}function onCurrentDealerChange(evt){var dealer=evt.dealer,options=evt.options;handleCurrentDealer(dealer,options)}function handleCurrentDealer(dealer,options){config.isDealerDetailsEnabled()?util.isAttrNotEmpty(dealer)?(win.setTimeout(function(){highlightDealer(dealer)},100),options&&"resultlist"==options.source?fitToDealers():options&&"favorite"==options.source?fitToDealer(dealer):panToDealer(dealer)):unhighlightMarker():config.isDealerSearchOperation()&&win.setTimeout(function(){highlightDealer(dealer),setHighlightedDealers({dealers:dealer})},100)}function onRouteChange(evt){showRoute(evt.route)}function onOrientationChange(evt){var visibility="mobile"!=evt.media;visibility&&win.setTimeout(function(){map.invalidateSize({debounceMoveend:!0}),restoreMapView()},250)}function onResize(evt){var newVisibility="mobile"!=evt.media;newVisibility&&(map.invalidateSize({debounceMoveend:!0}),newVisibility!=visibility&&restoreMapView()),visibility=newVisibility}function fitToDealer(dealer){if(!util.isAttrEmpty(dealer)){var latlng=Dealers.dealerToLatlon(dealer);latlng&&fitBounds([[latlng[0]-DIFF_LON_SITE,latlng[1]-DIFF_LAT],[latlng[0]+DIFF_LON_SITE,latlng[1]+DIFF_LAT]])}}function restoreMapView(){if("off"==dl.getState("routing"))"detail"==dl.getState("detailView")?fitToDealerPosition(Dealers.getCurrentDealer()):"off"!=dl.getState("detailView")?fitToDealer(Dealers.getCurrentDealer()):"results"==dl.getState("search")&&fitToDealers();else if("route"==dl.getState("routing")&&map.dl_route){var bounds=map.dl_route.routeLine.getBounds();fitBounds(bounds)}}function fitToDealerPosition(dealer){if(null!==dealer&&void 0!==dealer){var DIFF_LON_SITE=.08,DIFF_LAT=.016,latlng=Dealers.dealerToLatlon(dealer);latlng&&fitBounds([[latlng[0]-DIFF_LON_SITE,latlng[1]-DIFF_LAT],[latlng[0]+DIFF_LON_SITE,latlng[1]+DIFF_LAT]],{maxZoom:12})}}function panToDealer(dealer){if(!util.isAttrEmpty(dealer)){var latlon=Dealers.dealerToLatlon(dealer);if(util.isAttrEmpty(latlon)){var options={};util.isArrayNotEmpty(activeMarker)&&markerContainsDealer(activeMarker,dealer)&&activeMarker.getPopup()&&activeMarker.getPopup()._isOpen&&(options.addWidth=150),panToLatlon(latlon,options)}}}function panToLatlon(latlon,options){var layerPos=map.latLngToLayerPoint(latlon);layerPos=new L.Point(layerPos.x,layerPos.y);var containerPos=map.layerPointToContainerPoint(layerPos),paddings=getPaddings(),paddingTL=L.point(paddings.paddingTopLeft),paddingBR=L.point(paddings.paddingBottomRight),size=map.getSize(),dx=0,dy=0;containerPos.x+paddingBR.x>size.x&&(dx=containerPos.x-size.x+paddingBR.x,options.addWidth&&(dx+=options.addWidth)),containerPos.x-dx-paddingTL.x<0&&(dx=containerPos.x-paddingTL.x,options.addWidth&&(dx-=options.addWidth)),containerPos.y+paddingBR.y>size.y&&(dy=containerPos.y-size.y+paddingBR.y),containerPos.y-dy-paddingTL.y<0&&(dy=containerPos.y-paddingTL.y),(dx||dy)&&map.fire("autopanstart").panBy([dx,dy])}function showDealers(dealers){map.off("zoomend",onMapZoomed),void 0!==clusterMap&&clusterMap.deleteGrid(),removeMarkers(),removeLayer(userPosMarker);var userPos=Dealers.getUserPosition();util.isAttrNotEmpty(userPos)&&(userPosMarker=L.marker(userPos,{icon:userPosIcon,clickable:!1}),userPosMarker.addTo(map)),util.isArrayNotEmpty(dealers)&&(markers=[],fitToDealers(),win.setTimeout(function(){util.isArrayNotEmpty(dealers)&&showAllDealersWithoutClustering(Dealers.get()),_.each(dealers,function(dealerGroup){var iconVariant,options,marker;_.isArray(dealerGroup)&&(iconVariant=2===dealerGroup.length?"double":"multi"),options={icon:{html:dealerGroup.dealerLabel,variant:iconVariant}},marker=createDealerPinMarker(dealerGroup,options),marker&&markers.push(marker)})},100))}function createDealerPinMarker(dealerGroup,options){var marker,latlon=Dealers.dealerToLatlon(dealerGroup);return latlon&&(marker=createMarker(latlon,options).addTo(map).on("click",onMarkerClick).on("dblclick",onMarkerClick).on("mouseover",onMarkerOver).on("mouseout",onMarkerOut).on("popupopen",onBubbleOpen).on("popupclose",onBubbleClose),$(marker._icon).on("mousemove",function(evt){evt.stopPropagation(evt)}),$(marker._icon).on("click",function(evt){evt.stopPropagation(evt)}),$(marker._icon).on("dblclick",function(evt){evt.stopPropagation(evt)}),marker._dlDealerGroup=dealerGroup),marker}function fitToDealers(){var dealers=Dealers.get();if(util.isAttrNotEmpty(dealers)){var rawBounds=getDealerListBounds(dealers);fitBounds(rawBounds)}}function fitBounds(bounds,options){var usedOptions=options||{};util.isAttrEmpty(usedOptions.maxZoom)&&(usedOptions=_.extend({maxZoom:15},usedOptions)),(util.isAttrEmpty(usedOptions.paddingTopLeft)||util.isAttrEmpty(usedOptions.paddingBottomRight))&&(usedOptions=_.extend(getPaddingsForPanel(),usedOptions)),L.Util.cancelAnimFrame(boundRequest),boundRequest=L.Util.requestAnimFrame(function(){this.fitBounds(bounds,usedOptions)},map,!1,map.getContainer()),lastFitBounds={bounds:bounds,options:usedOptions}}function getPaddings(){return{paddingTopLeft:[430,150],paddingBottomRight:[$widget.width()>1200?375:30,10]}}function getPaddingsForPanel(){var visiblePanelWidth=0,visiblePanelHeight=0;return $widget.find(".dl-panel:visible").each(function(){visiblePanelWidth=Math.max(visiblePanelWidth,$(this).width()+$(this).position().left),visiblePanelHeight=Math.max(visiblePanelHeight,$(this).height()+$(this).position().top)}),dl.log("offset for panel:"+visiblePanelHeight+" - "+visiblePanelWidth),{paddingTopLeft:[visiblePanelWidth+30,50],paddingBottomRight:[30,10]}}function showRoute(route){var oldRoute=map.dl_route;if(dl.dl_shared.showRouteOnMap(route,map),route){var bounds=map.dl_route.routeLine.getBounds();fitBounds(bounds)}if(route&&!oldRoute)allDealersLayer.redraw(),hideMarkers();else if(oldRoute&&!route){var dealers=Dealers.get(),currentDealer=Dealers.getCurrentDealer();util.isArrayNotEmpty(dealers)?(allDealersLayer.redraw(),showMarkers(),fitToDealers()):util.isAttrNotEmpty(currentDealer)&&(win.setTimeout(function(){
highlightDealer(currentDealer)},100),fitToDealerPosition(currentDealer))}}function createMap(id,mode,options){void 0===options&&(options={});var map=dl.dl_shared.createMap(id,options);return dl.DEBUG.tileids&&vectormaps.tileIdLayer().addTo(map),"detail"!=mode&&(allDealersLayer=createAllDealersLayer(),waitForMapResources(function(){allDealersLayer.addTo(map)})),map}function waitForMapResources(callback){var retries=5,checkReady=function(){try{var canvas,context;retries-=1,canvas=document.createElement("canvas"),canvas.width=20,canvas.height=20,context=canvas.getContext("2d"),context.fillStyle="rgba(0,0,0,1.0)",context.fillRect(0,0,20,20),context.font="16pt CorpoSRegular",context.textAlign="center",context.fillStyle="rgba(255,255,255,1.0)",context.fillText("+",10,10);var data=context.getImageData(3,3,1,1).data;255!==data[0]&&255!==data[1]&&255!==data[2]&&retries>0?win.setTimeout(checkReady,200):"function"==typeof callback&&callback()}catch(e){"function"==typeof callback&&callback()}};checkReady()}function createAllDealersLayer(){function _drawTile(tile,point,zoom){function drawPointMarker(dealerEntry){var clusterIconRadius,dealerElement=dealerEntry[0],dealerCount=0;"clusterElement"==dealerElement.type?(clusterIconRadius=dealerElement.getClusterIconRadius(),dealerCount=dealerElement.getDealersCountIncludingCombinedDealers()):clusterIconRadius=circleRadius;var merc=dealerEntry[1],fontSize=14,pixX=(merc.x-mercLeft)/mercPerPixel,pixY=(mercTop-merc.y)/mercPerPixel;if(ctx.beginPath(),ctx.arc(pixX-circleRadius,pixY-circleRadius,clusterIconRadius,0,2*Math.PI,!0),ctx.closePath(),ctx.fill(),0!=dealerCount){if(ctx.font=fontSize+"px CorpoSRegular",ctx.textAlign="center",ctx.textBaseline="middle",ctx.fillStyle="#FFFFFF",$cntr.is(".lt-ie9")){var correction=0;switch(!0){case 10>dealerCount:correction=4;break;case 100>dealerCount:correction=8;break;case 1e3>dealerCount:correction=12;break;default:correction=16}ctx.fillText(dealerCount,pixX-circleRadius-correction,pixY-circleRadius)}else ctx.fillText(dealerCount,pixX-circleRadius,pixY-circleRadius);ctx.fillStyle="#333333"}}if(!map.dl_route&&allDealersMap){window.G_vmlCanvasManager?G_vmlCanvasManager.initElement(tile):vectormaps.Util.scaleCanvasForHighres(tile);var zoomLevel=map.getZoom(),clusteringCorrection=Math.max(13-zoomLevel,0);dl.log("zoom:"+zoomLevel+" - "+clusteringCorrection);var ctx=tile.getContext("2d"),circleSize=Math.min(10,Math.max(6,zoom)),circleRadius=circleSize/2,mercWidth=2*Math.PI/Math.pow(2,zoom),mercPerPixel=mercWidth/256,circleRadiusMerc=circleRadius*mercPerPixel,mercLeft=-Math.PI+mercWidth*point.x-circleRadiusMerc,mercTop=Math.PI-mercWidth*point.y+circleRadiusMerc,mercRight=mercLeft+mercWidth+circleRadiusMerc,mercBottom=mercTop-mercWidth-circleRadiusMerc,xMin=parseInt(1e3*mercLeft-clusteringCorrection,10),xMax=parseInt(1e3*mercRight+clusteringCorrection,10),yMin=parseInt(1e3*mercBottom-clusteringCorrection,10),yMax=parseInt(1e3*mercTop+clusteringCorrection,10);ctx.fillStyle="#333333";for(var x=xMin;xMax>=x;++x){var yMap=allDealersMap[x];if(yMap)for(var y=yMin;yMax>=y;++y){var dealerList=yMap[y];dealerList&&_.each(dealerList,drawPointMarker)}}}}var layer=L.tileLayer.canvas();return layer.drawTile=function(){var args=arguments;_.defer(function(){_drawTile.apply(layer,args)})},layer}function createMarker(latlon,options){return dl.dl_shared.createMarker(latlon,options)}function showMarkers(){util.isArrayNotEmpty(markers)&&_.each(markers,function(marker){map.addLayer(marker),$(marker._icon).on("mousemove",function(evt){evt.stopPropagation(evt)}),$(marker._icon).on("click",function(evt){evt.stopPropagation(evt)}),$(marker._icon).on("dblclick",function(evt){evt.stopPropagation(evt)})}),util.isAttrNotEmpty(activeMarker)&&(_.contains(markers,activeMarker)||(map.addLayer(activeMarker),$(activeMarker._icon).on("mousemove",function(evt){evt.stopPropagation(evt)}),$(activeMarker._icon).on("click",function(evt){evt.stopPropagation(evt)}),$(activeMarker._icon).on("dblclick",function(evt){evt.stopPropagation(evt)})),activeMarker.setActive(!0))}function hideMarkers(){util.isAttrNotEmpty(activeMarker)&&(_.contains(markers,activeMarker)||removeLayer(activeMarker)),util.isArrayNotEmpty(markers)&&_.each(markers,function(marker){removeLayer(marker)}),activeMarker=null}function removeMarkers(){hideMarkers(),markers=[]}function onMarkerClick(evt){var marker=evt.target,dealerGroup=marker._dlDealerGroup;if(!util.isAttrEmpty(marker)&&!util.isAttrEmpty(dealerGroup))if(config.isDealerDetailsEnabled())if(_.isArray(dealerGroup))highlightMarker(marker),showMarkerDetails(marker);else{var currentDealer=Dealers.getCurrentDealer();currentDealer!=dealerGroup?Dealers.setCurrentDealer(dealerGroup):handleCurrentDealer(dealerGroup,{})}else config.isDealerSearchOperation()?(highlightMarker(marker),setHighlightedDealers({dealers:dealerGroup,marker:marker})):(dl.isTouchDevice()&&highlightMarker(marker),setHighlightedDealers({dealers:dealerGroup,marker:marker}))}function showMarkerDetails(marker){var dealerGroup=marker._dlDealerGroup;util.isAttrEmpty(marker)||util.isAttrEmpty(dealerGroup)||_.isArray(dealerGroup)&&showDealerListBubble(marker)}function showDealerListBubble(marker){var dealerGroup=marker._dlDealerGroup,$mapzoompanel=$widget.find(".dl-mapzoompanel");if(!util.isAttrEmpty(marker)&&_.isArray(dealerGroup)&&!marker.getPopup()){var tplData={dealers:dealerGroup,dealerStyle:{shopBtnText:util.isStrNotEmpty(config.getLinkTextInfoBubble())?config.getLinkTextInfoBubble():dl.tr("detail.dealerShopLink")}},offsetY=2===dealerGroup.length?-71:-72;marker.bindPopup(dl.tpl["map/multiDealerBubble"](tplData),{offset:new L.Point(0,offsetY),autoPanPaddingTopLeft:L.point($mapzoompanel.offset().left+$mapzoompanel.width()+10,20)}),marker.openPopup()}}function onMarkerOver(evt){var marker=evt.target,dealerGroup=marker._dlDealerGroup;util.isAttrEmpty(marker)||util.isAttrEmpty(dealerGroup)||(setHighlightedDealers({dealers:dealerGroup,marker:marker}),marker.setActive(!0,2e3))}function onMarkerOut(evt){var marker=evt.target,dealerGroup=marker._dlDealerGroup;util.isAttrEmpty(marker)||util.isAttrEmpty(dealerGroup)||(_.isArray(dealerGroup)&&marker.getPopup()&&marker.getPopup()._isOpen?marker.setActive(!0):marker.setActive(marker===activeMarker))}function onBubbleClose(evt){var marker=evt.target,dealerGroup=marker._dlDealerGroup;if(!util.isAttrEmpty(marker)&&!util.isAttrEmpty(dealerGroup)){var currentDealer=Dealers.getCurrentDealer();_.isArray(dealerGroup)&&!markerContainsDealer(marker,currentDealer)&&(_.contains(markers,marker)?marker!==activeMarker&&marker.unactivate():marker===activeMarker?unhighlightMarker():removeLayer(marker))}}function onBubbleOpen(evt){var marker=evt.target,popup=evt.popup,currentDealer=Dealers.getCurrentDealer();markerContainsDealer(marker,currentDealer)||$(popup._contentNode).find(".dl-results-item").removeClass("dl-even"),$(popup._contentNode).find(".dl-results-item").off("click").on("click",onMultiDealerClick),$(popup._container).off("mousemove").on("mousemove",function(evt){L.DomEvent.stopPropagation(evt)}),$(popup._container).off("click").on("click",function(evt){L.DomEvent.stopPropagation(evt)}),$(popup._container).off("dblclick").on("dblclick",function(evt){L.DomEvent.stopPropagation(evt)})}function onMultiDealerClick(evt){evt.preventDefault();var $dealerItem=$(this),dealerId=$dealerItem.data("id"),dealer=_.findWhere(activeMarker._dlDealerGroup,{id:""+dealerId});$dealerItem.parent().find(".dl-results-item").removeClass("dl-even"),$dealerItem.addClass("dl-even"),Dealers.setCurrentDealer(dealer)}function highlightDealer(dealer){if(!util.isAttrEmpty(dealer)&&!markerContainsDealer(activeMarker,dealer)){var marker=getOrCreateMarkerForDealer(dealer);map.closePopup(),highlightMarker(marker)}}function getOrCreateMarkerForDealer(dealer){var marker=getMarkerForDealer(dealer);return util.isAttrEmpty(marker)&&(marker=createDealerPinMarker(dealer)),marker}function getMarkerForDealer(dealer){var wantedMarker=null;return util.isAttrEmpty(dealer)?null:(markerContainsDealer(activeMarker,dealer)?wantedMarker=activeMarker:_.some(markers,function(marker){var containsDealer=markerContainsDealer(marker,dealer);return containsDealer&&(wantedMarker=marker),containsDealer}),wantedMarker)}function highlightMarker(marker){util.isAttrEmpty(marker)||util.isAttrNotEmpty(marker)&&activeMarker===marker||(activeMarker&&(_.contains(markers,activeMarker)?activeMarker.setActive(!1):removeLayer(activeMarker),activeMarker=null),activeMarker=marker,activeMarker.setActive(!0))}function unhighlightMarker(){util.isAttrEmpty(activeMarker)||(_.contains(markers,activeMarker)?activeMarker.setActive(!1):removeLayer(activeMarker),activeMarker=null)}function markerContainsDealer(marker,dealer){if(!marker||!dealer)return!1;var markerDealerGroup=marker._dlDealerGroup;return _.isArray(markerDealerGroup)?!!_.findWhere(markerDealerGroup,{id:dealer.id}):markerDealerGroup.id===dealer.id}function showAllDealers(dealers,bounds){var targetBounds=bounds;allDealers=dealers;var newAllDealersMap={};"reset"==targetBounds?map.off("zoomend",onMapZoomed):map.on("zoomend",onMapZoomed);var rawBounds,adjust=!1;"current"==bounds&&(bounds=map.getBounds()),"adjust"==bounds&&(rawBounds=getDealerListBounds(dealers),bounds=L.latLngBounds(rawBounds),adjust=!0),"reset"!=targetBounds&&checkIfBoundsAreValid(bounds)||(bounds=L.latLngBounds(config.getMapBounds()));var clusteringGridConfig=config.getClusteringGridConfig();clusterMap=dl.model.ClusterMap.Create(clusteringGridConfig,dealers,bounds,map);var clusters=clusterMap.getClusteredElements();for(var clusterKey in clusters){var cluster=clusters[clusterKey];if(cluster.getRenderingCoords){var latlon=cluster.getRenderingCoords();if(null==latlon)return;computePoiCoords(cluster,[latlon.lng,latlon.lat],newAllDealersMap)}}allDealersMap=newAllDealersMap,allDealersLayer.redraw(),adjust&&fitBounds(rawBounds),"reset"==targetBounds&&(resetMapView(),setTimeout(function(){map.on("zoomend",onMapZoomed)},500))}function getDealerListBounds(dealers){var lat=[],lon=[];return _.each(dealers,function(dealer){var latlng=dl.model.Dealers.dealerToLatlon(dealer);null!=latlng&&(lat.push(latlng[0]),lon.push(latlng[1]))}),[[_.min(lat),_.min(lon)],[_.max(lat),_.max(lon)]]}function showAllDealersWithoutClustering(dealers){allDealers=dealers;var newAllDealersMap={};_.each(dealers,function(dealer){var latlon=Dealers.dealerToLatlon(dealer);null!=latlon&&computePoiCoords(dealer,latlon,newAllDealersMap)}),allDealersMap=newAllDealersMap,allDealersLayer.redraw()}function computePoiCoords(poi,latlon,poiMap){var merc=prj.project(L.latLng(latlon[0],latlon[1])),keyX=parseInt(1e3*merc.x,10),yMap=poiMap[keyX];yMap||(yMap={},poiMap[keyX]=yMap);var keyY=parseInt(1e3*merc.y,10),poiList=yMap[keyY];poiList||(poiList=[],yMap[keyY]=poiList),poiList.push([poi,merc])}function checkIfBoundsAreValid(bounds){if(void 0===bounds)return!1;var maxBounds=L.latLngBounds(config.getMapMaxBounds());return bounds.getNorth()>maxBounds.getNorth()?!1:bounds.getSouth()<maxBounds.getSouth()?!1:bounds.getWest()<maxBounds.getWest()?!1:!(bounds.getEast()>maxBounds.getEast())}function checkProtocol(url){return"http"!=url.slice(0,4)&&(url=window.location.protocol+"//"+url),url}function resetMapView(){map.closePopup(),util.isAttrNotEmpty(userPosMarker)&&(removeLayer(userPosMarker),userPosMarker=null),fitBounds(config.getMapBounds(),{paddingTopLeft:[0,0],paddingBottomRight:[0,0]})}function removeLayer(layer){try{util.isAttrNotEmpty(layer)&&map.hasLayer(layer)&&map.removeLayer(layer)}catch(e){dl.log("error:removeLayer:"+e)}}var Dealers,Route,WidgetCntr,map,$map,markers,activeMarker,clusterMap,mapSearchTrackingSent,allDealers,userPosMarker,reclusteringHandle,dlBubbleController,visibility,highlightedDealerHandle,mapConfig,$widget,$cntr,config,util,boundRequest,allDealersMap,allDealersLayer,userPosIcon,DIFF_LON_SITE=.005,DIFF_LAT=.001,lastFitBounds=null,prj=L.Projection.SphericalMercator;dl.controller.Map={init:init,showAllDealers:showAllDealers,fitToDealers:fitToDealers,fitToDealer:fitToDealer,fitToDealerPosition:fitToDealerPosition,fitBounds:fitBounds,createMap:createMap,createMarker:createMarker,resetMapView:resetMapView}}(window,dl),function(win,dl){"use strict";function getCriterias(){return criterias}function init(){var activities,productGroups,$form,preselect;if(config=dl.model.Configuration,util=dl.common.ParseUtil,widgetCtrl=dl.controller.Widget,$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container"),regions=null,subregions=null,isSearchReady=!1,startedSearch=null,state=config.getCurrentState(),preselect=config.getFormPreselect(),activities=initActivities(),productGroups=initProductGroups(),setupFilterCriterias(),$formPanel=$widget.find(".dl-formpanel").html(dl.tpl["forms/searchForm"]({activities:activities,productGroups:productGroups,headline:dl.config.control.DefaultShopLocatorHeadline,searchRadiusOptions:dl.config.control.SearchRadius4CurrentLocation?dl.config.control.SearchRadius4CurrentLocation:[10,25,50],extOptionsEnabled:(activities&&activities.length>0||dl.isConfigTruthy("DealerLocatorSearchForm.CircumRadius.Enabled",{}))&&!config.getFormHideExtendedOptions(),buttonStyle:"dark"==config.getFormButtonStyle()?"dl-btn-style-dark":"dl-btn-style-color",showBackButton:config.getShowBackButton(),branding:config.getBrandingSettings()})),$form=$formPanel.find(".dl-searchform form"),$extOptions=$form.find(".dl-extoptions"),fields=dl.getFormFields($form,["city","postcode","name","radius","gssnActivities","gssnProductGrps"]),geoFields=dl.getFormFields($form,["name","radius","gssnActivities","gssnProductGrps"]),$alert=$form.find(".dl-formalert"),$addresses=$form.find(".dl-citychooser"),$form.on("click",".dl-address-line",onAddressClick),$form.on("submit",onSearch),$form.on("click",".dl-btn-extoptions",onExtOptions),$form.on("click",".dl-btn-formback",onFormBack),$form.on("input change",".dl-textcontrol input",onInput),$form.on("change",'select[name="gssnActivities"]',onActivitiesChanged),$form.on("click",'input[name="gssnProductGrps"]',onProductGroups),$widget.find('.lt-ie9 input[name="gssnProductGrps"]:checked+label').addClass("ie8-checked"),$widget.find('.lt-ie9 input[name="gssnProductGrps"]:checked').addClass("ie8-checkbox"),dl.isTooltipEnabled()&&$widget.find(".dl-product-group-item").on({mouseenter:onProductGroupMouseOver,mouseleave:onProductGroupMouseOut}),$form.on("touchstart",".dl-product-group-item",onProductGroupTouchStart),$form.on("touchend",".dl-product-group-item",onProductGroupTouchEnd),navigator.geolocation&&!config.getHideGeoSearch()&&($formPanel.find(".dl-btn-geosearch").removeClass("hidden"),$form.on("click",".dl-btn-geosearch",onGeoSearch)),win.setTimeout(function(){dl.common.CustomForm.init($widget),$form.find("input, textarea").placeholder()},50),config.getExpandForm()&&$(".dl-btn-extoptions").trigger("click",!0),setupPostalCodeFormElement($form),util.isStrNotEmpty(preselect)){for(var searchTerm,parts=preselect.split("|"),i=0;i<parts.length;i++){searchTerm='option[value="'+parts[i]+'"]';var $option=$form.find(searchTerm);$option&&$option.attr("selected","selected"),searchTerm='input[value="'+parts[i]+'"]';var $option2=$form.find(searchTerm);$option2&&($option2.attr("checked","checked"),markProductGroupButtonIE8($option2))}$form.find('select[name="gssnActivities"]').trigger("change",!0),calculateProductGroupCriteria()}setupInitFormValues(),_.each(initErrors,function(errorMsg){showError(errorMsg)}),config.getFormRadiusIsSeparated()&&$widget.find(".dl-control-radius").hide(),$form.find("input").blur()}function onRegionsInitialized(){isSearchReady=!0,util.isStrNotEmpty(startedSearch)&&(dl.controller.Progress.hide(),"dealer_by_location"==startedSearch?startGeoSearch():startSearch(!0),startedSearch=null)}function setupFilterCriterias(){var i,j,filter,productGroupFilterFound=!1,activitiesFilterFound=!1,gssnProductGroups=[],gssnActivities=[],brandName=dl.config.control.BrandNameFilter,productGroupDefs=dl.config.control.__productGroups,productGroupFilter=dl.config.control.ProductGroupsFilter,contextFilter=config.getContextFilter(),activitiesDefs=dl.config.control.__activities,activitiesFilter=[];if(criterias=[],null!==brandName&&void 0!==brandName&&(brandName=brandName.split("|")[0]),util.isAttrNotEmpty(contextFilter)){if(util.isArrayNotEmpty(contextFilter.productGroups))for(i=0;i<contextFilter.productGroups.length;i++)util.isAttrNotEmpty(productGroupDefs)&&util.isAttrNotEmpty(productGroupDefs[contextFilter.productGroups[i]])&&util.isArrayNotEmpty(productGroupDefs[contextFilter.productGroups[i]].GSSNProductGroups)&&(productGroupFilterFound||(productGroupFilter=[]),productGroupFilter=productGroupFilter.concat(productGroupDefs[contextFilter.productGroups[i]].GSSNProductGroups),productGroupFilterFound=!0);for(productGroupFilter=dl.deduplicateArray(productGroupFilter),i=0;i<productGroupFilter.length;i++)_.contains(gssnProductGroups,productGroupFilter[i])||gssnProductGroups.push(productGroupFilter[i]);if(activitiesFilter.push([dl.config.control.ActivitiesFilter]),util.isArrayNotEmpty(contextFilter.activities)&&util.isAttrNotEmpty(activitiesDefs))for(i=0;i<contextFilter.activities.length;i++){var name=contextFilter.activities[i];if(util.isAttrNotEmpty(activitiesDefs[name])){activitiesFilterFound||(activitiesFilter=[]),activitiesFilterFound=!0;var activityConfig=[];for(j=1;10>=j;j++){var currentList=activitiesDefs[name]["GSSNActivities_"+j];util.isArrayNotEmpty(currentList)&&(activityConfig.push(currentList),gssnActivities=gssnActivities.concat(currentList))}util.isArrayNotEmpty(activityConfig)&&activitiesFilter.push(activityConfig)}}if(activitiesFilterFound||(gssnActivities=activitiesFilter[0][0]),gssnActivities=dl.deduplicateArray(gssnActivities),productGroupFilterFound||activitiesFilterFound){filter={gssnProductGroups:gssnProductGroups,gssnActivities:gssnActivities,conditions:[]};for(var i=0;i<activitiesFilter.length;i++)filter.conditions.push(prepareProgramCondition(brandName,productGroupFilter,activitiesFilter[i]))}if(util.isArrayNotEmpty(contextFilter.gssnActivities)||util.isArrayNotEmpty(contextFilter.gssnProductGroups)){for(gssnActivities=util.isArrayNotEmpty(contextFilter.gssnActivities)?contextFilter.gssnActivities:dl.config.control.ActivitiesFilter,gssnProductGroups=util.isArrayNotEmpty(contextFilter.gssnProductGroups)?contextFilter.gssnProductGroups:dl.config.control.ProductGroupsFilter,util.isAttrEmpty(filter)&&(filter={gssnProductGroups:[],gssnActivities:[],conditions:[]}),filter.conditions.push(prepareProgramGssnCondition(brandName,gssnProductGroups,gssnActivities)),i=0;i<gssnActivities.length;i++)_.contains(filter.gssnActivities,gssnActivities[i])||filter.gssnActivities.push(gssnActivities[i]);for(i=0;i<gssnProductGroups.length;i++)_.contains(filter.gssnProductGroups,gssnProductGroups[i])||filter.gssnProductGroups.push(gssnProductGroups[i])}util.isAttrNotEmpty(filter)&&addCriteria({type:CRITERIA_TYPE_CONTEXT_FILTER,filter:filter})}}function setupInitFormValues(){var $form=$formPanel.find(".dl-searchform form");if(util.isStrNotEmpty(state.getCity())&&$form.find("input[name=city]").val(state.getCity()),util.isStrNotEmpty(state.getPostcode())&&$form.find("input[name=postcode]").val(state.getPostcode()),util.isStrNotEmpty(state.getName())&&$form.find("input[name=name]").val(state.getName()),util.isStrNotEmpty(state.getRadius())){var $option=$form.find('select[name=radius] option[value="'+state.getRadius()+'"]');$option.length>0&&($option.attr("selected","selected"),$form.find("select[name=radius]").trigger("change",!0))}}function setupRegionSearch(){var regionsWithDealers=dl.model.Dealers.getRegionsWithDealers();if(regions=regionsWithDealers.regions,subregions=[],_.each(regionsWithDealers.regions,function(region){null!==region.subregions&&void 0!==region.subregions&&_.each(region.subregions,function(subregion){subregion.dealers&&subregion.dealers.length>0&&(subregions=subregions.concat(subregion),subregion.regionId=region.id)})}),subregions.sort(function(r1,r2){return dl.localeSortCompare(r1.sortName,r2.sortName,dl.pageConfig.language,dl.pageConfig.country)}),config.getFormRegionDropdown()){var regionsHtml=dl.tpl["partials/regionOptions"]({regions:regions});$widget.find("select[name=region]").html(regionsHtml).on("change",onRegionsChange)}var $subregions=$widget.find("select[name=subregion]");if(0==subregions.length||!config.getFormSubregionDropdown()&&!config.getFormRegionSubregionCascade())config.setFormSubregionDropdown(!1),config.setFormRegionSubregionCascade(!1),$widget.find(".dl-subregions").remove();else{if(config.getFormRegionSubregionCascade())config.getFormSubregionDropdown()?$subregions.prop("disabled",!0):($subregions.prop("disabled",!0),$widget.find(".dl-subregions").hide());else if(config.getFormSubregionDropdown()){var subregionsHtml=dl.tpl["partials/subregionOptions"]({subregions:subregions});$subregions.html(subregionsHtml)}$subregions.on("change",onSubregionsChange)}fields=dl.getFormFields($formPanel,["city","postcode","name","radius","gssnActivities","gssnProductGrps","region","subregion"]),geoFields=dl.getFormFields($formPanel,["name","radius","gssnActivities","gssnProductGrps"])}function prepareProgramCondition(brandName,prgFilter,actFilter){var condition={brand:brandName,productGroup:prgFilter,activities:actFilter},conditionFunc="";conditionFunc+="var attrs = {};\n",conditionFunc+="for(var i=0;i<prgs.length;i++) {\n",conditionFunc+="var key = prgs[i].brandName + '::' + prgs[i].productGroupName + '::' + prgs[i].activityName;\n",conditionFunc+="attrs[key] = true;\n",conditionFunc+="}\n",conditionFunc+="return ";for(var i=0;i<prgFilter.length;i++){i>0&&(conditionFunc+=" || "),conditionFunc+="(";for(var j=0;j<actFilter.length;j++){j>0&&(conditionFunc+=" && "),conditionFunc+="(";for(var k=0;k<actFilter[j].length;k++){k>0&&(conditionFunc+=" || ");var key=brandName+"::"+prgFilter[i]+"::"+actFilter[j][k];conditionFunc+="attrs['"+key+"']===true"}conditionFunc+=")"}conditionFunc+=")"}return conditionFunc+=";",condition.test=new Function("prgs",conditionFunc),dl.log("Search::Programm condition func: "),dl.log(condition),dl.log(conditionFunc),condition}function prepareProgramGssnCondition(brandName,gssnProductGroups,gssnActivities){var condition={brand:brandName,gssnProductGroups:gssnProductGroups,gssnActivities:gssnActivities},conditionFunc="";conditionFunc+="var attrs = {};\n",conditionFunc+="for(var i=0;i<prgs.length;i++) {\n",conditionFunc+="var key = prgs[i].brandName + '::' + prgs[i].productGroupName + '::' + prgs[i].activityName;\n",conditionFunc+="attrs[key] = true;\n",conditionFunc+="}\n",conditionFunc+="return ";for(var i=0;i<gssnProductGroups.length;i++)for(var j=0;j<gssnActivities.length;j++){(i>0||j>0)&&(conditionFunc+=" || ");var key=brandName+"::"+gssnProductGroups[i]+"::"+gssnActivities[j];conditionFunc+="attrs['"+key+"']===true"}return conditionFunc+=";",condition.test=new Function("prgs",conditionFunc),dl.log("Search::Programm GSSN condition func: "),dl.log(condition),dl.log(conditionFunc),condition}function onRegionsChange(evt){if(removeAllCriteriasByType(CRITERIA_TYPE_REGION),!evt.resetByCascade){var val=$widget.find("select[name=region]").val();"-1"!=val&&addCriteria({type:CRITERIA_TYPE_REGION,name:"region_"+val,region:val});var $subregions=$widget.find("select[name=subregion]");if(config.getFormRegionSubregionCascade()){config.getFormSubregionDropdown()||1!=$subregions.prop("disabled")||$widget.find(".dl-subregions").show(),$subregions.prop("disabled",!1);for(var subregions,regionsWithDealers=dl.model.Dealers.getRegionsWithDealers(),i=0;i<regionsWithDealers.regions.length;i++)if(regionsWithDealers.regions[i].id==val){subregions=regionsWithDealers.regions[i].subregions;break}var subregionsHtml=dl.tpl["partials/subregionOptions"]({subregions:subregions});$subregions.html(subregionsHtml)}$subregions.val("-1").trigger({type:"change",resetByCascade:!0});var dealers=Dealers.getAllDealersByCriterias(criterias);dl.controller.Map.showAllDealers(Dealers.groupDealersByGeo(dealers),"adjust")}}function onSubregionsChange(evt){if(removeAllCriteriasByType(CRITERIA_TYPE_SUBREGION),!evt.resetByCascade){config.getFormRegionSubregionCascade()||$widget.find("select[name=region]").val("-1").trigger({type:"change",resetByCascade:!0});var val=$widget.find("select[name=subregion]").val();"-1"!=val&&addCriteria({type:CRITERIA_TYPE_SUBREGION,name:"subregion_"+val,subregion:val});var dealers=Dealers.getAllDealersByCriterias(criterias);dl.controller.Map.showAllDealers(Dealers.groupDealersByGeo(dealers),"adjust")}}function onSearch(evt){evt.preventDefault(),isSearchReady?startSearch(!0):(util.isStrEmpty(startedSearch)&&dl.controller.Progress.show(),startedSearch="dealer_by_addressAndName")}function startSearch(useCriterias){var subregion,inputs=dl.getFormInputs(fields,validate);if(expansionParams={radius:"",steps:[]},inputs){subregion=util.isStrNotEmpty(inputs.subregion)?inputs.subregion:"",subregion.indexOf("!")>0&&(subregion=subregion.substring(0,subregion.indexOf("!")),inputs.subregion=subregion),state.setCity(util.isStrNotEmpty(inputs.city)?inputs.city:""),state.setPostcode(util.isStrNotEmpty(inputs.postcode)?inputs.postcode:""),state.setRegion(util.isStrNotEmpty(inputs.region)?inputs.region:""),state.setSubregion(subregion),state.setName(util.isStrNotEmpty(inputs.name)?inputs.name:""),state.setRadius(util.isStrNotEmpty(inputs.radius)?inputs.radius:"");var byCityPostcode=!(!inputs.city&&!inputs.postcode);byCityPostcode&&(removeAllCriteriasByType(CRITERIA_TYPE_SUBREGION),removeAllCriteriasByType(CRITERIA_TYPE_REGION),$widget.find("select[name=region]").val("-1"),$widget.find("select[name=subregion]").val("-1"),state.setRegion(""),state.setSubregion(""),inputs.subregion="",inputs.region="");var method="dealer_by_"+(byCityPostcode?"citypostcode":"name"),searchDesc=$.trim(byCityPostcode?[inputs.postcode,inputs.city,inputs.name].join(" "):inputs.name);inputs.subregion&&""!=inputs.subregion&&"-1"!=inputs.subregion?searchDesc=$.trim(searchDesc+" "+$widget.find("select[name=subregion] option:selected").text()):inputs.region&&""!=inputs.region&&"-1"!=inputs.region&&(searchDesc=$.trim(searchDesc+" "+$widget.find("select[name=region] option:selected").text())),byCityPostcode?util.isStrNotEmpty(state.getSortOrderZipCity())&&(inputs.sortOrder=state.getSortOrderZipCity()):util.isStrNotEmpty(state.getSortOrderName())&&(inputs.sortOrder=state.getSortOrderName());var dealers=Dealers.getAllDealersByCriterias(criterias);if(inputs.city||inputs.postcode||inputs.name||!(""!=inputs.region&&"-1"!=inputs.region||""!=inputs.subregion&&"-1"!=inputs.subregion))searchDealers(method,inputs,searchDesc,dealers);else{Dealers.setUserPosition(null),dl.controller.Map.showAllDealers(null),Dealers.sortDealersForRegionSearch(dealers),win.setTimeout(function(){Dealers.set(dealers,searchDesc)},100);var trackingEvent=$.extend(!0,{},dl.TrackingEvents.SearchTrackingEvent);trackingEvent.data.searchMethod="dealer_by_region",trackingEvent.data.searchParams={region:"-1"!=inputs.region?inputs.region:"",subregion:"-1"!=inputs.subregion?inputs.subregion:""},dl.controller.Tracking.trackEvent(trackingEvent),trackingEvent=$.extend(!0,{},dl.TrackingEvents.ResultTrackingEvent),trackingEvent.data.response={dealers:dealers},dl.controller.Tracking.trackEvent(trackingEvent),null!=dealers&&dealers.length>0&&dl.callCallback(config.getCallbacks().dealersFound,[dealers])}}}function onFormBack(evt){dl.callCallback(config.getCallbacks().backButton)}function searchDealers(method,reqParams,searchDesc,dealers){var activities,productGroups,filterCriteria=getCriteriaByType(CRITERIA_TYPE_CONTEXT_FILTER),initReqParams=$.extend(!0,{},reqParams);if(abortRunningRequest(),"dealer_by_name"==method&&(delete reqParams.region,delete reqParams.subregion),searchTrackingSent||(searchTrackingSent=!0,dl.controller.Tracking.trackLink("DLp_search_filter")),util.isAttrNotEmpty(filterCriteria)&&util.isAttrNotEmpty(filterCriteria.filter))util.isArrayNotEmpty(filterCriteria.filter.gssnActivities)&&(reqParams.gssnActivities=filterCriteria.filter.gssnActivities),util.isArrayNotEmpty(filterCriteria.filter.gssnProductGroups)&&(reqParams.gssnProductGrps=filterCriteria.filter.gssnProductGroups);else{if(reqParams.gssnActivities){activities=[];for(var i=1;10>=i;++i)_.each(dl.config.control.__activities[reqParams.gssnActivities]["GSSNActivities_"+i],function(value){value&&activities.push(value)});reqParams.gssnActivities=activities}reqParams.gssnProductGrps&&(productGroups=[],_.each(reqParams.gssnProductGrps,function(productGroupId){var prodGrp=dl.config.control.__productGroups[productGroupId];_.each(prodGrp.GSSNProductGroups,function(gssnConstant){productGroups.push(gssnConstant)})}),reqParams.gssnProductGrps=productGroups)}reqParams.includeDealerData=state.getIncludeDealerData(),reqParams.includeDealerPrograms=state.getIncludeDealerPrograms(),util.isAttrNotEmpty(reqParams.expansionRadius)&&(reqParams.radius=reqParams.expansionRadius,delete reqParams.expansionRadius);var invoke=_.partial(dl.util.Service.invoke,method);dl.hideTouchKeyboard(),dl.controller.Progress.show(),clearErrors(),currentRequest=invoke(reqParams,{cache:!0}).then(function(res){if(currentRequest=null,res.cities){var searchState=dl.getState("search");"form"!=searchState&&dl.setState("search","form"),showCities(res.cities),util.isStrNotEmpty(config.getSearchCurrent())&&(config.setSearchCurrent(""),dl.controller.Map.showAllDealers(dl.model.Dealers.groupDealersByGeo(dealers)))}else{var filteredDealers=Dealers.filterDealerResult(res.dealers,dealers);res.originX&&res.originY?Dealers.setUserPosition({originX:res.originX,originY:res.originY}):Dealers.setUserPosition(null),dl.controller.Map.showAllDealers(null),win.setTimeout(function(){Dealers.set(filteredDealers,searchDesc)},100);var trackingEvent=$.extend(!0,{},dl.TrackingEvents.ResultTrackingEvent);trackingEvent.data.response=res,dl.controller.Tracking.trackEvent(trackingEvent),null!=filteredDealers&&filteredDealers.length>0&&dl.callCallback(config.getCallbacks().dealersFound,[filteredDealers])}},function(errors,data){if(util.isAttrNotEmpty(data)&&util.isAttrNotEmpty(data.dealers)&&"true"==dl.lookupConfig("searchExpansionEnabled","false")&&util.isArrayEmpty(data.dealers)&&util.isStrEmpty(initReqParams.radius)&&(expansionParams.radius=nextExpansionRadius(),util.isStrNotEmpty(expansionParams.radius))){var nextReqParams=$.extend(!0,{},initReqParams);return nextReqParams.expansionRadius=expansionParams.radius,void searchDealers(method,nextReqParams,searchDesc,dealers)}var searchState=dl.getState("search");currentRequest=null,errors&&errors.length&&(errors[0].fields&&errors[0].fields.length?showFieldErrors(errors[0].fields):showError(errors[0].displayMessage)),"form"!=searchState&&dl.setState("search","form")}).always(function(){dl.controller.Progress.hide()});var trackingEvent=$.extend(!0,{},dl.TrackingEvents.SearchTrackingEvent);trackingEvent.data.searchMethod=method;for(var key in reqParams)trackingEvent.data.searchParams[key]=reqParams[key];dl.controller.Tracking.trackEvent(trackingEvent)}function nextExpansionRadius(response){var radius="";if(util.isStrEmpty(expansionParams.radius)){var expansionSteps=dl.lookupConfig("searchExpansionSteps","");expansionSteps=util.isStrNotEmpty(expansionSteps)?expansionSteps.split("|"):[],util.isArrayNotEmpty(expansionSteps)&&(expansionParams.steps=expansionSteps,radius=expansionParams.steps.shift())}else util.isArrayNotEmpty(expansionParams.steps)&&(radius=expansionParams.steps.shift());return radius}function validate(inputs){var errorMsg;return inputs.city||inputs.postcode||inputs.name||inputs.region&&"-1"!=inputs.region||inputs.subregion&&"-1"!=inputs.subregion||(errorMsg=dl.tr("search.empty.errorMessage")),showError(errorMsg),showCities(null),!errorMsg}function clearErrors(){$formPanel.find("input").removeClass("dl-error"),$formPanel.find("select").removeClass("dl-error"),$formPanel.find(".dl-fieldalert").remove(),$alert.addClass("hidden")}function showError(errorMsg){
errorMsg&&$alert.text(errorMsg),$alert.toggleClass("hidden",!errorMsg),dl.triggerResize()}function showFieldErrors(fields){_.each(fields,function(field){"postcode"==field.name||"city"==field.name?$formPanel.find(".dl-control-postcodecity").append('<div class="dl-fieldalert">'+field.displayMessage+"</div>"):$formPanel.find(".dl-control-"+field.name).append('<div class="dl-fieldalert">'+field.displayMessage+"</div>"),$formPanel.find("input[name="+field.name+"]").addClass("dl-error"),$formPanel.find("select[name="+field.name+"]").addClass("dl-error")})}function showCities(cities){cities?($addresses.html(dl.tpl["modules/addressChooser"]({addresses:cities})),$addresses.is(":visible")||$addresses.slideToggle("slow",dl.triggerResize)):$addresses.is(":visible")&&$addresses.slideToggle("slow",dl.triggerResize)}function onAddressClick(evt){showCities(null);var target=$(evt.target),$form=$formPanel.find(".dl-searchform form");$form.find("input[name=city]").val(target.data("city")),state.setCity(target.data("city"));var inputs=dl.getFormInputs(geoFields);inputs.gpsX=target.data("geox"),inputs.gpsY=target.data("geoy");var searchDesc=$.trim([target.data("city"),inputs.name].join(" ")),dealers=Dealers.getAllDealersByCriterias(criterias);searchDealers("dealer_by_geocode",inputs,searchDesc,dealers)}function onExtOptions(evt,noscrolling){function scrollDown(){$scrollParent.scrollTop(1e4)}var $btn=$(evt.currentTarget),open=$btn.hasClass("dl-open"),$scrollParent=dl.getScrollParent($extOptions);return $btn.toggleClass("dl-open").find(".dl-label").text(open?dl.tr("search.extended"):dl.tr("search.simple")),void 0!==noscrolling&&1==noscrolling?($extOptions.toggle(),void(config.getFormRadiusIsSeparated()&&$widget.find(".dl-control-radius").toggle())):(config.getFormRadiusIsSeparated()&&$widget.find(".dl-control-radius").slideToggle(),void $extOptions.slideToggle({duration:"slow",step:open?null:scrollDown,complete:dl.triggerResize}))}function onGeoSearch(){isSearchReady?startGeoSearch():(util.isStrEmpty(startedSearch)&&dl.controller.Progress.show(),startedSearch="dealer_by_location")}function startGeoSearch(){removeAllCriteriasByType(CRITERIA_TYPE_SUBREGION),removeAllCriteriasByType(CRITERIA_TYPE_REGION),$widget.find("select[name=region]").val("-1"),$widget.find("select[name=subregion]").val("-1"),abortRunningRequest(),clearErrors();var timeout=dl.config.configuration["search.locationTimeout"];timeout=isNaN(timeout)?3e4:1e3*timeout,navigator.geolocation.getCurrentPosition(onGeoLocationSuccess,onGeoLocationError,{timeout:timeout,enableHighAccuracy:!0}),geoLocationTimeoutHandle=win.setTimeout(function(){geoLocationTimeoutHandle=null,dl.log("geo location not found - manual timeout."),onGeoLocationError()},timeout+1e4)}function abortRunningRequest(){currentRequest&&(currentRequest.abort(),currentRequest=null)}function onGeoLocationSuccess(location){if(null==geoLocationTimeoutHandle)return void dl.log("Found geolocations - but timeout has already occured!");win.clearTimeout(geoLocationTimeoutHandle),dl.log("Found geo location."),geoLocationTimeoutHandle=null;var coords=location.coords,inputs=dl.getFormInputs(fields);inputs.gpsX=coords.longitude,inputs.gpsY=coords.latitude;var searchDesc=dl.tr("search.result.currentLocation");inputs.name&&(searchDesc=searchDesc+" "+inputs.name);var dealers=Dealers.getAllDealersByCriterias(criterias);searchDealers("dealer_by_geocode",inputs,searchDesc,dealers)}function onGeoLocationError(){geoLocationTimeoutHandle=null,dl.log("geo location not found."),dl.controller.Progress.hide(),showError(dl.tr("map.geolocationError"))}function onInput(){}function calculateProductGroupCriteria(){removeAllCriteriasByType(CRITERIA_TYPE_PRODUCT_GROUP),$widget.find('input[name="gssnProductGrps"]').length!=$widget.find('input[name="gssnProductGrps"]:checked').length&&_.each($widget.find('input[name="gssnProductGrps"]:checked'),function(element){var productGroup=$(element).val();productGroup&&""!=productGroup&&addCriteria({name:productGroup,type:CRITERIA_TYPE_PRODUCT_GROUP})})}function markProductGroupButtonIE8(element){$cntr.is(".lt-ie9")&&$(element).siblings("label").toggleClass("ie8-checked")}function onProductGroups(evt){var element=evt.currentTarget;markProductGroupButtonIE8(element),calculateProductGroupCriteria();var dealers=Dealers.getAllDealersByCriterias(criterias);dl.controller.Map.showAllDealers(Dealers.groupDealersByGeo(dealers),"current")}function calculateActivityCriteria(){var activity=$widget.find("select[name=gssnActivities]").val();removeAllCriteriasByType(CRITERIA_TYPE_ACTIVITY),activity&&""!=activity&&addCriteria({name:activity,type:CRITERIA_TYPE_ACTIVITY})}function onActivitiesChanged(evt){calculateActivityCriteria();var dealers=Dealers.getAllDealersByCriterias(criterias);dl.controller.Map.showAllDealers(Dealers.groupDealersByGeo(dealers),"current")}function onProductGroupMouseOver(evt){var $tooltip=$(this).find(".dl-prdgrp-tooltip");showProductGroupTooltip($tooltip)}function onProductGroupMouseOut(evt){$(this).find(".dl-prdgrp-tooltip").removeClass("dl-prdgrp-tooltip-hover")}function onProductGroupTouchStart(evt){$widget.find(".dl-prdgrp-tooltip").removeClass("dl-prdgrp-tooltip-hover");var $tooltip=$(this).find(".dl-prdgrp-tooltip");showProductGroupTooltip($tooltip)}function onProductGroupTouchEnd(evt){var that=this;productGroupTouchId=win.setTimeout(function(){$(that).find(".dl-prdgrp-tooltip").removeClass("dl-prdgrp-tooltip-hover")},750)}function showProductGroupTooltip($tooltip){var labelWidth=$tooltip.parent().find("label").width(),$tooltipArrow=$tooltip.find(".dl-prdgrp-tooltip-bottom"),$parent=$tooltip.parent(),$cntr=$tooltip.parent().parent(),minLeft=$cntr.offset().left,maxLeft=minLeft+$cntr.width(),leftPos=($tooltip.width()-labelWidth)/2,curLeft=$parent.offset().left;leftPos=-leftPos,minLeft>curLeft+leftPos?($tooltip.css("left","0px"),$tooltipArrow.css("margin","0"),$tooltipArrow.css("left",($parent.width()-22)/2+"px")):curLeft+leftPos+$tooltip.width()>maxLeft?(leftPos=maxLeft-curLeft-$tooltip.width(),$tooltip.css("left",leftPos+"px"),$tooltipArrow.css("margin","0"),$tooltipArrow.css("left",($parent.width()-22)/2-leftPos+"px")):($tooltip.css("left",leftPos+"px"),$tooltipArrow.removeAttr("style")),$tooltip.addClass("dl-prdgrp-tooltip-hover")}function initActivities(){var activities=[{id:"filter_all",value:"",label:dl.tr("search.allActivities")}];return _.find(dl.config.control["SearchByZipcodeCity.Filter.ActivitySKUs"],function(activityId){var value=activityId,activityDef=dl.config.control.__activities[activityId];return null===activityDef||void 0===activityDef||!util.isStrEmpty(activityDef.externalUrl)||!util.isAttrEmpty(activityDef.activateShopLocator)&&"0"!=activityDef.activateShopLocator&&"false"!=activityDef.activateShopLocator||!util.isAttrEmpty(activityDef.displayBranding)&&"0"!=activityDef.displayBranding&&"false"!=activityDef.displayBranding||(activities.push({id:"filter_"+value,value:value,label:dl.config.control.__activities[activityId].name}),""!=dl.getPortfolioActivity(value))?!1:(activities=null,initErrors.push(dl.tr("search.activities.configuration.errorMessage")),!0)}),activities&&1===activities.length&&(activities=null),activities}function initProductGroups(){var productGroups=[];return _.find(dl.config.control["SearchByZipcodeCity.Filter.PrdgrpSKUs"],function(productGrpId){if(void 0==dl.config.control.__productGroups||void 0===dl.config.control.__productGroups[productGrpId])return void dl.log("Ignored for productgroup filter because ProductGroup is missing: "+productGrpId);var value=productGrpId,prdGrp=dl.config.control.__productGroups[productGrpId],media=config.getDealerPorfolioMediaMatchForValue(prdGrp.SKU);return null!==media&&null!==media.thumbnail&&void 0!==media.thumbnail||(media={thumbnail:{name:"undefined",path:"/xp/productgroups"}}),productGroups.push({id:"filter_"+value,value:value,label:prdGrp.name,image:"",media:media}),""==dl.getPortfolioProductGroup(value)?(productGroups=[],initErrors.push(dl.tr("search.productGroups.configuration.errorMessage")),!0):!1}),productGroups}function setupPostalCodeFormElement($form){var showNumericKeyboard=dl.config.configuration["form.postcode.showNumericKeyBoardOnMobileDevices"];void 0!=showNumericKeyboard&&null!=showNumericKeyboard||(showNumericKeyboard=!0);var userAgent=navigator.userAgent.toLowerCase(),safariMobile=userAgent.match(/iphone|ipad|ipod/i),$postalCodeField=(userAgent.match(/android/i),$form.find('input[name="postcode"]'));safariMobile||$postalCodeField.focus()}function addCriteria(criteria){criteria&&criteria.type&&criterias.push(criteria)}function removeAllCriteriasByType(type){var filteredCriterias=[];_.each(criterias,function(criteria){criteria.type!=type&&filteredCriterias.push(criteria)}),criterias=filteredCriterias}function getCriteriaByType(type){var foundCriteria=null;return _.each(criterias,function(criteria){return criteria.type==type?(foundCriteria=criteria,!1):void 0}),foundCriteria}function resetSearchForm(){var $form=$formPanel.find(".dl-searchform form");abortRunningRequest(),clearErrors(),setupFilterCriterias(),$form.find("input[name=city]").val(""),$form.find("input[name=postcode]").val(""),$form.find("input[name=name]").val(""),$form.find("select[name=radius]").val("-1"),$form.find("select[name=region]").val("-1"),$form.find("select[name=subregion]").val("-1"),config.getFormRegionSubregionCascade()&&($form.find("select[name=subregion]").prop("disabled",!0),0==config.getFormSubregionDropdown()&&$widget.find(".dl-subregions").hide()),$form.find("select[name=gssnActivities]").val(""),_.each($form.find("select"),function(element){$(element).parent().find(".dl-select").text($(element).find("option:selected").text())}),_.each($form.find("input[type=checkbox]"),function(element){$(element).prop("checked",!1)}),$form.find(".dl-citychooser").html(""),$extOptions.hide(),$form.find(".dl-btn-extoptions").removeClass("dl-open"),$form.find(".dl-btn-extoptions .dl-label").text(dl.tr("search.extended")),config.getFormRadiusIsSeparated()&&$widget.find(".dl-control-radius").hide()}var CRITERIA_TYPE_ACTIVITY="ACTIVITY",CRITERIA_TYPE_PRODUCT_GROUP="PRODUCT_GROUP",CRITERIA_TYPE_REGION="REGION",CRITERIA_TYPE_SUBREGION="SUBREGION",CRITERIA_TYPE_CONTEXT_FILTER="CONTEXT_FILTER",Dealers=dl.model.Dealers,searchTrackingSent=!1,criterias=[];dl.controller.Search={init:init,setupRegionSearch:setupRegionSearch,resetSearchForm:resetSearchForm,getCriterias:getCriterias,startSearch:startSearch,startGeoSearch:startGeoSearch,onRegionsInitialized:onRegionsInitialized};var $formPanel,$extOptions,fields,geoFields,$alert,$addresses,currentRequest,productGroupTouchId,regions,subregions,$widget,$cntr,config,util,state,expansionParams,widgetCtrl,isSearchReady,startedSearch,geoLocationTimeoutHandle=null,initErrors=[]}(window,dl),function($,win,dl){"use strict";function init(){Map=dl.controller.Map,Dealers=dl.model.Dealers,config=dl.model.Configuration,util=dl.common.ParseUtil,$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container"),Dealers.on("change:currentPage",onChangeCurrentPage),$resultsPanel=$widget.find(".dl-resultspanel"),$resultsPanel.on("click",".dl-btn-changesearch",onChangeSearch),$resultsPanel.on("click",".dl-btn-print",onPrint),$resultsPanel.on("click",".dl-results-item",onItemClick),$resultsPanel.on("click",".dl-ln-homepage",function(evt){evt.stopPropagation()}),$resultsPanel.on("click",".dl-ln-email",function(evt){evt.stopPropagation()}),$resultsPanel.on("click",".dl-ln-cemail",function(evt){evt.stopPropagation()}),$resultsPanel.on("click",".dl-pagination a",onPageClick),$resultsPanel.on("click",".dl-btn-favorite",onFavoriteClick),$resultsPanel.on("click",".dl-btn-unfavorite",onFavoriteClick),$resultsPanel.on("click",".dl-btn-select-dealer",onSelectDealerClick),$resultsPanel.on("click",".dl-btn-vcf-dealer",onSaveDealerVCard),$resultsPanel.on("click",".dl-btn-vcf-dealer-contact",onSaveDealerVCard),dl.isTooltipEnabled()&&($resultsPanel.on("mousemove",".dl-service-event",onServicesHover),$resultsPanel.on("mouseout",".dl-service-event",onServicesExit),$resultsPanel.on("mousemove",".dl-activity-event",onActivitiesHover),$resultsPanel.on("mouseout",".dl-activity-event",onActivitiesExit),$resultsPanel.on("mousemove",".dl-productgroup-event",onActivitiesHover),$resultsPanel.on("mouseout",".dl-productgroup-event",onActivitiesExit),$resultsPanel.on("mouseenter",".dl-btn-favorite",onFavoriteHover),$resultsPanel.on("mouseout",".dl-btn-favorite",onFavoriteExit),$resultsPanel.on("mouseenter",".dl-btn-unfavorite",onFavoriteHover),$resultsPanel.on("mouseout",".dl-btn-unfavorite",onFavoriteExit),$resultsPanel.on("mouseenter",".dl-btn-vcf",onVCardHover),$resultsPanel.on("mouseout",".dl-btn-vcf",onVCardExit))}function onChangeCurrentPage(evt){var page=evt.page>=0;page&&(showDealersDetails($resultsPanel,evt.dealers,"DEALER_BOX_LEFT",{portfolioViewType:PORTFOLIO_VIEW_TYPE_LIST,headline:dl.config.control.DefaultShopLocatorSearchResultHeadline}),$pager=$resultsPanel.find(".dl-pager"),updatePager(Dealers.get().length,evt.pageSize,evt.page),$resultsPanel.find(".dl-results .dl-results-item").last().css("border","none"),config.isDealerSelectorOperation()&&$widget.hasClass("dl-media-mobile")&&$widget.hasClass("dl-mobile-autoscroll")&&($(document).scrollTop()>0&&$(document).scrollTop(0),$resultsPanel.parents().each(function(){return $(this).scrollTop()>0&&$(this).scrollTop(0),$(this).hasClass("dl-widget")?!1:void 0})),dl.scrollTo($resultsPanel.find(".dl-panel-header"),null,-10)),page?dl.setState("search","results"):config.getShowSearchForm()&&dl.setState("search","form")}function onFavoritePanelClick(evt){evt.stopPropagation();for(var dealer,dealerId=$(evt.currentTarget).data("id"),allDealers=dl.model.Dealers.getAllDealers(),i=0;i<allDealers.length;i++)if(allDealers[i].id==dealerId){dealer=allDealers[i];break}Dealers.setCurrentDealer(dealer,{source:"favorite"});var trackingEvent=$.extend(!0,{},dl.TrackingEvents.FavoriteDealerSelectionTrackingEvent);trackingEvent.data.dealer=dealer,dl.controller.Tracking.trackEvent(trackingEvent)}function showDealersDetails($detailsContainer,dealers,context,options){if($detailsContainer.html(dl.tpl("panels/resultsPanel",{searchEnabled:config.getShowSearchForm()&&"listview"!=config.getViewMode()&&"allview"!=config.getViewMode()&&"detailview"!=config.getViewMode()&&"positionview"!=config.getViewMode(),searchedBy:Dealers.getSearchedByMessage(),dealerTotalCount:Dealers.getCount(),dealers:dealers,dealerStyle:{shopBtnText:util.isStrNotEmpty(config.getLinkTextLeftNavi())?config.getLinkTextLeftNavi():dl.tr("detail.dealerShopLink")},portfolioViewType:options.portfolioViewType,headline:options.headline},config.getDataContext()+context)),config.getFavoriteActive()){var favoriteDealer=Dealers.getFavoriteDealerId();if(favoriteDealer){showFavorite(favoriteDealer),$widget.find(".dl-results-item.dl-favorited").removeClass("dl-favorited");var $favItem=$widget.find(".dl-results-item[data-outlet-id="+favoriteDealer+"]");$favItem.length&&$favItem.addClass("dl-favorited")}else hideFavorite()}else $widget.find(".dl-btn-favorite").hide()}function updatePager(resultLength,pageSize,page){$pager.hide(),$pager.html(resultLength>pageSize?dl.tpl["modules/pagination"]({pagerElements:getPagerElements(resultLength,pageSize,page)}):""),resultLength>pageSize&&$pager.show()}function getPagerElements(resultLength,pageSize,page){var numPages=Math.ceil(resultLength/pageSize),lastPage=numPages-1;page=Math.min(page,lastPage);var pagerElements=[{special:!0,previous:!0,on:page>0}],startValue=page-2,endValue=page+2,appendEllipsis=!1,appendLast=!1;return startValue>1?(pagerElements.push({number:1}),pagerElements.push({special:!0,ellipsis:!0})):0>startValue&&(endValue+=Math.abs(startValue),startValue=0),lastPage>endValue?(appendLast=!0,appendEllipsis=lastPage-1>endValue):endValue>lastPage&&(startValue-=endValue-lastPage,endValue=lastPage),_.each(_.range(Math.max(0,startValue),Math.min(lastPage,endValue)+1),function(i){pagerElements.push({number:i+1,selected:i===page})}),appendLast&&(appendEllipsis&&pagerElements.push({special:!0,ellipsis:!0}),pagerElements.push({number:lastPage+1})),pagerElements.push({special:!0,next:!0,on:lastPage>page}),pagerElements}function onChangeSearch(){dl.controller.Search.resetSearchForm(),Dealers.setUserPosition(null),dl.model.Dealers.set(null)}function onPrint(evt){evt.preventDefault();var printWin;printWin="unknown"!=dl.getMobileOperatingSystem()&&dl.getBrowser().firefox?win.open("data:text/html,"+encodeURIComponent("<html><head></head><body></body></html>"),"_blank"):win.open(),dl.controller.Tracking.trackLink("DLp_print_results",{events:"event18"});var dealerGroups=Dealers.get(),dealers=[];_.each(dealerGroups,function(dealerGroup){return _.isArray(dealerGroup)?_.each(dealerGroup,function(dealer){return dealers.push(dealer),dealers.length<100}):dealers.push(dealerGroup),dealers.length<100}),dealers.length>100&&(dealers=dealers.slice(0,100));var $panel=$("<div></div>");showDealersDetails($panel,dealers,"PRINT_SEARCH_RESULT",{portfolioViewType:PORTFOLIO_VIEW_TYPE_MATRIX,headline:dl.config.control["PrintView.SearchResult.Headline"]});var $results=$panel.find(".dl-results").clone();$results.find(".dl-bl-gencontact").each(function(){var $group=$('<div class="dl-gr-links"></div>'),$email=$(this).find(".dl-ln-email").detach(),$homepage=$(this).find(".dl-ln-homepage").detach();$group.append($email),$group.append($homepage),$(this).append($group)}),dl.print(printWin,"dl-resultspanel",$results.html(),{header:dl.config.control["PrintView.SearchResult.Headline"],title:dl.tr("general.header"),printLabel:dl.tr("searchResults.print")}),dl.controller.Tracking.trackPage("dealer_shop_locator:print:resultlist")}function onItemClick(evt){var dealerId=$(evt.currentTarget).data("id");Dealers.setCurrentDealer(Dealers.getDealerById(dealerId),{source:"resultlist"})}function onSelectDealerClick(evt){evt.preventDefault(),evt.stopPropagation();var dealerId=$(evt.currentTarget).parents(".dl-results-item").data("id"),dealerObj=Dealers.getDealerById(dealerId),dealer={id:dealerObj.id,outletId:dealerObj.outletId,country:dealerObj.country,organisation:dealerObj.organisation,geoOriginID:dealerObj.geoOriginID,dealerData:dealerObj.dealerData,formattedData:dealerObj.formattedData,geoRepresentation:dealerObj.geoRepresentation};win.parent&&win.parent.postMessage({channel:"dsselector",topic:"dealerselector.select",data:dealer},"*")}function onPageClick(evt){var page=$(this).attr("href").split("-")[1];switch(page){case"prev":page=Dealers.getCurrentPage()-1;break;case"next":page=Dealers.getCurrentPage()+1;break;default:page-=1}Dealers.setCurrentPage(page),evt.preventDefault()}function onServicesHover(evt){var dataId=$(this.parentElement.parentElement).attr("data-id"),matrix=Dealers.getMatrixFromDealer(Dealers.getDealerById(dataId)),serviceType=$(this).text();serviceType.lastIndexOf(",")>=0&&(serviceType=serviceType.substr(0,serviceType.lastIndexOf(",")));var row=_.find(matrix.rows,function(row){return $.trim(row.head.name)==$.trim(serviceType)}),results=[];if(row.cells.length==matrix.head.cells.length)for(var i=0;i<row.cells.length;i++)"y"==row.cells[i]&&results.push(matrix.head.cells[i].name);var html,$serviceGroup=$widget.find(".dl-servicegroup");html=dl.tpl["modules/serviceGroup"]({serviceType:serviceType,serviceGroup:results.join(", ")}),$serviceGroup.length?$serviceGroup.html(html):$serviceGroup=$(html).appendTo(document.body);var height=$serviceGroup.height()+16;$serviceGroup.css({height:"60px"}).find(".dl-servicegroup").css({height:"60px"}),$serviceGroup.css({left:evt.clientX-36+"px",top:evt.clientY-height+"px"}).show()}function onServicesExit(){$widget.find(".dl-servicegroup").hide()}function onActivitiesHover(evt){var elementPos,parentPos,widgetPos,left,top,height,html,$element=$(this),$parent=$widget.find(".dl-resultspanel"),serviceType=($(this.parentElement.parentElement).attr("data-id"),$(this).data("name")),$serviceGroup=$parent.children(".dl-servicegroup");html=dl.tpl["modules/serviceGroup"]({serviceType:serviceType}),$serviceGroup.length?$serviceGroup.html(html):$serviceGroup=$(html).appendTo($parent),$serviceGroup.css({height:"45px"}).children(".dl-servicegroup").css({height:"45px"}),height=$serviceGroup.height()+15,elementPos=$element.offset(),parentPos=$parent.offset(),widgetPos=$widget.offset(),left=elementPos.left-parentPos.left-36+$element.width()/2,top=elementPos.top-parentPos.top-height,$serviceGroup.css({left:left+"px",top:top+"px"}).show()}function onActivitiesExit(){$widget.find(".dl-servicegroup").hide()}function onSaveDealerVCard(evt){evt.stopPropagation();var $parent=$(this).parents(".dl-results-item"),dealerId=$parent.attr("data-id"),dealer=Dealers.getDealerById(dealerId);dl.downloadVCard(dealer),dl.controller.Tracking.trackLink("DLp_vcard_results",{events:"event18"})}function onFavoriteHover(evt){dl.showTooltip(this,evt)}function onFavoriteExit(evt){dl.hideTooltip(this,evt)}function onFavoriteClick(evt){var dealer,$parent=$(this.parentElement),dealerId=$parent.attr("data-outlet-id"),currentFavorite=Dealers.getFavoriteDealerId(),allDealers=dl.model.Dealers.getAllDealers(),trackingEvent={};currentFavorite==dealerId?(hideFavorite(),$parent.removeClass("dl-favorited"),Dealers.setFavoriteDealerId(null),trackingEvent=$.extend(!0,{},dl.TrackingEvents.UnfavoriteDealerTrackingEvent)):($(".dl-results-item.dl-favorited").removeClass("dl-favorited"),$parent.addClass("dl-favorited"),showFavorite(dealerId),Dealers.setFavoriteDealerId(dealerId),trackingEvent=$.extend(!0,{},dl.TrackingEvents.FavoriteDealerTrackingEvent));for(var i=0;i<allDealers.length;i++)if(allDealers[i].outletId==dealerId){dealer=allDealers[i];break}try{currentFavorite==dealerId?dl.storage.setFavorite({}):dl.storage.setFavorite({id:dealer.id,outletId:dealer.outletId,country:dealer.country,organisation:dealer.organisation,formattedData:dealer.formattedData,displayconfig:dealer.displayconfig})}catch(error){}trackingEvent.data.dealer=dealer,dl.controller.Tracking.trackEvent(trackingEvent),$(".dl-tooltip-wrapper").hide(),evt.stopPropagation()}function hideFavorite(){var branding=config.getBrandingSettings();if(branding.enabled){var $favoritePanel=$widget.find(".dl-favorite-panel-wrapper"),html=dl.tpl("modules/favoritePanelEmpty",{title:branding.title},config.getDataContext()+"FAVORITE_BOX");$favoritePanel.length?$favoritePanel.html(html):$favoritePanel=$("<div class='dl-favorite-panel-wrapper'>"+html+"</div>").appendTo($widget.find(".dl-mainmap")),$favoritePanel.show()}else $widget.find(".dl-favorite-panel-wrapper").hide();$widget.find(".dl-favorite-panel-block-searchform").html(""),$widget.find(".dl-favorite-panel-block-resultpanel").html(""),$widget.find(".dl-tooltip-wrapper").hide()}function onFavoriteDelete(evt){var dealer,dealerId=Dealers.getFavoriteDealerId(),allDealers=dl.model.Dealers.getAllDealers(),trackingEvent=$.extend(!0,{},dl.TrackingEvents.UnfavoriteDealerTrackingEvent);hideFavorite(),Dealers.setFavoriteDealerId(null),$widget.find(".dl-results-item.dl-favorited").removeClass("dl-favorited");for(var i=0;i<allDealers.length;i++)if(allDealers[i].outletId==dealerId){dealer=allDealers[i];break}trackingEvent.data.dealer=dealer,dl.controller.Tracking.trackEvent(trackingEvent),dl.storage.setFavorite({}),evt.stopPropagation()}function showFavorite(dealerId){for(var dealer,allDealers=dl.model.Dealers.getAllDealers(),i=0;i<allDealers.length;i++)if(allDealers[i].outletId==dealerId){dealer=allDealers[i];break}if(dealer){var $favoritePanel=$widget.find(".dl-favorite-panel-wrapper"),$favoriteBlock=$widget.find(".dl-favorite-panel-block-searchform"),$favoriteBlock2=$widget.find(".dl-favorite-panel-block-resultpanel"),html=dl.tpl("modules/favoritePanel",{dealer:dealer,dealerStyle:{shopBtnText:util.isStrNotEmpty(config.getLinkTextLeftNavi())?config.getLinkTextLeftNavi():dl.tr("detail.dealerShopLink")},branding:config.getBrandingSettings()},config.getDataContext()+"FAVORITE_BOX");$favoritePanel.length?$favoritePanel.html(html):$favoritePanel=$("<div class='dl-favorite-panel-wrapper'>"+html+"</div>").appendTo($widget.find(".dl-mainmap")),$favoritePanel.show(),$favoriteBlock.length&&$favoriteBlock.html(html),$favoriteBlock2.length&&$favoriteBlock2.html(html);var $favPanels=$(".dl-favorite-panel");dl.isTooltipEnabled()&&($favPanels.on("mouseenter",".dl-btn-unfavorite",onFavoriteHover),$favPanels.on("mouseout",".dl-btn-unfavorite",onFavoriteExit)),$favPanels.on("click",".dl-btn-unfavorite",onFavoriteDelete),$favPanels.on("click",onFavoritePanelClick),$favPanels.on("dblclick",onFavoritePanelClick),$favPanels.find(".dl-bl-gencontact").each(function(){0==$(this).children().length&&$(this).remove()})}}function onVCardHover(evt){dl.showTooltip(this,evt)}function onVCardExit(evt){dl.hideTooltip(this,evt)}var PORTFOLIO_VIEW_TYPE_MATRIX="matrix",PORTFOLIO_VIEW_TYPE_LIST="list";dl.controller.Results={init:init,showFavorite:showFavorite,hideFavorite:hideFavorite};var Map,Dealers,$resultsPanel,$pager,$widget,$cntr,config,util}(jQuery,window,dl),function($,win,dl){"use strict";function init(){Dealers=dl.model.Dealers,Route=dl.model.Route,WidgetCntr=dl.controller.Widget,Map=dl.controller.Map,config=dl.model.Configuration,$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container");var $detailsPanel=$widget.find(".dl-detailspanel").html(dl.tpl("panels/detailsPanel",{searchResultsEnabled:"detailview"!=config.getViewMode()&&"positionview"!=config.getViewMode(),branding:config.getBrandingSettings()})).on("click",".dl-btn-panel-close",onToggle).on("click",".dl-btn-back",onBack).on("click",".dl-btn-enlarge",onEnlargeMap).on("click",".dl-btn-shrink",onShrinkMap).on("click",".dl-act-location",onLocation).on("click",".dl-act-detail",onDetail).on("click",".dl-act-print",onPrint).on("click",".dl-act-homepage",onHomepage).on("click",".dl-act-onlineservice",onOnlineService).on("click",".dl-act-onlineshop",onOnlineShop).on("click",".dl-act-custom1",onCustom1).on("click",".dl-act-custom2",onCustom2).on("click",".dl-act-custom3",onCustom3).on("click",".dl-btn-vcf-dealer",onSaveDealerVCard).on("click",".dl-btn-vcf-dealer-contact",onSaveDealerVCard).on("click",".dl-route-container .dl-btn-print",onPrintRoute);dl.isTooltipEnabled()&&($detailsPanel.on("mouseenter",".dl-btn-vcf",onVCardHover),$detailsPanel.on("mouseout",".dl-btn-vcf",onVCardExit)),$details=$detailsPanel.find(".dl-details-container"),Dealers.on("change:currentDealer",onCurrentDealerChange),Route.on("change:route",onRouteChange),WidgetCntr.on("resize",onResize),WidgetCntr.on("change:orientation",onOrientationChange)}function initPositionView(){onLocation()}function initDetailView(){Map.fitToDealerPosition(Dealers.getCurrentDealer())}function onCurrentDealerChange(evt){config.isDealerDetailsEnabled()&&showDealer(evt.dealer)}function showDealerDetails($detailsContainer,dealer,context){$detailsContainer.html(dl.tpl("modules/details",{dealer:dealer,serviceProductBlockSize:"large"==config.getServiceProductBlockSize()?"large":"small"},config.getDataContext()+context)),$detailsContainer.find('a[data-popup="1"]').on("click",function(event){event.preventDefault(),event.stopPropagation();var link=$(this).attr("data-popup-href");return dl.showInPopup(link,$(this).attr("data-popup-params"),$(this).attr("data-popup-name")),!1}),dl.isTouchDevice()&&$detailsContainer.find('a[data-popup="0"]').on("click",function(event){event.preventDefault(),event.stopPropagation();var url=$(this).attr("href");return window.open(url),!1}),$detailsContainer.find('a[data-popup="1"]').attr("href","#")}function onVCardHover(evt){dl.showTooltip(this,evt)}function onVCardExit(evt){dl.hideTooltip(this,evt)}function showDealer(dealer){if(dl.setState("details",dealer?"on":"off"),map&&(map.remove(),map=null,dealerMarker=null),dealer){var detailState=dl.getState("detailView");"off"==detailState&&dl.setState("detailView","detail"),showDealerDetails($details,dealer,"DETAIL_LEFT"),showMap(dealer),dealer.outletId==Dealers.getFavoriteDealerId()&&"none"!=$details.find(".dl-el-location").css("display")&&("detail"==dl.getState("detailView")?(Map.fitToDealerPosition(Dealers.getCurrentDealer()),$widget.hasClass("dl-media-mobile")?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").show(),$details.find(".dl-el-detail").hide())):(Map.fitToDealer(Dealers.getCurrentDealer()),$widget.hasClass("dl-media-mobile")?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").show())));var extraData=[];dealer.outletId&&extraData.push(dealer.outletId),dealer.formattedData&&(dealer.formattedData.nameline1&&extraData.push(dealer.formattedData.nameline1),dealer.formattedData.nameline2&&extraData.push(dealer.formattedData.nameline2),dealer.formattedData.nameline3&&extraData.push(dealer.formattedData.nameline3)),dl.controller.Tracking.trackPage("dealer_shop_locator:page:detail",extraData.join(" "))}}function showMap(dealer){var geo=dealer.geoRepresentation;latlon=[geo.gpsY,geo.gpsX],map=Map.createMap("dl-detailsmap","detail").disable(),map.setView(latlon,DETAIL_ZOOM).panBy(new L.Point(0,-32),{animate:!1}),latlonWithCorrection=map.getCenter(),dealerMarker=Map.createMarker(latlon,{icon:{variant:"logo"}}).addTo(map),$('<div class="dl-map-copyright-panel leaflet-control">').append($('<div class="dl-label">').text(dl.dl_shared.mapCopyright),$('<div class="dl-panel-border">')).appendTo("#dl-detailsmap .leaflet-bottom.leaflet-left")}function showRoute(route){if(map){var oldRoute=map.dl_route;if(dl.dl_shared.showRouteOnMap(route,map,{destMarkerOptions:{icon:{iconSize:[30,51]}}}),route){var bounds=map.dl_route.routeLine.getBounds(),pointTopLeft=bounds._northEast;pointTopLeft.lat=pointTopLeft.lat+.25,bounds._northEast=pointTopLeft,map.fitBounds(bounds)}route&&!oldRoute?dealerMarker&&map.removeLayer(dealerMarker):oldRoute&&!route&&dealerMarker&&(map.addLayer(dealerMarker),map.setView(latlonWithCorrection,DETAIL_ZOOM))}}function onSaveDealerVCard(evt){evt.stopPropagation();var dealer=Dealers.getCurrentDealer();dl.downloadVCard(dealer),dl.controller.Tracking.trackLink("DLp_vcard_details",{events:"event18"})}function onRouteChange(evt){showRoute(evt.route)}function onLocation(){Map.fitToDealer(Dealers.getCurrentDealer()),dl.setState("detailView","location"),$widget.hasClass("dl-media-mobile")?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").show()),dl.controller.Tracking.trackLink("DLp_retail_map",{events:"event18"})}function onDetail(){Map.fitToDealerPosition(Dealers.getCurrentDealer()),dl.setState("detailView","detail"),$widget.hasClass("dl-media-mobile")?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").show(),$details.find(".dl-el-detail").hide()),dl.controller.Tracking.trackLink("DLp_retail_map",{events:"event18"})}function onHomepage(){dl.controller.Tracking.trackLink("DLp_retail_homepage",{events:"event18"})}function onOnlineService(){dl.controller.Tracking.trackLink("DLp_online_service",{events:"event18"})}function onOnlineShop(){dl.controller.Tracking.trackLink("DLp_retail_shop",{events:"event18"})}function onCustom1(){dl.controller.Tracking.trackLink("DLp_custom1",{events:"event18"})}function onCustom2(){dl.controller.Tracking.trackLink("DLp_custom2",{events:"event18"})}function onCustom3(){dl.controller.Tracking.trackLink("DLp_custom3",{events:"event18"})}function onToggle(){dl.setState("details","collapsed"===dl.getState("details")?"on":"collapsed")}function onBack(){Dealers.setCurrentDealer(null);var searchState=dl.getState("search");"form"==searchState?(dl.controller.Search.resetSearchForm(),Dealers.setUserPosition(null),dl.model.Dealers.set(null)):Map.fitToDealers(),dl.setState("detailView","off")}function onEnlargeMap(){dl.setState("details","map"),
win.setTimeout(function(){updateMapPositionInEnlargeMode()},10),map.invalidateSize(),map.enable()}function onOrientationChange(){win.setTimeout(function(){updateMapPositionInEnlargeMode()},250)}function updateMapPositionInEnlargeMode(){if($cntr.hasClass("dl-state-details-map")){var $details=$widget.find(".dl-details-container .dl-details").first();null!==$details&&void 0!==$details&&($widget.find(".dl-details-container .dl-detailsmap-container").css("bottom",$details.height()+"px"),map.invalidateSize())}}function onShrinkMap(){$widget.find(".dl-details-container .dl-detailsmap-container").removeAttr("style"),dl.setState("details","on"),map.invalidateSize(),map.disable()}function onResize(evt){var media=evt.media;map&&"mobile"==media&&map.invalidateSize(),"off"==dl.getState("routing")&&("detail"==dl.getState("detailView")?"mobile"==media?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").show(),$details.find(".dl-el-detail").hide()):"off"!=dl.getState("detailView")&&("mobile"==media?($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").hide()):($details.find(".dl-el-location").hide(),$details.find(".dl-el-detail").show())))}function onPrint(evt){evt.preventDefault(),dl.controller.Tracking.trackLink("DLp_print",{events:"event18"}),print()}function onPrintRoute(evt){evt.preventDefault(),print(!0)}function print(withRoute){var printWin,$panel=$("<div></div>"),dealer=Dealers.getCurrentDealer();printWin="unknown"!=dl.getMobileOperatingSystem()&&dl.getBrowser().firefox?win.open("data:text/html,"+encodeURIComponent("<html><head></head><body></body></html>"),"_blank"):win.open(),showDealerDetails($panel,dealer,"PRINT_DETAIL");var html=$panel.html(),mapOptions=null;if(withRoute)mapOptions={route:dl.model.Route.get()};else{var latlon=Dealers.dealerToLatlon(dealer);latlon&&(mapOptions={center:latlon,zoom:15,layers:[{type:"marker",markerType:"logo"}]})}dl.print(printWin,"dl-detailspanel",html,{printLabel:withRoute?dl.tr("route.print"):dl.tr("detail.printDetails"),header:dl.config.control["PrintView.DetailPage.Headline"],title:dl.tr("general.header"),map:mapOptions,mapConfig:config.getMapServiceConfiguration(),routeHtml:withRoute?$widget.find(".dl-route-results").html():null});var extraData=[];dealer.outletId&&extraData.push(dealer.outletId),dealer.formattedData&&(dealer.formattedData.nameline1&&extraData.push(dealer.formattedData.nameline1),dealer.formattedData.nameline2&&extraData.push(dealer.formattedData.nameline2),dealer.formattedData.nameline3&&extraData.push(dealer.formattedData.nameline3)),dl.controller.Tracking.trackPage("dealer_shop_locator:print:details",extraData.join(" "))}dl.controller.Details={init:init,initPositionView:initPositionView,initDetailView:initDetailView};var $details,$widget,$cntr,Dealers,Route,Map,WidgetCntr,map,latlon,latlonWithCorrection,dealerMarker,config,DETAIL_ZOOM=15}(jQuery,window,dl),function(){"use strict";function init(){config=dl.model.Configuration,$widget=$("#"+config.getWidgetContainerId()),Dealers=dl.model.Dealers,$routePanel=$widget.find(".dl-route-results");var $panel=$widget.find(".dl-detailspanel").on("click",".dl-act-route",onRouteAction).on("click",".dl-btn-route-close",onClose);$form=$panel.find(".dl-routeform form").on("click",".dl-address-line",onAddressClick).on("submit",onRoute),fields=dl.getFormFields($form,["city","postcode","street"]),$alert=$form.find(".dl-formalert"),$addresses=$form.find(".dl-citychooser"),navigator.geolocation&&($form.find(".dl-btn-georoute").show(),$form.find(".dl-btn-georoute").css("display","inline-block"),$form.on("click",".dl-btn-georoute",onGeoRoute)),dl.common.CustomForm.init($widget),$form.find("input, textarea").placeholder(),Dealers.on("change:currentDealer",onCurrentDealerChange)}function onCurrentDealerChange(){"off"!=dl.getState("routing")&&closeRoute()}function onRouteAction(){var userAgent=navigator.userAgent.toLowerCase(),deviceMatches=userAgent.match(/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i);if(dl.controller.Tracking.trackLink("DLp_route",{events:"event18"}),deviceMatches){var externalProtocol=_.contains(["iphone","ipad","ipod"],deviceMatches[0])?"https://maps.apple.com/":"https://maps.google.com/maps",currentDealer=Dealers.getCurrentDealer(),latLon=Dealers.dealerToLatlon(currentDealer);externalProtocol=externalProtocol+"?daddr="+latLon[0]+","+latLon[1];var dealerData=currentDealer.formattedData.nameline1+", "+currentDealer.formattedData.addressLine1+","+currentDealer.formattedData.cityZipcodeLine;dealerData=dealerData.replace("("," "),dealerData=dealerData.replace(")"," "),dealerData=encodeURIComponent(dealerData),externalProtocol=_.contains(["iphone","ipad","ipod"],deviceMatches[0])?externalProtocol:externalProtocol,location.href=externalProtocol}else dl.setState("routing","form"),dl.scrollTo($widget.find(".dl-routeform"))}function onRoute(evt){evt.preventDefault(),abortRunningRequest();var inputs=dl.getFormInputs(fields,validate);if(inputs){searchInputs=_.clone(inputs);var currentDealer=dl.model.Dealers.getCurrentDealer();inputs.dealerOutletId=currentDealer.outletId,calculateRoute("get_route",inputs,!1)}}function calculateRoute(method,inputs,showCurrentLocationAsStart){dl.model.Route.set(null),dl.controller.Progress.show(),clearErrors(),currentRequest=dl.util.Service.invoke(method,inputs,{cache:!0}).then(function(res){currentRequest=null,res.cities?(dl.hideTouchKeyboard(),showCities(res.cities)):!res.routePlan||!res.routePlan.coordinates||!res.routePlan.coordinates.length||res.routePlan.coordinates.length<2?onRouteError():(dl.hideTouchKeyboard(),dl.model.Route.set(res),dl.setState("routing","route"),$routePanel.html(getRouteHtml(showCurrentLocationAsStart)),dl.scrollTo($routePanel))},function(errors){currentRequest=null,errors&&errors.length&&(errors[0].fields&&errors[0].fields.length?showFieldErrors(errors[0].fields):onRouteError())}).always(function(){dl.controller.Progress.hide()})}function getRouteHtml(showCurrentLocationAsStart){var displayAddress,route=dl.model.Route.get(),routePlan=route.routePlan,descriptions=routePlan.descriptions,descriptionCount=descriptions.length;return showCurrentLocationAsStart?displayAddress={postcode_city:dl.tr("search.result.currentLocation")}:(displayAddress=[],searchInputs.postcode&&displayAddress.push(searchInputs.postcode),searchInputs.city&&displayAddress.push(searchInputs.city),displayAddress={postcode_city:displayAddress.join(" "),street:searchInputs.street}),dl.tpl("panels/routePanel",{route:routePlan,startAddress:displayAddress,descriptions:descriptions.slice(1,descriptionCount-1),dealer:dl.model.Dealers.getCurrentDealer()},config.getDataContext()+"DETAIL_LEFT")}function onGeoRoute(){abortRunningRequest(),dl.controller.Progress.hide(),dl.controller.Progress.show();var localGeocodeId=++geocodeId;navigator.geolocation.getCurrentPosition(function(location){if(dl.controller.Progress.hide(),localGeocodeId==geocodeId){var coords=location.coords;calculateRoute("get_route",{gpsX:coords.longitude,gpsY:coords.latitude,dealerOutletId:dl.model.Dealers.getCurrentDealer().outletId},!0)}},function(){dl.controller.Progress.hide(),showError(dl.tr("map.geolocationError"))})}function validate(inputs){var errorMsg;return inputs.city||inputs.postcode||inputs.street||(errorMsg=dl.tr("search.empty.errorMessage")),showError(errorMsg),showCities(null),!errorMsg}function showFieldErrors(fields){var messages=[];_.each(fields,function(field){_.contains(messages,field.displayMessage)||("postcode"==field.name||"city"==field.name?$form.find(".dl-control-postcodecity").append('<div class="dl-fieldalert">'+field.displayMessage+"</div>"):$form.find(".dl-control-"+field.name).append('<div class="dl-fieldalert">'+field.displayMessage+"</div>")),$form.find("input[name="+field.name+"]").addClass("dl-error"),$form.find("select[name="+field.name+"]").addClass("dl-error"),messages.push(field.displayMessage)})}function clearErrors(){$form.find("input").removeClass("dl-error"),$form.find("select").removeClass("dl-error"),$form.find(".dl-fieldalert").remove(),$alert.addClass("hidden")}function showError(errorMsg){errorMsg&&$alert.text(errorMsg),$alert.toggleClass("hidden",!errorMsg)}function showCities(cities){cities?($addresses.html(dl.tpl["modules/addressChooser"]({addresses:cities})),$addresses.is(":visible")||$addresses.slideToggle("slow")):$addresses.is(":visible")&&$addresses.slideToggle("slow")}function onAddressClick(evt){showCities(null);var target=$(evt.target);calculateRoute("get_route",{gpsX:target.data("geox"),gpsY:target.data("geoy"),dealerOutletId:dl.model.Dealers.getCurrentDealer().outletId},!1)}function onRouteError(){showError(dl.tr("route.errorHeader")+". "+dl.tr("general.errorBody"))}function onClose(){closeRoute()}function closeRoute(){showError(null),clearErrors(),dl.model.Route.set(null),dl.setState("routing","off")}function abortRunningRequest(){currentRequest&&(currentRequest.abort(),currentRequest=null)}dl.controller.Routing={init:init};var $widget,config,fields,Dealers,currentRequest,$routePanel,$form,$alert,$addresses,searchInputs,geocodeId=0}(),function(win){"use strict";function print(cssClass,html,options){if(document.title=options.title,options.cssFile){var cssLink=jQuery("<link>");jQuery("head").append(cssLink),cssLink.attr({rel:"stylesheet",type:"text/css",id:"MBDDPrintStyle",href:options.cssFile})}$(window).on("orientationchange",function(){window.scrollTo(0,0)}),$(".dl-print-header").text(options.header),$(".dl-print-copyright").text(options.copyright),$(".dl-btn-print").on("click",winPrint),$(".dl-btn-printback").on("click",winClose);var $printContainer=$(".dl-print-content").html('<div class="'+cssClass+'">'+html+"</div>"),mapOptions=options.map;if(mapOptions){var $imgContainer,size=mapOptions.size={x:740,y:500},img=document.createElement("img");$imgContainer=$('<div class="dl-print-map">').css({width:size.x,height:size.y}).append(img).appendTo($printContainer);var spinner=(new dl.common.Spinner).spin($imgContainer.get(0));mapOptions=_.extend(mapOptions,{mapConfig:options.mapConfig});var dl_shared=dl.dl_shared=dl.common.PTVMapClient.Create(mapOptions.mapConfig);dl_shared.printMap(mapOptions,img).always(_.bind(spinner.stop,spinner)).then(_.partial(_.defer,winPrint))}else _.defer(_.bind(winPrint,win));options.routeHtml&&$printContainer.append(options.routeHtml),navigator.userAgent.indexOf("Firefox")>-1&&navigator.userAgent.indexOf("Android")>-1&&$("body").children("input").remove()}dl.controller.Print={print:print};var winPrint=function(){win.print()},winClose=function(){dl.getBrowser().edge&&win.open("","_self",""),win.close()}}(window),function($,win,dl){"use strict";function init(){config=dl.model.Configuration,$widget=$("#"+config.getWidgetContainerId()),$logoLink=$widget.find(".dl-header .dl-logo-link");var logoUrl=config.getLogoUrl();util.isStrNotEmpty(logoUrl)&&(dl.log("Found logo url:"+logoUrl),"http"!=logoUrl.slice(0,4)&&(logoUrl=location.protocol+"//"+logoUrl),$logoLink.attr("href",logoUrl))}dl.controller.Header={init:init};var $widget,$logoLink,config,util=dl.common.ParseUtil}(jQuery,window,dl),function($,win,dl){"use strict";function init(){config=dl.model.Configuration,$widget=$("#"+config.getWidgetContainerId()),$cntr=$widget.find(".dl-outer-container"),win.addEventListener&&win.addEventListener("orientationchange",doOnOrientationChange)}function launchFullscreen(){if($widget.is(".dl-media-mobile")){var userAgent=navigator.userAgent.toLowerCase(),mobileFirefox=userAgent.match(/android.*firefox/i),android5=userAgent.match(/android 5/i);if(!mobileFirefox&&!android5){var doc=window.document,element=doc.documentElement;element.requestFullScreen?element.requestFullScreen():element.mozRequestFullScreen?element.mozRequestFullScreen():element.webkitRequestFullScreen&&element.webkitRequestFullScreen()}}}function doOnOrientationChange(){var userAgent=navigator.userAgent.toLowerCase(),iphone=userAgent.match(/iphone/i);if(iphone)switch(win.orientation){case-90:case 90:$widget.off("touchstart",onTouchStart).off("touchend",onTouchCancel).off("touchmove",onTouchCancel).off("touchcancel",onTouchCancel).off("touchleave",onTouchCancel);break;default:$widget.on("touchstart",onTouchStart).on("touchend",onTouchCancel).on("touchmove",onTouchCancel).on("touchcancel",onTouchCancel).on("touchleave",onTouchCancel)}}function initTouchListeners(){$widget.on("touchstart",onTouchStart).on("touchend",onTouchCancel).on("touchmove",onTouchCancel).on("touchcancel",onTouchCancel).on("touchleave",onTouchCancel)}function onTouchStart(){return $cntr.addClass("touch-hover-on"),!0}function onTouchCancel(){return $cntr.removeClass("touch-hover-on"),!0}var $widget,$cntr,config;dl.controller.HtmlPage={init:init,launchFullscreen:launchFullscreen,initTouchListeners:initTouchListeners}}(jQuery,window,dl);