/*!
    Copyright (c) 2009 John Resig, http://jquery.com/
    License: http://www.opensource.org/licenses/mit-license.php
*/
/*!
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
YMaps.onLoad("core",function(k,g){(function(){var C=this,y,H=k.jQuery=function(V,W){return new H.fn.init(V,W)},U=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,x=/^.[^:#\[\.,]*$/;H.fn=H.prototype={init:function(V,Y){V=V||document;if(V.nodeType){this[0]=V;this.length=1;this.context=V;return this}if(typeof V==="string"){var X=U.exec(V);if(X&&(X[1]||!Y)){if(X[1]){V=H.clean([X[1]],Y)}else{var Z=document.getElementById(X[3]);if(Z&&Z.id!=X[3]){return H().find(V)}var W=H(Z||[]);W.context=document;W.selector=V;return W}}else{return H(Y).find(V)}}else{if(H.isFunction(V)){return H(document).ready(V)}}if(V.selector&&V.context){this.selector=V.selector;this.context=V.context}return this.setArray(H.isArray(V)?V:H.makeArray(V))},selector:"",jquery:"@VERSION",size:function(){return this.length},get:function(V){return V===y?Array.prototype.slice.call(this):this[V]},pushStack:function(W,Y,V){var X=H(W);X.prevObject=this;X.context=this.context;if(Y==="find"){X.selector=this.selector+(this.selector?" ":"")+V}else{if(Y){X.selector=this.selector+"."+Y+"("+V+")"}}return X},setArray:function(V){this.length=0;Array.prototype.push.apply(this,V);return this},each:function(W,V){return H.each(this,W,V)},index:function(V){return H.inArray(V&&V.jquery?V[0]:V,this)},attr:function(W,Y,X){var V=W;if(typeof W==="string"){if(Y===y){return this[0]&&H[X||"attr"](this[0],W)}else{V={};V[W]=Y}}return this.each(function(Z){for(W in V){H.attr(X?this.style:this,W,H.prop(this,V[W],X,Z,W))}})},css:function(V,W){if((V=="width"||V=="height")&&parseFloat(W)<0){W=y}return this.attr(V,W,"curCSS")},text:function(W){if(typeof W!=="object"&&W!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(W))}var V="";H.each(W||this,function(){H.each(this.childNodes,function(){if(this.nodeType!=8){V+=this.nodeType!=1?this.nodeValue:H.fn.text([this])}})});return V},wrapAll:function(V){if(this[0]){var W=H(V,this[0].ownerDocument).clone();if(this[0].parentNode){W.insertBefore(this[0])}W.map(function(){var X=this;while(X.firstChild){X=X.firstChild}return X}).append(this)}return this},wrapInner:function(V){return this.each(function(){H(this).contents().wrapAll(V)})},wrap:function(V){return this.each(function(){H(this).wrapAll(V)})},append:function(){return this.domManip(arguments,true,function(V){if(this.nodeType==1){this.appendChild(V)}})},prepend:function(){return this.domManip(arguments,true,function(V){if(this.nodeType==1){this.insertBefore(V,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(V){this.parentNode.insertBefore(V,this)})},after:function(){return this.domManip(arguments,false,function(V){this.parentNode.insertBefore(V,this.nextSibling)})},end:function(){return this.prevObject||H([])},push:[].push,sort:[].sort,splice:[].splice,find:function(V){if(this.length===1){var W=this.pushStack([],"find",V);W.length=0;H.find(V,this[0],W);return W}else{return this.pushStack(H.unique(H.map(this,function(X){return H.find(V,X)})),"find",V)}},clone:function(X){var V=this.map(function(){if(!H.support.noCloneEvent&&!H.isXMLDoc(this)){var Z=this.outerHTML;if(!Z){var aa=this.ownerDocument.createElement("div");aa.appendChild(this.cloneNode(true));Z=aa.innerHTML}return H.clean([Z.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(X===true){var Y=this.find("*").andSelf(),W=0;V.find("*").andSelf().each(function(){if(this.nodeName!==Y[W].nodeName){return}var Z=H.data(Y[W],"events");for(var ab in Z){for(var aa in Z[ab]){H.event.add(this,ab,Z[ab][aa],Z[ab][aa].data)}}W++})}return V},filter:function(V){return this.pushStack(H.isFunction(V)&&H.grep(this,function(X,W){return V.call(X,W)})||H.multiFilter(V,H.grep(this,function(W){return W.nodeType===1})),"filter",V)},closest:function(V){var X=H.expr.match.POS.test(V)?H(V):null,W=0;return this.map(function(){var Y=this;while(Y&&Y.ownerDocument){if(X?X.index(Y)>-1:H(Y).is(V)){H.data(Y,"closest",W);return Y}Y=Y.parentNode;W++}})},not:function(V){if(typeof V==="string"){if(x.test(V)){return this.pushStack(H.multiFilter(V,this,true),"not",V)}else{V=H.multiFilter(V,this)}}var W=V.length&&V[V.length-1]!==y&&!V.nodeType;return this.filter(function(){return W?H.inArray(this,V)<0:this!=V})},add:function(V){return this.pushStack(H.unique(H.merge(this.get(),typeof V==="string"?H(V):H.makeArray(V))))},is:function(V){return !!V&&H.multiFilter(V,this).length>0},hasClass:function(V){return !!V&&this.is("."+V)},val:function(ab){if(ab===y){var V=this[0];if(V){if(H.nodeName(V,"option")){return(V.attributes.value||{}).specified?V.value:V.text}if(H.nodeName(V,"select")){var Z=V.selectedIndex,ac=[],ad=V.options,Y=V.type=="select-one";if(Z<0){return null}for(var W=Y?Z:0,aa=Y?Z+1:ad.length;W<aa;W++){var X=ad[W];if(X.selected){ab=H(X).val();if(Y){return ab}ac.push(ab)}}return ac}return(V.value||"").replace(/\r/g,"")}return y}if(typeof ab==="number"){ab+=""}return this.each(function(){if(this.nodeType!=1){return}if(H.isArray(ab)&&/radio|checkbox/.test(this.type)){this.checked=(H.inArray(this.value,ab)>=0||H.inArray(this.name,ab)>=0)}else{if(H.nodeName(this,"select")){var ae=H.makeArray(ab);H("option",this).each(function(){this.selected=(H.inArray(this.value,ae)>=0||H.inArray(this.text,ae)>=0)});if(!ae.length){this.selectedIndex=-1}}else{this.value=ab}}})},html:function(V){return V===y?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(V)},replaceWith:function(V){return this.after(V).remove()},eq:function(V){return this.slice(V,+V+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(V){return this.pushStack(H.map(this,function(X,W){return V.call(X,W,X)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(aa,ad,ac){if(this[0]){var Z=(this[0].ownerDocument||this[0]).createDocumentFragment(),W=H.clean(aa,(this[0].ownerDocument||this[0]),Z),Y=Z.firstChild;if(Y){for(var X=0,V=this.length;X<V;X++){ac.call(ab(this[X],Y),this.length>1||X>0?Z.cloneNode(true):Z)}}if(W){H.each(W,Q)}}return this;function ab(ae,af){return ad&&H.nodeName(ae,"table")&&H.nodeName(af,"tr")?(ae.getElementsByTagName("tbody")[0]||ae.appendChild(ae.ownerDocument.createElement("tbody"))):ae}}};H.fn.init.prototype=H.fn;function Q(V,W){if(W.src){H.ajax({url:W.src,async:false,dataType:"script"})}else{H.globalEval(W.text||W.textContent||W.innerHTML||"")}if(W.parentNode){W.parentNode.removeChild(W)}}function w(){return +new Date}H.extend=H.fn.extend=function(){var aa=arguments[0]||{},Y=1,Z=arguments.length,V=false,X;if(typeof aa==="boolean"){V=aa;aa=arguments[1]||{};Y=2}if(typeof aa!=="object"&&!H.isFunction(aa)){aa={}}if(Z==Y){aa=this;--Y}for(;Y<Z;Y++){if((X=arguments[Y])!=null){for(var W in X){var ab=aa[W],ac=X[W];if(aa===ac){continue}if(V&&ac&&typeof ac==="object"&&!ac.nodeType){aa[W]=H.extend(V,ab||(ac.length!=null?[]:{}),ac)}else{if(ac!==y){aa[W]=ac}}}}}return aa};var t=/z-?index|font-?weight|opacity|zoom|line-?height/i,I=document.defaultView||{},K=Object.prototype.toString;H.extend({noConflict:function(V){C.$=_$;if(V){C.jQuery=_jQuery}return H},isFunction:function(V){return K.call(V)==="[object Function]"},isArray:function(V){return K.call(V)==="[object Array]"},isXMLDoc:function(V){return V.nodeType===9&&V.documentElement.nodeName!=="HTML"||!!V.ownerDocument&&H.isXMLDoc(V.ownerDocument)},globalEval:function(X){if(X&&/\S/.test(X)){var W=document.getElementsByTagName("head")[0]||document.documentElement,V=document.createElement("script");V.type="text/javascript";if(H.support.scriptEval){V.appendChild(document.createTextNode(X))}else{V.text=X}W.insertBefore(V,W.firstChild);W.removeChild(V)}},nodeName:function(W,V){return W.nodeName&&W.nodeName.toUpperCase()==V.toUpperCase()},each:function(X,ab,W){var V,Y=0,Z=X.length;if(W){if(Z===y){for(V in X){if(ab.apply(X[V],W)===false){break}}}else{for(;Y<Z;){if(ab.apply(X[Y++],W)===false){break}}}}else{if(Z===y){for(V in X){if(ab.call(X[V],V,X[V])===false){break}}}else{for(var aa=X[0];Y<Z&&ab.call(aa,Y,aa)!==false;aa=X[++Y]){}}}return X},prop:function(Y,Z,X,W,V){if(H.isFunction(Z)){Z=Z.call(Y,W)}return typeof Z==="number"&&X=="curCSS"&&!t.test(V)?Z+"px":Z},className:{add:function(V,W){H.each((W||"").split(/\s+/),function(X,Y){if(V.nodeType==1&&!H.className.has(V.className,Y)){V.className+=(V.className?" ":"")+Y}})},remove:function(V,W){if(V.nodeType==1){V.className=W!==y?H.grep(V.className.split(/\s+/),function(X){return !H.className.has(W,X)}).join(" "):""}},has:function(W,V){return W&&H.inArray(V,(W.className||W).toString().split(/\s+/))>-1}},swap:function(Y,X,Z){var V={};for(var W in X){V[W]=Y.style[W];Y.style[W]=X[W]}Z.call(Y);for(var W in X){Y.style[W]=V[W]}},css:function(Y,W,aa,V){if(W=="width"||W=="height"){var ac,X={position:"absolute",visibility:"hidden",display:"block"},ab=W=="width"?["Left","Right"]:["Top","Bottom"];function Z(){ac=W=="width"?Y.offsetWidth:Y.offsetHeight;if(V==="border"){return}H.each(ab,function(){if(!V){ac-=parseFloat(H.curCSS(Y,"padding"+this,true))||0}if(V==="margin"){ac+=parseFloat(H.curCSS(Y,"margin"+this,true))||0}else{ac-=parseFloat(H.curCSS(Y,"border"+this+"Width",true))||0}})}if(Y.offsetWidth!==0){Z()}else{H.swap(Y,X,Z)}return Math.max(0,Math.round(ac))}return H.curCSS(Y,W,aa)},curCSS:function(Z,W,X){var ac,V=Z.style;if(W=="opacity"&&!H.support.opacity){ac=H.attr(V,"opacity");return ac==""?"1":ac}if(W.match(/float/i)){W=O}if(!X&&V&&V[W]){ac=V[W]}else{if(I.getComputedStyle){if(W.match(/float/i)){W="float"}W=W.replace(/([A-Z])/g,"-$1").toLowerCase();var ad=I.getComputedStyle(Z,null);if(ad){ac=ad.getPropertyValue(W)}if(W=="opacity"&&ac==""){ac="1"}}else{if(Z.currentStyle){var aa=W.replace(/\-(\w)/g,function(ae,af){return af.toUpperCase()});ac=Z.currentStyle[W]||Z.currentStyle[aa];if(!/^\d+(px)?$/i.test(ac)&&/^\d/.test(ac)){var Y=V.left,ab=Z.runtimeStyle.left;Z.runtimeStyle.left=Z.currentStyle.left;V.left=ac||0;ac=V.pixelLeft+"px";V.left=Y;Z.runtimeStyle.left=ab}}}}return ac},clean:function(W,ab,Z){ab=ab||document;if(typeof ab.createElement==="undefined"){ab=ab.ownerDocument||ab[0]&&ab[0].ownerDocument||document}if(!Z&&W.length===1&&typeof W[0]==="string"){var Y=/^<(\w+)\s*\/?>$/.exec(W[0]);if(Y){return[ab.createElement(Y[1])]}}var X=[],V=[],ac=ab.createElement("div");H.each(W,function(ag,aj){if(typeof aj==="number"){aj+=""}if(!aj){return}if(typeof aj==="string"){aj=aj.replace(/(<(\w+)[^>]*?)\/>/g,function(al,am,ak){return ak.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?al:am+"></"+ak+">"});var af=aj.replace(/^\s+/,"").substring(0,10).toLowerCase();var ah=!af.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!af.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||af.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!af.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!af.indexOf("<td")||!af.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!af.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!H.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];ac.innerHTML=ah[1]+aj+ah[2];while(ah[0]--){ac=ac.lastChild}if(!H.support.tbody){var ai=/<tbody/i.test(aj),ae=!af.indexOf("<table")&&!ai?ac.firstChild&&ac.firstChild.childNodes:ah[1]=="<table>"&&!ai?ac.childNodes:[];for(var ad=ae.length-1;ad>=0;--ad){if(H.nodeName(ae[ad],"tbody")&&!ae[ad].childNodes.length){ae[ad].parentNode.removeChild(ae[ad])}}}if(!H.support.leadingWhitespace&&/^\s/.test(aj)){ac.insertBefore(ab.createTextNode(aj.match(/^\s*/)[0]),ac.firstChild)}aj=H.makeArray(ac.childNodes)}if(aj.nodeType){X.push(aj)}else{X=H.merge(X,aj)}});if(Z){for(var aa=0;X[aa];aa++){if(H.nodeName(X[aa],"script")&&(!X[aa].type||X[aa].type.toLowerCase()==="text/javascript")){V.push(X[aa].parentNode?X[aa].parentNode.removeChild(X[aa]):X[aa])}else{if(X[aa].nodeType===1){X.splice.apply(X,[aa+1,0].concat(H.makeArray(X[aa].getElementsByTagName("script"))))}Z.appendChild(X[aa])}}return V}return X},attr:function(aa,X,ab){if(!aa||aa.nodeType==3||aa.nodeType==8){return y}var Y=!H.isXMLDoc(aa),ac=ab!==y;X=Y&&H.props[X]||X;if(aa.tagName){var W=/href|src|style/.test(X);if(X=="selected"&&aa.parentNode){aa.parentNode.selectedIndex}if(X in aa&&Y&&!W){if(ac){if(X=="type"&&H.nodeName(aa,"input")&&aa.parentNode){throw"type property can't be changed"}aa[X]=ab}if(H.nodeName(aa,"form")&&aa.getAttributeNode(X)){return aa.getAttributeNode(X).nodeValue}if(X=="tabIndex"){var Z=aa.getAttributeNode("tabIndex");return Z&&Z.specified?Z.value:aa.nodeName.match(/(button|input|object|select|textarea)/i)?0:aa.nodeName.match(/^(a|area)$/i)&&aa.href?0:y}return aa[X]}if(!H.support.style&&Y&&X=="style"){return H.attr(aa.style,"cssText",ab)}if(ac){aa.setAttribute(X,""+ab)}var V=!H.support.hrefNormalized&&Y&&W?aa.getAttribute(X,2):aa.getAttribute(X);return V===null?y:V}if(!H.support.opacity&&X=="opacity"){if(ac){aa.zoom=1;aa.filter=(aa.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(ab)+""=="NaN"?"":"alpha(opacity="+ab*100+")")}return aa.filter&&aa.filter.indexOf("opacity=")>=0?(parseFloat(aa.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}X=X.replace(/-([a-z])/ig,function(ad,ae){return ae.toUpperCase()});if(ac){aa[X]=ab}return aa[X]},trim:function(V){return(V||"").replace(/^\s+|\s+$/g,"")},makeArray:function(X){var V=[];if(X!=null){var W=X.length;if(W==null||typeof X==="string"||H.isFunction(X)||X.setInterval){V[0]=X}else{while(W){V[--W]=X[W]}}}return V},inArray:function(X,Y){for(var V=0,W=Y.length;V<W;V++){if(Y[V]===X){return V}}return -1},merge:function(Y,V){var W=0,X,Z=Y.length;if(!H.support.getAll){while((X=V[W++])!=null){if(X.nodeType!=8){Y[Z++]=X}}}else{while((X=V[W++])!=null){Y[Z++]=X}}return Y},unique:function(ab){var W=[],V={};try{for(var X=0,Y=ab.length;X<Y;X++){var aa=H.data(ab[X]);if(!V[aa]){V[aa]=true;W.push(ab[X])}}}catch(Z){W=ab}return W},grep:function(W,aa,V){var X=[];for(var Y=0,Z=W.length;Y<Z;Y++){if(!V!=!aa(W[Y],Y)){X.push(W[Y])}}return X},map:function(V,aa){var W=[];for(var X=0,Y=V.length;X<Y;X++){var Z=aa(V[X],X);if(Z!=null){W[W.length]=Z}}return W.concat.apply([],W)}});var T=navigator.userAgent.toLowerCase();H.browser={version:(T.match(/(?:rv|webkit|opera|msie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(T),opera:/opera/.test(T),msie:/msie/.test(T)&&!/opera/.test(T),mozilla:/mozilla/.test(T)&&!/(compatible|webkit)/.test(T)};H.each({parent:function(V){return V.parentNode},parents:function(V){return H.dir(V,"parentNode")},next:function(V){return H.nth(V,2,"nextSibling")},prev:function(V){return H.nth(V,2,"previousSibling")},nextAll:function(V){return H.dir(V,"nextSibling")},prevAll:function(V){return H.dir(V,"previousSibling")},siblings:function(V){return H.sibling(V.parentNode.firstChild,V)},children:function(V){return H.sibling(V.firstChild)},contents:function(V){return H.nodeName(V,"iframe")?V.contentDocument||V.contentWindow.document:H.makeArray(V.childNodes)}},function(V,W){H.fn[V]=function(X){var Y=H.map(this,W);if(X&&typeof X=="string"){Y=H.multiFilter(X,Y)}return this.pushStack(H.unique(Y),V,X)}});H.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(V,W){H.fn[V]=function(X){var aa=[],ac=H(X);for(var ab=0,Y=ac.length;ab<Y;ab++){var Z=(ab>0?this.clone(true):this).get();H.fn[W].apply(H(ac[ab]),Z);aa=aa.concat(Z)}return this.pushStack(aa,V,X)}});H.each({removeAttr:function(V){H.attr(this,V,"");if(this.nodeType==1){this.removeAttribute(V)}},addClass:function(V){H.className.add(this,V)},removeClass:function(V){H.className.remove(this,V)},toggleClass:function(W,V){if(typeof V!=="boolean"){V=!H.className.has(this,W)}H.className[V?"add":"remove"](this,W)},remove:function(V){if(!V||H.filter(V,[this]).length){H("*",this).add([this]).each(function(){H.event.remove(this);H.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){H(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(V,W){H.fn[V]=function(){return this.each(W,arguments)}});function B(V,W){return V[0]&&parseInt(H.curCSS(V[0],W,true),10)||0}var z="jQuery"+w(),N=0,R={};H.extend({cache:{},data:function(W,V,X){W=W==C?R:W;var Y=W[z];if(!Y){Y=W[z]=++N}if(V&&!H.cache[Y]){H.cache[Y]={}}if(X!==y){H.cache[Y][V]=X}return V?H.cache[Y][V]:Y},removeData:function(W,V){W=W==C?R:W;var Y=W[z];if(V){if(H.cache[Y]){delete H.cache[Y][V];V="";for(V in H.cache[Y]){break}if(!V){H.removeData(W)}}}else{try{delete W[z]}catch(X){if(W.removeAttribute){W.removeAttribute(z)}}delete H.cache[Y]}},queue:function(W,V,Y){if(W){V=(V||"fx")+"queue";var X=H.data(W,V);if(!X||H.isArray(Y)){X=H.data(W,V,H.makeArray(Y))}else{if(Y){X.push(Y)}}}return X},dequeue:function(Y,X){var V=H.queue(Y,X),W=V.shift();if(!X||X==="fx"){W=V[0]}if(W!==y){W.call(Y)}}});H.fn.extend({data:function(V,X){var Y=V.split(".");Y[1]=Y[1]?"."+Y[1]:"";if(X===y){var W=this.triggerHandler("getData"+Y[1]+"!",[Y[0]]);if(W===y&&this.length){W=H.data(this[0],V)}return W===y&&Y[1]?this.data(Y[0]):W}else{return this.trigger("setData"+Y[1]+"!",[Y[0],X]).each(function(){H.data(this,V,X)})}},removeData:function(V){return this.each(function(){H.removeData(this,V)})},queue:function(V,W){if(typeof V!=="string"){W=V;V="fx"}if(W===y){return H.queue(this[0],V)}return this.each(function(){var X=H.queue(this,V,W);if(V=="fx"&&X.length==1){X[0].call(this)}})},dequeue:function(V){return this.each(function(){H.dequeue(this,V)})}});(function(){var ai=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,ac=0,Y=Object.prototype.toString;var W=function(ap,al,at,au){at=at||[];al=al||document;if(al.nodeType!==1&&al.nodeType!==9){return[]}if(!ap||typeof ap!=="string"){return at}var aq=[],an,ax,aA,ak,av,am,ao=true;ai.lastIndex=0;while((an=ai.exec(ap))!==null){aq.push(an[1]);if(an[2]){am=RegExp.rightContext;break}}if(aq.length>1&&ad.exec(ap)){if(aq.length===2&&Z.relative[aq[0]]){ax=aa(aq[0]+aq[1],al)}else{ax=Z.relative[aq[0]]?[al]:W(aq.shift(),al);while(aq.length){ap=aq.shift();if(Z.relative[ap]){ap+=aq.shift()}ax=aa(ap,ax)}}}else{var aw=au?{expr:aq.pop(),set:V(au)}:W.find(aq.pop(),aq.length===1&&al.parentNode?al.parentNode:al,ah(al));ax=W.filter(aw.expr,aw.set);if(aq.length>0){aA=V(ax)}else{ao=false}while(aq.length){var az=aq.pop(),ay=az;if(!Z.relative[az]){az=""}else{ay=aq.pop()}if(ay==null){ay=al}Z.relative[az](aA,ay,ah(al))}}if(!aA){aA=ax}if(!aA){throw"Syntax error, unrecognized expression: "+(az||ap)}if(Y.call(aA)==="[object Array]"){if(!ao){at.push.apply(at,aA)}else{if(al.nodeType===1){for(var ar=0;aA[ar]!=null;ar++){if(aA[ar]&&(aA[ar]===true||aA[ar].nodeType===1&&ab(al,aA[ar]))){at.push(ax[ar])}}}else{for(var ar=0;aA[ar]!=null;ar++){if(aA[ar]&&aA[ar].nodeType===1){at.push(ax[ar])}}}}}else{V(aA,at)}if(am){W(am,al,at,au);if(X){hasDuplicate=false;at.sort(X);if(hasDuplicate){for(var ar=1;ar<at.length;ar++){if(at[ar]===at[ar-1]){at.splice(ar--,1)}}}}}return at};W.matches=function(ak,al){return W(ak,null,null,al)};W.find=function(ar,ak,at){var aq,ao;if(!ar){return[]}for(var an=0,am=Z.order.length;an<am;an++){var ap=Z.order[an],ao;if((ao=Z.match[ap].exec(ar))){var al=RegExp.leftContext;if(al.substr(al.length-1)!=="\\"){ao[1]=(ao[1]||"").replace(/\\/g,"");aq=Z.find[ap](ao,ak,at);if(aq!=null){ar=ar.replace(Z.match[ap],"");break}}}}if(!aq){aq=ak.getElementsByTagName("*")}return{set:aq,expr:ar}};W.filter=function(av,au,ay,an){var am=av,aA=[],ar=au,ap,ak,aq=au&&au[0]&&ah(au[0]);while(av&&au.length){for(var at in Z.filter){if((ap=Z.match[at].exec(av))!=null){var al=Z.filter[at],az,ax;ak=false;if(ar==aA){aA=[]}if(Z.preFilter[at]){ap=Z.preFilter[at](ap,ar,ay,aA,an,aq);if(!ap){ak=az=true}else{if(ap===true){continue}}}if(ap){for(var ao=0;(ax=ar[ao])!=null;ao++){if(ax){az=al(ax,ap,ao,ar);var aw=an^!!az;if(ay&&az!=null){if(aw){ak=true}else{ar[ao]=false}}else{if(aw){aA.push(ax);ak=true}}}}}if(az!==y){if(!ay){ar=aA}av=av.replace(Z.match[at],"");if(!ak){return[]}break}}}if(av==am){if(ak==null){throw"Syntax error, unrecognized expression: "+av}else{break}}am=av}return ar};var Z=W.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(ak){return ak.getAttribute("href")}},relative:{"+":function(ar,ak,aq){var ao=typeof ak==="string",at=ao&&!/\W/.test(ak),ap=ao&&!at;if(at&&!aq){ak=ak.toUpperCase()}for(var an=0,am=ar.length,al;an<am;an++){if((al=ar[an])){while((al=al.previousSibling)&&al.nodeType!==1){}ar[an]=ap||al&&al.nodeName===ak?al||false:al===ak}}if(ap){W.filter(ak,ar,true)}},">":function(aq,al,ar){var ao=typeof al==="string";if(ao&&!/\W/.test(al)){al=ar?al:al.toUpperCase();for(var am=0,ak=aq.length;am<ak;am++){var ap=aq[am];if(ap){var an=ap.parentNode;aq[am]=an.nodeName===al?an:false}}}else{for(var am=0,ak=aq.length;am<ak;am++){var ap=aq[am];if(ap){aq[am]=ao?ap.parentNode:ap.parentNode===al}}if(ao){W.filter(al,aq,true)}}},"":function(an,al,ap){var am=ac++,ak=aj;if(!al.match(/\W/)){var ao=al=ap?al:al.toUpperCase();ak=ag}ak("parentNode",al,am,an,ao,ap)},"~":function(an,al,ap){var am=ac++,ak=aj;if(typeof al==="string"&&!al.match(/\W/)){var ao=al=ap?al:al.toUpperCase();ak=ag}ak("previousSibling",al,am,an,ao,ap)}},find:{ID:function(al,am,an){if(typeof am.getElementById!=="undefined"&&!an){var ak=am.getElementById(al[1]);return ak?[ak]:[]}},NAME:function(am,ap,aq){if(typeof ap.getElementsByName!=="undefined"){var al=[],ao=ap.getElementsByName(am[1]);for(var an=0,ak=ao.length;an<ak;an++){if(ao[an].getAttribute("name")===am[1]){al.push(ao[an])}}return al.length===0?null:al}},TAG:function(ak,al){return W.getElementsByTagName(al,ak[1])}},preFilter:{CLASS:function(an,al,am,ak,aq,ar){an=" "+an[1].replace(/\\/g,"")+" ";if(ar){return an}for(var ao=0,ap;(ap=al[ao])!=null;ao++){if(ap){if(aq^(ap.className&&(" "+ap.className+" ").indexOf(an)>=0)){if(!am){ak.push(ap)}}else{if(am){al[ao]=false}}}}return false},ID:function(ak){return ak[1].replace(/\\/g,"")},TAG:function(al,ak){for(var am=0;ak[am]===false;am++){}return ak[am]&&ah(ak[am])?al[1]:al[1].toUpperCase()},CHILD:function(ak){if(ak[1]=="nth"){var al=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(ak[2]=="even"&&"2n"||ak[2]=="odd"&&"2n+1"||!/\D/.test(ak[2])&&"0n+"+ak[2]||ak[2]);ak[2]=(al[1]+(al[2]||1))-0;ak[3]=al[3]-0}ak[0]=ac++;return ak},ATTR:function(ao,al,am,ak,ap,aq){var an=ao[1].replace(/\\/g,"");if(!aq&&Z.attrMap[an]){ao[1]=Z.attrMap[an]}if(ao[2]==="~="){ao[4]=" "+ao[4]+" "}return ao},PSEUDO:function(ao,al,am,ak,ap){if(ao[1]==="not"){if(ao[3].match(ai).length>1||/^\w/.test(ao[3])){ao[3]=W(ao[3],null,null,al)}else{var an=W.filter(ao[3],al,am,true^ap);if(!am){ak.push.apply(ak,an)}return false}}else{if(Z.match.POS.test(ao[0])||Z.match.CHILD.test(ao[0])){return true}}return ao},POS:function(ak){ak.unshift(true);return ak}},filters:{enabled:function(ak){return ak.disabled===false&&ak.type!=="hidden"},disabled:function(ak){return ak.disabled===true},checked:function(ak){return ak.checked===true},selected:function(ak){ak.parentNode.selectedIndex;return ak.selected===true},parent:function(ak){return !!ak.firstChild},empty:function(ak){return !ak.firstChild},has:function(am,al,ak){return !!W(ak[3],am).length},header:function(ak){return/h\d/i.test(ak.nodeName)},text:function(ak){return"text"===ak.type},radio:function(ak){return"radio"===ak.type},checkbox:function(ak){return"checkbox"===ak.type},file:function(ak){return"file"===ak.type},password:function(ak){return"password"===ak.type},submit:function(ak){return"submit"===ak.type},image:function(ak){return"image"===ak.type},reset:function(ak){return"reset"===ak.type},button:function(ak){return"button"===ak.type||ak.nodeName.toUpperCase()==="BUTTON"},input:function(ak){return/input|select|textarea|button/i.test(ak.nodeName)}},setFilters:{first:function(al,ak){return ak===0},last:function(am,al,ak,an){return al===an.length-1},even:function(al,ak){return ak%2===0},odd:function(al,ak){return ak%2===1},lt:function(am,al,ak){return al<ak[3]-0},gt:function(am,al,ak){return al>ak[3]-0},nth:function(am,al,ak){return ak[3]-0==al},eq:function(am,al,ak){return ak[3]-0==al}},filter:{PSEUDO:function(aq,am,an,ar){var al=am[1],ao=Z.filters[al];if(ao){return ao(aq,an,am,ar)}else{if(al==="contains"){return(aq.textContent||aq.innerText||"").indexOf(am[3])>=0}else{if(al==="not"){var ap=am[3];for(var an=0,ak=ap.length;an<ak;an++){if(ap[an]===aq){return false}}return true}}}},CHILD:function(ak,an){var aq=an[1],al=ak;switch(aq){case"only":case"first":while(al=al.previousSibling){if(al.nodeType===1){return false}}if(aq=="first"){return true}al=ak;case"last":while(al=al.nextSibling){if(al.nodeType===1){return false}}return true;case"nth":var am=an[2],au=an[3];if(am==1&&au==0){return true}var ap=an[0],at=ak.parentNode;if(at&&(at.sizcache!==ap||!ak.nodeIndex)){var ao=0;for(al=at.firstChild;al;al=al.nextSibling){if(al.nodeType===1){al.nodeIndex=++ao}}at.sizcache=ap}var ar=ak.nodeIndex-au;if(am==0){return ar==0}else{return(ar%am==0&&ar/am>=0)}}},ID:function(al,ak){return al.nodeType===1&&al.getAttribute("id")===ak},TAG:function(al,ak){return(ak==="*"&&al.nodeType===1)||al.nodeName===ak.replace("\\:",":")},CLASS:function(al,ak){return(" "+(al.className||al.getAttribute("class"))+" ").indexOf(ak)>-1},ATTR:function(ap,an){var am=an[1],ak=Z.attrHandle[am]?Z.attrHandle[am](ap):ap[am]!=null?ap[am]:ap.getAttribute(am),aq=ak+"",ao=an[2],al=an[4];return ak==null?ao==="!=":ao==="="?aq===al:ao==="*="?aq.indexOf(al)>=0:ao==="~="?(" "+aq+" ").indexOf(al)>=0:!al?aq&&ak!==false:ao==="!="?aq!=al:ao==="^="?aq.indexOf(al)===0:ao==="$="?aq.substr(aq.length-al.length)===al:ao==="|="?aq===al||aq.substr(0,al.length+1)===al+"-":false},POS:function(ao,al,am,ap){var ak=al[2],an=Z.setFilters[ak];if(an){return an(ao,am,al,ap)}}}};var ad=Z.match.POS;for(var af in Z.match){Z.match[af]=RegExp(Z.match[af].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var V=function(al,ak){al=Array.prototype.slice.call(al);if(ak){ak.push.apply(ak,al);return ak}return al};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(ae){V=function(ao,an){var al=an||[];if(Y.call(ao)==="[object Array]"){Array.prototype.push.apply(al,ao)}else{if(typeof ao.length==="number"){for(var am=0,ak=ao.length;am<ak;am++){al.push(ao[am])}}else{for(var am=0;ao[am];am++){al.push(ao[am])}}}return al}}var X;if(document.documentElement.compareDocumentPosition){X=function(al,ak){var am=al.compareDocumentPosition(ak)&4?-1:al===ak?0:1;if(am===0){hasDuplicate=true}return am}}else{if("sourceIndex" in document.documentElement){X=function(al,ak){var am=al.sourceIndex-ak.sourceIndex;if(am===0){hasDuplicate=true}return am}}else{if(document.createRange){X=function(an,al){var am=an.ownerDocument.createRange(),ak=al.ownerDocument.createRange();am.selectNode(an);am.collapse(true);ak.selectNode(al);ak.collapse(true);var ao=am.compareBoundaryPoints(Range.START_TO_END,ak);if(ao===0){hasDuplicate=true}return ao}}}}(function(){var al=document.createElement("form"),am="script"+(new Date).getTime();al.innerHTML="<input name='"+am+"'/>";var ak=document.documentElement;ak.insertBefore(al,ak.firstChild);if(!!document.getElementById(am)){Z.find.ID=function(ao,ap,aq){if(typeof ap.getElementById!=="undefined"&&!aq){var an=ap.getElementById(ao[1]);return an?an.id===ao[1]||typeof an.getAttributeNode!=="undefined"&&an.getAttributeNode("id").nodeValue===ao[1]?[an]:y:[]}};Z.filter.ID=function(ap,an){var ao=typeof ap.getAttributeNode!=="undefined"&&ap.getAttributeNode("id");return ap.nodeType===1&&ao&&ao.nodeValue===an}}ak.removeChild(al)})();(function(){var ak=document.createElement("div");ak.appendChild(document.createComment(""));if(ak.getElementsByTagName("*").length>0){Z.find.TAG=function(al,ap){var ao=W.getElementsByTagName(ap,al[1]);if(al[1]==="*"){var an=[];for(var am=0;ao[am];am++){if(ao[am].nodeType===1){an.push(ao[am])}}ao=an}return ao}}ak.innerHTML="<a href='#'></a>";if(ak.firstChild&&typeof ak.firstChild.getAttribute!=="undefined"&&ak.firstChild.getAttribute("href")!=="#"){Z.attrHandle.href=function(al){return al.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var ak=W,al=document.createElement("div");al.innerHTML="<p class='TEST'></p>";if(al.querySelectorAll&&al.querySelectorAll(".TEST").length===0){return}W=function(ap,ao,am,an){ao=ao||document;if(!an&&ao.nodeType===9&&!ah(ao)){try{return V(ao.querySelectorAll(ap),am)}catch(aq){}}return ak(ap,ao,am,an)};W.find=ak.find;W.filter=ak.filter;W.selectors=ak.selectors;W.matches=ak.matches})()}if(H.browser.msie&&(!document.documentMode||document.documentMode<8||document.documentMode>=9)){W.getElementsByTagName=function(ap,an){var ar=an.indexOf(":");if(ar!=-1){var aq=an.slice(0,ar),am,ak=[];an=an.slice(ar+1);am=ap.getElementsByTagName(an);for(var ao=0,al=am.length;ao<al;ao++){if(am[ao].scopeName==aq){ak.push(am[ao])}}return ak}else{return ap.getElementsByTagName(an)}}}else{W.getElementsByTagName=function(al,ak){return al.getElementsByTagName(ak)}}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){if((H.browser.opera&&parseFloat(H.browser.version)<9.5)||(H.browser.mozilla&&parseFloat(H.browser.version)<1.9)){return}var ak=document.createElement("div");ak.innerHTML="<div class='test e'></div><div class='test'></div>";if(ak.getElementsByClassName("e").length===0){return}ak.lastChild.className="e";if(ak.getElementsByClassName("e").length===1){return}Z.order.splice(1,0,"CLASS");Z.find.CLASS=function(al,am,an){if(typeof am.getElementsByClassName!=="undefined"&&!an){return am.getElementsByClassName(al[1])}}})()}function ag(al,aq,ap,av,ar,au){var at=al=="previousSibling"&&!au;for(var an=0,am=av.length;an<am;an++){var ak=av[an];if(ak){if(at&&ak.nodeType===1){ak.sizcache=ap;ak.sizset=an}ak=ak[al];var ao=false;while(ak){if(ak.sizcache===ap){ao=av[ak.sizset];break}if(ak.nodeType===1&&!au){ak.sizcache=ap;ak.sizset=an}if(ak.nodeName===aq){ao=ak;break}ak=ak[al]}av[an]=ao}}}function aj(al,aq,ap,av,ar,au){var at=al=="previousSibling"&&!au;for(var an=0,am=av.length;an<am;an++){var ak=av[an];if(ak){if(at&&ak.nodeType===1){ak.sizcache=ap;ak.sizset=an}ak=ak[al];var ao=false;while(ak){if(ak.sizcache===ap){ao=av[ak.sizset];break}if(ak.nodeType===1){if(!au){ak.sizcache=ap;ak.sizset=an}if(typeof aq!=="string"){if(ak===aq){ao=true;break}}else{if(W.filter(aq,[ak]).length>0){ao=ak;break}}}ak=ak[al]}av[an]=ao}}}var ab=document.compareDocumentPosition?function(al,ak){return al.compareDocumentPosition(ak)&16}:function(al,ak){return al!==ak&&(al.contains?al.contains(ak):true)};var ah=function(ak){return ak.nodeType===9&&ak.documentElement.nodeName!=="HTML"||!!ak.ownerDocument&&ah(ak.ownerDocument)};var aa=function(ak,ar){var an=[],ao="",ap,am=ar.nodeType?[ar]:ar;while((ap=Z.match.PSEUDO.exec(ak))){ao+=ap[0];ak=ak.replace(Z.match.PSEUDO,"")}ak=Z.relative[ak]?ak+"*":ak;for(var aq=0,al=am.length;aq<al;aq++){W(ak,am[aq],an)}return W.filter(ao,an)};H.find=W;H.filter=W.filter;H.expr=W.selectors;H.expr[":"]=H.expr.filters;W.selectors.filters.hidden=function(ak){return ak.offsetWidth===0||ak.offsetHeight===0};W.selectors.filters.visible=function(ak){return ak.offsetWidth>0||ak.offsetHeight>0};W.selectors.filters.animated=function(ak){return H.grep(H.timers,function(al){return ak===al.elem}).length};H.multiFilter=function(am,ak,al){if(al){am=":not("+am+")"}return W.matches(am,ak)};H.dir=function(am,al){var ak=[],an=am[al];while(an&&an!=document){if(an.nodeType==1){ak.push(an)}an=an[al]}return ak};H.nth=function(ao,ak,am,an){ak=ak||1;var al=0;for(;ao;ao=ao[am]){if(ao.nodeType==1&&++al==ak){break}}return ao};H.sibling=function(am,al){var ak=[];for(;am;am=am.nextSibling){if(am.nodeType==1&&am!=al){ak.push(am)}}return ak};return;C.Sizzle=W})();H.event={add:function(Z,W,Y,ab){if(Z.nodeType==3||Z.nodeType==8){return}if(Z.setInterval&&Z!=C){Z=C}if(!Y.guid){Y.guid=this.guid++}if(ab!==y){var X=Y;Y=this.proxy(X);Y.data=ab}var V=H.data(Z,"events")||H.data(Z,"events",{}),aa=H.data(Z,"handle")||H.data(Z,"handle",function(){return typeof H!=="undefined"&&!H.event.triggered?H.event.handle.apply(arguments.callee.elem,arguments):y});aa.elem=Z;H.each(W.split(/\s+/),function(ad,ae){var af=ae.split(".");ae=af.shift();Y.type=af.slice().sort().join(".");var ac=V[ae];if(H.event.specialAll[ae]){H.event.specialAll[ae].setup.call(Z,ab,af)}if(!ac){ac=V[ae]={};if(!H.event.special[ae]||H.event.special[ae].setup.call(Z,ab,af)===false){if(Z.addEventListener){Z.addEventListener(ae,aa,false)}else{if(Z.attachEvent){Z.attachEvent("on"+ae,aa)}}}}ac[Y.guid]=Y;H.event.global[ae]=true});Z=null},guid:1,global:{},remove:function(ab,Y,aa){if(ab.nodeType==3||ab.nodeType==8){return}var X=H.data(ab,"events"),W,V;if(X){if(Y===y||(typeof Y==="string"&&Y.charAt(0)==".")){for(var Z in X){this.remove(ab,Z+(Y||""))}}else{if(Y.type){aa=Y.handler;Y=Y.type}H.each(Y.split(/\s+/),function(ad,af){var ah=af.split(".");af=ah.shift();var ae=RegExp("(^|\\.)"+ah.slice().sort().join(".*\\.")+"(\\.|$)");if(X[af]){if(aa){delete X[af][aa.guid]}else{for(var ag in X[af]){if(ae.test(X[af][ag].type)){delete X[af][ag]}}}if(H.event.specialAll[af]){H.event.specialAll[af].teardown.call(ab,ah)}for(W in X[af]){break}if(!W){if(!H.event.special[af]||H.event.special[af].teardown.call(ab,ah)===false){if(ab.removeEventListener){ab.removeEventListener(af,H.data(ab,"handle"),false)}else{if(ab.detachEvent){ab.detachEvent("on"+af,H.data(ab,"handle"))}}}W=null;delete X[af]}}})}for(W in X){break}if(!W){var ac=H.data(ab,"handle");if(ac){ac.elem=null}H.removeData(ab,"events");H.removeData(ab,"handle")}}},trigger:function(Z,ab,Y,V){var X=Z.type||Z;if(!V){Z=typeof Z==="object"?Z[z]?Z:H.extend(H.Event(X),Z):H.Event(X);if(X.indexOf("!")>=0){Z.type=X=X.slice(0,-1);Z.exclusive=true}if(!Y){Z.stopPropagation();if(this.global[X]){H.each(H.cache,function(){if(this.events&&this.events[X]){H.event.trigger(Z,ab,this.handle.elem)}})}}if(!Y||Y.nodeType==3||Y.nodeType==8){return y}Z.result=y;Z.target=Y;ab=H.makeArray(ab);ab.unshift(Z)}Z.currentTarget=Y;var aa=H.data(Y,"handle");if(aa){aa.apply(Y,ab)}if((!Y[X]||(H.nodeName(Y,"a")&&X=="click"))&&Y["on"+X]&&Y["on"+X].apply(Y,ab)===false){Z.result=false}if(!V&&Y[X]&&!Z.isDefaultPrevented()&&!(H.nodeName(Y,"a")&&X=="click")){this.triggered=true;try{Y[X]()}catch(ac){}}this.triggered=false;if(!Z.isPropagationStopped()){var W=Y.parentNode||Y.ownerDocument;if(W){H.event.trigger(Z,ab,W,true)}}},handle:function(ab){var aa,V;ab=arguments[0]=H.event.fix(ab||C.event);ab.currentTarget=this;var ac=ab.type.split(".");ab.type=ac.shift();aa=!ac.length&&!ab.exclusive;var Z=RegExp("(^|\\.)"+ac.slice().sort().join(".*\\.")+"(\\.|$)");V=(H.data(this,"events")||{})[ab.type];for(var X in V){var Y=V[X];if(aa||Z.test(Y.type)){ab.handler=Y;ab.data=Y.data;var W=Y.apply(this,arguments);if(W!==y){ab.result=W;if(W===false){ab.preventDefault();ab.stopPropagation()}}if(ab.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(Z){if(Z[z]){return Z}var W=Z;Z=H.Event(W);for(var X=this.props.length,ab;X;){ab=this.props[--X];Z[ab]=W[ab]}if(!Z.target){Z.target=Z.srcElement||document}if(Z.target.nodeType==3){Z.target=Z.target.parentNode}if(!Z.relatedTarget&&Z.fromElement){Z.relatedTarget=Z.fromElement==Z.target?Z.toElement:Z.fromElement}if(Z.relatedTarget&&q.mozilla){try{-Z.relatedTarget.nodeType}catch(Y){Z.relatedTarget=null}}if(Z.pageX==null&&Z.clientX!=null){var aa=document.documentElement,V=document.body;Z.pageX=Z.clientX+(aa&&aa.scrollLeft||V&&V.scrollLeft||0)-(aa.clientLeft||0);Z.pageY=Z.clientY+(aa&&aa.scrollTop||V&&V.scrollTop||0)-(aa.clientTop||0)}if(!Z.which&&((Z.charCode||Z.charCode===0)?Z.charCode:Z.keyCode)){Z.which=Z.charCode||Z.keyCode}if(!Z.metaKey&&Z.ctrlKey){Z.metaKey=Z.ctrlKey}if(!Z.which&&Z.button){Z.which=(Z.button&1?1:(Z.button&2?3:(Z.button&4?2:0)))}var aa=document.documentElement,V=document.body;if(!(q.opera&&q.version<=9.27)){Z.clientX-=(aa.clientLeft||V.clientLeft||0);Z.clientY-=(aa.clientTop||V.clientTop||0)}return Z},proxy:function(W,V){V=V||function(){return W.apply(this,arguments)};V.guid=W.guid=W.guid||V.guid||this.guid++;return V},special:{ready:{setup:S,teardown:function(){}}},specialAll:{live:{setup:function(V,W){H.event.add(this,W[0],u)},teardown:function(X){if(X.length){var V=0,W=RegExp("(^|\\.)"+X[0]+"(\\.|$)");H.each((H.data(this,"events").live||{}),function(){if(W.test(this.type)){V++}});if(V<1){H.event.remove(this,X[0],u)}}}}}};H.Event=function(V){if(!this.preventDefault){return new H.Event(V)}if(V&&V.type){this.originalEvent=V;this.type=V.type}else{this.type=V}this.timeStamp=w();this[z]=true};function D(){return false}function M(){return true}H.Event.prototype={preventDefault:function(){this.isDefaultPrevented=M;var V=this.originalEvent;if(!V){return}if(V.preventDefault){V.preventDefault()}V.returnValue=false},stopPropagation:function(){this.isPropagationStopped=M;var V=this.originalEvent;if(!V){return}if(V.stopPropagation){V.stopPropagation()}V.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=M;this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var s=function(W){var V=W.relatedTarget;while(V&&V!=this){try{V=V.parentNode}catch(X){V=this}}if(V!=this){W.type=W.data;H.event.handle.apply(this,arguments)}};H.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(W,V){H.event.special[V]={setup:function(){H.event.add(this,W,s,V)},teardown:function(){H.event.remove(this,W,s)}}});H.fn.extend({bind:function(W,X,V){return W=="unload"?this.one(W,X,V):this.each(function(){H.event.add(this,W,V||X,V&&X)})},one:function(X,Y,W){var V=H.event.proxy(W||Y,function(Z){H(this).unbind(Z,V);return(W||Y).apply(this,arguments)});return this.each(function(){H.event.add(this,X,V,W&&Y)})},unbind:function(W,V){return this.each(function(){H.event.remove(this,W,V)})},trigger:function(V,W){return this.each(function(){H.event.trigger(V,W,this)})},triggerHandler:function(V,X){if(this[0]){var W=H.Event(V);W.preventDefault();W.stopPropagation();H.event.trigger(W,X,this[0]);return W.result}},toggle:function(X){var V=arguments,W=1;while(W<V.length){H.event.proxy(X,V[W++])}return this.click(H.event.proxy(X,function(Y){this.lastToggle=(this.lastToggle||0)%W;Y.preventDefault();return V[this.lastToggle++].apply(this,arguments)||false}))},hover:function(V,W){return this.mouseenter(V).mouseleave(W)},ready:function(V){S();if(H.isReady){V.call(document,H)}else{H.readyList.push(V)}return this},live:function(X,W){var V=H.event.proxy(W);V.guid+=this.selector+X;H(document).bind(A(X,this.selector),this.selector,V);return this},die:function(W,V){H(document).unbind(A(W,this.selector),V?{guid:V.guid+this.selector+W}:null);return this}});function u(Y){var V=RegExp("(^|\\.)"+Y.type+"(\\.|$)"),X=true,W=[];H.each(H.data(this,"events").live||[],function(Z,aa){if(V.test(aa.type)){var ab=H(Y.target).closest(aa.data)[0];if(ab){W.push({elem:ab,fn:aa})}}});W.sort(function(aa,Z){return H.data(aa.elem,"closest")-H.data(Z.elem,"closest")});H.each(W,function(){if(this.fn.call(this.elem,Y,this.fn.data)===false){return(X=false)}});return X}function A(W,V){return["live",W,V.replace(/\./g,"`").replace(/ /g,"|")].join(".")}H.extend({isReady:false,readyList:[],ready:function(){if(!H.isReady){H.isReady=true;if(H.readyList){H.each(H.readyList,function(){this.call(document,H)});H.readyList=null}H(document).triggerHandler("ready")}}});var P=false;function S(){if(P){return}P=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);H.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);H.ready()}});if(document.documentElement.doScroll&&C==C.top){(function(){if(H.isReady){return}try{document.documentElement.doScroll("left")}catch(V){setTimeout(arguments.callee,0);return}H.ready()})()}}}H.event.add(C,"load",H.ready)}H.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(W,V){H.fn[V]=function(X){return X?this.bind(V,X):this.trigger(V)}});H(C).bind("unload",function(){for(var V in H.cache){if(V!=1&&H.cache[V].handle){H.event.remove(H.cache[V].handle.elem)}}});(function(){H.support={};var W=document.documentElement,X=document.createElement("script"),ab=document.createElement("div"),aa="script"+(new Date).getTime();ab.style.display="none";ab.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var Y=ab.getElementsByTagName("*"),V=ab.getElementsByTagName("a")[0];if(!Y||!Y.length||!V){return}H.support={leadingWhitespace:ab.firstChild.nodeType==3,tbody:!ab.getElementsByTagName("tbody").length,objectAll:!!ab.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!ab.getElementsByTagName("link").length,style:/red/.test(V.getAttribute("style")),hrefNormalized:V.getAttribute("href")==="/a",opacity:V.style.opacity==="0.5",cssFloat:!!V.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};X.type="text/javascript";try{X.appendChild(document.createTextNode("window."+aa+"=1;"))}catch(Z){}W.insertBefore(X,W.firstChild);if(C[aa]){H.support.scriptEval=true;delete C[aa]}W.removeChild(X);if(ab.attachEvent&&ab.fireEvent){ab.attachEvent("onclick",function(){H.support.noCloneEvent=false;ab.detachEvent("onclick",arguments.callee)});ab.cloneNode(true).fireEvent("onclick")}H(function(){var ac=document.createElement("div");ac.style.width=ac.style.paddingLeft="1px";document.body.appendChild(ac);H.boxModel=H.support.boxModel=ac.offsetWidth===2;document.body.removeChild(ac).style.display="none"})})();var O=H.support.cssFloat?"cssFloat":"styleFloat";H.props={"for":"htmlFor","class":"className","float":O,cssFloat:O,styleFloat:O,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};H.fn.extend({_load:H.fn.load,load:function(X,aa,ab){if(typeof X!=="string"){return this._load(X)}var Z=X.indexOf(" ");if(Z>=0){var V=X.slice(Z,X.length);X=X.slice(0,Z)}var Y="GET";if(aa){if(H.isFunction(aa)){ab=aa;aa=null}else{if(typeof aa==="object"){aa=H.param(aa);Y="POST"}}}var W=this;H.ajax({url:X,type:Y,dataType:"html",data:aa,complete:function(ad,ac){if(ac=="success"||ac=="notmodified"){W.html(V?H("<div/>").append(ad.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(V):ad.responseText)}if(ab){W.each(ab,[ad.responseText,ac,ad])}}});return this},serialize:function(){return H.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?H.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(V,W){var X=H(this).val();return X==null?null:H.isArray(X)?H.map(X,function(Z,Y){return{name:W.name,value:Z}}):{name:W.name,value:X}}).get()}});H.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(V,W){H.fn[W]=function(X){return this.bind(W,X)}});var J=w();H.extend({get:function(V,X,Y,W){if(H.isFunction(X)){Y=X;X=null}return H.ajax({type:"GET",url:V,data:X,success:Y,dataType:W})},getScript:function(V,W){return H.get(V,null,W,"script")},getJSON:function(V,W,X){return H.get(V,W,X,"json")},post:function(V,X,Y,W){if(H.isFunction(X)){Y=X;X={}}return H.ajax({type:"POST",url:V,data:X,success:Y,dataType:W})},ajaxSetup:function(V){H.extend(H.ajaxSettings,V)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return C.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(ad){ad=H.extend(true,ad,H.extend(true,{},H.ajaxSettings,ad));var an,W=/=\?(&|$)/g,ai,am,X=ad.type.toUpperCase();if(ad.data&&ad.processData&&typeof ad.data!=="string"){ad.data=H.param(ad.data)}if(ad.dataType=="jsonp"){if(X=="GET"){if(!ad.url.match(W)){ad.url+=(ad.url.match(/\?/)?"&":"?")+(ad.jsonp||"callback")+"=?"}}else{if(!ad.data||!ad.data.match(W)){ad.data=(ad.data?ad.data+"&":"")+(ad.jsonp||"callback")+"=?"}}ad.dataType="json"}if(ad.dataType=="json"&&(ad.data&&ad.data.match(W)||ad.url.match(W))){an="jsonp"+J++;if(ad.data){ad.data=(ad.data+"").replace(W,"="+an+"$1")}ad.url=ad.url.replace(W,"="+an+"$1");ad.dataType="script";C[an]=function(ao){am=ao;Z();ac();C[an]=y;try{delete C[an]}catch(ap){}if(Y){Y.removeChild(ak)}}}if(ad.dataType=="script"&&ad.cache==null){ad.cache=false}if(ad.cache===false&&X=="GET"){var V=w();var al=ad.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+V+"$2");ad.url=al+((al==ad.url)?(ad.url.match(/\?/)?"&":"?")+"_="+V:"")}if(ad.data&&X=="GET"){ad.url+=(ad.url.match(/\?/)?"&":"?")+ad.data;ad.data=null}if(ad.global&&!H.active++){H.event.trigger("ajaxStart")}var ah=/^(\w+:)?\/\/([^\/?#]+)/.exec(ad.url);if(ad.dataType=="script"&&X=="GET"&&ah&&(ah[1]&&ah[1]!=location.protocol||ah[2]!=location.host)){var Y=document.getElementsByTagName("head")[0];var ak=document.createElement("script");if(ad.scriptCharset){ak.charset=ad.scriptCharset}ak.src=ad.url;if(!an){var af=false;ak.onload=ak.onreadystatechange=function(){if(!af&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){af=true;Z();ac();ak.onload=ak.onreadystatechange=null;Y.removeChild(ak)}}}Y.appendChild(ak);return y}var ab=false;var aa=ad.xhr();if(ad.username){aa.open(X,ad.url,ad.async,ad.username,ad.password)}else{aa.open(X,ad.url,ad.async)}try{if(ad.data){aa.setRequestHeader("Content-Type",ad.contentType)}if(ad.ifModified){aa.setRequestHeader("If-Modified-Since",H.lastModified[ad.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}aa.setRequestHeader("X-Requested-With","XMLHttpRequest");aa.setRequestHeader("Accept",ad.dataType&&ad.accepts[ad.dataType]?ad.accepts[ad.dataType]+", */*":ad.accepts._default)}catch(aj){}if(ad.beforeSend&&ad.beforeSend(aa,ad)===false){if(ad.global&&!--H.active){H.event.trigger("ajaxStop")}aa.abort();return false}if(ad.global){H.event.trigger("ajaxSend",[aa,ad])}var ae=function(ao){if(aa.readyState==0){if(ag){clearInterval(ag);ag=null;if(ad.global&&!--H.active){H.event.trigger("ajaxStop")}}}else{if(!ab&&aa&&(aa.readyState==4||ao=="timeout")){ab=true;if(ag){clearInterval(ag);ag=null}ai=ao=="timeout"?"timeout":!H.httpSuccess(aa)?"error":ad.ifModified&&H.httpNotModified(aa,ad.url)?"notmodified":"success";if(ai=="success"){try{am=H.httpData(aa,ad.dataType,ad)}catch(aq){ai="parsererror"}}if(ai=="success"){var ap;try{ap=aa.getResponseHeader("Last-Modified")}catch(aq){}if(ad.ifModified&&ap){H.lastModified[ad.url]=ap}if(!an){Z()}}else{H.handleError(ad,aa,ai)}ac();if(ao){aa.abort()}if(ad.async){aa=null}}}};if(ad.async){var ag=setInterval(ae,13);if(ad.timeout>0){setTimeout(function(){if(aa&&!ab){ae("timeout")}},ad.timeout)}}try{aa.send(ad.data)}catch(aj){H.handleError(ad,aa,null,aj)}if(!ad.async){ae()}function Z(){if(ad.success){ad.success(am,ai)}if(ad.global){H.event.trigger("ajaxSuccess",[aa,ad])}}function ac(){if(ad.complete){ad.complete(aa,ai)}if(ad.global){H.event.trigger("ajaxComplete",[aa,ad])}if(ad.global&&!--H.active){H.event.trigger("ajaxStop")}}return aa},handleError:function(W,Y,V,X){if(W.error){W.error(Y,V,X)}if(W.global){H.event.trigger("ajaxError",[Y,W,X])}},active:0,httpSuccess:function(W){try{return !W.status&&location.protocol=="file:"||(W.status>=200&&W.status<300)||W.status==304||W.status==1223}catch(V){}return false},httpNotModified:function(X,V){try{var Y=X.getResponseHeader("Last-Modified");return X.status==304||Y==H.lastModified[V]}catch(W){}return false},httpData:function(aa,Y,X){var W=aa.getResponseHeader("content-type"),V=Y=="xml"||!Y&&W&&W.indexOf("xml")>=0,Z=V?aa.responseXML:aa.responseText;if(V&&Z.documentElement.tagName=="parsererror"){throw"parsererror"}if(X&&X.dataFilter){Z=X.dataFilter(Z,Y)}if(typeof Z==="string"){if(Y=="script"){H.globalEval(Z)}if(Y=="json"){Z=C["eval"]("("+Z+")")}}return Z},param:function(V){var X=[];function Y(Z,aa){X[X.length]=encodeURIComponent(Z)+"="+encodeURIComponent(aa)}if(H.isArray(V)||V.jquery){H.each(V,function(){Y(this.name,this.value)})}else{for(var W in V){if(H.isArray(V[W])){H.each(V[W],function(){Y(W,this)})}else{Y(W,H.isFunction(V[W])?V[W]():V[W])}}}return X.join("&").replace(/%20/g,"+")}});var E={},F,v=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function L(W,V){var X={};H.each(v.concat.apply([],v.slice(0,V)),function(){X[this]=W});return X}H.fn.extend({show:function(aa,ac){if(aa){return this.animate(L("show",3),aa,ac)}else{for(var Y=0,W=this.length;Y<W;Y++){var V=H.data(this[Y],"olddisplay");this[Y].style.display=V||"";if(H.css(this[Y],"display")==="none"){var X=this[Y].tagName,ab;if(E[X]){ab=E[X]}else{var Z=H("<"+X+" />").appendTo("body");ab=Z.css("display");if(ab==="none"){ab="block"}Z.remove();E[X]=ab}H.data(this[Y],"olddisplay",ab)}}for(var Y=0,W=this.length;Y<W;Y++){this[Y].style.display=H.data(this[Y],"olddisplay")||""}return this}},hide:function(Y,Z){if(Y){return this.animate(L("hide",3),Y,Z)}else{for(var X=0,W=this.length;X<W;X++){var V=H.data(this[X],"olddisplay");if(!V&&V!=="none"){H.data(this[X],"olddisplay",H.css(this[X],"display"))}}for(var X=0,W=this.length;X<W;X++){this[X].style.display="none"}return this}},_toggle:H.fn.toggle,toggle:function(X,W){var V=typeof X==="boolean";return H.isFunction(X)&&H.isFunction(W)?this._toggle.apply(this,arguments):X==null||V?this.each(function(){var Y=V?X:H(this).is(":hidden");H(this)[Y?"show":"hide"]()}):this.animate(L("toggle",3),X,W)},fadeTo:function(V,X,W){return this.animate({opacity:X},V,W)},animate:function(Z,W,Y,X){var V=H.speed(W,Y,X);return this[V.queue===false?"each":"queue"](function(){var ab=H.extend({},V),ad,ac=this.nodeType==1&&H(this).is(":hidden"),aa=this;for(ad in Z){if(Z[ad]=="hide"&&ac||Z[ad]=="show"&&!ac){return ab.complete.call(this)}if((ad=="height"||ad=="width")&&this.style){ab.display=H.css(this,"display");ab.overflow=this.style.overflow}}if(ab.overflow!=null){this.style.overflow="hidden"}ab.curAnim=H.extend({},Z);H.each(Z,function(af,aj){var ai=new H.fx(aa,ab,af);if(/toggle|show|hide/.test(aj)){ai[aj=="toggle"?ac?"show":"hide":aj](Z)}else{var ah=aj.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),ak=ai.cur(true)||0;if(ah){var ae=parseFloat(ah[2]),ag=ah[3]||"px";if(ag!="px"){aa.style[af]=(ae||1)+ag;ak=((ae||1)/ai.cur(true))*ak;aa.style[af]=ak+ag}if(ah[1]){ae=((ah[1]=="-="?-1:1)*ae)+ak}ai.custom(ak,ae,ag)}else{ai.custom(ak,aj,"")}}});return true})},stop:function(W,V){var X=H.timers;if(W){this.queue([])}this.each(function(){for(var Y=X.length-1;Y>=0;Y--){if(X[Y].elem==this){if(V){X[Y](true)}X.splice(Y,1)}}});if(!V){this.dequeue()}return this}});H.each({slideDown:L("show",1),slideUp:L("hide",1),slideToggle:L("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(V,W){H.fn[V]=function(X,Y){return this.animate(W,X,Y)}});H.extend({speed:function(X,Y,W){var V=typeof X==="object"?X:{complete:W||!W&&Y||H.isFunction(X)&&X,duration:X,easing:W&&Y||Y&&!H.isFunction(Y)&&Y};V.duration=H.fx.off?0:typeof V.duration==="number"?V.duration:H.fx.speeds[V.duration]||H.fx.speeds._default;V.old=V.complete;V.complete=function(){if(V.queue!==false){H(this).dequeue()}if(H.isFunction(V.old)){V.old.call(this)}};return V},easing:{linear:function(X,Y,V,W){return V+W*X},swing:function(X,Y,V,W){return((-Math.cos(X*Math.PI)/2)+0.5)*W+V}},timers:[],fx:function(W,V,X){this.options=V;this.elem=W;this.prop=X;if(!V.orig){V.orig={}}}});H.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(H.fx.step[this.prop]||H.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(W){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var V=parseFloat(H.css(this.elem,this.prop,W));return V&&V>-10000?V:parseFloat(H.curCSS(this.elem,this.prop))||0},custom:function(Z,Y,X){this.startTime=w();this.start=Z;this.end=Y;this.unit=X||this.unit||"px";this.now=this.start;this.pos=this.state=0;var V=this;function W(aa){return V.step(aa)}W.elem=this.elem;if(W()&&H.timers.push(W)&&!F){F=setInterval(function(){var ab=H.timers;for(var aa=0;aa<ab.length;aa++){if(!ab[aa]()){ab.splice(aa--,1)}}if(!ab.length){clearInterval(F);F=y}},13)}},show:function(){this.options.orig[this.prop]=H.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());H(this.elem).show()},hide:function(){this.options.orig[this.prop]=H.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(Y){var X=w();if(Y||X>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var V=true;for(var W in this.options.curAnim){if(this.options.curAnim[W]!==true){V=false}}if(V){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(H.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){H(this.elem).hide()}if(this.options.hide||this.options.show){for(var Z in this.options.curAnim){H.attr(this.elem.style,Z,this.options.orig[Z])}}this.options.complete.call(this.elem)}return false}else{var aa=X-this.startTime;this.state=aa/this.options.duration;this.pos=H.easing[this.options.easing||(H.easing.swing?"swing":"linear")](this.state,aa,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};H.extend(H.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(V){H.attr(V.elem.style,"opacity",V.now)},_default:function(V){if(V.elem.style&&V.elem.style[V.prop]!=null){V.elem.style[V.prop]=V.now+V.unit}else{V.elem[V.prop]=V.now}}}});if(document.documentElement.getBoundingClientRect){H.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return H.offset.bodyOffset(this[0])}var X=this[0].getBoundingClientRect(),aa=this[0].ownerDocument,W=aa.body,V=aa.documentElement,ac=V.clientTop||W.clientTop||0,ab=V.clientLeft||W.clientLeft||0,Z=X.top+(self.pageYOffset||H.boxModel&&V.scrollTop||W.scrollTop)-ac,Y=X.left+(self.pageXOffset||H.boxModel&&V.scrollLeft||W.scrollLeft)-ab;return{top:Z,left:Y}}}else{if(document.getBoxObjectFor){H.fn.offset=function(){if(this[0]===document){return{top:0,left:0}}var aa=document.getBoxObjectFor(this[0]),Z=0,ac=0,Y=this[0],ab=Y.ownerDocument,W=ab.documentElement,V=ab.body;var X=ab.defaultView.getComputedStyle(Y,null);while((Y=Y.parentNode)&&Y!==V&&Y!==W){Z+=Y.scrollTop;ac+=Y.scrollLeft}return{top:aa.y-parseInt(X.borderTopWidth,10)-Z,left:aa.x-parseInt(X.borderLeftWidth,10)-ac}}}else{H.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return H.offset.bodyOffset(this[0])}H.offset.initialized||H.offset.initialize();var aa=this[0],X=aa.offsetParent,W=aa,af=aa.ownerDocument,ad,Y=af.documentElement,ab=af.body,ac=af.defaultView,V=ac.getComputedStyle(aa,null),ae=aa.offsetTop,Z=aa.offsetLeft;while((aa=aa.parentNode)&&aa!==ab&&aa!==Y){ad=ac.getComputedStyle(aa,null);if(!q.opera||q.version>9.27||(aa.tagName!="TR"&&aa.tagName!="TBODY")){ae-=aa.scrollTop,Z-=aa.scrollLeft}if(aa===X){ae+=aa.offsetTop,Z+=aa.offsetLeft;if(H.offset.doesNotAddBorder&&!(H.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(aa.tagName))){ae+=parseInt(ad.borderTopWidth,10)||0,Z+=parseInt(ad.borderLeftWidth,10)||0}W=X,X=aa.offsetParent}if(H.offset.subtractsBorderForOverflowNotVisible&&ad.overflow!=="visible"){ae+=parseInt(ad.borderTopWidth,10)||0,Z+=parseInt(ad.borderLeftWidth,10)||0}V=ad}if(V.position==="relative"||V.position==="static"){ae+=ab.offsetTop,Z+=ab.offsetLeft}if(V.position==="fixed"){ae+=Math.max(Y.scrollTop,ab.scrollTop),Z+=Math.max(Y.scrollLeft,ab.scrollLeft)}return{top:ae,left:Z}}}}H.offset={initialize:function(){if(this.initialized){return}var ac=document.body,W=document.createElement("div"),Y,X,ae,Z,ad,V,aa=ac.style.marginTop,ab='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';ad={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(V in ad){W.style[V]=ad[V]}W.innerHTML=ab;ac.insertBefore(W,ac.firstChild);Y=W.firstChild,X=Y.firstChild,Z=Y.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(X.offsetTop!==5);this.doesAddBorderForTableAndCells=(Z.offsetTop===5);Y.style.overflow="hidden",Y.style.position="relative";this.subtractsBorderForOverflowNotVisible=(X.offsetTop===-5);ac.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(ac.offsetTop===0);ac.style.marginTop=aa;ac.removeChild(W);this.initialized=true},bodyOffset:function(V){H.offset.initialized||H.offset.initialize();var X=V.offsetTop,W=V.offsetLeft;if(H.offset.doesNotIncludeMarginInBodyOffset){X+=parseInt(H.curCSS(V,"marginTop",true),10)||0,W+=parseInt(H.curCSS(V,"marginLeft",true),10)||0}return{top:X,left:W}}};H.fn.extend({position:function(){var Z=0,Y=0,W;if(this[0]){var X=this.offsetParent(),aa=this.offset(),V=/^body|html$/i.test(X[0].tagName)?{top:0,left:0}:X.offset();aa.top-=B(this,"marginTop");aa.left-=B(this,"marginLeft");V.top+=B(X,"borderTopWidth");V.left+=B(X,"borderLeftWidth");W={top:aa.top-V.top,left:aa.left-V.left}}return W},offsetParent:function(){var V=this[0].offsetParent||document.body;while(V&&(!/^body|html$/i.test(V.tagName)&&H.css(V,"position")=="static")){V=V.offsetParent}return H(V)}});var G=typeof C.pageXOffset=="number";H.each(["Left","Top"],function(W,V){var X="scroll"+V;H.fn[X]=function(Y){if(!this[0]){return null}return Y!==y?this.each(function(){this==C||this==document?C.scrollTo(!W?Y:H(C).scrollLeft(),W?Y:H(C).scrollTop()):this[X]=Y}):this[0]==C||this[0]==document?(G?self[W?"pageYOffset":"pageXOffset"]:H.boxModel&&document.documentElement[X]||document.body[X]):this[0][X]}});H.each(["Height","Width"],function(Z,X){var V=Z?"Left":"Top",Y=Z?"Right":"Bottom",W=X.toLowerCase();H.fn["inner"+X]=function(){return this[0]?H.css(this[0],W,false,"padding"):null};H.fn["outer"+X]=function(ab){return this[0]?H.css(this[0],W,false,ab?"margin":"border"):null};var aa=X.toLowerCase();H.fn[aa]=function(ab){return this[0]==C?q.opera&&C["inner"+X]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+X]||document.body["client"+X]:this[0]==document?Math.max(document.documentElement["client"+X],document.body["scroll"+X],document.documentElement["scroll"+X],document.body["offset"+X],document.documentElement["offset"+X]):ab===y?(this.length?H.css(this[0],aa):null):this.css(aa,typeof ab==="string"?ab:ab+"px")}})})();k.jQuery.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||["unknown"])[0].replace("sunos","solaris")};(function(s){s.fn.removeFromDom=function(){return this.each(function(){if(this&&this.parentNode){this.parentNode.removeChild(this)}})}})(k.jQuery);(function(y){var B=y.fn.bind;var C=y.fn.unbind;var s=/keydown|keypress|keyup/g;var u={8:"backspace",9:"tab",13:"return",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",107:"+",109:"-",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",145:"scroll",144:"numlock"};var x={};y.fn.bind=function(H,I,G){var F;if(F=z(H,I)){if(F.unhandled){B.call(this,F.unhandled,I,G)}var D=y.isFunction(I);var J=(D&&I||G);var E=typeof I=="string"?{shortcut:I}:(D?{}:I);E.__hotkeys__=F;return B.call(this,F.handled,E,w(J,function(K){if(t(K)){J.apply(this,arguments)}},F.parsedData.shortcut))}return B.apply(this,arguments)};y.fn.unbind=function(G,H,F){var E;if((E=z(G,H))&&F.guid){if(E.unhandled){C.call(this,E.unhandled,H,F)}var D=x[F.guid][E.parsedData.shortcut];return C.call(this,E.handled,{guid:D})}return C.apply(this,arguments)};function z(E,F){if(typeof E!="string"){return null}var D;D=E.match(s);if(!D){return null}var H=v(F);if(!H||!H.key){return null}var G=y.trim(E.replace(s,""));return{handled:D.join(" "),unhandled:G,parsedData:H}}function v(E){var G={};if(typeof E=="string"){var D=y.trim(E)=="+"?["+"]:E.toLowerCase().split(/\s*\+\s*/);G.altKey=y.inArray("alt",D)!=-1;G.ctrlKey=y.inArray("ctrl",D)!=-1;G.shiftKey=y.inArray("shift",D)!=-1;G.key=D[D.length-1]}else{if(E===undefined){return null}else{G=E;G.altKey=!!G.alt;G.ctrlKey=!!G.ctrl;G.shiftKey=!!G.shift}}G.shortcut=(G.altKey?"alt+":"")+(G.ctrlKey?"ctrl+":"")+(G.shiftKey?"shift+":"")+G.key;G.disableInInput=!!G.disableInInput;if(!G.key){return null}if(typeof G.key!="string"){var F=parseInt(G.key);if(!isNaN(F)){G.key=String.fromCharCode(F).toLowerCase()}}else{G.key=G.key.toLowerCase();if(G.key.length>1){var H=false;y.each(u,function(){H=H||this.toString()==G.key});if(!H){return null}}}return G}function t(E){if(E.data&&E.data.__hotkeys__){var D=E.data.__hotkeys__.parsedData;E.altKey=E.altKey||E.originalEvent.altKey;try{if(D.disableInInput&&E.originalTarget&&E.originalTarget.nodeName){var F=E.originalTarget.nodeName.toLowerCase();if(F=="input"||F=="textarea"){return false}}}catch(E){}if((u[E.which]==D.key||String.fromCharCode(E.which).toLowerCase()==D.key)&&A(D,E,["altKey","ctrlKey","shiftKey"])){return true}}return false}function A(G,E,D){var F=true;y.each(D,function(){var H=this.toString();F=F&&G[H]==E[H]});return F}function w(F,E,D){if(!F.guid){F.guid=y.event.guid++}if(!x[F.guid]){x[F.guid]={}}E.guid=x[F.guid][D]=E.guid||x[F.guid][D]||y.event.guid++;return E}})(k.jQuery);(function(s){s.fn.wheel=function(v){return this[v?"bind":"trigger"]("wheel",v)};s.event.special.wheel={setup:function(){s.event.add(this,u,t,{})},teardown:function(){s.event.remove(this,u,t)}};var u=!s.browser.mozilla?"mousewheel":"DOMMouseScroll"+(s.browser.version<"1.9"?" mousemove":"");function t(w){var v=w.originalEvent;switch(w.type){case"mousemove":return s.extend(w.data,{clientX:w.clientX,clientY:w.clientY,pageX:w.pageX,pageY:w.pageY});case"DOMMouseScroll":s.extend(w,w.data);w.delta=-w.detail/3;if(v.axis!==undefined&&v.axis==1){w.deltaX=w.delta;w.deltaY=0}else{w.deltaX=0;w.deltaY=w.delta}break;case"mousewheel":w.delta=w.wheelDelta/120;if(v.wheelDeltaX!==undefined){w.deltaX=v.wheelDeltaX/120;w.deltaY=v.wheelDeltaY/120}else{w.deltaX=0;w.deltaY=w.delta}if(s.browser.opera&&s.browser.version<"9.2"){w.delta*=-1}break}w.type="wheel";return s.event.handle.call(this,w,w.delta)}})(k.jQuery);if(g.loadByRequire){(function(){var s=function(){if(document.body){k.jQuery.ready()}else{window.setTimeout(s,10)}};s()})()}var d=k.Utils=g.Utils={},b,a,h=k.jQuery;var q=d.browser=h.extend({},h.browser);q.version=parseFloat(q.version);q.quirksMode=(document.compatMode=="BackCompat");q.ieDocumentMode=q.msie&&(document.documentMode||0);var f=d.support=h.extend({},h.support);q.webkit=q.safari;(function(){var s=window.navigator.userAgent.toLowerCase();q.chrome=s.indexOf("chrome")!=-1;q.safari=s.indexOf("safari")!=-1&&!q.chrome;q.operaMobile=s.indexOf("opera mobi")!=-1;f.android=s.indexOf("android")!=-1;f.adobeAIR=s.indexOf("adobeair")!=-1;f.touchscreen=((q.safari||s.indexOf("dolfin")!=-1)&&s.indexOf("mobile")!=-1)||f.android||q.operaMobile})();var j=d.UNDEF="undefined";var o=d.extend=function(u,s){var t=function(){};t.prototype=s.prototype;t.prototype.constructor=s;return u.prototype=new t};var p=d.bindContext=function(t,s){return function(){return t.apply(s,arguments)}};var e=d.callMethod=function(x,t){x=x instanceof Array?x:[x];var u=Array.prototype.slice.call(arguments,2),v=0,s=x.length,w;for(;v<s;v++){(w=x[v])[t].apply(w,u)}};d.NULL=function(){return null};d.boundaryRestrict=function(u,t,s){if(typeof u==j||typeof t==j||t==null||typeof s==j||s==null){return NaN}return Math.max(Math.min(u,s),t)};d.cycleRestrict=function(u,t,s){if(typeof u==j||typeof t==j||t==null||typeof s==j||s==null){return NaN}if(u==Number.POSITIVE_INFINITY){return s}else{if(u==Number.NEGATIVE_INFINITY){return t}}return u-Math.floor((u-t)/(s-t))*(s-t)};d.normalizeContent=function(s){if(s===""||s===null||typeof s==j||s.nodeType==9){return null}else{if(s.nodeType==3||s.nodeType==1){return new g.DOMLayout(null,null,s)}else{if(typeof s=="object"){return s}else{return new g.TextLayout(null,null,s,0)}}}};d.size=function(v,u,x){if(typeof u==j){var t=h(v);return new k.Size(t.width(),t.height())}else{var w,s;if(u instanceof r){w=u.x;s=u.y}else{w=u;s=typeof x==j?u:x}v.style.width=w+"px";v.style.height=s+"px"}};d.position=function(u,t,s){if(typeof t==j){return new r(u.offsetLeft,u.offsetTop)}if(t instanceof r){var w=t.x,v=t.y}else{var w=t,v=typeof s==j?t:s}u.style.left=w+"px";u.style.top=v+"px"};d.sign=function(t){var s=Number(t);return(s<0?-1:(s>0?1:0))};d.fixIESize=function(t,u,s){t.css(u,t.parent().eq(0)[(u=="top"||u=="bottom")?"height":"width"]()%2?s[0]+"px":s[1]+"px")};d.imagesOnLoad=function(z,v,u){var s=h("img",z),x=0,y=0;for(var w=0,t=s.length;w<t;w++){(function(A,C){var B=function(D){h(C).css({visibility:""});l(A).events.remove(["load","error"],B);x--;if(v){v(C)}if(x==0&&u){u(y)}};if(C.src){h(C).css({visibility:"hidden"});l(A).events.add(["load","error"],B);A.src=C.src;x++}})(document.createElement("img"),s[w])}y=x;if(x==0&&u){window.setTimeout(function(){u(y)},0)}};(function(){var t=function(){this.originalEvent.preventDefault()},s=function(){this.originalEvent.stopPropagation()};d.touchEventFix=function(z,A,u){if(typeof(z.fixedTouch)==j){var y=h.extend({},z.originalEvent||z),v=u?(u.originalEvent||u):y,x=v.touches[0],w=v.touches[1];y.preventDefault=t;y.stopPropagation=s;y.which=y.button=1;y.originalEvent=z;y.fixedTouch=true;if(!A||A!="none"){h.each(["clientX","clientY","pageX","pageY","screenX","screenY"],function(){var B=this.toString();if(A=="average"&&w){y[B]=(x[B]+w[B])/2}else{y[B]=x[B]}})}return y}else{return z}}})();(function(){var s=0;h.extend(d,{uniqueIdField:"YMaps__id"+((new Date()).getTime()+Math.round(Math.random()*10000)),windowId:"YMaps__id"+s,generateId:function(){return"YMaps__id"+(++s)},generateUniqueId:function(){return"YMaps__id"+((new Date()).getTime()+Math.round(Math.random()*10000))},getUniqueId:function(t){if(t===window){return this.windowId}return t[this.uniqueIdField]||this.setUniqueId(t)},setUniqueId:function(t,u){if(typeof u==j){u=d.generateId()}return(t[this.uniqueIdField]=u)}})})();(function(){var t=function(){var G=(q.mozilla&&q.version<1.9)||(q.opera&&q.version<9.2),O=[],C,D,x,L,N,z,E;function J(S){if(L&&L!=S){R()}L=S;if(L){L.setCapture();L.attachEvent("onlosecapture",H)}}function R(){if(L){L.detachEvent("onlosecapture",H);L.releaseCapture();L=null}}function I(S,T){if(q.msie&&q.ieDocumentMode<9){L.attachEvent("on"+S,T)}else{document.addEventListener(S,T,true)}}function y(S,T){if(q.msie&&q.ieDocumentMode<9){L.detachEvent("on"+S,T)}else{document.removeEventListener(S,T,true)}}function P(S){if(S.type=="losecapture"){return 1}else{if(S.type=="mouseout"){if(!S.relatedTarget){return 1}else{return 0}}}return 0}function B(S,T){if(T){if(S.which==3&&!(q.safari&&h.os.name=="mac")){return 1}else{return 0}}else{if(S[q.msie&&q.ieDocumentMode<9?"button":"which"]==1){return 1}else{return 0}}}function w(){if(q.msie&&q.ieDocumentMode<9){J(C.getElement())}if(G){l(document).events.add("mouseout",H)}if(f.touchscreen){I("touchmove",M);I("touchend",v);I("touchcancel",v)}else{I("mousemove",M);I("mouseup",v)}}function u(){if(G){l(document).events.remove("mouseout",H)}if(N){y("click",A);y("mousemove",F);y("mousedown",F)}else{if(f.touchscreen){y("touchmove",M);y("touchend",v);y("touchcancel",v)}else{y("mousemove",M);y("mouseup",v)}}if(q.msie&&q.ieDocumentMode<9){R()}}function Q(S,T){var U=T.getEvent();if(!C&&B(U,S.byRightButton())){T.preventMapEvent();D=0;N=0;C=S;x=q.mozilla?U.originalEvent.explicitOriginalTarget:U.target;w();U.preventDefault();E=z=U;i.notify(C,"start",U)}}function M(V){if(f.touchscreen&&V.touches.length>1){return}var W=f.touchscreen?d.touchEventFix(V):h.event.fix(V),U=C.getTremor();g.preventMapEvent(W,"mousemove");W.preventDefault();z=W;if(!D){var S=typeof(U.offset)!=j,T=typeof(U.time)!=j;if(S||T){if(S){if(Math.abs(E.clientX-W.clientX)>U.offset||Math.abs(E.clientY-W.clientY)>U.offset){D=1}}if(T){if(W.timeStamp-E.timeStamp>U.time){D=1}}}else{D=1}}if(D){i.notify(C,"move",W)}}function H(S){var T=h.event.fix(S);if(P(T)){K(T)}}function K(T){u();var S=C;C=null;i.notify(S,"stop",f.touchscreen?z:T)}function v(S){var T=f.touchscreen?d.touchEventFix(S,"first",z):h.event.fix(S);if(C&&B(T,C.byRightButton())){K(T);if(D){g.preventMapEvent(T,"mouseup");T.preventDefault();if(!f.touchscreen&&B(T)&&(q.msie||x==(q.mozilla?S.explicitOriginalTarget:T.target))){N=1;if(q.msie&&q.ieDocumentMode<9){J(document.body)}I("click",A);I("mousemove",F);I("mousedown",F)}}}}function A(S){var T=h.event.fix(S);T.stopPropagation();u()}function F(){u()}this.add=function(S){if(h.inArray(S,O)==-1){var T=S.getMap();O.push(S);if(T){S.listener=k.Events.observe(T,T.Events.MouseDown,function(V,U){Q(S,U)})}else{S.listener=l(S.getElement()).events.eventListener().add("mousedown",function(V){var U=new k.MouseEvent(V,this._map);if(!U.isMapEventPrevented()){Q(S,U)}})}}};this.remove=function(S){var T=h.inArray(S,O);if(T!=-1){if(C==S){K(z)}if(S.listener.cleanup){S.listener.cleanup()}else{S.listener.removeAll()}O.splice(T,1)}};this.abort=function(S){if(C==S){u();C=null;D=0}}},s=new t();d.DragAndDrop={};d.DragAndDrop.MouseMove=function(v,x,u,w){this._element=v;this._byRightButton=x;this._tremor=u||{};this._map=w;this._id=d.generateUniqueId()};d.DragAndDrop.MouseMove.prototype={getElement:function(){return this._element},getId:function(){return this._id},byRightButton:function(){return this._byRightButton},getTremor:function(){return this._tremor},getMap:function(){return this._map},beginListening:function(){s.add(this)},stopListening:function(){s.remove(this)},abort:function(){s.abort(this)}}})();(d.ObjectStorage=function(){this._objects={}}).prototype={add:function(t,s){this._objects[t]=s},get:function(s){return typeof s=="object"&&!(s instanceof String)?s:this._objects[s]},remove:function(t){var s=this.get(t);delete this._objects[t];return s}};k.dataDispatcher={storage:{},add:function(s,t,v){var w=typeof(s)=="string"?s:d.getUniqueId(s),u=this.storage[w]||(this.storage[w]={list:{},count:0});if(!u.list[t]){u.count++}u.list[t]=v},get:function(s,t){var v=typeof(s)=="string"?s:d.getUniqueId(s),u=this.storage[v];return u&&u.list[t]},remove:function(s,t){var v=typeof(s)=="string"?s:d.getUniqueId(s),u=this.storage[v];if(u&&u.list[t]){delete u.list[t];if(!--u.count){delete this.storage[v]}}}};(function(){var s=k.dataDispatcher;b=k.DataManager=function(t){this.object=t};a=b.prototype;a.add=function(t,u){s.add(this.object,t,u);return this};a.get=function(t){return s.get(this.object,t)};a.remove=function(t){s.remove(this.object,t);return this}})();(function(){b=k.EventManager=function(u){this.object=u;this.types={};this.typesCount=0};a=b.prototype;var s=a.getListenerId=function(v,u){return d.getUniqueId(v)+d.getUniqueId(u||window)};a.add=function(B,F,u){var x=this.types,C=typeof(B)=="string"?[B]:B,y=s(F,u);for(var A=0,z=C.length;A<z;A++){var E=C[A],D=x[E],w=false;if(!D){D=x[E]={first:null,last:null,list:{}};this.typesCount++;w=true}if(!D.list[y]){var v={callback:F,context:u||window,next:null,prev:D.last};if(D.last){D.last.next=v}else{D.first=v}D.last=D.list[y]=v}if(w){this.onStartListening(E)}}return this};a.remove=function(A,E,u){var x=typeof(E)=="string"?E:s(E,u),B=typeof(A)=="string"?[A]:A,w=this.types;for(var z=0,y=B.length;z<y;z++){var D=B[z],C=w[D];if(C&&C.list[x]){var v=C.list[x];v.deleted=true;if(v.prev){v.prev.next=v.next}else{if(C.first==v){C.first=v.next}}if(v.next){v.next.prev=v.prev}else{if(C.last==v){C.last=v.prev}}delete C.list[x];if(!C.last){delete w[D];this.typesCount--;this.onStopListening(D)}}}return this};a.onStartListening=function(u){this.fire("startlistening",u)};a.onStopListening=function(u){this.fire("stoplistening",u)};a.removeAll=function(){var v=this.types;for(var u in v){if(v.hasOwnProperty(u)){delete v[u];this.typesCount--;this.onStopListening(u)}}return this};var t=Array.prototype.slice;a.fire=function(w){var x=this.types,v=x&&x[w],y=v&&v.first,u=t.call(arguments,1);while(y){y.callback.apply(y.context,u);if(y.deleted){while(y&&y.deleted){y=y.prev}if(!y){y=v.first}else{y=y.next}}else{y=y.next}}return this};a.eventListener=function(){return new k.EventListener(this)}})();b=k.EventListener=function(s){this.events=s;this.types={}};a=b.prototype;a.add=function(x,A,t){var y=typeof(x)=="string"?[x]:x,B=this.events,u=B.getListenerId(A,t);for(var w=0,v=y.length;w<v;w++){var z=y[w],s=this.types[z]||(this.types[z]={count:0,listeners:{}});if(!s.listeners[u]){s.listeners[u]=true;s.count++;B.add(z,A,t)}}return this};a.remove=function(x,A,t){var y=typeof(x)=="string"?[x]:x,B=this.events,u=B.getListenerId(A,t);for(var w=0,v=y.length;w<v;w++){var z=y[w],s=this.types[z];if(s&&s.listeners[u]){delete s.listeners[u];if(!--s.count){delete this.types[z]}B.remove(z,A,t)}}return this};a.removeAll=function(){var s=this.events;for(var u in this.types){if(this.types.hasOwnProperty(u)){var v=this.types[u].listeners;for(var t in v){if(v.hasOwnProperty(t)){s.remove(u,t)}}}}this.types={};return this};(function(){var z=Array.prototype.slice,u=k.dataDispatcher,A="events",s="ieHandler",v=q.msie&&q.ieDocumentMode>=9,t=function(C){return function(E){var D=h.event.fix(E);u.get(C,A).fire(D.type,D)}},x=function(D){var C=h.event.fix(D);if(v){u.get(this.window||this,A).fire(C.type,C)}else{u.get(this,A).fire(C.type,C)}};var B=k.domDispatcher={override:{startlistening:{start:d.NULL,stop:d.NULL},stoplistening:{start:d.NULL,stop:d.NULL}},add:function(C,F,G,E){var D=u.get(C,A);if(!D){D=new w(C);u.add(C,A,D);if(q.msie&&q.ieDocumentMode<9){u.add(C,s,t(d.getUniqueId(C)))}}D.add(F,G,E);return this},remove:function(C,F,G,E){var D=u.get(C,A);if(D){D.remove(F,G,E)}return this},removeAll:function(C){var D=u.get(C,A);if(D){D.removeAll()}return this},fire:function(D){var E=u.get(D,A);if(E){var C=z.call(arguments,1);E.fire.apply(E,C)}return this},startListening:function(C,D){if(this.override[D]){this.override[D].start(C)}else{if(q.msie&&q.ieDocumentMode<9){C.object.attachEvent("on"+D,u.get(C.object,s))}else{C.object.addEventListener(D,x,false)}}},stopListening:function(C,D){if(this.override[D]){this.override[D].stop(C)}else{if(q.msie&&q.ieDocumentMode<9){C.object.detachEvent("on"+D,u.get(C.object,s))}else{C.object.removeEventListener(D,x,false)}}if(!C.typesCount){u.remove(C.object,A);if(q.msie&&q.ieDocumentMode<9){u.remove(C.object,s)}}}};var w=function(C){k.EventManager.call(this,C)};a=o(w,k.EventManager);var y=k.EventManager.prototype;a.onStartListening=function(C){B.startListening(this,C);y.onStartListening.call(this,C)};a.onStopListening=function(C){y.onStopListening.call(this,C);B.stopListening(this,C)}})();(function(){var s=k.domDispatcher;b=k.DomEventManager=function(t){this.object=t};a=b.prototype;a.add=function(u,v,t){s.add(this.object,u,v,t);return this};a.remove=function(u,v,t){s.remove(this.object,u,v,t);return this};a.removeAll=function(){s.removeAll(this.object);return this};a.fire=function(){var t=[this.object].concat(arguments);s.fire.apply(s,t)};a.getListenerId=k.EventManager.prototype.getListenerId;a.eventListener=function(){return new k.EventListener(this)}})();if(!f.touchscreen){(function(){var w=q.mozilla&&q.version<1.9,z=null,v=["clientX","clientY","pageX","pageY","screenX","screenY"],u=q.mozilla?"DOMMouseScroll":"mousewheel",y="wheelHandler",x=function(A){var B=function(C){t(A,C)};A.add(w?[u,"mousemove"]:u,B);k.dataDispatcher.add(A.object,y,B)},s=function(B){var A=d.getUniqueId(B.object);B.remove(w?[u,"mousemove"]:u,k.dataDispatcher.get(B.object,y));k.dataDispatcher.remove(B.object,y)},t=function(C,B){var A=B.originalEvent;if(A.type=="mousemove"){z=B}else{var D=h.extend({},B);if(q.opera&&q.version<9.2){D.delta*=-1}if(A.type=="DOMMouseScroll"){D.delta=-D.detail/3;if(A.axis!==undefined&&A.axis==1){D.deltaX=A.delta;D.deltaY=0}else{D.deltaX=0;D.deltaY=D.delta}if(w&&z){h.each(v,function(F,E){D[E]=z[E]})}}else{if(A.type=="mousewheel"){D.delta=D.wheelDelta/120;if(typeof(A.wheelDeltaX)!=j){D.deltaX=A.wheelDeltaX/120;D.deltaY=A.wheelDeltaY/120}else{D.deltaX=0;D.deltaY=D.delta}}}D.type="wheel";C.fire("wheel",D)}};k.domDispatcher.override.wheel={start:x,stop:s}})()}if(!f.touchscreen){(function(){var s={start:function(u,w,t){var v=function(x){s.fire(u,w,x)};k.dataDispatcher.add(u.object,w+"Handler",v);u.add(t,v)},stop:function(u,v,t){u.remove(t,k.dataDispatcher.get(u.object,v+"Handler"));k.dataDispatcher.remove(u.object,v+"Handler")},fire:function(v,y,u){var x=u.relatedTarget,t=v.object;while(x&&x!=t){try{x=x.parentNode}catch(z){x=t}}if(x!=t){var w=h.extend({},u);w.type=y;v.fire(y,w)}}};k.domDispatcher.override.mouseenter={start:function(t){s.start(t,"mouseenter","mouseover")},stop:function(t){s.stop(t,"mouseenter","mouseover")}};k.domDispatcher.override.mouseleave={start:function(t){s.start(t,"mouseleave","mouseout")},stop:function(t){s.stop(t,"mouseleave","mouseout")}}})()}if(f.touchscreen){(function(){var x=function(z){k.domDispatcher.override[z]={start:function(A){y(A,z)},stop:function(A){u(A,z)}}},w=["mouseenter","mousemove","mouseleave","mousedown","mouseup","click","dblclick","contextmenu","wheel","multitouchstart","multitouchmove","multitouchend"],v="touchData",y=function(z,A){var B=k.dataDispatcher.get(z.object,v);if(!B){B={types:{},count:0,touchMapper:new k.TouchMapper(z)};k.dataDispatcher.add(z.object,v,B)}if(!B.types[A]){if(!B.count){B.touchMapper.start()}B.types[A]=true;B.count++}},u=function(z,A){var B=k.dataDispatcher.get(z.object,v);if(B&&B.types[A]){delete B.types[A];if(!--B.count){B.touchMapper.stop();k.dataDispatcher.remove(z.object,v)}}};for(var t=0,s=w.length;t<s;t++){x(w[t])}})()}b=k.TouchMapper=function(s){this.events=s;this.__state={started:0,moved:0,multitouch:0};this.__initialZoomDistance=0};a=b.prototype;a.start=function(){this.__state={started:0,moved:0,multitouch:0};this.__listener=this.events.eventListener().add("touchstart",this.__onTouchStart,this).add("touchmove",this.__onTouchMove,this).add(["touchend","touchcancel"],this.__onTouchEnd,this)};a.stop=function(){this.__listener.removeAll();if(this.__state.started){this.__actionEnd(d.touchEventFix(this.__state.moved?this.__lastTouchMove:this.__initTouch),+(new Date()))}this.__state.started=0;this.__state.multitouch=0;this.__state.moved=0};a.__onTouchStart=function(s){var t=s.originalEvent;if(!this.__state.started&&t.touches.length==1){this.__state.started=1;this.__initTouch=t;this.__actionBegin(d.touchEventFix(t))}if(t.touches.length>1&&!this.__state.multitouch){this.__initialZoomDistance=this.__getZoomDistance(t);this.__state.multitouch=1;this.__notify("multitouchstart",d.touchEventFix(t,"none"))}};a.__getZoomDistance=function(y){var v=y.touches[0].clientX,x=y.touches[0].clientY,u=y.touches[1].clientX,w=y.touches[1].clientY,t=v-u,s=x-w;return Math.sqrt(t*t+s*s)};a.__onTouchMove=function(u){var y=u.originalEvent;this.__lastTouchMove=y;if(y.touches.length==1){if(!this.__state.started){this.__onTouchStart(u)}if(!this.__state.moved){this.__state.moved=1}this.__notify("mousemove",d.touchEventFix(y))}else{this.__state.multitouch=1;this.__notify("multitouchmove",d.touchEventFix(y,"none"));var t=this.__getZoomDistance(y),v=t/(this.__initialZoomDistance||1),x=v>1?1:-1,s=x*Math.floor(Math.abs(Math.log(v)/Math.log(2)));if(s!=0){var w=d.touchEventFix(y,"average");w.delta=w.deltaY=s;w.deltaX=0;this.__notify("wheel",w);this.__initialZoomDistance=t}}};a.__actionBegin=function(s){this.__notify("mouseenter",s);this.__notify("mousemove",s);this.__notify("mousedown",s)};a.__onTouchEnd=function(s){var t=s.originalEvent;if(this.__state.started){this.__actionEnd(d.touchEventFix(t,"average",this.__state.moved?this.__lastTouchMove:this.__initTouch),t.timeStamp)}if(this.__state.multitouch){this.__notify("multitouchend",d.touchEventFix(t,"none"))}this.__state.started=0;this.__state.multitouch=0;this.__state.moved=0};a.__actionEnd=function(s,u){var t=g.isMapEventPrevented(s,"mouseup");this.__notify("mouseup",s);if(!t&&!this.__state.multitouch){if(u-this.__initTouch.timeStamp>c.touch.contextMenuTimeout&&!this.__state.moved){this.__notify("contextmenu",s);this.__lastClickTimestamp=null}else{if(this.__lastClickTimestamp&&u-this.__lastClickTimestamp<c.dblClickTimeout){this.__notify("click",s);this.__notify("dblclick",s);this.__lastClickTimestamp=null}else{this.__notify("click",s);this.__lastClickTimestamp=u}}}this.__notify("mouseleave",s)};a.__notify=function(s,t){t.type=s;this.events.fire(s,t)};var l=k.dom=function(s){return{events:new k.DomEventManager(s),data:new k.DataManager(s)}};var c=k.Constants={copyrights:{agreement:"Условия использования",agreementLink:"http://maps.yandex.ru/agreement.xml",logoLink:"http://maps.yandex.ru",addStateToLogoLink:true},metric:{millimetre:"мм",centimetre:"см",metre:"м",kilometre:"км",days:"дн.",day:"д.",hours:"ч.",minutes:"мин.",seconds:"сек."},types:{MAP:"Схема",SATELLITE:"Спутник",HYBRID:"Гибрид"},tremor:{draggingControl:{offset:5,time:300},placemark:{offset:5,time:300},graphicsEditor:{offset:5,time:300}},dblClickTimeout:500,touch:{contextMenuTimeout:400},hints:{miniMap:{show:"Показать обзорную карту",hide:"Скрыть обзорную карту"},ruler:{close:"Удалить путь",sure:"Удалить все отметки? \n\n(для удаления только одной отметки\n дважды щелкните по ней)"},toolBar:{move:"Переместить карту",magnifier:"Увеличить",ruler:"Измерение расстояний на карте"},balloon:{close:"Закрыть"},zoom:[{index:2,value:"мир"},{index:5,value:"страна"},{index:9,value:"город"},{index:13,value:"улица"},{index:16,value:"дом"}],loading:{timeout:"Превышен интервал ожидания ответа от сервера"},searchControl:{mapSearch:"Поиск на карте",find:"Найти",wait:"Идет запрос к серверу...",notFound:"Искомая комбинация на карте не встречается",clear:"Очистить",quantity:[{found:"Найдено",objects:"объекта"},{found:"Найдено",objects:"объектов"},{found:"Найден",objects:"объект"}],correction:"По исходному запросу на карте ничего не найдено. Результаты для",previous:["Предыдущий","Предыдущие"],next:["Следующий","Следующие"],noname:"Без названия"},typeControl:{more:"Ещё"},graphicsEditor:{deleteVertex:"Удалить",startDrawing:"Продолжить",stopDrawing:"Завершить",removeInterior:"Удалить контур",addInterior:"Добавить внутренний контур"}}};c.imageRoot="http://api-maps.yandex.ru/i/0.4/";c.images={transparentImage:c.imageRoot+"zero.gif",toolBar:{iconSprite:c.imageRoot+"icons/icon-hand-ruler-zoom.png"}};c.cursors={arrow:{"class":"YMaps-cursor-default",cursor:"default"},crosshair:{"class":"YMaps-cursor-crosshair",cursor:"crosshair"},grab:{"class":"YMaps-cursor-grab",cursor:"url("+c.imageRoot+"cursors/grab.cur) 16 16, url("+c.imageRoot+"cursors/grab.cur), move"},grabbing:{"class":"YMaps-cursor-grabbing",cursor:"url("+c.imageRoot+"cursors/grabbing.cur) 16 16, url("+c.imageRoot+"cursors/grabbing.cur), move"},help:{"class":"YMaps-cursor-help",cursor:"url("+c.imageRoot+"cursors/help.cur), help"},move:{"class":"YMaps-cursor-move",cursor:"move"},pointer:{"class":"YMaps-cursor-pointer",cursor:"pointer"},zoom:{"class":"YMaps-cursor-zoom",cursor:"url("+c.imageRoot+"cursors/zoom_in.cur) 6 6, url("+c.imageRoot+"cursors/zoom_in.cur), crosshair"},inherit:{"class":"YMaps-cursor-inherit",cursor:"inherit"}};k.State={EMPTY:"Empty",LOADING:"Loading",SUCCESS:"Success",FAILURE:"Failure"};k.ZIndex={POLYGON:10,POLYLINE:20,MAP_LAYER:5,LAYER_CONTAINER:1,COMMON_OBJECT_LAYER:50,OVERLAY_SHADOW:100,OVERLAY:110,OVERLAY_HOVER:120,OVERLAY_DRAG:130,EDITOR_GLASS_PANE:150,EDITOR_EDGE_MARKER:160,EDITOR_VERTEX_MARKER:170,BALLOON:200,OVERLAY_ACTIVE:210,CONTROL:1000,POPUP:1001};k.Cursor={ARROW:"arrow",CROSSHAIR:"crosshair",GRAB:"grab",GRABBING:"grabbing",HELP:"help",MOVE:"move",POINTER:"pointer",ZOOM:"zoom",INHERIT:"inherit"};k.TILE_SIZE=256;k.GraphicsEditingMenuIDs={Delete:"Delete",StartDrawing:"StartDrawing",StopDrawing:"StopDrawing",AddInterior:"AddInterior",RemoveInterior:"RemoveInterior"};c.MapDOMEvents=["click","dblclick","contextmenu","mouseup","mousedown","mousemove","wheel"];c.MapMultiTouchEvents=["multitouchstart","multitouchmove","multitouchend"];k.Interactivity={NONE:0,STATIC:-1,INTERACTIVE:1};(function(){var t=c.metric;k.humanDistance=function(C,B){var z=B?u:w,y=z.length-1;for(var A=0,x=y;A<x;A++){if(C<z[A+1][0]){y=A;break}}y=z[y];C=Math.round(C/y[1])*y[1];C=C/y[2];C=Number(C.toFixed(y[3]));return String(C).replace(".",",")+"&#160;"+y[4]};var s=t.metre,v=t.kilometre,w=[[0,1,1,0,s],[0.00005,0.0001,0.001,1,t.millimetre],[0.02,0.001,0.01,1,t.centimetre],[0.2,0.01,1,2,s],[2,0.1,1,1,s],[20,1,1,0,s],[1000,1,1000,3,v],[2000,10,1000,2,v],[7000,100,1000,1,v],[50000,1000,1000,0,v]],u=[[0,1,1,0,s],[10,10,1,0,s],[100,50,1,0,s],[1000,100,1000,1,v],[3000,1000,1000,0,v]];k.humanDuration=function(y){var F=[1,60,3600,86400],D=[60,60,24,0],B=[t.seconds,t.minutes,t.hours,t.days],E=[0,0,0,0],A=[];for(var z=3,x,C=y;C&&z>=0;z--){x=Math.floor(y/F[z]);C=y%F[z];if(x>=20){x+=C/F[z]>=0.5?1:0;C=0}if(x==D[z]&&D[z]){E[z+1]++}else{E[z]=x}y=C}for(var z=0;z<=3;z++){if(E[z]){if((E[z]==1)&&(z==3)){B[z]=t.day}A.unshift(E[z]+"&#160;"+B[z])}}if(!A.length){A.unshift("0&#160;"+B[0])}return A.join("&#160;")}})();g.MathLib={ortho:function(y,w){var H=[y],J=1e-8,M=180/Math.PI,I=y.isUnbounded()&&w.isUnbounded(),x=function(V,U){return m.getCoordPoint(V*M,U*M,I)},Q=y.getX()/M,B=y.getY()/M,P=(w.isUnbounded()?w.getX():d.cycleRestrict(w.getX(),y.getX()-180,y.getX()+180))/M,z=w.getY()/M,G=P-Q,t=Math.round(Math.abs(G)/Math.PI),F=Math.sin(G),T=50;if(Math.abs(F)>J&&Math.cos(G)<1-J){var D=Math.sin(B),v=Math.cos(B),C=Math.sin(z),u=Math.cos(z),L=Math.ceil(T*(2*Math.floor(t/2)*Math.PI+Math.acos(D*C+v*u*Math.cos(G))))||1,R=G/L;for(var O=1;O<L;O++){var A=Q+R*O,E=-Math.atan((D*u*Math.sin(A-P)-C*v*Math.sin(A-Q))/(v*u*F));H.push(x(A,E))}}else{var s=Math.cos(G)>0?d.sign(z-B):d.sign(B+z),K=d.sign(G),S=function(W,V,U){return[x(W,V),x(W,U)]};if(Math.abs(s)<J){s=1}if(t){var N=s*Math.PI/2;H=S(Q,B,N);for(var O=1;O<t;O++){H.push(x(Q+Math.PI*(O-0.5)*K,N));h.merge(H,S(Q+Math.PI*O*K,N,-N));N=-N}H.push(x(P-Math.PI*0.5*K,N),x(P,N))}}H.push(w);return H},intervalsIntersect:function(x,w,v,u){if(w<x){var s=x;x=w;w=s}if(u<v){var s=v;v=u;u=s}if(x>u||v>w){return 0}return 1},sectorsIntersect:function(v,t,u,s){v=d.cycleRestrict(v,0,360);t=d.cycleRestrict(t,v,v+360);u=d.cycleRestrict(u,t,t-360);s=d.cycleRestrict(s,u,u+360);return g.MathLib.intervalsIntersect(v,t,u,s)}};var r=k.Point=function(s,t){this.x=(typeof s=="number"?s:Number(s))||0;this.y=typeof t==j?this.x:(typeof t=="number"?t:Number(t))||0};r.fromString=function(s){s=s.split(",");return new r(s[0],s[1])};r.prototype={getX:function(){return this.x},getY:function(){return this.y},setX:function(s){this.x=s;return this},setY:function(s){this.y=s;return this},toString:function(s){if(typeof s!=j&&!isNaN(parseInt(s))){return Number(this.x.toFixed(s))+","+Number(this.y.toFixed(s))}return this.x+","+this.y},copy:function(){return new this.constructor(this.x,this.y)},moveToX:function(s){this.x=s;return this},moveToY:function(s){this.y=s;return this},moveTo:function(s){this.x=s.x;this.y=s.y;return this},moveByX:function(s){this.x+=s;return this},moveByY:function(s){this.y+=s;return this},moveBy:function(s){this.x+=s.x;this.y+=s.y;return this},diff:function(s){return new this.constructor(s.x-this.x,s.y-this.y)},equals:function(s){return((this.x==s.x)&&(this.y==s.y))},scale:function(t){var s=typeof t.x!=j&&typeof t.y!=j;this.x*=s?t.x:t;this.y*=s?t.y:t;return this},scaleX:function(s){this.x*=s;return this},scaleY:function(s){this.y*=s;return this},apply:function(s){this.x=s(this.x);this.y=s(this.y);return this},applyX:function(s){this.x=s(this.x);return this},applyY:function(s){this.y=s(this.y);return this},neg:function(){return new this.constructor(-this.x,-this.y)},distance:function(s){var t=this.diff(s);return Math.sqrt((t.x*t.x)+(t.y*t.y))},length:function(){return Math.sqrt((this.x*this.x)+(this.y*this.y))},angle:function(){return Math.acos(this.x/this.length())}};r.prototype.constructor=r;k.Size=r;k.GeoPoint=function(s,t,u){this._unbounded=u||0;this.setX((typeof s=="number"?s:Number(s))||0);this.setY((typeof t=="number"?t:Number(t))||0)};a=k.GeoPoint.prototype;k.GeoPoint.fromString=function(s){s=s.split(",");return new k.GeoPoint(s[0],s[1])};a.toString=function(s){s=typeof s!=j?s:6;return Number(this.getX().toFixed(s))+","+Number(this.getY().toFixed(s))};a.isUnbounded=function(){return this._unbounded};a.setLng=function(s){this.__lng=this._unbounded?s:d.cycleRestrict(s,-180,180);return this};a.setX=a.setLng;a.getLng=function(){return this.__lng};a.getX=a.getLng;a.setLat=function(s){this.__lat=this._unbounded?s:d.boundaryRestrict(s,-90,90);return this};a.setY=a.setLat;a.getLat=function(){return this.__lat};a.getY=a.getLat;a.moveTo=function(s){this.setX(s.getX());this.setY(s.getY());return this};a.copy=function(){return new k.GeoPoint(this.getX(),this.getY(),this._unbounded)};a.diff=function(t){var u=t.getX()-this.getX();if(!t._unbounded){var s=Math.round(u/360);if(s){u-=s*360}}return new r(u,t.getY()-this.getY())};a.moveBy=function(s){this.setX(this.getX()+s.getX());this.setY(this.getY()+s.getY());return this};a.distance=function(s){return m.distance(this,s)};a.equals=function(s){return(Math.abs(s.getX()-this.getX())<2e-7&&Math.abs(s.getY()-this.getY())<2e-7&&s.isUnbounded()==this.isUnbounded())};b=k.Bounds=function(s,t){this._left=s.x;this._right=t.x;this._top=t.y;this._bottom=s.y};b.prototype={_getResultPoint:function(s,t){return new r(s,t)},_getDirection:function(s){return this.getLeftBottom().diff(s||this.getRightTop())},getTop:function(){return this._top},getRight:function(){return this._right},getBottom:function(){return this._bottom},getLeft:function(){return this._left},equals:function(s){return this.getLeftBottom().equals(s.getLeftBottom())&&this.getRightTop().equals(s.getRightTop())},getLeftTop:function(){return this._getResultPoint(this._left,this._top)},getRightTop:function(){return this._getResultPoint(this._right,this._top)},getRightBottom:function(){return this._getResultPoint(this._right,this._bottom)},getLeftBottom:function(){return this._getResultPoint(this._left,this._bottom)},getCenter:function(){return this._getResultPoint((this._left+this._right)/2,(this._top+this._bottom)/2)},getSpan:function(){return this._getDirection().apply(Math.abs)},contains:function(s){var u=this._getDirection(),t=this._getDirection(s);return(t.getX()>=Math.min(0,u.getX())&&t.getX()<=Math.max(0,u.getX())&&t.getY()>=Math.min(0,u.getY())&&t.getY()<=Math.max(0,u.getY()))},copy:function(){return new this.constructor(this.getLeftBottom(),this.getRightTop())},getMapZoom:function(y){var t=0,w=y.coordSystem,s=w.getCoordPoint(this._left,this._bottom,1),v=s.copy().moveBy(this._getDirection()),x=w.fromCoordPoint(s).diff(w.fromCoordPoint(v)).apply(Math.abs),u=y._state.size.x,z=x.x;if(z/u<x.y/y._state.size.y){z=x.y;u=y._state.size.y}while(z>u){z=Math.floor(z/2);t++}return Math.max(w.getMaxZoom()-t,0)},intersects:function(s){return(g.MathLib.intervalsIntersect(this.getLeft(),this.getRight(),s.getLeft(),s.getRight())&&g.MathLib.intervalsIntersect(this.getBottom(),this.getTop(),s.getBottom(),s.getTop()))}};b=k.GeoBounds=function(t,s){this._left=t.getX();this._right=s.getX();this._top=s.getY();this._bottom=t.getY();this._isResultUnbounded=t.isUnbounded()&&s.isUnbounded()};a=o(b,k.Bounds);b.fromCenterAndSpan=function(u,K){var y=m._radius,z=Math.PI,E=m._epsilon,w=Math.min(Math.max(u.getY()*z/180,-z/2+E),z/2-E),I=Math.max(Math.min(K.y,180),0),A=I*z/180,B=y*Math.log(Math.tan(w/2+z/4)),v=Math.exp(2*B/y),J=1,H=(v+1)*Math.tan(Math.min(Math.max(A/2,-z/2+E),z/2-E)),F=-v,t=Math.max(H*H-4*J*F,0),G=(-H+Math.sqrt(t))/2*J,x=((Math.atan(G)-z/4)*2)*180/z,s=u.isUnbounded()?K.x/2:Math.min(K.x/2,180-E);return new k.GeoBounds(new k.GeoPoint(u.getX()-s,x,u.isUnbounded()),new k.GeoPoint(u.getX()+s,x+I,u.isUnbounded()))};a._getResultPoint=function(s,t){return new k.GeoPoint(s,t,this._isResultUnbounded)};a._getDirection=function(t){t=t||this.getRightTop();var v=1e-10,s=t.isUnbounded()?t.getX()-this._left:d.cycleRestrict(t.getX()-this._left,-v,360-v),u=t.getY()-this._bottom;return new r(s,u)};a.getCenter=function(){var t=m.getCoordPoint(this._left,this._bottom,1),v=t.copy().moveBy(this._getDirection()),u=m.fromCoordPoint(t).moveBy(m.fromCoordPoint(v)).scale(0.5),s=m.toCoordPoint(u,1);return this._getResultPoint(s.getX(),s.getY())};a.intersects=function(s){return(g.MathLib.intervalsIntersect(this.getBottom(),this.getTop(),s.getBottom(),s.getTop())&&(this._isResultUnbounded?g.MathLib.intervalsIntersect(this.getLeft(),this.getRight(),s.getLeft(),s.getRight()):g.MathLib.sectorsIntersect(this.getLeft(),this.getRight(),s.getLeft(),s.getRight())))};b=k.CollectionBounds=function(s){var t=new r();k.Bounds.call(this,t,t);this._empty=1;if(s){this.add(s)}};a=o(b,k.Bounds);a.add=function(s){if(s instanceof Array){var t=this;h.each(s,function(){t.add(this)});return}if(this._empty){this._left=this._right=s.x;this._top=this._bottom=s.y;this._empty=0}else{if(s.x>this._right){this._right=s.x}else{if(s.x<this._left){this._left=s.x}}if(s.y<this._bottom){this._bottom=s.y}else{if(s.y>this._top){this._top=s.y}}}};a.clear=function(){this._left=this._top=this._right=this._bottom=0};b=k.GeoCollectionBounds=function(s){var t=new k.GeoPoint(0,0);k.GeoBounds.call(this,t,t);this._empty=1;this._lngs=[];if(s){this.add(s)}};a=o(b,k.GeoBounds);a.clear=function(){this._left=this._top=this._right=this._bottom=0;this._lngs=[]};a._insert=function(t){var s=d.cycleRestrict(t.getX(),-180,180),u=t.getY();if(this._empty){this._left=this._right=s;this._top=this._bottom=u;this._empty=0}if(this._top<u){this._top=u}else{if(this._bottom>u){this._bottom=u}}return s};a.add=function(t){if(t instanceof Array){var w=this;h.each(t,function(){w._lngs.push(w._insert(this))})}else{this._lngs.push(this._insert(t))}this._lngs.sort(function(y,x){return y-x});var s=0,v=this._lngs.length;if(v>0&&this._lngs[v-1]-this._lngs[0]>180){for(var u=0;u<v-1;u++){if(this._lngs[u+1]-this._lngs[u]>this._lngs[s+1]-this._lngs[s]){s=u}}if(this._lngs[0]+360-this._lngs[v-1]>this._lngs[s+1]-this._lngs[s]){this._left=this._lngs[0];this._right=this._lngs[v-1]}else{this._left=this._lngs[s+1];this._right=this._lngs[s]}}else{this._left=this._lngs[0];this._right=this._lngs[v-1]}};b=k.GeoCoordSystem=function(s,t){this._radius=s||6378137;if(s){this._equator=2*Math.PI*s}else{this._equator=40075016.68557849}this._e=0.0818191908426;this._e2=0.00669437999014;this._epsilon=1e-10;this._maxZoom=t||23;this._worldSize=Math.pow(2,this._maxZoom+8);this._a=this._worldSize/this._equator;this._b=this._equator/2;this._latRestriction=89.3};a=b.prototype;a.getCoordPoint=function(s,u,t){return new k.GeoPoint(s,u,t)};a.getCoordBounds=function(s,t){return new k.GeoBounds(s,t)};a.getWorldSize=function(){return new k.Point(this._worldSize,this._worldSize)};a.getMaxZoom=function(){return this._maxZoom};a.fromCoordPoint=function(t,u){if(t.isUnbounded()||!u){return this._mercatorToPixels(this._geoToMercator(t))}else{var s=u.getX();return this._mercatorToPixels(this._geoToMercator(this.getCoordPoint(d.cycleRestrict(t.getX(),s-180,s+180),t.getY(),1)))}};a.toCoordPoint=function(s,t){return this._mercatorToGeo(this._pixelsToMercator(s),t)};a.restrict=function(s){return s.copy().setY(d.boundaryRestrict(s.getY(),-this._latRestriction,this._latRestriction))};a.distance=function(A,z){var B=Math.PI/180,x=A.getX()*B,v=A.getY()*B,w=z.getX()*B,u=z.getY()*B,y=0;if(!(Math.abs(u-v)<this._epsilon&&Math.abs(x-w)<this._epsilon)){var C=Math.cos((v+u)/2),t=this._radius*Math.sqrt((1-this._e2)/(1-this._e2*C*C));y=t*Math.acos(Math.sin(v)*Math.sin(u)+Math.cos(v)*Math.cos(u)*Math.cos(w-x))}return y};a.rulerDistance=function(C,B){var y=C.getX(),v=C.getY(),x=B.getX(),t=B.getY(),z=0;if(!(Math.abs(t-v)<this._epsilon&&Math.abs(y-x)<this._epsilon)){var s=(v+(t-v)/2)*Math.PI/180,A=Math.atan(((x*60-y*60)/(t*60-v*60))*Math.cos(s)),u=this._radius,w=2*Math.PI*u/360;z=Math.abs(t-v)<this._epsilon?Math.abs(((x-y)/Math.sin(A))*Math.cos(s)*w):Math.abs(w*(t-v)/Math.cos(A))}return z};a._mercatorToGeo=function(t,x){var z=Math.PI,u=z/2,y=this._radius,D=0.003356551468879694,A=0.00000657187271079536,w=1.764564338702e-8,C=5.328478445e-11;var v=u-2*Math.atan(1/Math.exp(t.y/y));var B=v+D*Math.sin(2*v)+A*Math.sin(4*v)+w*Math.sin(6*v)+C*Math.sin(8*v);var s=t.x/y;return new k.GeoPoint(s*180/Math.PI,B*180/Math.PI,x)};a._geoToMercator=function(u){var s=u.getX()*Math.PI/180,A=d.boundaryRestrict(u.getY(),-90,90)*Math.PI/180,z=this._radius,y=this._e,t=y*Math.sin(A);var v=Math.tan(Math.PI/4+A/2)||this._epsilon,x=Math.pow(Math.tan(Math.PI/4+Math.asin(t)/2),y),w=v/x;return new r(z*s,z*Math.log(w))};a._mercatorToPixels=function(s){return new r(Math.round((this._b+s.x)*this._a),Math.round((this._b-s.y)*this._a))};a._pixelsToMercator=function(s){return new r(s.x/this._a-this._b,this._b-s.y/this._a)};var m=new k.GeoCoordSystem();b=k.CartesianCoordSystem=function(s,u,v,t){this._left=s.x;this._right=u.x;this._bottom=s.y;this._top=u.y;this._xRange=this._right-this._left;this._yRange=this._top-this._bottom;this._scale=v||1;this._maxZoom=t||23;this._worldSize=Math.pow(2,this._maxZoom+8);this._bitsPerTile=Math.round(Math.log(k.TILE_SIZE)/Math.log(2));this._pixelMask=(1<<this._bitsPerTile)-1};a=b.prototype;a.getCoordPoint=function(s,u,t){return new r(s,u)};a.getCoordBounds=function(s,t){return new k.Bounds(s,t)};a.fromCoordPoint=function(s){return new r(Math.round(((s.getX()-this._left)/this._xRange)*(this._worldSize-1)),Math.round((1-(s.getY()-this._bottom)/this._yRange)*(this._worldSize-1)))};a.toCoordPoint=function(s){return new r(this._left+(s.getX()/(this._worldSize-1))*this._xRange,this._bottom+(1-s.getY()/(this._worldSize-1))*this._yRange)};a.distance=function(u,t){var s=u.diff(t).scale(this._scale);return Math.sqrt(s.x*s.x+s.y*s.y)};a.rulerDistance=a.distance;a.restrict=function(s){return new r(d.boundaryRestrict(s.getX(),Math.min(this._left,this._right),Math.max(this._left,this._right)),d.boundaryRestrict(s.getY(),Math.min(this._bottom,this._top),Math.max(this._bottom,this._top)))};a.getWorldSize=function(){return new k.Point(this._worldSize,this._worldSize)};a.getMaxZoom=function(){return this._maxZoom};b=k.MouseEvent=function(u,t){var s=(u.originalEvent&&!u.fixedTouch)?u.originalEvent:u;if(f.touchscreen&&s.touches){this._event=d.touchEventFix(s);this._event.type=u.type}else{this._event=h.event.fix(u)}this._map=t};a=b.prototype={getCoordPoint:function(s){if(!this._point){this._point=this._map.converter.localPixelsToCoordinates(this.getLocalPixels(),1)}if(s){return this._point.copy()}else{return this._map.coordSystem.getCoordPoint(this._point.getX(),this._point.getY())}},getLocalPixels:function(){if(!this._posInPixels){this._posInPixels=this._map.converter.clientPixelsToLocalPixels(new r(this._event.clientX,this._event.clientY))}return this._posInPixels},getEvent:function(){return this._event}};a.getGeoPoint=a.getCoordPoint;(function(){var t={},z,u,s,y,x;function v(D,C){if(!q.msie){var B=D.originalEvent||D;if(B!=u){u=B;t={}}}else{var A,F;try{A=D.clientX;F=D.clientY}catch(E){A=0;F=0}if(s!=C||(s=="mousemove"&&(A!=y||F!=x))){s=C;if(s=="mousemove"){y=A;x=F}t={}}}}function w(B,A){if(q.msie){if(!z){z=window.setTimeout(function(){t={};z=null},0)}}v(B,A)}g.preventMapEvent=function(B,A){A=A||B.type;w(B,A);t[A]=true};g.isMapEventPrevented=function(B,A){A=A||B.type;v(B,A);return t[A]||false};a.preventMapEvent=function(){g.preventMapEvent(this._event)};a.isMapEventPrevented=function(){return g.isMapEventPrevented(this._event)}})();k.MultiTouchEvent=function(v,u){this._event=d.touchEventFix(v,"none");this.touches=[];for(var t=0,s=this._event.touches.length;t<s;t++){this.touches[t]=new g.Touch(this._event.touches[t],u)}};k.MultiTouchEvent.prototype={getEvent:function(){return this._event},preventMapEvent:function(){g.preventMapEvent(this._event)},isMapEventPrevented:function(){return g.isMapEventPrevented(this._event)}};g.Touch=function(t,s){this._touch=t;this._map=s};g.Touch.prototype={getCoordPoint:function(s){if(!this._point){this._point=this._map.converter.localPixelsToCoordinates(this.getLocalPixels(),1)}if(s){return this._point.copy()}else{return this._map.coordSystem.getCoordPoint(this._point.getX(),this._point.getY())}},getLocalPixels:function(){if(!this._posInPixels){this._posInPixels=this._map.converter.clientPixelsToLocalPixels(new r(this._touch.clientX,this._touch.clientY))}return this._posInPixels}};b=k.Group=function(){this._objects=[]};a=b.prototype;a.Events={Add:"Add",Remove:"Remove"};a.add=function(t,s){if(typeof t!=j){s=typeof s!=j?this._normalizeIndex(s):this.length();if(t instanceof Array){h.each(t,p(function(u,v){this._add(v,s+u)},this))}else{this._add(t,s)}}};a._add=function(t,s){this._objects.splice(s,0,t);i.notify(this,this.Events.Add,this,t,s)};a.splice=function(s,u){s=this._normalizeIndex(s);var v=[];for(var t=0;t<u;t++){if(s<this._objects.length){v=v.concat(this._removeByIndex(s))}else{break}}h.each(Array.prototype.slice.call(arguments,2),p(function(w,x){this._add(x,s+w)},this));return v};a._normalizeIndex=function(s){s=Math.min(s,this.length());return s<0?Math.max(0,s+this.length()):s};a.remove=function(t){if(t instanceof Array){var s=[];h.each(t,p(function(u,v){s=s.concat(this._removeObject(v))},this));return s}else{return this._removeObject(t)}};a._removeObject=function(t){var s=this.indexOf(t);return s!=-1?this._removeByIndex(s):[]};a._removeByIndex=function(t){var s=this._objects.splice(t,1);i.notify(this,this.Events.Remove,this,s[0],t);return s};a.removeAll=function(){while(this._objects.length){this._removeByIndex(0)}};a.get=function(t){var s=this._objects.length;return t<0&&(t=s+t)<0||s<=t?null:this._objects[t]};a.indexOf=function(s){return h.inArray(s,this._objects)};a.length=function(){return this._objects.length};a.forEach=function(t,s){var u=this;h.each(this._objects,function(v){t.call(s,this,v,u)})};a.filter=function(v,t,u){var s=[];this.__filter(s,this,v,t,u);return s};a.__filter=function(v,x,z,u,w){for(var t=0,s=x.length(),y;t<s;t++){if(z.call(u,y=x.get(t))){v.push(y)}if(!w&&y instanceof k.Group){this.__filter(v,y,z,u)}}};b=k.AGeoObject=function(){this.id=null;this.name=null;this.description=null;this.metaDataProperty={};this._boundedBy=null;this._parentGroup=null;this._style=null;this._computedStyle=null};b.fullStyle={parentStyle:null,hasHint:false,hasBalloon:true,iconStyle:{href:c.imageRoot+"micro/pmlbs.png",size:new r(28,29),offset:new r(-7,-28),shadow:null,template:"default#icon"},iconContentStyle:{template:"default#iconContent"},hintStyle:{template:"default#hint"},hintContentStyle:{template:"default#hintContent"},balloonStyle:{template:"default#balloon"},balloonContentStyle:{template:"default#balloonContent"},lineStyle:{strokeColor:"ff0000",strokeWidth:1},polygonStyle:{strokeColor:"ff0000",strokeWidth:1,fillColor:"ff0000",fill:1,outline:1}};b.shadowStyle={template:"default#iconShadow",href:null,offset:new r(),size:new r()};a=b.prototype;a.onAddToGroup=function(s){this._parentGroup=s;this.update()};a.onRemoveFromGroup=function(){this._parentGroup=null;this.update()};a.getParentGroup=function(){return this._parentGroup};a.setStyle=function(s){this._style=s;this.update()};a.getStyle=function(){return this._style};a.getComputedStyle=function(){if(!this._computedStyle){var t=this,w,s=k.Style,v=k.Styles;while(!w&&t){w=t.getStyle();t=t.getParentGroup()}this._computedStyle=s.copy(v.get(w)||v.get(v.DefaultStyleKey));var u=this._computedStyle.parentStyle;while(u){if(u=v.get(u)){s.extendStyle(this._computedStyle,u,0);u=u.parentStyle}}var x=this.getParentGroup();s.extendStyle(this._computedStyle,x?x.getComputedStyle():k.AGeoObject.fullStyle,1);var y=this._computedStyle.iconStyle.shadow;if(y){s.extendStyle(y,k.AGeoObject.shadowStyle,1)}else{if(y==j){this._computedStyle.iconStyle.shadow=null}}}return this._computedStyle};a.update=function(){this._computedStyle=null};a.setBounds=function(s){this._boundedBy=s};a.getBounds=function(){return this._boundedBy};b=k.AInteractiveGeoObject=function(s){k.AGeoObject.call(this);s=s||{};this._style=s.style;this._hintOptions=h.extend({},s.hintOptions);this._hasHint=s.hasHint;this._hintContent=null;this._hintCustomContent=null;this._hintCustomContentLayout=null;this._balloonOptions=h.extend({},s.balloonOptions);this._hasBalloon=s.hasBalloon;this._balloonContent=null;this._balloonCustomContent=null;this._balloonCustomContentLayout=null};a=o(b,k.AGeoObject);a.setOptions=function(t,v){t=t||{};var s=v?{hintOptions:{},balloonOptions:{},style:k.Styles.get(k.Styles.DefaultStyleKey),hasHint:undefined,hasBalloon:undefined}:{style:this.getStyle(),hasHint:this._hasHint,hasBalloon:this._hasBalloon,hintOptions:this.getHintOptions(),balloonOptions:this.getBalloonOptions()};for(var u in t){s[u]=t[u]}this._hasHint=s.hasHint;this._hasBalloon=s.hasBalloon;this.setHintOptions(s.hintOptions,1);this.setBalloonOptions(s.balloonOptions,1);this.setStyle(s.style)};a.getOptions=function(){return{style:this.getStyle(),hasHint:typeof this._hasHint==j?this.getComputedStyle().hasHint:this._hasHint,hasBalloon:typeof this._hasBalloon==j?this.getComputedStyle().hasBalloon:this._hasBalloon,hintOptions:this.getHintOptions(),balloonOptions:this.getBalloonOptions()}};a.update=function(){k.AGeoObject.prototype.update.call(this);this._hintContent=this._balloonContent=null};a.setHintContent=function(s){this._hintCustomContent=s;this._hintCustomContentLayout=d.normalizeContent(s);this._hintContent=null};a.getHintContent=function(){return this._hintCustomContent};a._getHintContentLayout=function(){if(!this._hintContent){if(this._hintCustomContentLayout){this._hintContent=this._hintCustomContentLayout}else{var s=k.Templates.get(this.getComputedStyle().hintContentStyle.template);if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.hintContentStyle.template)}this._hintContent=s.build(this)}}return this._hintContent};a.setHintOptions=function(s,t){this._hintOptions=t?s:h.extend(this._hintOptions,s)};a.getHintOptions=function(){return this._hintOptions||{}};a._getComputedHintOptions=function(){var s=this.getHintOptions();if(!s.style){s=h.extend({},s,{style:this.getComputedStyle().hintStyle})}s.layoutContext=this;return s};a.openBalloon=function(t,s){if(typeof t!=j){this.setBalloonContent(t)}if(s){this.setBalloonOptions(s)}};a.closeBalloon=function(){};a.setBalloonOptions=function(s,t){this._balloonOptions=t?s:h.extend(this._balloonOptions,s)};a.getBalloonOptions=function(){return this._balloonOptions||{}};a._getComputedBalloonOptions=function(){var s=this.getBalloonOptions();if(!s.style){s=h.extend({},s,{style:this.getComputedStyle().balloonStyle})}s.layoutContext=this;return s};a.setBalloonContent=function(s){this._balloonCustomContent=s;this._balloonCustomContentLayout=d.normalizeContent(s);this._balloonContent=null};a.getBalloonContent=function(){return this._balloonCustomContent};a._getBalloonContentLayout=function(){if(!this._balloonContent){if(this._balloonCustomContentLayout){this._balloonContent=this._balloonCustomContentLayout}else{var s=k.Templates.get(this.getComputedStyle().balloonContentStyle.template);if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.balloonContentStyle.template)}this._balloonContent=s.build(this)}}return this._balloonContent};g.TileCoordinates=function(s){var x=s.coordSystem,y=x.getMaxZoom(),t=x.getWorldSize(),w=new k.Point(t.getX()/2,t.getY()/2),z=x.toCoordPoint(w),A=x.toCoordPoint(w.copy().moveBy(t),1),B=x.fromCoordPoint(z,A).diff(w),u=!!B.getX(),v=!!B.getY();this.fromPixels=function(G,I,H){var L={number:null,offset:null},C=y-I,K=H||k.TILE_SIZE,F=u?d.cycleRestrict(G.getX(),0,t.getX()):G.getX(),E=v?d.cycleRestrict(G.getY(),0,t.getY()):G.getY(),D=(new r(F,E)).scale(Math.pow(2,-C)),J=D.copy().scale(1/K).apply(Math.floor);if(F>=0&&F<t.getX()&&E>=0&&E<t.getY()){L.number=J}L.offset=J.copy().scale(K).diff(D).scale(s.animator.getState().scaleCoefficient).apply(Math.round);return L};this.toPixels=function(G,I,F,H){var E=y-F,C=H||k.TILE_SIZE,D=G.copy().scale(C).moveBy(I.copy().scale(1/s.animator.getState().scaleCoefficient));return D.scale(Math.pow(2,E))};this.scale=function(C,G,D){var F=typeof G===j?s.getZoom():Number(G),E=typeof D===j?x.getMaxZoom():Number(D);return C.copy().scale(Math.pow(2,E-F))}};g.Animator=function(v){var t=1,u=null,s=new r();this.getState=function(){return{startPixelCenter:u||v._state.centerInTiles,currentPixelCenter:v._state.centerInTiles,scaleCoefficient:t}};this.start=function(){u=v._state.centerInTiles.copy();i.notify(v,v.Events.SmoothZoomStart,v);v.__layerManager.onSmoothZoomStart()};this.scale=function(A){var z=v.converter.coordinatesToLocalPixels(A.saveThisPosition);t=A.scaleCoefficient;var x=v.converter.coordinatesToLocalPixels(A.saveThisPosition),y=z.diff(x),w=v.tileCoordinates.scale(y.scale(1/t));v._state.centerInTiles.moveBy(w);v.__layerManager.onSmoothZoomTick(A)};this.move=function(w){v._state.centerInTiles.moveBy(v.tileCoordinates.scale(w).scale(1/t));var y=s.moveBy(w).copy().apply(Math.floor);if(y.x||y.y){s=y.diff(s);v._state.offset.moveBy(y.neg());var x=y.copy().apply(Math.abs);if(v._state.size.x<x.x||v._state.size.y<x.y){if(u){this.stop()}else{v.update()}}else{v.__layerManager.onMove(v._state.offset,y.neg());i.notify(v,v.Events.Move,v,y)}}};this.stop=function(w){if(u){u=null;v._state.zoom=d.boundaryRestrict(w||Math.round(v._state.zoom+Math.log(t)/Math.log(2)),v.getMinZoom(),v.getMaxZoom());t=1;v.__layerManager.onSmoothZoomEnd();i.notify(v,v.Events.SmoothZoomEnd,v);v.update();i.notify(v,v.Events.BoundsChange,v)}}};g.Converter=function(u){var t=u._state,s=u.coordSystem;this.localPixelsToCoordinates=function(y,x){var w=t.centerInPixels.diff(y),v=u.tileCoordinates.scale(w);v.scale(1/u.animator.getState().scaleCoefficient).moveBy(t.centerInTiles);return s.toCoordPoint(v,x)};this.coordinatesToLocalPixels=function(x,w){var y=w?x:u.coordSystem.restrict(x),v=s.fromCoordPoint(y,u.getCenter(1));return u.tileCoordinates.scale(t.centerInTiles.diff(v).scale(u.animator.getState().scaleCoefficient),s.getMaxZoom(),u.getZoom()).moveBy(t.centerInPixels)};this.clientPixelsToCoordinates=function(v,w){return this.localPixelsToCoordinates(this.clientPixelsToLocalPixels(v),w)};this.coordinatesToClientPixels=function(w,v){return this.localPixelsToClientPixels(this.coordinatesToLocalPixels(w,v))};this.clientPixelsToLocalPixels=function(v){return t.getDomOffset().diff(v).moveBy(new r(h(window).scrollLeft(),h(window).scrollTop()))};this.localPixelsToClientPixels=function(v){return new r(h(window).scrollLeft(),h(window).scrollTop()).diff(v.copy().moveBy(t.getDomOffset()))};this.coordinatesToMapPixels=function(w,v){return this.localPixelsToMapPixels(this.coordinatesToLocalPixels(w,v))};this.mapPixelsToCoordinates=function(v,w){return this.localPixelsToCoordinates(this.mapPixelsToLocalPixels(v),w)};this.mapPixelsToLocalPixels=function(v){return v.copy().moveBy(t.offset)};this.localPixelsToMapPixels=function(v){return t.offset.diff(v)}};var i=(function(){function s(w,v){var x=v;if(!v||typeof v=="object"){x=d.getUniqueId(v||k)}return w+"_"+x}var u=new function(){var x={},w={};this.addObserver=function(z){var C=z.id;(x[C]||(x[C]=[])).push(z);var B=w[C];if(B){for(var A=0,y=B.length;A<y;A++){v(z,B[A])}}};function v(y,z){y.listener.apply(y.context,z)}this.removeObserver=function(y){var A=x[y.id],z;if(A&&((z=h.inArray(y,A))!=-1)){A.splice(z,1);if(A.length==0){delete x[y.id]}}};this.notify=function(D,H,C,B){var z=s(H,D),F=x[z];if(B){(w[z]||(w[z]=[])).push(C)}if(F){var E=0,G,y=F.slice(),A=y.length;for(;E<A;E++){if((G=y[E]).added){v(G,C)}}}}};var t=function(x,y,w,z,v){this.id=s(x,w);this.listener=y;this.context=v;this.added=0;if(z){this.enable()}};t.prototype={enable:function(){if(!this.added){u.addObserver(this);this.added=1}},disable:function(){if(this.added){u.removeObserver(this);this.added=0}},cleanup:function(){this.disable();this.context=this.listener=null}};return k.Events=new function(){this.observe=function(x,A,B,z,w){w=typeof w!=j?w:1;if(A instanceof Array){var C=[],y=0,v=A.length;for(;y<v;y++){C[y]=new t(A[y],B,x,w,z||x)}return C}else{return new t(A,B,x,w,z||x)}};this.notify=function(v,w){u.notify(v,w,Array.prototype.slice.call(arguments,2))};this.notifyPermanent=function(v,w){u.notify(v,w,Array.prototype.slice.call(arguments,2),1)}}})();b=k.OverlayGroup=function(){k.Group.call(this);this._map=this._parentContainer=null;this.__listeners=[i.observe(this,this.Events.Add,function(u,t,s){this._onAddObject(t,s)},this),i.observe(this,this.Events.Remove,function(u,t,s){this._onRemoveObject(t,s)},this)]};a=o(b,k.Group);a.getMap=function(){return this._map};a.getParentContainer=function(){return this._parentContainer};a.onAddToMap=function(s,t){this._map=s;this._parentContainer=t;this.forEach(this.__addObjectToMap,this)};a._onAddObject=function(s){this.__addObjectToMap(s)};a.__addObjectToMap=function(s){if(this._map){s.onAddToMap(this._map,this._parentContainer)}};a.onRemoveFromMap=function(){this.forEach(this.__removeObjectFromMap,this);this._map=this._parentContainer=null};a._onRemoveObject=function(s){this.__removeObjectFromMap(s)};a.__removeObjectFromMap=function(s){if(this._map){s.onRemoveFromMap()}};a.onMapUpdate=function(){e(this._objects.slice(),"onMapUpdate")};b=g.ALayer=function(s){this._options=h.extend({},g.ALayer.fullOptions,s);this._$element=h('<div class="YMaps-layer" style="z-index: '+this._options.zIndex+';"></div>')};b.fullOptions={zIndex:k.ZIndex.MAP_LAYER};a=g.ALayer.prototype;a.onAddToMap=function(s,t){this._map=s;this._$element.appendTo(t);d.position(this._$element[0],this._map._state.offset)};a.onRemoveFromMap=function(){this._$element.removeFromDom();this._map=null};a.onMapUpdate=function(){d.position(this._$element[0],this._map._state.offset)};a.update=function(){if(this._map){this.onMapUpdate()}};a.getMap=function(){return this._map};a.getContainer=function(){return this._$element[0]};a.onMove=function(s,t){d.position(this._$element[0],s)};a.onSmoothZoomStart=function(){this._$element.addClass("YMaps-display-none")};a.onSmoothZoomTick=d.NULL;a.onSmoothZoomEnd=function(){this._$element.removeClass("YMaps-display-none")};a.getCopyright=function(t,s){return""};a.setOptions=function(s,u){var t=h.extend({},u?g.ALayer.fullOptions:this._options,s);if(t.zIndex!=this._options.zIndex){this._$element.css("z-index",t.zIndex)}this._options=t};a.getOptions=function(){return this._options};b=k.Layer=function(t,s){g.ALayer.call(this,s);this._dataSource=t};a=o(b,g.ALayer);a.getTileDataSource=function(){return this._dataSource};a.onAddToMap=function(t,u){g.ALayer.prototype.onAddToMap.call(this,t,u);var s=this._master;if(!s){this._master=s=new g.TileContainer(this._dataSource);s.setZIndex(6)}s.setVisible(1);s.onAddToMap(this.getMap(),this.getContainer());s.update();if(this._slave){this._slave.setVisible(0);this._slave.onAddToMap(this.getMap(),this.getContainer())}this.__eventListener=l(this.getContainer()).events.eventListener().add(["selectstart","dragstart"],function(v){v.preventDefault()})};a.onRemoveFromMap=function(){this._master.onRemoveFromMap();if(this._slave){this._slave.onRemoveFromMap()}this.__eventListener.removeAll();g.ALayer.prototype.onRemoveFromMap.call(this)};a.onMove=function(s,t){g.ALayer.prototype.onMove.call(this,s,t);if(q.opera){var u=this;window.setTimeout(function(){u._master.onMove(t)},0)}else{this._master.onMove(t)}};a.onMapUpdate=function(){g.ALayer.prototype.onMapUpdate.call(this);if(this._slave&&!this._afterSmoothZoom){this._slave.setVisible(0)}this._master.update();this._afterSmoothZoom=0};a.getTileInPosition=function(s){return this._master?this._master.getTileInPosition(s):null};if(q.opera&&q.version<9.5){a.onSmoothZoomStart=a.onSmoothZoomTick=a.onSmoothZoomEnd=d.NULL}else{a.onSmoothZoomStart=function(){if(!this._dataSource.smoothZoomEnabled()){this._master.setVisible(0);return}if(this._slave){this._slave.setVisible(0)}};a.onSmoothZoomTick=function(s){if(!this._dataSource.smoothZoomEnabled()){return}this._master.scale(s.scaleCoefficient,s.saveThisPosition?this.getMap().converter.coordinatesToMapPixels(s.saveThisPosition):null)};a.onSmoothZoomEnd=function(){if(!this._dataSource.smoothZoomEnabled()){this._master.setVisible(1);return}var t=this._master,s=this._slave;if(!s){s=new g.TileContainer(this._dataSource);s.onAddToMap(this.getMap(),this.getContainer())}t.setPosition(t.getPosition().moveBy(this.getMap()._state.offset));t.setZIndex(5);s.setZIndex(6);s.setVisible(1);if(this._dataSource.isTransparent()){t.setVisible(0)}this._master=s;this._slave=t;this._afterSmoothZoom=1}}k.ImageTile=function(t){this._state=k.State.EMPTY;this._dataSource=t;this._pngInIE=t.isTransparent()&&q.msie&&q.version<7&&q.version>5.4;var s=this._image=h("<img />")[0];s.galleryImg=false;this._element=this._pngInIE?h("<span />")[0]:s;this._position=new r();this._size=null;this._url="";this._element.style.position="absolute";this.scale(1)};a=k.ImageTile.prototype;a.getState=function(){return this._state};a.onAddToMap=function(s,t){l(this._image).events.add("load",this._onLoad,this).add("error",this._onError,this);this._map=s;t.appendChild(this._element)};a.onRemoveFromMap=function(){l(this._image).events.remove("load",this._onLoad,this).remove("error",this._onError,this);this._element.parentNode.removeChild(this._element)};a.scale=function(t){var s=this._dataSource.getTileSize()*t;if(s!=this._size){this._setSize(s)}};a._setSize=function(s){d.size(this._element,this._size=s)};a.setPosition=function(s){this._position.moveTo(s);d.position(this._element,this._position)};a.getPosition=function(){return this._position.copy()};a.load=function(t,s){if(t&&typeof s!=j){this._setUrl(this._dataSource.getTileUrl(t,s))}};a._setUrl=function(s){if(!s){this._onError()}else{this._state=k.State.LOADING;this._setSrc(s)}};a._setSrc=function(s){this._url=s;if(!q.opera||q.version>=9.5){this._element.style.display="none"}this._image.src=s;if(q.webkit&&this._image.complete){this._onLoad()}};a.abort=function(){if(!this._image.complete){this._onError()}};a.error=function(){this._onError()};a._onError=function(){this._state=k.State.FAILURE;var s=this._dataSource.getErrorTileUrl();if(this._url!=s){this._setSrc(s)}};if(q.opera&&q.version<9.5){a._onLoad=function(){this._state=k.State.SUCCESS;if(this._map){i.notify(this._map,this._map.Events._NeedRedraw)}}}else{a._onLoad=function(){this._state=k.State.SUCCESS;if(this._pngInIE){this._element.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+this._image.src+")";this._element.style.display="block"}else{this._element.style.display=""}}}g.TileContainer=function(s){this._dataSource=s;this._curTileSize=s.getTileSize();this._scaleCoefficient=1;this._freeTiles=[];this._addedTiles=[];this._visible=1;this._zIndex=""};g.TileContainer.prototype={onAddToMap:function(s,t){if(this._map!=s){if(this._map){this._parentContainer.removeChild(this._element)}this._map=s;this._parentContainer=t;this._element=h('<div style="'+(this._visible?"":"display:none;")+(this._zIndex?"z-index:"+this._zIndex+";":"")+'" />').addClass("YMaps-tile-container")[0];t.appendChild(this._element)}},onRemoveFromMap:function(){for(var t=0,s=this._addedTiles.length;t<s;t++){var u=this;h.each(this._addedTiles[t],function(){u._releaseTile(this)})}this._addedTiles=[]},onMove:function(u){if(!this._isEmpty()){var s=this.getSize(),t=u.copy().apply(Math.abs);if(s.x<t.x||s.y<t.y){this._centering()}else{this._updateCells(u.x>0?1:0,u.y>0?1:0)}}},update:function(){if(this._curTileSize!=this._dataSource.getTileSize()){this.scale(1)}var u=0,s=0,t=this._map.getContainerSize();if(t.x&&t.y){u=Math.ceil((t.y+1)/this._curTileSize)+1;s=Math.ceil((t.x+1)/this._curTileSize)+1}this._fill(u,s);if(!this._isEmpty()){this._centering()}},_fill:function(y,v){var x=this._addedTiles.length,s=this._addedTiles[0]?this._addedTiles[0].length:0;if(x>y){for(var w=y;w<x;w++){var z=this;h.each(this._addedTiles[w],function(){z._releaseTile(this)})}this._addedTiles.splice(y,x-y);x=y}if(s>v){for(var w=0,u;w<x;w++){for(u=v;u<s;u++){this._releaseTile(this._addedTiles[w][u])}this._addedTiles[w].splice(v,s-v)}s=v}if(x<y||s<v){for(var w=0,u;w<x;w++){for(u=s;u<v;u++){this._addedTiles[w].push(this._occupyTile())}}for(var w=x,u,t;w<y;w++){t=[];for(u=0;u<v;u++){t.push(this._occupyTile())}this._addedTiles.push(t)}}},_centering:function(){var x=this._map._state,w=this._curTileSize,u=this._map.getZoom(),z=x.centerInTiles,v=this._addedTiles.length,t=v>0?this._addedTiles[0].length:0,y=new r((t>>1)*w,(v>>1)*w),s=this._map.tileCoordinates.fromPixels(z,u,this._dataSource.getTileSize()).offset;y.moveBy(new r(t&1?s.x:s.x-w*(s.x>w/2),v&1?s.y:s.y-w*(s.y>w/2)));y=x.centerInPixels.diff(y).moveBy(x.offset).neg();this.setPosition(y,1)},_releaseTile:function(s){s.abort();this._freeTiles.push(s);s.onRemoveFromMap()},_occupyTile:function(){var s=this._freeTiles.shift()||this._dataSource.getTile();s.onAddToMap(this._map,this._element);s.scale(this._scaleCoefficient);return s},_callMethod:function(t){var v=Array.prototype.slice.call(arguments,1),x=0,s=this._addedTiles.length,y,u,w;for(;x<s;x++){y=this._addedTiles[x];u=0;w=y.length;for(;u<w;u++){y[u][t].apply(y[u],v)}}},setPosition:function(v,u){for(var t=0,s=this._addedTiles.length;t<s;t++){this._updateRow(t,v.copy(),u);v.moveByY(this._curTileSize)}},getPosition:function(){return this._isEmpty()?new r():this._addedTiles[0][0].getPosition().copy()},setZIndex:function(s){this._zIndex=s;h(this._element).css("zIndex",s)},setVisible:function(s){this._visible=s;this._callMethod("abort");h(this._element).css("display",s?"":"none")},scale:function(u,t){var s=this.getPosition();if(t){s=t.diff(s).scale(u/this._scaleCoefficient).moveBy(t)}this._curTileSize=this._dataSource.getTileSize()*u;this._callMethod("scale",u);this.setPosition(s);this._scaleCoefficient=u},getSize:function(){return this._isEmpty()?new r():new r(this._addedTiles[0].length*this._curTileSize,this._addedTiles.length*this._curTileSize)},_updateCells:function(s,x){var v=this._map._state.offset,w=this._map.getContainerSize(),t=this._curTileSize;while(1){var y=this.getPosition(),u=this.getSize();if(!s&&(y.x+v.x+t)<0){this._shift(0,0);continue}if(!x&&(y.y+v.y+t)<0){this._shift(1,0);continue}if(s&&(y.x+u.x+v.x-t)>w.x){this._shift(0,1);continue}if(x&&(y.y+u.y+v.y-t)>w.y){this._shift(1,1);continue}break}},_shift:function(v,y){var A=this.getPosition(),B=this.getSize(),x=this._addedTiles.length;if(v){if(y){var w=new r(A.x,A.y-this._curTileSize),z=this._addedTiles.pop();this._addedTiles.splice(0,0,z);this._updateRow(0,w,1)}else{var w=new r(A.x,A.y+B.y),u=this._addedTiles.shift();this._addedTiles.splice(x,0,u);this._updateRow(x-1,w,1)}}else{if(y){var w=new r(A.x-this._curTileSize,A.y),t=0,z;for(;t<x;t++){z=this._addedTiles[t].pop();this._addedTiles[t].splice(0,0,z)}this._updateColumn(0,w,1)}else{var w=new r(A.x+B.x,A.y),t=0,s,u;for(;t<x;t++){s=this._addedTiles[t];u=s.shift();s.splice(s.length,0,u)}this._updateColumn(this._addedTiles[0].length-1,w,1)}}},_updateRow:function(x,u,v){for(var t=0,w=this._addedTiles[x],s=w.length;t<s;t++){if(u){w[t].setPosition(u.copy());u.moveByX(this._curTileSize)}if(v){this._updateTileUrl(w[t])}}},_updateColumn:function(t,v,w){for(var u=0,s=this._addedTiles.length;u<s;u++){if(v){this._addedTiles[u][t].setPosition(v.copy());v.moveByY(this._curTileSize)}if(w){this._updateTileUrl(this._addedTiles[u][t])}}},_updateTileUrl:function(u){var z=u.getPosition().copy();z.moveBy(new r(this._curTileSize/2));var w=this._map,t=w.getZoom(),y=w.converter.mapPixelsToLocalPixels(z),x=w._state.centerInPixels.diff(y),s=w.tileCoordinates.scale(x).scale(1/w.animator.getState().scaleCoefficient).moveBy(w._state.centerInTiles),v=w.tileCoordinates.fromPixels(s,t,this._dataSource.getTileSize()).number;if(!v){u.error()}else{u.load(v,t)}},_isEmpty:function(){return(!this._addedTiles[0]||!this._addedTiles[0].length)},getTileInPosition:function(x){if(!this._map||this._isEmpty()){return null}var s=this._map.converter.mapPixelsToLocalPixels(this._addedTiles[0][0].getPosition()),w=this._addedTiles[0].length,v=this._addedTiles.length,u=Math.floor((x.x-s.x)/this._curTileSize),t=Math.floor((x.y-s.y)/this._curTileSize);if(u<0||u>=w||t<0||t>=v){return null}return this._addedTiles[t][u]}};b=g.CursorManager=function(s){this._$element=h(s);this._stack=[]};a=b.prototype;a.addCursor=function(s){if(c.cursors[s]){this._stack.push(s);this._setCursor(s)}};a._setCursor=function(s){var t=c.cursors[s];if(q.msie){if(t.cursor!==k.Cursor.INHERIT||(q.version>=8&&document.documentMode>=8)){var w=t.cursor.replace(/[^,]+\s+\d+\s+\d+\s*,?\s*/g,"");this._$element.css("cursor",w)}else{this._$element[0].style.cursor=this._$element[0].parentNode.currentStyle.cursor}}else{if(!q.opera){if(this._$element[0].namespaceURI&&this._$element[0].namespaceURI=="http://www.w3.org/2000/svg"){var v=this._$element[0].className.baseVal.split(" ");if(this._current){var u=c.cursors[this._current]["class"];v=h.map(v,function(x){if(x!=u){return x}})}v.push(t["class"]);this._$element[0].className.baseVal=v.join(" ")}else{if(this._current){this._$element.removeClass(c.cursors[this._current]["class"])}this._$element.addClass(t["class"])}}}this._current=s};a.removeCursor=function(t){var s=this._stack.length-1;while(s>=0&&this._stack[s]!==t){s--}if(s!=-1){this._stack.splice(s,1);var u=this._stack.length;if(u==s){if(u>0){this._setCursor(this._stack[u-1])}else{this._unsetCursor()}}}};a._unsetCursor=function(){if(this._current){if(q.msie){this._$element.css("cursor","")}else{if(!q.opera){if(this._$element[0].namespaceURI&&this._$element[0].namespaceURI=="http://www.w3.org/2000/svg"){var t=this._$element[0].className.baseVal.split(" "),s=c.cursors[this._current]["class"];t=h.map(t,function(u){if(u!=s){return u}});this._$element[0].className.baseVal=t.join(" ")}else{this._$element.removeClass(c.cursors[this._current]["class"])}}}this._current=null}};g.ControlsLayer=function(w,v,t){var x=i.observe(w,w.Events.MouseDown,function(){try{if(q.msie&&document.selection&&document.selection.type!="None"){document.selection.empty()}else{if(window.getSelection){window.getSelection().removeAllRanges()}}}catch(y){}});var u=l(v).events.eventListener().add(c.MapDOMEvents,function(z){if(z.type=="wheel"&&q.mozilla&&q.version<=1.8&&z.clientX==z.originalEvent.clientX&&z.clientY==z.originalEvent.clientY){var y=w.converter.coordinatesToClientPixels(w.getCenter());z.clientX=y.getX();z.clientY=y.getY()}s(z.type,new k.MouseEvent(z,w),w)});if(f.touchscreen){u.add(c.MapMultiTouchEvents,function(y){s(y.type,new k.MultiTouchEvent(y,w),w)})}i.observe(w,w.Events.Destruct,function(){x.cleanup();u.removeAll()});function s(y,z,A){i.notify(A,"before"+y,A,z);if(!z.isMapEventPrevented()){i.notify(A,y,A,z)}if(!t){if(!(q.mozilla&&q.version<1.9&&y=="contextmenu"&&z.isMapEventPrevented())){z.getEvent().stopPropagation()}}}};g.LayerManager=function(w){var t=h("<div />").addClass("YMaps-layer-container").css("z-index",k.ZIndex.LAYER_CONTAINER)[0],s=h("<div />").addClass("YMaps-map-type-layer-container")[0],v=[];w.getContainer().appendChild(t);t.appendChild(s);this.getContainer=function(){return t};this.add=function(x){v.push(x)};this.addToMap=function(y,x){y.onAddToMap(w,x?s:t)};this.remove=function(y){var x=h.inArray(y,v);if(x!=-1){v.splice(x,1)}};this.removeFromMap=function(x){x.onRemoveFromMap()};this.onMapUpdate=function(){e(v.slice(),"onMapUpdate")};this.onMove=function(x,y){e(v.slice(),"onMove",x,y)};this.onSmoothZoomStart=function(){e(v.slice(),"onSmoothZoomStart")};this.onSmoothZoomTick=function(x){e(v.slice(),"onSmoothZoomTick",x)};this.onSmoothZoomEnd=function(){e(v.slice(),"onSmoothZoomEnd")};this.getCopyrights=function(){var z=[],B=w.getBounds(),A=w.getZoom();for(var y=0,x=v.length,C;y<x;y++){if(C=v[y].getCopyright(B,A)){z.push(C)}}return z};function u(C){var A=null,x=null;for(var z=0,y=v.length,B;z<y;z++){if(v[z].getZoomRange&&(B=v[z].getZoomRange(C))){x=x==null?B.max:Math.max(x,B.max);A=A==null?B.min:Math.min(A,B.min)}}return{min:A,max:x}}this.getMinZoom=function(x){return u(x).min};this.getMaxZoom=function(x){return u(x).max}};b=k.Layers=new d.ObjectStorage();b.get=function(t){var s=this._objects[t];return typeof s=="function"?new s():s||null};k.MapType=function(u,t,s){u=u instanceof Array?u.slice():[];this.getLayers=function(){return u.slice()};s=h.extend({},{textColor:"#000",minZoom:null,maxZoom:null},s);s.name=t;this.setName=function(x){s.name=x};function v(x,y){y["get"+x.charAt(0).toUpperCase()+x.substr(1)]=function(){return s[x]}}for(var w in s){v(w,this)}};b=k.TileDataSource=function(t,s,u){this._tileUrlTemplate=t;this._isTransparent=!!s;this._smoothZoomEnabled=typeof u!=j?u:1};b.ERROR_TILE_URL=c.imageRoot+"404.gif";b.TRANSPARENT_TILE_URL=b.TRANPARENT_TILE_URL=c.imageRoot+"404t.png";b.prototype={__gStrings:["","G","Ga","Gag","Gaga","Gagar","Gagari","Gagarin"],getTile:function(){return new k.ImageTile(this)},getTileUrl:function(t,s){return this._tileUrlTemplate.replace("%d",(2*(t.x&1)+(t.y&1)+1)).replace("%c","x="+t.x+"&y="+t.y+"&z="+s).replace("%g","g="+this.__gStrings[(3*t.x+t.y)%8])},getErrorTileUrl:function(){return k.TileDataSource[(this.isTransparent()?"TRANSPARENT":"ERROR")+"_TILE_URL"]},getTileUrlTemplate:function(){return this._tileUrlTemplate},setTileUrlTemplate:function(s){this._tileUrlTemplate=s},isTransparent:function(){return this._isTransparent},smoothZoomEnabled:function(){return this._smoothZoomEnabled},getTileSize:function(){return k.TILE_SIZE}};(function(){var x=new t(g.MapData.VendorsData),w=function(z,B){var A=function(){k.Layer.call(this,B);this.getCopyright=function(D,C){return x.getCopyrights(z,D,C)};this.getZoomRange=function(C){return x.getZoomRange(z,C)}};o(A,k.Layer);k.Layers.add(z,A)};var v=g.MapData.tileUrlTemplates,s=g.MapData.DataVersions;w("map",new k.TileDataSource(v.map.replace("%c","v="+s.map+"&%c")));w("sat",new k.TileDataSource(v.sat.replace("%c","v="+s.sat+"&%c")));w("skl",new k.TileDataSource(v.skl.replace("%c","v="+s.skl+"&%c"),1,0));var u={textColor:"#444",minZoom:0,maxZoom:7};function y(z,A){k.MapType[z]=new k.MapType(A,c.types[z],u)}y("MAP",["map"]);u.textColor="#ddd";u.maxZoom=10;y("SATELLITE",["sat"]);y("HYBRID",["sat","skl"]);function t(D){var A=new function(){var K,L;this.setPoint=function(M){K=M.getX();L=M.getY()};this.check=function(M){return K>M.min[0]&&K<M.max[0]&&L>M.min[1]&&L<M.max[1]}};var E=new function(){var N,L,M,K;this.setBound=function(O){N=O.getLeft();M=O.getTop();L=O.getRight();K=O.getBottom()};this.check=function(O){return N<O.max[0]&&L>O.min[0]&&M>O.min[1]&&K<O.max[1]}};var B=new function(){var K=[];this.push=function(L){K.push(L)};this.getCopyrights=function(){K.sort(function(S,R){return S.smax-R.smax});var Q=[],L,N={};for(var P=K.length-1;P>=0;P--){L=K[P].vid;for(var M=0,O=L.length;M<O;M++){if(!N[L[M]]){N[L[M]]=1;Q.push(D.vendors[L[M]])}}}K=[];Q.reverse();return Q.join(", ")}};this.getCopyrights=function(N,M,P){A.setPoint(H(M));if(!F(A,P,N)){var O=I(M);for(var L=0,K=O.length;L<K;L++){E.setBound(O[L]);F(E,P,N)}}return B.getCopyrights()};function F(M,Q,O){var K=J(O,Q),R=0;if(K){var L=G(M,K);for(var N=0,P;P=L[N];N++){if(P.smax>=Q&&P.smin<=Q){R++;B.push(P)}}}return R}function J(M,O){var L=D.layers[M];while(L&&L.refs){for(var K=0,N;N=L.refs[K];K++){if(N.smax>=O&&N.smin<=O){L=D.layers[N.type];break}}}return L}function G(N,M){var L=[],K=[M],P;while(P=K.pop()){if(P.nodes){for(var O=0,Q;Q=P.nodes[O];O++){if(N.check(Q)){K.push(Q)}}}else{if(P.vid){L.push(P)}}}return L}this.getZoomRange=function(Q,P){if(C.mapBounds&&C.type==Q&&C.mapBounds.equals(P)){return C.zoomRange}A.setPoint(H(P));var M=z(A,Q);if(M.length){var K=M[0].smax,O=M[0].smin;for(var N=1,L=M.length;N<L;N++){K=Math.max(K,M[N].smax);O=Math.min(O,M[N].smin)}C.zoomRange={max:K,min:O}}else{C.zoomRange=null}C.mapBounds=P;C.type=Q;return C.zoomRange};var C={};function z(M,O){var Q=[D.layers[O]],N,K=[];while(N=Q.pop()){if(N&&N.refs){for(var L=0,P;P=N.refs[L];L++){Q.push(D.layers[P.type])}}else{K=K.concat(G(M,N))}}return K}function H(L){var K=L.getCenter();return new k.Point(d.cycleRestrict(K.getX(),-180,180),K.getY())}function I(N){var P=N.getLeft(),M=N.getRight(),L=N.getBottom(),O=N.getTop(),K;if(M-P>=360){K=[new k.Bounds(new r(-180,L),new r(180,O))]}else{P=d.cycleRestrict(P,-180,180);M=d.cycleRestrict(M,-180,180);if(M-P<0){K=[new k.Bounds(new r(P,L),new r(180,O)),new k.Bounds(new r(-180,L),new r(M,O))]}else{K=[new k.Bounds(new r(P,L),new r(M,O))]}}return K}}})();k.Map=function(t,s){if(!t){return}this._options=h.extend({ignoreResize:0,coordSystem:m,propagateEvents:false},s||{});this._construct(t);this.__copyrights=new g.CopyrightsControl();this.addControl(this.__copyrights);this.enableDblClickZoom();this.enableDragging();if(!this._options.ignoreResize){l(window).events.add("resize",this.__onResize,this)}if(!h.isReady){l(window).events.add("load",function(){if(this._inited){this.redraw()}},this)}};a=k.Map.prototype;a.Events={Update:"update",TypeChange:"typechange",AddLayer:"addlayer",RemoveLayer:"removelayer",_NeedRedraw:"_needredraw",Redraw:"redraw",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose",MoveStart:"movestart",Move:"move",MoveEnd:"moveend",DragStart:"dragstart",Drag:"drag",DragEnd:"dragend",BoundsChange:"boundschange",ZoomRangeChange:"ZoomRangeChange",SmoothZoomStart:"smoothzoomstart",SmoothZoomEnd:"smoothzoomend",BeforeClick:"beforeclick",Click:"click",BeforeDblClick:"beforedblclick",DblClick:"dblclick",BeforeContextMenu:"beforecontextmenu",ContextMenu:"contextmenu",BeforeMouseDown:"beforemousedown",MouseDown:"mousedown",BeforeDOMMouseScroll:"beforewheel",DOMMouseScroll:"wheel",BeforeMouseUp:"beforemouseup",MouseUp:"mouseup",BeforeMouseMove:"beforemousemove",MouseMove:"mousemove",BeforeMultiTouchStart:"beforemultitouchstart",MultiTouchStart:"multitouchstart",BeforeMultiTouchMove:"beforemultitouchmove",MultiTouchMove:"multitouchmove",BeforeMultiTouchEnd:"beforemultitouchend",MultiTouchEnd:"multitouchend",Destruct:"destruct"};a.Events.ChangeType=a.Events.TypeChange;a._construct=function(t){var v=this,s=h(t);this._inited=0;this._element=s[0];s.addClass("YMaps");if(document.compatMode&&document.compatMode=="BackCompat"){s.addClass("YMaps-quirks-mode")}if(q.safari){s.addClass("YMaps-safari")}this.__overlays=[];this.__overlays_internal=[];this.__createdLayers={};this.__layers=[];var u=new r();this._state={cache:false,size:u,offset:new r(),centerInTiles:null,centerInPixels:u,_domOffset:u,getDomOffset:function(){if(!this.cache){v.__updateDomOffset()}return this._domOffset}};this.__updateContainerSize();this.coordSystem=this._options.coordSystem;this.tileCoordinates=new g.TileCoordinates(this);this.converter=new g.Converter(this);this.animator=new g.Animator(this);this.__cursorManager=new g.CursorManager(this._element);this.__layerManager=new g.LayerManager(this);this.__objectLayer=new g.CommonObjectLayer();this.addLayer(this.__objectLayer);this.__controlLayer=new g.ControlsLayer(this,this.__layerManager.getContainer(),this._options.propagateEvents);this.__initPredefControls();this.__setNewType(k.MapType.MAP);this._state.zoom=this.getMinZoom();this.hint=new g.Hint(this);this.__listeners=[]};a.__initPredefControls=function(){var t={};var u=this;h.each(["Dragging","DblClickZoom","ScrollZoom","Magnifier","Ruler","HotKeys","RightButtonMagnifier"],function(w,x){t[x]={enabled:0,control:null};var v;if(!u[v="enable"+x]){u[v]=function(y){u.__setEnabledControl(x,1,y)}}if(!u[v="disable"+x]){u[v]=function(){u.__setEnabledControl(x,0)}}if(!u[v=x.charAt(0).toLowerCase()+x.substr(1)+"Enabled"]){u[v]=function(){return t[x].enabled}}});var s=this.__layerManager.getContainer();t.Dragging.control=new g.DraggingControl(s);t.Magnifier.control=new g.MagnifierControl(s);t.RightButtonMagnifier.control=new g.RightButtonMagnifierControl(s);if(f.touchscreen){t.ScrollZoom.control=new g.TouchZoomControl(s)}this.__actionControls=t;this.__controls=[];this.__controlsPositions=[]};a.__setEnabledControl=function(t,u,s){var v=this.__actionControls[t];if(v&&v.enabled!=u){if(u){this.addControl(v.control||(v.control=new g[t+"Control"]()),null,s)}else{if(v.enabled){this.removeControl(v.control)}}v.enabled=u}};a.enableMagnifier=function(s){if(this.draggingEnabled()){this.__actionControls.Dragging.control._stopListening()}this.__setEnabledControl("Magnifier",1,s)};a.disableMagnifier=function(){if(this.draggingEnabled()){this.__actionControls.Dragging.control._beginListening()}this.__setEnabledControl("Magnifier",0)};a.addCursor=function(s){this.__cursorManager.addCursor(s)};a.removeCursor=function(s){this.__cursorManager.removeCursor(s)};a.getRulerState=function(){return this.__actionControls.Ruler.control?this.__actionControls.Ruler.control.getStateString():""};a.setRulerState=function(s){if(!this.__actionControls.Ruler.control){this.enableRuler();this.disableRuler()}this.__actionControls.Ruler.control.setStateString(s)};a.redraw=function(s,u){if(this._inited){var t=this.converter.localPixelsToCoordinates(d.size(this.getContainer()).scale(0.5).apply(Math.ceil));if(this.__updateContainerSize()){if(s){this.__baseResizeCenter=this.__baseResizeCenter||this.getCenter();this.setCenter(t);this.panTo(this.__baseResizeCenter,{callback:p(function(){this.__baseResizeCenter=null;if(u){u.apply(null,arguments)}},this)})}else{this.update();i.notify(this,this.Events.BoundsChange,this)}i.notify(this,this.Events.Redraw,this)}}};a.__updateContainerSize=function(){var s=d.size(this._element);if(!this._state.size.equals(s)){this._state.size=s;this._state.centerInPixels=new r(Math.ceil(s.x/2),Math.ceil(s.y/2));return 1}return this.__updateDomOffset()};a.__updateDomOffset=function(){var s=this._element,u=h(this._element).offset(),t=parseInt(h.curCSS(s,"borderLeftWidth",true),10),v=parseInt(h.curCSS(s,"borderTopWidth",true),10);u=new r(u.left,u.top).moveBy(new r(t,v));if(!this._state._domOffset.equals(u)){this._state._domOffset=u;return 1}return 0};a.panTo=function(v,s){s=s||{};var u=v instanceof Array?v:[v],x=s.callback,w=this;if(!this._inited){this.setCenter(u.pop());if(x){x(k.State.SUCCESS)}return}function t(z){if(!u.length||z==k.State.FAILURE){if(x){x(z)}return}var y=u.shift(),A=w.converter.coordinatesToLocalPixels(w._restrictCenter(y)).diff(w._state.centerInPixels);if(3*w._state.size.x<Math.abs(A.x)||3*w._state.size.y<Math.abs(A.y)){if(s.flying){w._flyBy(A.neg(),s)}else{w.setCenter(y);t(k.State.SUCCESS)}}else{w.moveBy(A.neg(),1,s)}}s.callback=t;t()};a._flyBy=function(z,u){var v=this.getZoom(),w=v,t=3*this._state.size.x,s=3*this._state.size.y;while(t<Math.abs(z.x)||s<Math.abs(z.y)){z.scale(0.5);w--}var y=this,x=function(A){if(u&&u.callback){u.callback(A)}};this.setZoom(w,{smooth:1,callback:function(A){if(A==k.State.SUCCESS){y.moveBy(z,1,{callback:function(B){if(B==k.State.SUCCESS){y.setZoom(v,{smooth:1,callback:x})}else{x(B)}}})}else{x(A)}}})};a.moveBy=function(u,s,t){if(s){this.__getSmoothMoving().start(u,t)}else{this._moveStart();this._move(u);this._moveEnd();if(t&&t.callback){t.callback(k.State.SUCCESS)}}};a.startMove=function(t,s){s=s||{};s.nonstop=1;this.__getSmoothMoving().start(t,s)};a.stopMove=function(){this.__getSmoothMoving().stop(0)};a.__getSmoothMoving=function(){return(this.__smoothMover=this.__smoothMover||new g.SmoothMoving(this))};a._moveStart=function(){this._movingCnt=(this._movingCnt||0)+1;if(this._movingCnt==1){i.notify(this,this.Events.MoveStart,this)}};a._move=function(s){this.animator.move(s)};a._moveEnd=function(){this._movingCnt-=1;if(!this._movingCnt){i.notify(this,this.Events.MoveEnd,this);i.notify(this,this.Events.BoundsChange,this)}};a._dragStart=function(){this._draggingCnt=(this._draggingCnt||0)+1;if(this._draggingCnt==1){i.notify(this,this.Events.DragStart,this)}};a._drag=function(){if(this._draggingCnt){i.notify(this,this.Events.Drag,this)}};a._dragEnd=function(){this._draggingCnt-=1;if(!this._draggingCnt){i.notify(this,this.Events.DragEnd,this)}};a.update=function(){if(this._inited){this.__updatePos();this.__layerManager.onMapUpdate();i.notify(this,this.Events.Update,this)}};a.__onResize=function(){if(this.__resizeTimeout){window.clearTimeout(this.__resizeTimeout)}var s=this;this.__resizeTimeout=window.setTimeout(function(){s.redraw(1);s.__resizeTimeout=null},0)};a.__updatePos=function(){this._state.offset=new r()};a.setCenter=function(t,v,x){var u=this.coordSystem.fromCoordPoint(this._restrictCenter(t)),s=this._inited,w=0,y=x&&this.__setNewType(x);this.__getZoomer().stop();if(!this._state.centerInTiles||!this._state.centerInTiles.equals(u)){this._state.centerInTiles=u;if(!s){this.__init();this.__updatePos();this._inited=1}this._state.zoom=d.boundaryRestrict(this._state.zoom,this.getMinZoom(),this.getMaxZoom());w=1}if(typeof v!=j&&v!=this._state.zoom){this._state.zoom=d.boundaryRestrict(v,this.getMinZoom(),this.getMaxZoom());w=1}if(y||!s){this.__applyCurType();if(s){i.notify(this,this.Events.TypeChange,this)}}if(!s){this.__addLayers();this.__addOverlays();this.__addControls();if(this.getRulerState()&&!this.rulerEnabled()){this.enableRuler();this.disableRuler()}}if(w&&s){this.update();i.notify(this,this.Events.BoundsChange,this)}};a._restrictCenter=function(s){return this.coordSystem.restrict(s)};a.__init=function(){this.__updateContainerSize();if(q.opera&&q.version<9.5){var v=this,u=null,s=function(){h(v.__layerManager.getContainer()).toggleClass("fakeClassName");u=null},t=function(){if(!u){u=window.setTimeout(s,0)}};this.__listeners.push(i.observe(this,this.Events.Move,t));this.__listeners.push(i.observe(this,this.Events._NeedRedraw,t))}this.__listeners=this.__listeners.concat(i.observe(this,[this.Events.BoundsChange,this.Events.TypeChange],this.__updateZoomRange))};a.getCenter=function(t){var s=this.animator.getState().startPixelCenter;return s&&this.coordSystem.toCoordPoint(s,t)};a.getBounds=function(v){if(!this._inited){return null}var s=this.getContainerSize(),y=new k.Point(-(s.x%2)/2,-(s.y%2)/2),A=this.converter.localPixelsToCoordinates(new r(-y.x,s.y-y.y),1),x=this.converter.localPixelsToCoordinates(new r(s.x-y.x,-y.y),1),z=this.coordSystem;if(v){return z.getCoordBounds(A,x)}var t=z.fromCoordPoint(A),w=z.fromCoordPoint(x),u=z.getWorldSize(),B=this.coordSystem.getCoordPoint(A.getX(),A.getY()),D=this.coordSystem.fromCoordPoint(B,x),C=1e-7;if(w.getX()-t.getX()>u.getX()&&Math.abs(D.getX()-t.getX())>=u.getX()-C){t.setX(this._state.centerInTiles.x+0.5*u.getX()+0.5);w.setX(this._state.centerInTiles.x+0.5*u.getX()-0.5)}if(w.getY()-t.getY()>u.getY()&&Math.abs(D.getY()-t.getY())>=u.getY()-C){t.setY(this._state.centerInTiles.y+0.5*u.getY()+0.5);w.setY(this._state.centerInTiles.y+0.5*u.getY()-0.5)}return z.getCoordBounds(z.toCoordPoint(t),z.toCoordPoint(w))};a.setBounds=function(s){if(!this._inited){this.__updateContainerSize()}this.setCenter(s.getCenter(),s.getMapZoom(this))};a.setType=function(s){if(this.__setNewType(s)){if(this._inited){this.__applyCurType();i.notify(this,this.Events.TypeChange,this)}else{this.__updateZoomRange()}}};a.__setNewType=function(t){var s=this._state.type;if(t&&t instanceof k.MapType&&s!=t){this._state.type=t;if(s){this.__mapTypeAction("remove",s);if(this._inited){this.__mapTypeAction("removeFromMap",s)}}this.__mapTypeAction("add",t);return true}return false};a.__applyCurType=function(){this.__mapTypeAction("addToMap",this._state.type)};a.__mapTypeAction=function(v,u){for(var t=0,w=u.getLayers(),s=w.length;t<s;t++){this.__layerManager[v](this.__prepareLayer(w[t]),1)}};a.getType=function(){return this._state.type};a.__prepareLayer=function(s){return typeof s=="string"?this.__createdLayers[s]||(this.__createdLayers[s]=k.Layers.get(s)):s};a.addLayer=function(s){this.__layers.push(s);if(this._inited){this.__assignLayer(s,1)}};a.__assignLayer=function(s,t){s=this.__prepareLayer(s);this.__layerManager[t?"add":"remove"](s);this.__layerManager[t?"addToMap":"removeFromMap"](s);i.notify(this,this.Events[t?"AddLayer":"RemoveLayer"],this,s);this.__updateZoomRange()};a.__addLayers=function(){for(var t=0,s=this.__layers.length;t<s;t++){this.__assignLayer(this.__layers[t],1)}};a.removeLayer=function(t){var s=h.inArray(t,this.__layers);if(s!==-1){this.__layers.splice(s,1);if(this._inited){this.__assignLayer(t,0)}}};a._getLayerCopyrights=function(){return this.__layerManager.getCopyrights()};a.setZoom=function(t,s){this.__getZoomer().zoomTo(Number(t),s)};a.zoomBy=function(t,s){this.__getZoomer().zoomBy(t,s)};a.__getZoomer=function(){return this.__zoomer||(this.__zoomer=new g.Zoomer(this))};a.getZoom=function(){return this._state.zoom};a.setMaxZoom=function(s){this._userMaxZoom=s;this.__updateZoomRange()};a.setMinZoom=function(s){this._userMinZoom=s;this.__updateZoomRange()};h.each(["Min","Max"],function(u,t){var s=t.toLowerCase(),v=(s=="min"?"max":"min"),x="get"+t+"Zoom",w=s=="max";a[x]=function(B,A){var C=this._inited?this.__layerManager[x](B||this.getBounds()):null;if(!A){var y=this._state.type[x]();if(y!=null){C=C==null?y:Math[s](C,y)}var D=w?this._userMaxZoom:this._userMinZoom;if(typeof D!=j&&D!==null){C=C==null?D:Math[v](C,D)}var z=w?this.coordSystem.getMaxZoom():0;C=C==null?z:Math[v](C,z)}return C}});a.__updateZoomRange=function(){var t=this.getMinZoom(),s=this.getMaxZoom();if(!this.__zoomRange||this.__zoomRange.min!=t||this.__zoomRange.max!=s){this.__zoomRange={min:t,max:s};k.Events.notify(this,this.Events.ZoomRangeChange,this,{min:t,max:s})}};a.getContainer=function(){return this._element};a.getContainerSize=function(){return this._state.size.copy()};a.addOverlay=function(s,t){this.__overlays.push(s);this.__overlays_internal.push(!!t);if(this._inited){this.__objectLayer.add(s)}};a.__addOverlays=function(){for(var t=0,s=this.__overlays.length;t<s;t++){this.__objectLayer.add(this.__overlays[t])}};a.removeOverlay=function(t){var s=h.inArray(t,this.__overlays);if(s!==-1){this.__overlays.splice(s,1);this.__overlays_internal.splice(s,1);if(this._inited){this.__objectLayer.remove(t)}}};a.removeAllOverlays=function(){var t=0,v=this.__overlays.slice(),u=this.__overlays_internal.slice(),s=v.length;for(;t<s;t++){if(!u[t]){this.removeOverlay(v[t])}}};a.addControl=function(u,t,s){this.__controls.push(u);this.__controlsPositions.push(t);if(this._inited){u.onAddToMap(this,t,s)}};a.__addControls=function(){for(var t=0,s=this.__controls.length;t<s;t++){this.__controls[t].onAddToMap(this,this.__controlsPositions[t])}};a.removeControl=function(t){var s=h.inArray(t,this.__controls);if(s!==-1){this.__controls.splice(s,1);this.__controlsPositions.splice(s,1);if(this._inited){t.onRemoveFromMap()}}};a.openBalloon=function(t,v,u){if(t){u=u||{};this.closeBalloon();var s=this.__balloon;if(!s){this.__balloon=s=new k.Balloon();this.__listeners.push(i.observe(s,s.Events.Close,this.closeBalloon,this))}this.__curBalloon=s;s.setGeoPoint(t.copy());s.setContent(v);this.__balloonCloseCallback=typeof u.onClose=="function"?u.onClose:null;s.setOptions(u,1);this.addOverlay(s);i.notify(this,this.Events.BalloonOpen,this)}};a.closeBalloon=function(){if(this.__curBalloon){if(this.__balloonCloseCallback){this.__balloonCloseCallback()}this.__curBalloon=null;this.__balloon._setContent(null);this.removeOverlay(this.__balloon);i.notify(this,this.Events.BalloonClose,this);return 1}return 0};a.getBalloon=function(){return this.__curBalloon};a.addCopyright=function(s){this.__copyrights.addCopyright(s)};a.removeCopyright=function(s){this.__copyrights.removeCopyright(s)};a.destructor=function(){i.notify(this,this.Events.Destruct,this);if(this.__listeners){e(this.__listeners,"cleanup")}if(this.__resizeTimeout){window.clearTimeout(this.__resizeTimeout)}if(this._element){h(this._element).empty()}if(this._options&&!this._options.ignoreResize){l(window).events.remove("resize",this.__onResize,this)}this.converter=this.__overlays=this.__overlays_internal=this._element=this.__controls=this.__actionControls=this.__controlsPositions=this.__layers=this._inited=this.__layerManager=this.__objectLayer=this._graphicsLayer=this.__controlLayer=this._state=this.__createdLayers=this.__copyrights=this.__balloon=this.__curBalloon=this.__listeners=null};b=g.CommonObjectLayer=function(){k.Group.call(this);g.ALayer.call(this,{zIndex:k.ZIndex.COMMON_OBJECT_LAYER});h(this.getContainer()).addClass("YMaps-common-object-layer");this.__listeners=[i.observe(this,this.Events.Add,function(u,t,s){this.__addObjectToMap(t,s)},this),i.observe(this,this.Events.Remove,function(u,t,s){this.__removeObjectFromMap(t,s)},this)]};a=o(b,g.ALayer);h.extend(true,b.prototype,k.Group.prototype);a.onAddToMap=function(s,t){g.ALayer.prototype.onAddToMap.call(this,s,t);this.forEach(this.__addObjectToMap,this)};a.__addObjectToMap=function(s){if(this.getMap()){s.onAddToMap(this.getMap(),this.getContainer())}};a.onRemoveFromMap=function(){this.forEach(this.__removeObjectFromMap,this);g.ALayer.prototype.onRemoveFromMap.call(this)};a.__removeObjectFromMap=function(s){if(this.getMap()){s.onRemoveFromMap()}};a.onSmoothZoomStart=function(){h(this.getContainer()).css("visibility","hidden")};a.onSmoothZoomEnd=function(){h(this.getContainer()).css("visibility","visible")};a.onMapUpdate=function(){g.ALayer.prototype.onMapUpdate.call(this);e(this._objects.slice(),"onMapUpdate")};k.Templates=new d.ObjectStorage();b=k.Styles=new d.ObjectStorage();b.DefaultStyleKey="default#style";b=g.ABaseLayout=function(s,t){this._context=s;this._map=t;this._parentNode=null};a=b.prototype;a._setContent=function(t,s){if(this._contentLayout){this._contentLayout.onRemoveFromParent()}if(t){t.onAddToParent(s)}this._contentLayout=t};a.getRootNodes=function(){return this._$elements};a.onAddToParent=function(s){this._parentNode=s;h(s).append(this._$elements)};a.onRemoveFromParent=function(){this._parentNode=null;this._$elements.removeFromDom()};b=g.TextLayout=function(t,u,v,s){g.ABaseLayout.call(this,t,u);this._text=String(v);this._isTemplate=s;if(!s){this.update=function(){}}};a=o(b,g.ABaseLayout);a.onAddToParent=function(s){this._parentNode=s;if(this._isTemplate||!this._$elements){this._$elements=h("<div />");this._$elements.html(this._isTemplate?this.__prepareTemplate(this._text,this._context):this._text);this._$elements=this._$elements.contents();h(s).append(this._$elements);if(q.msie&&q.version<7){this.__pngFix()}}else{h(s).append(this._$elements)}};a.__pngFix=function(){var t=this._$elements.filter("img").add(this._$elements.find("img")),v=this;for(var u=0,s=t.length;u<s;u++){(function(w){var x=l(w).events.eventListener().add("load",function(){var z=h("<div />").css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+w.src+"', sizingMethod='scale')"})[0];d.size(z,d.size(w));var y=v._$elements.index(w);if(y!=-1){v._$elements[y]=z}h(w).replaceWith(z);x.removeAll()})})(t[u])}};a.__prepareTemplate=function(x,v){var z=new RegExp("\\$\\[[^\\]]*\\]","g"),u=x.match(z);if(u){for(var t=0,s=u.length,w,y=new RegExp("\\|([^\\]]*)");t<s;t++){w=this.__getTemplateVal(u[t],v);if(w==null){w=u[t].match(y);if(w&&w.length==2){w=w[1]}}x=x.replace(u[t],w==null?"":w)}}return x};a.__getTemplateVal=function(x,t){if(x){var w=t,s=new RegExp("[^\\$\\[\\]\\|\\s]+"),v=x.match(s)[0].split("."),u="";while(v.length&&w){u=v.shift();if(u=="style"&&w==t&&typeof t.getComputedStyle=="function"){w=t.getComputedStyle()}else{if(u!="0"||w instanceof Array){w=w[u]}}}return w}return null};a.update=function(){var s=h("<div />");s.html(this.__prepareTemplate(this._text,this._context));s=s.contents();if(this._parentNode){this._$elements.remove();s.appendTo(this._parentNode)}this._$elements=s;if(q.msie&&q.version<7){this.__pngFix()}};b=g.DOMLayout=function(t,u,s){g.ABaseLayout.call(this,t,u);this._$elements=h(s)};a=o(b,g.ABaseLayout);a.update=d.NULL;k.Template=function(s){this._text=s||""};k.Template.prototype={build:function(s,t){return new g.TextLayout(s,t,this._text,1)}};k.LayoutTemplate=function(s){this._layoutClass=s};k.LayoutTemplate.prototype={build:function(t,u,s){return new this._layoutClass(t,u,s)}};function n(t,s){k.Templates.add(t,{build:function(u,v){return d.normalizeContent(s(u,v))}})}n("default#iconContent",d.NULL);n("default#hintContent",function(s){return s.name||null});n("default#balloonContent",function(s){return"<b>"+(s.name||"")+"</b><div>"+(s.description||"")+"</div>"});b=k.Style=function(s){this.parentStyle=s};b.copy=function(s){var t=k.Style.extendStyle({},s,0);t.parentStyle=s.parentStyle;return t};b.extendStyle=function(v,u,t){var y,w,s;for(var x in u){y=u[x];if(x=="parentStyle"||typeof y==j){continue}w=v[x];if(x=="shadow"&&w===null){continue}s=typeof w==j||(t&&w===null);if(x=="template"||y===null||typeof y!="object"){if(s){v[x]=y}}else{if(y.copy){if(s){v[x]=y.copy()}}else{if(s){v[x]={}}k.Style.extendStyle(v[x],y,t)}}}return v};k.IconStyle=function(s){this.template=s};k.IconShadowStyle=function(s){this.template=s};k.IconContentStyle=function(s){this.template=s};k.BalloonStyle=function(s){this.template=s};k.BalloonContentStyle=function(s){this.template=s};k.HintStyle=function(s){this.template=s};k.HintContentStyle=function(s){this.template=s};k.LineStyle=function(){};k.PolygonStyle=function(){k.LineStyle.call(this)};new function(){var v=function(w,y){var x=new k.Style(null);x.iconStyle={offset:new r(-7,-28),href:c.imageRoot+"micro/pm"+y+"s.png",size:new r(28,29),shadow:null,template:"default#"+w+"PointIcon"};k.Styles.add("default#"+w+"Point",x);return x};var s=function(w,y){var x=new k.Style(null);x.iconStyle={offset:new r(-7,-19),href:c.imageRoot+"placemarks/pm"+y+"s.png",size:new r(19,20),shadow:null,template:"default#"+w+"PointIcon"};k.Styles.add("default#"+w+"SmallPoint",x);return x};var t={white:"wt",green:"gn",red:"rd",yellow:"yw",darkblue:"db",night:"nt",grey:"gr",blue:"bl",orange:"or",darkorange:"do",pink:"pn",violet:"vv"};for(var u in t){v(u,t[u]);s(u,t[u])}k.Styles.add(k.Styles.DefaultStyleKey,v("lightblue","lb"))};g.Popup=function(t,s){s=s||{};this._map=t;this._style=s.style||k.AGeoObject.fullStyle.hintStyle;this._vpNode=document.body;this._vpPaddings=this.DEFAULT_VIEWPORT_PADDINGS;this._maxSize=[0,0];this.__actualMaxSize=[0,0];this.__setMaxSize(s.maxWidth||0,s.maxHeight||0);this._layoutContext=null;this._currentLayoutContext=null;this.__showed=0;this._holdOnMouseOver=typeof s.holdOnMouseOver!=j?s.holdOnMouseOver:1;this._onHide=s.onHide||null;this._recalcActualMaxSize();this._showTimeout=this.DEFAULT_SHOW_TIMEOUT;if(typeof s.showTimeout!=j){this._setShowTimeout(s.showTimeout)}this._hideTimeout=this.DEFAULT_HIDE_TIMEOUT;if(typeof s.hideTimeout!=j){this._setHideTimeout(s.hideTimeout)}this.__onShowTimeout=p(this.quickShow,this);this.__onHideTimeout=p(this.quickHide,this);this._owner=s.owner};a=g.Popup.prototype;a.Events={Hide:"Hide",Show:"Show"};a.DEFAULT_SHOW_TIMEOUT=250;a.DEFAULT_HIDE_TIMEOUT=700;a.DEFAULT_VIEWPORT_PADDINGS=[10,10,10,10];a.setPosition=function(s){if(s instanceof r){this._position=s.copy();if(this._layout&&this.__showed){this.__applyPosition()}}};a.getPosition=function(){return this._position};a.__applyPosition=function(){if(this._position){var x=this._map.converter.localPixelsToClientPixels(this._position);x.moveBy(new r(h(window).scrollLeft(),h(window).scrollTop()));var s=this._getActualViewportBounds(),v=s.getLeft(),z=s.getTop(),A=s.getRight(),t=s.getBottom(),y=this._layout.getSize?this._layout.getSize():d.size(this._container),w=x.x+y.x,u=x.y+y.y;if(w>A){x.x-=w-A}else{if(x.x<v){x.x+=v-x.x}}if(u>t){x.y-=u-t}else{if(x.y<z){x.y+=z-x.y}}d.position(this._container,x.moveBy(this._getBodyOffset().neg()))}};a._getActualViewportBounds=function(){var s=this._vpPaddings,F=s[0],v=s[1],u=s[2],x=s[3],B=h(window),w=B.scrollLeft(),A=B.scrollTop(),y=B.width(),D=B.height(),t=x+v,E=F+u;if(t>y){var C=Math.ceil((t-y)/2);x-=C;v-=C}if(E>D){var z=Math.ceil((E-D)/2);F-=z;u-=z}return new k.Bounds(new r(x+w,-u+D+A),new r(-v+y+w,F+A))};a._getBodyOffset=function(){var t=h("body"),s=t.css("position");if(s=="absolute"||s=="relative"){var u=t.offset();return new r(u.left,u.top)}return new r(0,0)};a._setStyle=function(s){if(this._style!=s){this._style=s;this.update()}};a.update=function(){if(k.Templates.get(this._style.template)==this._currentTemplate&&(this._currentLayoutContext==this._layoutContext)&&this._layout){if(this.__showed){this._layout.update()}}else{this._removeLayout();if(this.__showed){this._recreate()}}};a._recreate=function(){this._removeLayout();this._createLayout();if(this._layout){this.__rewriteContent();if(this._layout.setMaxSize){this._layout.setMaxSize.apply(this._layout,this.__actualMaxSize)}if(this.__showed){this.__showLayout()}}};a._removeLayout=function(){if(this._layout){l(this._container).events.remove("mouseenter",this._onMouseOver,this);if(this.__showed){this._layout.onRemoveFromParent()}this._layout=null}};a._createLayout=function(){if(!this._container){this._container=document.createElement("div");this._container.style.zIndex=k.ZIndex.POPUP;this._container.className="YMaps-popup"}var s=k.Templates.get(this._style.template);if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.hintStyle.template)}this._currentTemplate=s;this._currentLayoutContext=this._layoutContext;this._layout=s.build(this._layoutContext,this._map,this._owner);this._layout.onAddToParent(this._container)};a.__showLayout=function(){this._container.style.visibility="hidden";this._vpNode.appendChild(this._container);this._layout.update();this.__applyPosition();this._container.style.visibility="visible"};a.setContent=function(s){this._content=s;this._contentLayout=d.normalizeContent(s);if(this._layout){this.__rewriteContent();if(this.__showed){this._layout.update();this.__applyPosition()}}};a.getContent=function(){return this._content};a.getLayout=function(){return this.__showed?this._layout:null};a.getContentLayout=function(){return this.__showed?this._contentLayout||null:null};a.__rewriteContent=function(){if(this._layout.setContent){this._layout.setContent(this._contentLayout)}};a.setOptions=function(t,v){t=t||{};var s=v?{style:k.AGeoObject.hintStyle,maxWidth:0,maxHeight:0,showTimeout:this.DEFAULT_SHOW_TIMEOUT,hideTimeout:this.DEFAULT_HIDE_TIMEOUT,holdOnMouseOver:1,onHide:null,layoutContext:null}:this.getOptions();for(var u in t){s[u]=t[u]}this._layoutContext=s.layoutContext;this.__setMaxSize(s.maxWidth,s.maxHeight);this._recalcActualMaxSize();this._setShowTimeout(s.showTimeout);this._setHideTimeout(s.hideTimeout);this._holdOnMouseOver=s.holdOnMouseOver;this._onHide=s.onHide;this._setStyle(s.style)};a.getOptions=function(){return{style:this._style,maxWidth:this._maxSize[0],maxHeight:this._maxSize[1],showTimeout:this._showTimeout,hideTimeout:this._hideTimeout,holdOnMouseOver:this._holdOnMouseOver,onHide:this._onHide,layoutContext:this._layoutContext}};a.__setMaxSize=function(u,t){u=Math.max(u,0)||0;t=Math.max(t,0)||0;var s=0;if(this._maxSize[0]!=u){this._maxSize[0]=u;s=1}if(this._maxSize[1]!=t){this._maxSize[1]=t;s=1}return s};a._recalcActualMaxSize=function(){var s=this._getActualViewportBounds();this.__actualMaxSize=[Math.min(s.getRight()-s.getLeft(),this._maxSize[0]||Infinity),Math.min(s.getBottom()-s.getTop(),this._maxSize[1]||Infinity)];if(this._layout){if(this._layout.setMaxSize){this._layout.setMaxSize.apply(this._layout,this.__actualMaxSize)}if(this.__showed){this._layout.update();this.__applyPosition()}}};a._setShowTimeout=function(s){if(typeof s=="number"&&!isNaN(s)){this._showTimeout=s}};a._setHideTimeout=function(s){if(typeof s=="number"&&!isNaN(s)){this._hideTimeout=s}};a._clearAllTimeouts=function(){this._clearShowTimeout();this._clearHideTimeout()};a._clearShowTimeout=function(){if(this.__showTimeoutID){window.clearTimeout(this.__showTimeoutID);this.__showTimeoutID=null}};a._clearHideTimeout=function(){if(this.__hideTimeoutID){window.clearTimeout(this.__hideTimeoutID);this.__hideTimeoutID=null}};a.show=function(s){this._clearHideTimeout();if(s){this.setPosition(s)}if(!this.__showed){if(this._showTimeout==0){this.quickShow(s)}else{if(!this.__showTimeoutID){this.__showTimeoutID=window.setTimeout(this.__onShowTimeout,this._showTimeout)}}}};a.quickShow=function(s){this._clearAllTimeouts();if(s){this.setPosition(s)}if(this.__showed){return}this.__showed=1;if(this._layout){this._layout.onAddToParent(this._container);this.__showLayout()}else{this._recreate()}i.notify(this,this.Events.Show,this);this._hiding=0;l(this._container).events.add("mouseenter",this._onMouseOver,this)};a.hide=function(){this._hiding=1;this._clearShowTimeout();if(this.__showed){if(this._hideTimeout==0){this.quickHide()}else{if(!this.__hideTimeoutID){this.__hideTimeoutID=window.setTimeout(this.__onHideTimeout,this._hideTimeout)}}}else{if(this._onHide){this._onHide()}}};a.quickHide=function(){this._clearAllTimeouts();if(this.__showed&&!(this._holdOnMouseOver&&this.__isMouseOver)){this._hide()}};a._hide=function(){this._clearAllTimeouts();if(this.__showed){this.__showed=0;this.__isMouseOver=0;l(this._container).events.remove("mouseenter",this._onMouseOver,this).remove("mousemove",this._onMouseOut,this);this._layout.onRemoveFromParent();this._vpNode.removeChild(this._container);if(this._onHide){this._onHide()}i.notify(this,this.Events.Hide,this)}};a.isShown=function(){return this.__showed};a._onMouseOver=function(s){this.__isMouseOver=1;if(this._holdOnMouseOver){this._clearAllTimeouts()}l(this._container).events.remove("mouseenter",this._onMouseOver,this).add("mouseleave",this._onMouseOut,this)};a._onMouseOut=function(s){this.__isMouseOver=0;l(this._container).events.remove("mouseleave",this._onMouseOut,this).add("mouseenter",this._onMouseOver,this);if(this._holdOnMouseOver&&this._hiding){this.hide()}};a.destructor=function(){this._clearAllTimeouts();this._removeLayout();this._vpNode=null};(function(){b=g.Hint=function(u){this.__popup=new g.Popup(u,{owner:this});this._offset=null;this._onHide=null;var v=this;i.observe(this.__popup,this.__popup.Events.Show,function(){i.notify(this,this.Events.Show,this)},this);i.observe(this.__popup,this.__popup.Events.Hide,function(){i.notify(this,this.Events.Hide,this)},this);this._onHideCallback=function(){if(v._onHide){v._onHide();v._onHide=null}}};a=b.prototype;a.Events={Hide:"Hide",Show:"Show"};a.show=function(u,w,v){var x=this.isShown();if(x){i.notify(this,this.Events.Hide,this)}this._onHideCallback();this.setOptions(v);this.setContent(w);this.__popup.show(u.copy().moveBy(this._offset));if(x){i.notify(this,this.Events.Show,this)}};a.setOptions=function(v){v=v||{};var u={style:k.AGeoObject.fullStyle.hintStyle,showTimeout:250,maxWidth:750,maxHeight:300,offset:new r(15,15)};for(var w in v){u[w]=v[w]}var x=u.hintOffset||u.offset;if(this._offset&&!this._offset.equals(x)&&this.isShown()){this.__popup.setPosition(this.__popup._position.copy().moveBy(this._offset.neg()).moveBy(x))}this._offset=x;this._onHide=u.onHide;u.onHide=this._onHideCallback;this.__popup.setOptions(u,1)};a.setContent=function(u){this.__popup.setContent(u)};a.getLayout=function(){return this.__popup.getLayout()};a.getContentLayout=function(){return this.__popup.getContentLayout()};a.moveTo=function(u){this.__popup.setPosition(u.copy().moveBy(this._offset))};a.isShown=function(){return this.__popup.isShown()};a.hide=function(u){this.__popup.setOptions({hideTimeout:typeof u==j?this.__popup.DEFAULT_HIDE_TIMEOUT:u},0);this.__popup.hide()};var s;var t=function(u,w){g.ABaseLayout.call(this,u,w);var v=this._$elements=h('<div class="YMaps-b-balloon-point">                        <div class="YMaps-b-balloon YMaps-b-balloon_hint">                            <table class="YMaps-b-balloon-frame">                            <tr>                                <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                                <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                                <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            </tr>                            <tr>                                <td class="YMaps-b-balloon-ml"></td>                                <td class="YMaps-b-balloon-m">                                    <div class="YMaps-b-balloon-content"></div>                                </td>                                <td class="YMaps-b-balloon-mr"></td>                            </tr>                            <tr>                                <td class="YMaps-b-balloon-b" colspan="3">                                    <i class="YMaps-b-balloon-corners">                                        <i class="YMaps-b-balloon-bit"><i></i></i>                                        <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                        <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                    </i>                                </td>                            </tr>                            </table>                        </div>                    </div>');this._nodes={visContainer:v.find(".YMaps-b-balloon"),content:v.find(".YMaps-b-balloon-content"),table:v.find(".YMaps-b-balloon-frame")};this._topNode=v[0];this._size=null;this._hasContent=false};a=o(t,g.ABaseLayout);a.DEFAULT_MIN_WIDTH=42;a.update=function(){if(!this._parentNode||!this._hasContent){return}if(q.msie){this._$elements.toggleClass("fakeClassName")}var w=this._nodes.content,A=this._maxSize,z=this._nodes.visContainer;if(!s||s.x<0){s=new k.Point(z.find(".YMaps-b-balloon-ml").width()+z.find(".YMaps-b-balloon-mr").width()-2,z.find(".YMaps-b-balloon-t").height()+z.find(".YMaps-b-balloon-b").height());if(q.opera&&q.version>=9.5){s.x-=1}}z.css("width","10000px");w.css({width:"",height:"",overflow:"","float":"left"});var v=w.width();if((h.os.name=="mac"&&q.mozilla)||(q.msie&&q.ieDocumentMode==9)){v++}var x=v+s.getX();if(A[0]&&x>A[0]){x=A[0]}else{if(x<this.DEFAULT_MIN_WIDTH){x=this.DEFAULT_MIN_WIDTH}}w.css("width",Math.max(0,x-s.getX()));var y=w.height(),u=y+s.getY();if(A[1]&&u>A[1]){u=A[1]}w.css({height:Math.max(0,u-s.getY()),overflow:"hidden","float":""});z.css("width","")};a.setMaxSize=function(v,u){this._maxSize=[v,u]};a.setContent=function(u){this._setContent(u,this._nodes.content[0]);if(u){this._$elements.css({display:""});var v=this;d.imagesOnLoad(this._nodes.content,function(){v.update()},function(w){if(w==0){v.update()}});this._hasContent=true}else{this._$elements.css({display:"none"});this._hasContent=false}this._size=null};a.getSize=function(){if(!this._size){this._size=d.size(this._nodes.table[0])}return this._size};k.Templates.add("default#hint",new k.LayoutTemplate(t))})();b=k.Balloon=function(s){s=s||{};this._style=s.style||k.AGeoObject.fullStyle.balloonStyle;this._layoutContext=null;this._currentLayoutContext=null;this._maxSize=[0,0];this.__setMaxSize(s.maxWidth||0,s.maxHeight||0);this._hasCloseButton=typeof s.hasCloseButton==j?1:s.hasCloseButton;this._margin=this.MARGIN;if(typeof s.margin!=j){this.__setMargin.apply(this,[].concat(s.margin))}this._mapAutoPan=typeof s.mapAutoPan==j?1:s.mapAutoPan;var t=this;this.__closeHandler=function(u){t._onCloseClick(u)}};a=b.prototype;a.Events={Close:"Close",CloseButtonClick:"Close"};a.MARGIN=[33,10,20,33];a.setOptions=function(t,v){t=t||{};var s=v?{style:k.AGeoObject.fullStyle.balloonStyle,maxWidth:0,maxHeight:0,hasCloseButton:1,margin:this.MARGIN,mapAutoPan:1,layoutContext:null}:this.getOptions();for(var u in t){s[u]=t[u]}this._layoutContext=s.layoutContext;this._setHasCloseButton(s.hasCloseButton);this._setMaxSize(s.maxWidth,s.maxHeight);this.__setMargin.apply(this,[].concat(s.margin));this._mapAutoPan=s.mapAutoPan;this._setStyle(s.style)};a.getOptions=function(){return{style:this._style,maxWidth:this._maxSize[0],maxHeight:this._maxSize[1],hasCloseButton:this._hasCloseButton,margin:this._margin,mapAutoPan:this._mapAutoPan,layoutContext:this._layoutContext}};a._setMaxSize=function(t,s){if(this.__setMaxSize(t,s)&&this._layout&&this._layout.setMaxSize){this._layout.setMaxSize(this._maxSize[0],this._maxSize[1]);if(this._parentContainer){this._layout.update();this.__updatePosition()}}};a.__setMaxSize=function(u,t){u=Math.max(u,0)||0;t=Math.max(t,0)||0;var s=0;if(this._maxSize[0]!=u){this._maxSize[0]=u;s=1}if(this._maxSize[1]!=t){this._maxSize[1]=t;s=1}return s};a.__setMargin=function(u,t,v,s){if(typeof u=="number"){this._margin=[u,typeof t=="number"?t:t=u,typeof v=="number"?v:v=u,typeof s=="number"?s:s=t]}};a._setContent=function(s){this._content=s;this._contentLayout=d.normalizeContent(s);if(this._layout){this.__rewriteContent();if(this._parentContainer){this._layout.update();this.__updatePosition()}}};a.setContent=function(s){this._setContent(s);if(this._mapAutoPan&&this._layout&&this._parentContainer){this.mapAutoPan()}};a.getContent=function(){return this._content};a.getLayout=function(){return this._map?this._layout||null:null};a.getContentLayout=function(){return this._map?this._contentLayout||null:null};a.__rewriteContent=function(){if(this._layout.setContent&&this._contentLayout){this._layout.setContent(this._contentLayout)}};a.setCoordPoint=function(s){this._point=s;this.__updatePosition()};a.setGeoPoint=a.setCoordPoint;a.getCoordPoint=function(){return this._point};a.getGeoPoint=a.getCoordPoint;a._setStyle=function(s){if(this._style!=s){this._style=s;this.update()}};a.update=function(){if(k.Templates.get(this._style.template)==this._currentTemplate&&(this._currentLayoutContext==this._layoutContext)&&this._layout){if(this._parentContainer){this._layout.update()}}else{this.__clearLayout();if(this._parentContainer){this.__createLayout();if(this._layout.setMaxSize){this._layout.setMaxSize(this._maxSize[0],this._maxSize[1])}this.__rewriteContent();this.__applyHasCloseButton();this.__addToParentContainer();this.__updatePosition()}}};a.__addToParentContainer=function(){this._layout.onAddToParent(this._container)};a.__updatePosition=function(){if(this._parentContainer){if(this._point){this.__posInPixels=this._map.converter.coordinatesToMapPixels(this._point);d.position(this._container,this.__posInPixels)}else{throw"Balloon position point is not defined."}}};a.onMapUpdate=function(){this.__updatePosition()};a.__clearLayout=function(){if(this._layout){if(this._parentContainer){this._layout.onRemoveFromParent()}this._layout=this.__writtenContent=null}};a.__createLayout=function(){var s=k.Templates.get(this._style.template);if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.balloonStyle.template)}this._currentTemplate=s;this._currentLayoutContext=this._layoutContext;this._layout=s.build(this._layoutContext,this._map,this)};a._onCloseClick=function(s){g.preventMapEvent(s);i.notify(this,this.Events.CloseButtonClick,this)};a._setHasCloseButton=function(s){if(typeof s!=j){this._hasCloseButton=s;if(this._layout){this.__applyHasCloseButton();if(this._parentContainer){this._layout.update()}}}};a.__applyHasCloseButton=function(){if(this._hasCloseButton){if(this._layout.enableClose){this._layout.enableClose(this.__closeHandler)}}else{if(this._layout.disableClose){this._layout.disableClose()}}};a.onAddToMap=function(s,t){this._map=s;this._parentContainer=t;if(!this._container){this._container=h('<div class="YMaps-balloon" style="position: absolute; z-index:'+k.ZIndex.BALLOON+';"></div>')[0];l(this._container).events.add("contextmenu",this.__onContextMenu,this)}t.appendChild(this._container);if(this._layout){this.__addToParentContainer();this.__updatePosition()}else{this.update()}this.__mapMoveEndListener=i.observe(this._map,this._map.Events.MoveEnd,this._onMapMoveEnd,this);if(this._mapAutoPan){this.mapAutoPan()}};a.__onContextMenu=function(t){var s=new k.MouseEvent(t,this._map);if(!s.isMapEventPrevented()){t.preventDefault();s.preventMapEvent()}};a._onMapMoveEnd=function(){if(this.__posInPixels){this.__updatePosition()}};a.onRemoveFromMap=function(){l(this._container).events.remove("contextmenu",this.__onContextMenu,this);this._parentContainer.removeChild(this._container);this._parentContainer=this._map=null;if(this._autoPanTimeout){window.clearTimeout(this._autoPanTimeout)}if(this._layout){this._layout.onRemoveFromParent()}if(this.__mapMoveEndListener){this.__mapMoveEndListener.cleanup();this.__mapMoveEndListener=null}};a.mapAutoPan=function(C){if(this._map&&this._map._state){if(q.webkit&&this._container.offsetParent==document.body){var y=this;this._autoPanTimeout=window.setTimeout(function(){y._autoPanTimeout=null;y.mapAutoPan()},100);return}var u=this._map.converter,x=this._map.getContainerSize(),z=u.coordinatesToLocalPixels(this._point),v=this._margin,D=(this._layout.getSize?this._layout.getSize():d.size(this._container));if(this._layout.getOffset){z.moveBy(this._layout.getOffset())}var A=z.y-v[0],B=z.x+D.x+v[1],s=z.y+D.y+v[2],t=z.x-v[3],w=new r();if(t<=0){w.moveToX(-1*t)}else{if(B>x.x){w.moveToX(x.x-B)}}if(A<=0){w.moveToY(-1*A)}else{if(s>x.y){w.moveToY(x.y-s)}}if(w.x||w.y){this._map.moveBy(w.neg(),Math.abs(w.x)<3*x.x&&Math.abs(w.y)<3*x.y,{callback:C})}else{if(C){window.setTimeout(function(){C(k.State.SUCCESS)},0)}}}};new function(){var w=function(y,A,x){g.ABaseLayout.call(this,y,A);var z=this._$elements=h('<div class="YMaps-b-balloon-point">                <div class="YMaps-b-balloon YMaps-b-balloon_full YMaps-b-balloon_close-on">                    <div class="YMaps-b-balloon-wrap">                        <table class="YMaps-b-balloon-frame">                        <tr>                            <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-ml"></td>                            <td class="YMaps-b-balloon-m">                                <div class="YMaps-b-balloon-content"></div>                            </td>                            <td class="YMaps-b-balloon-mr"></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-b" colspan="3">                                <i class="YMaps-b-balloon-corners">                                    <i class="YMaps-b-balloon-bit"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                </i>                            </td>                        </tr>                        </table>                        <i class="YMaps-b-balloon-close" title="Закрыть"><i></i></i>                        <i class="YMaps-b-balloon-shad"><i></i></i>                    </div>                    <i class="YMaps-b-balloon-tail-full">                        <i class="YMaps-b-balloon-tail-top"><i></i></i>                        <i class="YMaps-b-balloon-tail-middle"><i></i></i>                        <i class="YMaps-b-balloon-tail-bottom"><i></i></i>                    </i>                </div>                </div>');this.__balloon=x;this._nodes={visContainer:z.find(".YMaps-b-balloon")[0],contentParent:z.find(".YMaps-b-balloon-m")[0],content:z.find(".YMaps-b-balloon-content")[0],$close:z.find(".YMaps-b-balloon-close"),$eventBlockNode:z.find(".YMaps-b-balloon-frame"),$shad:z.find(".YMaps-b-balloon-shad"),$tail:z.find(".YMaps-b-balloon-tail-full")};this._nodes.$eventBlockNode=this._nodes.$eventBlockNode.add(this._nodes.$tail).add(this._nodes.$close);this._nodes.$close[0].title=c.hints.balloon.close};var t=o(w,g.ABaseLayout),u="YMaps-balloon-content-overflow-hidden";t.onAddToParent=function(x){h(x).append(this._$elements);if(q.mozilla){this._ffObservers=[];var A;this._ffObservers.push(i.observe(this._map,this._map.Events.MoveStart,function(){if(!A){A=1;h(this._nodes.content).addClass(u)}},this));this._ffObservers.push(i.observe(this._map,this._map.Events.MoveEnd,function(){if(A){h(this._nodes.content).removeClass(u);A=0}},this))}l(this._nodes.content).events.add("contextmenu",g.preventMapEvent);for(var z=0,y=this._nodes.$eventBlockNode.length;z<y;z++){l(this._nodes.$eventBlockNode[z]).events.add(["click","dblclick","mouseup","mousedown","mousemove","wheel","multitouchstart","multitouchmove","multitouchend"],g.preventMapEvent)}l(this._nodes.$close[0]).events.add("click",this.__onCloseButtonClick,this);this.update()};t.__onCloseButtonClick=function(x){if(this._closeCallback){this._closeCallback(x)}g.preventMapEvent(x)};t.onRemoveFromParent=function(){if(this._ffObservers){e(this._ffObservers,"cleanup");this._ffObservers=null}l(this._nodes.content).events.removeAll();for(var y=0,x=this._nodes.$eventBlockNode.length;y<x;y++){l(this._nodes.$eventBlockNode[y]).events.removeAll()}l(this._nodes.$close[0]).events.removeAll();h(this._nodes.content).removeClass(u);this._$elements.removeFromDom()};t.DEFAULT_MAX_WIDTH=520;t.DEFAULT_MAX_HEIGHT=100;t.DEFAULT_WIDE_MIN_WIDTH=42;t.DEFAULT_TINY_MIN_WIDTH=58;t.DEFAULT_MIN_HEIGHT=15;var s;function v(){if(!s){var A=null,z=null,x=0,y=0;if(q.msie){A=h('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');h("body").append(A);x=h("div",A).innerWidth();A.css("overflow-y","scroll");y=h("div",A).innerWidth();h(A).remove()}else{z=h('<div style="width:100%;height:200px;"></div>');A=h('<div style="position:absolute;top:-1000px;left:-1000px;width:100px;height:50px;overflow:hidden;"></div>').append(z).appendTo(document.body);x=z.width();A.css({overflow:"auto"});y=z.width();A.remove()}s=x-y}return s}t.update=function(){if(!this.__balloon||!this.__balloon._map||!this.__balloon._map._state){return}var C=this._nodes.visContainer,D=this._nodes.content,x=h(D),F,E,G=this._maxSize[0],H=this._maxSize[1],I=x.hasClass(u);if(I){x.removeClass(u)}d.size(C,10000);x.css({overflow:"auto",width:"auto",height:"auto"});if(q.ieDocumentMode==8){x.css("overflow","visible")}if(q.opera){h(C).css("overflow","hidden")}if(!G||!H){var A=this._map.getContainerSize();if(!G){G=Math.max(this.DEFAULT_MAX_WIDTH,A.x-60)}if(!H){H=A.y>250?A.y-100:this.DEFAULT_MAX_HEIGHT}}if(!q.msie){x.css("maxWidth",G)}F=Math.max(D.scrollWidth,D.offsetWidth)>G;if(F&&q.msie){x.css("width",G)}if(H!=null){if(q.opera){x.css("overflow","hidden")}if(!q.msie){x.css("maxHeight",H)}E=Math.max(D.scrollHeight,D.offsetHeight)>H;if(E&&q.msie){x.css("height",H)}}if(F){if(q.opera){x.css("overflow","auto")}if(q.msie){var K=D.offsetHeight-D.clientHeight;x.css("height",D.offsetHeight+K)}}if(q.webkit&&(this._$elements[0].offsetParent==document.body)){var B=this;this._updateTimeout=window.setTimeout(function(){B._updateTimeout=null;B.update()},100);return}var y=d.size(D);if((q.msie&&q.version>=9&&!q.quirksMode)||(h.os.name=="mac"&&h.browser.mozilla)){y.x=Math.min(G,y.x+1)}y.y=Math.max(y.y,this.DEFAULT_MIN_HEIGHT);if(this._closeCallback){y.x=Math.max(y.x,this.DEFAULT_WIDE_MIN_WIDTH)}else{y.x=Math.max(y.x,this.DEFAULT_TINY_MIN_WIDTH)}if(q.ieDocumentMode>=8){if(F){y.y+=v()+1}if(E){y.x+=v()+1}}if(q.msie&&q.version<8){if(F){y.y++}if(E){y.x++}}if(q.msie){y.x=y.x+y.x%2}x.css({width:y.x,height:y.y,overflow:F||E?"auto":"hidden"});var J=this._nodes.contentParent.offsetWidth-y.x;if(y.x+J<52){y.x=52-J;x.css("width",y.x)}if(I){x.addClass(u)}this._nodes.$shad[(y.y>50?"remove":"add")+"Class"]("YMaps-b-balloon-shad_short");if(q.opera){h(C).css("overflow","")}h(C).css({width:"",height:""});if(q.msie&&(q.version==6||q.quirksMode)){var z=q.version>=9&&q.version<=10;d.fixIESize(this._nodes.$shad,"right",z?[-20,-21]:[-22,-21]);d.fixIESize(this._nodes.$shad,"bottom",[0,1]);d.fixIESize(this._nodes.$tail,"right",z?[16,15]:[14,15]);d.fixIESize(this._nodes.$tail,"bottom",[-38,-37])}if(q.msie&&(q.version<7||q.quirksMode)){h(this._nodes.content).addClass("YMaps-fake").removeClass("YMaps-fake")}};t.setMaxSize=function(y,x){this._maxSize=[y,x]};t.getOffset=function(){var x=this.getSize();return new r(45-x.x,1-x.y)};t.getSize=function(){return d.size(this._nodes.visContainer).moveByY(37)};t.enableClose=function(x){this._closeCallback=x;h(this._nodes.visContainer).addClass("YMaps-b-balloon_close-on")};t.disableClose=function(){if(this._closeCallback){this._closeCallback=null}h(this._nodes.visContainer).removeClass("YMaps-b-balloon_close-on")};t.setContent=function(x){this._setContent(x,this._nodes.content);if(x){var y=this;d.imagesOnLoad(this._nodes.content,function(){y.update()},function(z){if(z==0){y.update()}if(y.__balloon&&typeof y.__balloon.mapAutoPan=="function"&&y.__balloon.getOptions().mapAutoPan){y.__balloon.mapAutoPan()}})}};k.Templates.add("default#balloon",new k.LayoutTemplate(w))};b=k.Placemark=function(t,s){k.AInteractiveGeoObject.call(this,s);this.setGeoPoint(t);s=s||{};this.__draggable=!!s.draggable;this.__hideIcon=typeof s.hideIcon!=j?s.hideIcon:1;this.__actualHideIcon=this.__hideIcon;this._map=this._parentContainer=null;this.__iconEventListeners=[];this._interactive=typeof s.interactive!=j?s.interactive:k.Interactivity.INTERACTIVE;this.__eventsBound=false;this.__eventsInitialized=false;var u=this;this._onHintHide=function(){u._hintVisible=0};this._cursor=s.cursor;this._state={interactive:0,drag:0,hover:0,active:0};this._zIndexManager=new g.PlacemarkZIndexManager(this,s)};a=o(b,k.AInteractiveGeoObject);a.isPlacemark=1;a.__cursors={Default:k.Cursor.POINTER,Drag:k.Cursor.GRABBING};a._states={interactive:"Default",drag:"Drag",hover:"Hover",active:"Active",hidden:"Hidden"};a.Events={Click:"Click",DblClick:"DblClick",DragStart:"DragStart",Drag:"Drag",DragEnd:"DragEnd",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove",PositionChange:"PositionChange",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose",OptionsChange:"OptionsChange",AddToMap:"AddToMap",RemoveFromMap:"RemoveFromMap"};a.getMap=function(){return this._map};a.getParentContainer=function(){return this._parentContainer};a.onAddToMap=function(s,t){this._map=s;this._parentContainer=t;this._ensureContainers();if(this._$iconShadowContainer){this._$iconShadowContainer.appendTo(this._parentContainer);this._shadowContainerAdded=1}this._$iconContainer.appendTo(this._parentContainer);this._updateIcon(true);this.__updatePosition();if(this._interactive!=k.Interactivity.NONE){this.__addIconEventListeners()}this.__mapMoveEndListener=i.observe(this._map,this._map.Events.MoveEnd,this._onMapMoveEnd,this);this.__destructListener=i.observe(this._map,this._map.Events.Destruct,this._destruct,this);this._zIndexManager.enable();i.notify(this,this.Events.AddToMap,this)};a._destruct=a.onRemoveFromMap=function(){this.closeBalloon();this._hideHintIfVisible();if(this._interactive!=k.Interactivity.NONE){this.__removeIconEventListeners()}if(this.__mapMoveEndListener){this.__mapMoveEndListener.cleanup()}if(this.__isMouseOver){this._setState({hover:0});this.__isMouseOver=0}if(this._icon){this._icon.onRemoveFromParent()}if(this._$iconContainer){this._$iconContainer.removeFromDom()}if(this._iconShadow){this._iconShadow.onRemoveFromParent()}if(this._$iconShadowContainer){this._$iconShadowContainer.removeFromDom();this._shadowContainerAdded=0}this.__destructListener.cleanup();this.__destructListener=this.__mapMoveEndListener=this._map=this._parentContainer=null;this._zIndexManager.disable();i.notify(this,this.Events.RemoveFromMap,this)};a.onRemoveFromGroup=function(){this._parentGroup=null};a.__updatePosition=function(s){if(this._parentContainer){if(this._point){this.__posInPixels=s||this._map.converter.coordinatesToMapPixels(this._point);var t=this.getComputedStyle().iconStyle;if(this._icon){d.position(this._$iconContainer[0],this.__posInPixels.copy().moveBy(this._icon.getOffset?this._icon.getOffset():t.offset))}if(this._iconShadow){d.position(this._$iconShadowContainer[0],this.__posInPixels.copy().moveBy(this._iconShadow.getOffset?this._iconShadow.getOffset():t.shadow.offset))}if(this._balloonVisible){this._map.getBalloon().setGeoPoint(this._point)}}else{throw"Placemark position point is not defined."}}};a.onMapUpdate=function(){this.__updatePosition()};a._onMapMoveEnd=function(){if(this.__posInPixels){var t=this.__posInPixels,s=this._map.converter.coordinatesToMapPixels(this._point);if(Math.abs(t.getX()-s.getX())>1||Math.abs(t.getY()-s.getY())>1){this.__updatePosition(s)}}};a.update=function(){k.AInteractiveGeoObject.prototype.update.call(this);this._ensureContainers();if(this._parentContainer){if(!this._balloonVisible||!this.__actualHideIcon){this._updateIcon()}if(this._$iconShadowContainer&&!this._shadowContainerAdded){this._$iconShadowContainer.prependTo(this._parentContainer);this._shadowContainerAdded=1}}this._updateHint();this._updateBalloon();this.__updatePosition()};a.setOptions=function(t,v){t=t||{};k.AInteractiveGeoObject.prototype.setOptions.call(this,t,v);var s=v?{draggable:0,hideIcon:1,interactive:k.Interactivity.INTERACTIVE,cursor:null}:this.getOptions();for(var u in t){s[u]=t[u]}if(this.__draggable&&!s.draggable){if(this.__mouseMove){this.__mouseMove.abort()}this._onMoveEnd()}this.__draggable=s.draggable;this.__hideIcon=s.hideIcon;if(this._interactive!=s.interactive){if(this._interactive==k.Interactivity.NONE){if(this._$iconContainer&&this._map){this.__addIconEventListeners()}}else{if(this.__eventsBound&&s.interactive==k.Interactivity.NONE){this.__removeIconEventListeners()}}if(this._$iconContainer){this._setState(s.interactive!=k.Interactivity.NONE?{interactive:1}:{interactive:0,drag:0,hover:0,active:0})}this._interactive=s.interactive}if(this._cursor!=s.cursor){if(s.interactive!=k.Interactivity.NONE){if(this.__isDragged){this.__cursorManager.removeCursor(this.__cursors.Drag)}this.__cursorManager.removeCursor(this.__cursor||this.__cursors.Default);this.__cursorManager.addCursor(s.cursor||this.__cursors.Default);if(this.__isDragged){this.__cursorManager.addCursor(this.__cursors.Drag)}}else{this.__cursorManager.removeCursor(this.__cursor||this.__cursors.Default)}this._cursor=s.cursor}this._zIndexManager.setOptions(s);i.notify(this,this.Events.OptionsChange,this)};a.getOptions=function(){var s=k.AInteractiveGeoObject.prototype.getOptions.call(this);s.draggable=this.__draggable;s.hideIcon=this.__hideIcon;s.interactive=this._interactive;s.cursor=this._cursor;h.extend(s,this._zIndexManager.getOptions());return s};a._ensureContainers=function(){if(!this._$iconContainer){this._$iconContainer=h("<div />").addClass("YMaps-placemark").css({"z-index":this._zIndexManager.getZIndex()});this.__cursorManager=new g.CursorManager(this._$iconContainer[0]);if(this._interactive!=k.Interactivity.NONE){this._setState({interactive:1})}}var s=this.getComputedStyle().iconStyle.shadow;if(!this._$iconShadowContainer&&s){this._$iconShadowContainer=h("<div />").addClass("YMaps-placemark-shadow").css({"z-index":this._zIndexManager.getShadowZIndex()})}if(this._$iconShadowContainer&&!s){this._$iconShadowContainer.removeFromDom();this._$iconShadowContainer=null;this._shadowContainerAdded=0}};a._updateIcon=function(x){var w=this.getComputedStyle().iconStyle,s=k.Templates.get(w.template),u=!this._icon;if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.iconStyle.template)}if(this._icon&&this.__currentIconTemplate!=s){this._icon.onRemoveFromParent();u=true}if(u){this._icon=s.build(this,this._map,this);this._icon.onAddToParent(this._$iconContainer[0]);if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this.__currentIconTemplate=s}else{if(this._icon){if(x){this._icon.onAddToParent(this._$iconContainer[0])}if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this._icon.update()}}var v=w.shadow;if(v){var t=k.Templates.get(v.template);if(t){u=!this._iconShadow;if(this._iconShadow&&this.__currentIconShadowTemplate!=t){this._iconShadow.onRemoveFromParent();u=true}if(u){this._iconShadow=t.build(this,this._map,this);this._iconShadow.onAddToParent(this._$iconShadowContainer[0]);this.__currentIconShadowTemplate=t}else{if(this._iconShadow){if(x){this._iconShadow.onAddToParent(this._$iconShadowContainer[0])}this._iconShadow.update()}}}}else{if(this._iconShadow){this._iconShadow.onRemoveFromParent();this._iconShadow=null;this.__currentIconShadowTemplate=null}}};a._setState=function(t){for(var v in t){var s=this._states[v],u=t[v],w=this.__cursors[s];if(this._state[v]!=t[v]){this._state[v]=t[v];s="YMaps-"+s;if(v=="interactive"&&this._cursor){w=this._cursor}if(u){this._$iconContainer.addClass(s);if(w){this.__cursorManager.addCursor(w)}}else{this._$iconContainer.removeClass(s);if(w){this.__cursorManager.removeCursor(w)}}if(this._$iconShadowContainer&&v=="hidden"){if(u){this._$iconShadowContainer.addClass(s)}else{this._$iconShadowContainer.removeClass(s)}}}}};a.applyZIndex=function(s){if(this._$iconContainer){this._$iconContainer.css({"z-index":s})}};a.applyShadowZIndex=function(s){if(this._$iconShadowContainer){this._$iconShadowContainer.css({"z-index":s})}};a.setIconContent=function(s){this._iconCustomContent=s;this._iconCustomContentLayout=d.normalizeContent(s);this._iconContent=null;this._updateIconContent()};a._updateIconContent=function(){if(this._parentContainer){if(!this._balloonVisible||!this.__actualHideIcon){if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this._updateIcon();this.__updatePosition()}}};a._getIconContentLayout=function(){if(!this._iconContent){if(this._iconCustomContentLayout){this._iconContent=this._iconCustomContentLayout}else{var s=k.Templates.get(this.getComputedStyle().iconContentStyle.template);if(!s){s=k.Templates.get(k.AGeoObject.fullStyle.iconContentStyle.template)}this._iconContent=s.build(this,this._map,this)}}return this._iconContent};a.getIconContent=function(){return this._iconCustomContent};a.getIconLayout=function(){return this._map?this._icon||null:null};a.getIconShadowLayout=function(){return this._map?this._iconShadow||null:null};a.getContentLayout=function(){return this._map?this._iconContent||null:null};a.__createIconEventListeners=function(){var s=this._$iconContainer;this.__mouseMove=new d.DragAndDrop.MouseMove(s[0],0,c.tremor.placemark);this.__bindPlacemarkListeners();this.__mouseMove.beginListening();this.__iconEventListeners=[].concat(i.observe(this.__mouseMove,"start",this._onMoveStart,this),i.observe(this.__mouseMove,"move",this._onMove,this),i.observe(this.__mouseMove,"stop",this._onMoveEnd,this));this.__eventsBound=true};a.__bindPlacemarkListeners=function(){this._iconListener=l(this._$iconContainer[0]).events.eventListener();this._iconListener.add("contextmenu",function(s){g.preventMapEvent(s);s.preventDefault()}).add("click",this._onClick,this).add("mousemove",this._onMouseMove,this).add("mouseout",this._onMouseOut,this).add("mouseover",this._onMouseOver,this).add("dblclick",this._onDblClick,this)};a.__removeIconEventListeners=function(){if(this.__eventsBound){this.__mouseMove.stopListening();this._iconListener.removeAll();e(this.__iconEventListeners,"disable");this.__eventsBound=false}};a.__addIconEventListeners=function(){if(!this.__eventsBound){if(this.__eventsInitialized){this.__mouseMove.beginListening();this.__bindPlacemarkListeners();e(this.__iconEventListeners,"enable");this.__eventsBound=true}else{this.__createIconEventListeners();this.__eventsInitialized=true}}};a._onDblClick=function(t){var s=new k.MouseEvent(t,this._map);if(this._interactive==k.Interactivity.INTERACTIVE){s.preventMapEvent()}i.notify(this,this.Events.DblClick,this,s)};a._onMoveStart=function(u){if(this.__draggable){this._setState({drag:1});var t=this.__dragMoveMapOptions.edge,s=new r(u.clientX,u.clientY);this.__dragMoveMapBounds=new k.Bounds(new r(t,t),new r(this._map._state.size.x-t,this._map._state.size.y-t));this.__startMovePos=this._point.copy();this.__prevDragPixels=s;this.__grabOffset=s.diff(this._map.converter.coordinatesToClientPixels(this._point));this._hideHintIfVisible(0)}};a.__dragMoveMapOptions={edge:20,speed:10,maxSpeed:10};a.__dragMoveMapStop=function(){if(this.__dragMoveMapActive){this.__dragMoveMapActive=0;this.__getDragMoveMapListener().disable()}};a.__dragMoveMapTick=function(u,t){var s=this._map.converter.coordinatesToLocalPixels(this._point);s.moveBy(t);this._point.moveTo(this._map.converter.localPixelsToCoordinates(s,1));this.__updatePosition();i.notify(this,this.Events.Drag,this,t)};a.__getDragMoveMapListener=function(){return(this.__dragMoveMapListener=this.__dragMoveMapListener||k.Events.observe(this._map,this._map.Events.Move,this.__dragMoveMapTick,this))};a._onMove=function(w){if(this.__draggable){if(!this.__isDragged){this.__isDragged=1;this._hideHintIfVisible();i.notify(this,this.Events.DragStart,this)}var t=new r(w.clientX,w.clientY);this._point.moveTo(this._map.coordSystem.restrict(this._map.converter.clientPixelsToCoordinates(t.copy().moveBy(this.__grabOffset),1)));this.__updatePosition();if(this._map.draggingEnabled()){if(this._map){var s=this._map.converter.coordinatesToLocalPixels(this._point);if(!this.__dragMoveMapBounds.contains(s)){var u=this.__dragMoveMapBounds;var v=new r(s.x<u.getLeft()?-1:(s.x>u.getRight()?1:0),s.y<u.getBottom()?-1:(s.y>u.getTop()?1:0));if(!this.__dragMoveMapActive||!this.__dragMoveMapOldDirection.equals(v)){var x=this;this.__dragMoveMapStartOptions=this.__dragMoveMapStartOptions||h.extend({callback:function(){x.__dragMoveMapStop()}},this.__dragMoveMapOptions);this._map.startMove(v,this.__dragMoveMapStartOptions);this.__getDragMoveMapListener().enable();this.__dragMoveMapActive=true;this.__dragMoveMapOldDirection=v}}else{if(this.__dragMoveMapActive){this._map.stopMove()}}}}i.notify(this,this.Events.Drag,this,this.__prevDragPixels.diff(t));this.__prevDragPixels=t}};a._onMoveEnd=function(){if(this.__draggable){this._setState({drag:0});if(this.__isDragged){if(this.__dragMoveMapActive){this._map.stopMove()}this.__stopMove()}}};a._onClick=function(t){var s=new k.MouseEvent(t,this._map);if(this._interactive==k.Interactivity.INTERACTIVE){s.preventMapEvent()}i.notify(this,this.Events.Click,this,s);if(this.getOptions().hasBalloon&&this._interactive==k.Interactivity.INTERACTIVE){if(this._balloonVisible){this.closeBalloon()}else{this.openBalloon()}}};a.__stopMove=function(){this.__isDragged=0;i.notify(this,this.Events.DragEnd,this);i.notify(this,this.Events.PositionChange,this,{oldPoint:this.__startMovePos,newPoint:this._point.copy()})};a._onMouseMove=function(t){var s=new k.MouseEvent(t,this._map);if(this._interactive==k.Interactivity.INTERACTIVE){s.preventMapEvent();this._mouseMoveAction(t)}i.notify(this,this.Events.MouseMove,this,s)};a._onMouseOver=function(s){if(!this.__isMouseOver&&(!s.relatedTarget||h(s.relatedTarget).parents().index(this._$iconContainer)==-1)){this.__isMouseOver=1;if(this._interactive==k.Interactivity.INTERACTIVE){this._setState({hover:1});if(this.getOptions().hasHint&&!this._balloonVisible&&!this.__isDragged){this._map.hint.show(this._map.converter.clientPixelsToLocalPixels(new r(s.clientX,s.clientY)),this._getHintContentLayout(),this._getComputedHintOptions());this._hintVisible=1}}i.notify(this,this.Events.MouseEnter,this,new k.MouseEvent(s,this._map))}};a._onMouseOut=function(s){if(this.__isMouseOver&&(!s.relatedTarget||h(s.relatedTarget).parents().index(this._$iconContainer)==-1)){this.__isMouseOver=0;if(this._interactive==k.Interactivity.INTERACTIVE){this._setState({hover:0});this._hideHintIfVisible()}i.notify(this,this.Events.MouseLeave,this,new k.MouseEvent(s,this._map))}};a._mouseMoveAction=function(s){if(this._hintVisible){this._map.hint.moveTo(this._map.converter.clientPixelsToLocalPixels(new r(s.clientX,s.clientY)))}};a.setHintContent=function(s){k.AInteractiveGeoObject.prototype.setHintContent.call(this,s);this._updateHint()};a.setHintOptions=function(s){k.AInteractiveGeoObject.prototype.setHintOptions.call(this,s);if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions())}};a._getComputedHintOptions=function(){var s=k.AInteractiveGeoObject.prototype._getComputedHintOptions.call(this,s);s.onHide=this._onHintHide;return s};a._updateHint=function(){if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions());this._map.hint.setContent(this._getHintContentLayout())}};a._hideHintIfVisible=function(s){if(this._hintVisible){this._map.hint.hide(s)}};a._updateBalloon=function(){if(this._balloonVisible){var s=this._map.getBalloon();s.setOptions(this._getComputedBalloonOptions(),1);s.setContent(this._getBalloonContentLayout())}};a.getBalloon=function(){return this._balloonVisible?this._map.getBalloon():null};a.openBalloon=function(v,t){k.AInteractiveGeoObject.prototype.openBalloon.call(this,v,t);if(this._map){if(this._balloonVisible){this.closeBalloon()}this._hideHintIfVisible();var x=this,s={},w=this._getComputedBalloonOptions();for(var u in w){s[u]=w[u]}s.onClose=function(){if(w.onClose){w.onClose()}x._onCloseBalloon()};if(this.__hideIcon){this._setState({hidden:1,hover:0})}else{this._setState({active:1})}this.__actualHideIcon=this.__hideIcon;this._balloonVisible=1;this._map.openBalloon(this._point,this._getBalloonContentLayout(),s);i.notify(this,this.Events.BalloonOpen,this)}};a.closeBalloon=function(){k.AInteractiveGeoObject.prototype.closeBalloon.call(this);if(this._balloonVisible){this._map.closeBalloon()}};a.setBalloonOptions=function(s){k.AInteractiveGeoObject.prototype.setBalloonOptions.call(this,s);if(this._balloonVisible){this._map.getBalloon().setOptions(this._getComputedBalloonOptions(),1)}};a._onCloseBalloon=function(){this._balloonVisible=0;if(this.__actualHideIcon){this._setState({hidden:0})}else{this._setState({active:0})}this._updateIcon();this.__updatePosition();i.notify(this,this.Events.BalloonClose,this)};a.setBalloonContent=function(s){k.AInteractiveGeoObject.prototype.setBalloonContent.call(this,s);this._updateBalloon()};a.setCoordPoint=function(t){var s=this._point||t;this._point=t.copy();this.__updatePosition();i.notify(this,this.Events.PositionChange,this,{oldPoint:s,newPoint:t})};a.setGeoPoint=a.setCoordPoint;a.getCoordPoint=function(){return this._point};a.getGeoPoint=a.getCoordPoint;g.PlacemarkZIndexManager=b=function(t,s){this._placemark=t;this._zIndexes={};this._interactiveObservers=[];this.resetState();this.setOptions(s)};a=b.prototype;a.zIndexPriority=["Active","Drag","Hover","Default"];a.zIndexes={Default:{defaultState:1,defaultValue:k.ZIndex.OVERLAY,optionName:"zIndex"},Active:{defaultState:0,defaultValue:k.ZIndex.OVERLAY_ACTIVE,optionName:"zIndexActive"},Drag:{defaultState:0,defaultValue:k.ZIndex.OVERLAY_DRAG,optionName:"zIndexDrag"},Hover:{defaultState:0,defaultValue:k.ZIndex.OVERLAY_HOVER,optionName:"zIndexHover"},Shadow:{defaultValue:k.ZIndex.OVERLAY_SHADOW,optionName:"zIndexShadow"}};a.resetState=function(){this._zIndexState={};for(var s in this.zIndexes){this._zIndexState[s]=this.zIndexes[s].defaultState}};a.enable=function(){this._enabled=true;var s=this._placemark;this.resetState();if(!this._inited){this._interactiveObservers=[i.observe(s,s.Events.BalloonOpen,function(){this._zIndexState.Active=1;this.applyZIndex()},this,false),i.observe(s,s.Events.BalloonClose,function(){this._zIndexState.Active=0;this.applyZIndex()},this,false),i.observe(s,s.Events.MouseEnter,function(){this._zIndexState.Hover=1;this.applyZIndex()},this,false),i.observe(s,s.Events.MouseLeave,function(){this._zIndexState.Hover=0;this.applyZIndex()},this,false),i.observe(s,s.Events.DragStart,function(){this._zIndexState.Drag=1;this.applyZIndex()},this,false),i.observe(s,s.Events.DragEnd,function(){this._zIndexState.Drag=0;this.applyZIndex()},this,false)];this._inited=true;this.setOptions(s.getOptions())}if(this._interactive){e(this._interactiveObservers,"enable")}};a.disable=function(){this._enabled=false;e(this._interactiveObservers,"disable")};a.setOptions=function(s){var v=false,u;for(var t in this.zIndexes){u=this.zIndexes[t].optionName;if(this._zIndexes[t]===undefined||this._zIndexes[t]!=s[u]){v=true;this._zIndexes[t]=s[u]!==undefined?s[u]:this.zIndexes[t].defaultValue}}if(s.interactive!=k.Interactivity.INTERACTIVE){if(this._interactive){v=true}this._interactive=false;if(this._enabled){e(this._interactiveObservers,"disable")}}else{if(!this._interactive){this.resetState();v=true}if(this._enabled){e(this._interactiveObservers,"enable")}this._interactive=true}if(v){this.applyZIndex()}};a.getOptions=function(){var s={},u;for(var t in this.zIndexes){u=this.zIndexes[t].optionName;s[u]=this._zIndexes[t]}return s};a.getZIndex=function(){for(var t=0,s=this.zIndexPriority.length,u;t<s;t++){u=this.zIndexPriority[t];if(this._zIndexState[u]){return this._zIndexes[u]}}};a.getShadowZIndex=function(){return this._zIndexes.Shadow};a.applyZIndex=function(){this._placemark.applyZIndex(this.getZIndex());this._placemark.applyShadowZIndex(this.getShadowZIndex())};new function(){var w=790,x=q.msie&&q.quirksMode?26:13,z=13;var B=function(s,I){var G=function(K,M){g.ABaseLayout.call(this,K,M);var L=this._$elements=h('<div class="YMaps-b-balloon-point">                <div class="YMaps-b-balloon YMaps-b-balloon_small YMaps-b-balloon_'+I+'">                    <div class="YMaps-b-balloon-wrap">                        <table class="YMaps-b-balloon-frame">                        <tr>                            <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-ml"></td>                            <td class="YMaps-b-balloon-m">                                <div class="YMaps-b-balloon-content"></div>                            </td>                            <td class="YMaps-b-balloon-mr"></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-b" colspan="3">                                <i class="YMaps-b-balloon-corners">                                    <i class="YMaps-b-balloon-bit"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                </i>                            </td>                        </tr>                        </table>                        <i class="YMaps-b-balloon-shad"><i></i></i>                    </div>                    <i class="YMaps-b-balloon-tail"><i></i></i>                </div></div>');this._nodes={visContainer:L.find(".YMaps-b-balloon"),content:L.find(".YMaps-b-balloon-content"),shad:L.find(".YMaps-b-balloon-shad"),tail:L.find(".YMaps-b-balloon-tail")}};a=o(G,g.ABaseLayout);a.onAddToParent=function(K){g.ABaseLayout.prototype.onAddToParent.call(this,K);this.update()};a.update=function(){var N=this._nodes.visContainer;N.css({visibility:"hidden",width:w});if(q.opera){N.css("overflow","hidden")}this._nodes.content.css({overflow:"",width:"auto",height:"auto"});var K=d.size(this._nodes.content);if(h.os.name=="mac"&&h.browser.mozilla){K.x++}if(q.msie){var O=new r(),M=this._nodes.content[0],L=function(){O[this[0]]+=(parseFloat(h.curCSS(M,"padding"+this[1],true))||0)+(parseFloat(h.curCSS(M,"border"+this[1]+"Width",true))||0)};h.each([["y","Top"],["x","Right"],["y","Bottom"],["x","Left"]],L);K.moveBy(O)}d.size(this._nodes.content[0],new r(Math.min(w,Math.max(x,K.x)),Math.max(z,K.y)));this._nodes.content.css("overflow","hidden");if(q.opera){N.css("overflow","")}N.css({width:"",visibility:""});if(q.msie&&(q.version==6||((q.version>=7&&q.version<8)&&document.compatMode=="BackCompat"))){d.fixIESize(this._nodes.shad,"right",[-6,-5]);d.fixIESize(this._nodes.shad,"bottom",[-1,0]);d.fixIESize(this._nodes.tail,"bottom",[-13,-12]);d.fixIESize(this._nodes.tail,"right",[-1,0])}};a.setContent=function(K){this._setContent(K,this._nodes.content);var L=this;d.imagesOnLoad(this._nodes.content,function(){L.update()},function(M){if(M==0){L.update()}})};a.getOffset=function(){return new r(0,0)};var H=function(K,L){this._context=K;this._map=L;this._content=null;this._parentNode=null};a=H.prototype;a.onAddToParent=function(K){this._parentNode=K;this._getLayout().onAddToParent(K)};a.onRemoveFromParent=function(){this._parentNode=null;this._getLayout().onRemoveFromParent()};a.update=function(){this._getLayout().update()};a.getRootNodes=function(){return this._getLayout().getRootNodes()};a.setContent=function(M){if(this._content!=M){var K=this._parentNode,L=this._content;this._content=M;if(!L!=!M){if(K){this._getLayout().onRemoveFromParent()}this._currentLayout=null;this._getLayout();if(M){this._currentLayout.setContent(M)}if(K){this._currentLayout.onAddToParent(this._parentNode)}}else{this._currentLayout.setContent(M)}}};a._getLayout=function(){if(!this._currentLayout){if(this._content){this._currentLayout=new G(this._context,this._map)}else{this._currentLayout=new u(this._context,this._map)}}return this._currentLayout};a.getOffset=function(){return this._currentLayout.getOffset()};var J=new k.LayoutTemplate(H);k.Templates.add("default#"+s+"PointIcon",J);return J};B("white","white");B("green","green");B("red","red");B("yellow","yellow");B("darkblue","blue-d");B("night","night");B("grey","grey");B("blue","blue");B("orange","orange");B("darkorange","orange-d");B("pink","pink");B("violet","violet");k.Templates.add("default#icon",B("lightblue","blue-l"));var u=function(s,H){g.ABaseLayout.call(this,s,H);var G=this.__getStyleData();this._$elements=h(q.msie&&q.version<7?"<div />":"<img />")};a=o(u,g.ABaseLayout);a.__getStyleData=function(){return this._context.getComputedStyle().iconStyle};a.onAddToParent=function(s){g.ABaseLayout.prototype.onAddToParent.call(this,s);this.update()};a.update=function(){var s=this.__getStyleData();if(q.msie&&q.version<7){this._$elements.css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+(s&&s.href)+"', sizingMethod='scale')","line-height":"0px"})}else{this._$elements[0].src=s&&s.href}if(s.size){d.size(this._$elements[0],s.size)}};a.setContent=d.NULL;a.getOffset=function(){return this.__getStyleData().offset||new r(0,0)};var C=function(){u.apply(this,arguments)};a=o(C,u);a.__getStyleData=function(){return this._context.getComputedStyle().iconStyle.shadow};k.Templates.add("default#iconShadow",new k.LayoutTemplate(C));var E=["airplane.png","anchor.png","arrowDownLeft.png","arrowDownRight.png","arrowLeft.png","arrowRight.png","arrowUp.png","attention.png","badminton.png","bank.png","bar.png","barberShop.png","bicycle.png","bowling.png","buildings.png","bus.png","cafe.png","camping.png","car.png","cellular.png","cinema.png","downhillSkiing.png","dps.png","dryCleaner.png","electricTrain.png","factory.png","fishing.png","gasStation.png","gym.png","hospital.png","house.png","keyMaster.png","mailPost.png","metroKiev.png","metroMoscow.png","metroStPetersburg.png","metroYekaterinburg.png","motobike.png","mushroom.png","phone.png","photographer.png","pingPong.png","restauraunt.png","ship.png","shop.png","skating.png","skiing.png","smartphone.png","stadium.png","storehouse.png","swimming.png","tailorShop.png","teather.png","tennis.png","theater.png","tire.png","train.png","tramway.png","trolleybus.png","truck.png","turnLeft.png","turnRight.png","wifi.png","wifiLogo.png","workshop.png"],t=new k.Point(-10,-25),A=new k.Point(27,26),D=new k.LayoutTemplate(u);for(var y=0,v=E.length;y<v;y++){var F=new k.Style(null);F.iconStyle={offset:t,size:A,shadow:null,href:c.imageRoot+"icons/"+E[y],template:D};k.Styles.add("default#"+E[y].replace(".png","Icon"),F)}};k.ObjectManager=function(L){L=L||{};var O,y=typeof L.cellSize!=j?Number(L.cellSize):256,aa=typeof L.padding!=j?Number(L.padding):100,T=typeof L.trackObjects==j?true:!!L.trackObjects,s,I=0,Y,Q=[],M=[],U={},z={},C={},P=[],E=[],S=[],ae;this.onAddToMap=function(ah){O=ah;s=O.getZoom();var ai,ag;if(!Q[s]){x(s)}else{for(ai=0,ag=P.length;ai<ag;ai++){Z.apply(this,P[ai])}}P=[];Y=v();if(ae){ae.cleanup()}ae=i.observe(O,O.Events.MoveEnd,this.onMapUpdate,this);V(Y,F);for(ai=0,ag=E.length;ai<ag;ai++){this.remove(E[ai])}E=[];for(ai=0,ag=S.length;ai<ag;ai++){ab.apply(this,S[ai])}S=[]};this.onRemoveFromMap=function(){if(O){V(Y,af);if(ae){ae.cleanup()}O=ae=null}};function x(ao){Q[ao]=[];M[ao]=Math.ceil((256<<ao)/y);for(var an in U){if(U.hasOwnProperty(an)&&an>=ao){var ai=U[an],al,ak,ag=Math.min(ao+1,ai.length),am;for(al=0;al<ag;al++){if(ai[al]){for(ak=0,am=ai[al].length;ak<am;ak++){var aj=ai[al][ak],ah=N(aj.getGeoPoint(),ao);K(ah.x,ah.y,ao).push(aj)}}}}}}this.removeAll=function(){if(O){V(Y,af)}Q=[];M=[];U={};C={};ac(z,"cleanup");z={};this._update()};function v(){return w(O.getBounds(),s,aa)}function w(ag,an,al){var am=ag.getLeftBottom(),aj=ag.getRightTop(),ah=N(am,an,(new r(-al,al))),ai=N(aj,an,(new r(al,-al))),ak=M[an];if(aj.getX()<am.getX()||ai.x<ah.x){ah.x-=ak}if(ai.x-ah.x+1>=ak){ah.x=0;ai.x=ak-1}var ao=new k.Bounds(ah,ai);ao.zoom=an;return ao}function N(ag,ai,aj){var ah=O.tileCoordinates.scale(O.coordSystem.fromCoordPoint(ag),O.coordSystem.getMaxZoom(),ai);aj=aj||new r();return new r(Math.floor((ah.x+aj.x)/y),Math.floor((ah.y+aj.y)/y))}this.add=function(aj,am,ah){if(aj){ah=typeof ah==j?Infinity:Number(ah);am=typeof am==j?0:Math.min(Number(am),ah);X(aj,am,ah);var al=[].concat(aj),ak,ag;for(ak=0,ag=al.length;ak<ag;ak++){Z(al[ak],am,ah)}if(O){if(al.length>10&&!I){V(Y,F)}else{for(ak=0,ag=al.length;ak<ag;ak++){var ai=N(al[ak].getGeoPoint(),s);if(H(ai)&&Y.zoom>=am&&Y.zoom<=ah){F(al[ak])}}}}}};function X(ah,ai,ag){h.each([].concat(ah),function(ak,aj){var al=d.getUniqueId(aj);if(T){z[al]=i.observe(aj,aj.Events.PositionChange,R)}C[al]=[ag,ai]});if(!U[ag]){U[ag]=[]}U[ag][ai]=(U[ag][ai]||[]).concat(ah)}function Z(ai,ak,ag){if(O){var aj=Math.min(ag,Q.length-1),ah=N(ai.getGeoPoint(),aj);for(;aj>=ak;aj--){if(Q[aj]){K(ah.x,ah.y,aj).push(ai)}ah.x=ah.x>>1;ah.y=ah.y>>1}}else{P.push([ai,ak,ag])}}this.remove=function(aj){if(aj instanceof Array){for(var ak=0,ai=aj.length;ak<ai;ak++){this.remove(aj[ak])}return}if(O){D(aj);var al=Q.length-1,ah=N(aj.getGeoPoint(),al),ag;while(al>=0){if(Q[al]){ag=J(ah.x,ah.y,al);if(ag){A(ag,aj)}if(al==s&&O){if(H(ah)){af(aj)}}}ah.x=ah.x>>1;ah.y=ah.y>>1;--al}}else{E.push(aj)}};function D(ai){var al=d.getUniqueId(ai),aj=z[al],ak=C[al],ag=U[ak[0]][ak[1]],ah=h.inArray(ai,ag);if(aj){aj.cleanup()}if(ah!=-1){ag.splice(ah,1)}delete z[al];delete C[al]}function H(ag){var ak=Y.getLeftTop(),ai=Y.getRightBottom(),aj=ak.y<=ag.y&&ag.y<=ai.y,ah=ak.x<=ag.x&&ag.x<=ai.x;if(!ah&&ak.x<0){var al=M[Y.zoom];ah=ak.x+al<=ag.x&&ag.x<=al-1}return aj&&ah}function R(ah,ag){ab(ah,ag.oldPoint,ag.newPoint)}function ab(aj,am,ah){if(O){var al=Q.length-1,ak=N(am,al),ai=N(ah,al),ag;while(al>=0&&(ak.x!=ai.x||ak.y!=ai.y)){if(Q[al]){ag=J(ak.x,ak.y,al);if(ag){if(A(ag,aj)){K(ai.x,ai.y,al).push(aj)}}if(al==s){if(H(ak)){if(!H(ai)){af(aj)}}else{if(H(ai)){F(aj)}}}}ak.x=ak.x>>1;ak.y=ak.y>>1;ai.x=ai.x>>1;ai.y=ai.y>>1;--al}}else{S.push([aj,am,ah])}}function K(ag,ak,aj){if(ag<0){ag+=M[aj]}var ai=Q[aj],ah=ai[ag];if(!ah){return((ai[ag]=[])[ak]=[])}return ah[ak]||(ah[ak]=[])}this.onMapUpdate=function(){setTimeout(this._update,0)};this._update=function(){if(O){s=O.getZoom();if(!Q[s]){x(s)}var ag=v(),al=ag.zoom;if(al!=Y.zoom){var am=[],an=[],ai=ad(am),aj=ad(an);V(Y,ai);V(ag,aj);for(var ak=am.length-1;ak>=0;ak--){var ao=am[ak],ah=h.inArray(ao,an);if(ah==-1){af(ao)}else{an.splice(ah,1)}}for(var ak=an.length-1;ak>=0;ak--){F(an[ak])}}else{if(!ag.equals(Y)){B(Y,ag,t);B(ag,Y,u)}}Y=ag}};function ad(ag){return function(ah){ag.push(ah)}}function V(ah,al){for(var ag=ah.getLeft(),ak=ah.getRight();ag<=ak;ag++){for(var aj=ah.getTop(),ai=ah.getBottom();aj<=ai;aj++){W(ag,aj,ah.zoom,al)}}}function t(ag,ai,ah){W(ag,ai,ah,af)}function u(ag,ai,ah){W(ag,ai,ah,F)}function W(ah,al,aj,ak){var ag=J(ah,al,aj);if(ag){for(var ai=ag.length-1;ai>=0;ai--){ak.call(this,ag[ai])}}}function B(ah,ag,ai){G(ah,ag,function(aj,ak){ai.apply(null,[aj,ak,ah.zoom])})}function G(ah,ag,ar){var al=ah.getLeft(),at=ah.getTop(),an=ah.getRight(),aj=ah.getBottom(),ak=ag.getLeft(),aq=ag.getTop(),am=ag.getRight(),ai=ag.getBottom(),ap,ao;for(ap=al;ap<=an;ap++){for(ao=at;ao<=aj&&ao<aq;ao++){ar(ap,ao)}for(ao=Math.max(ai+1,at);ao<=aj;ao++){ar(ap,ao)}}for(ao=Math.max(at,aq);ao<=Math.min(aj,ai);ao++){for(ap=Math.min(an+1,ak)-1;ap>=al;ap--){ar(ap,ao)}for(ap=Math.max(al,am+1);ap<=an;ap++){ar(ap,ao)}}}function J(ag,ai,ah){if(Q[ah]){if(ag<0){ag+=M[ah]}return Q[ah][ag]?Q[ah][ag][ai]||null:null}return null}function af(ag){O.removeOverlay(ag);I--}function F(ag){O.addOverlay(ag);I++}function A(ag,aj){var ah=0;for(var ai=0;ai<ag.length;++ai){if(ag[ai]===aj){ag.splice(ai--,1);ah++}}return ah}function ac(ah,ag){for(var ai in ah){if(ah.hasOwnProperty(ai)){ah[ai][ag]()}}}};b=k.GeoObjectCollection=function(s){k.OverlayGroup.call(this);k.AGeoObject.call(this);this._style=s};a=o(b,k.OverlayGroup);h.extend(false,b,k.AGeoObject);h.extend(true,b.prototype,k.AGeoObject.prototype);a._onAddObject=function(t,s){t.onAddToGroup(this);k.OverlayGroup.prototype._onAddObject.call(this,t,s)};a._onRemoveObject=function(t,s){k.OverlayGroup.prototype._onRemoveObject.call(this,t,s);t.onRemoveFromGroup(this)};a.update=function(){k.AGeoObject.prototype.update.call(this);e(this._objects.slice(),"update")};k.GeocodeProviders=new d.ObjectStorage();k.GeocodeProviders.add("yandex#map",new function(){var s=g.MapData.versionPath+"xml/Geocoder/Geocoder.xml?key="+g.MapData.userKey;function t(w,v){var u=[s],x={geocode:String(w)},z=v.boundedBy;if(z){x.ll=z.getCenter().toString();x.spn=z.getSpan().toString(6)}if(v.strictBounds){x.rspn=1}if("kind" in v){x.kind=v.kind}if("results" in v){x.results=v.results}if("skip" in v){x.skip=v.skip}if(v.prefLang){x.plng=v.prefLang}for(var y in x){u.push(y+"="+encodeURIComponent(x[y]))}return u.join("&")}this.geocode=function(w,v,u,x){h.ajax({url:t(w,v),dataType:"jsonp",scriptCharset:"utf-8",cache:1,success:function(y){if(y.error){x(y.error.message)}else{u(y)}}})}});k.Geocoder=function(t,s){k.GeoObjectCollection.call(this,"geocoder#result");s=s||{};this.geocodeProvider=k.GeocodeProviders.get(s.geocodeProvider||"yandex#map");this.request=t;this.suggest=null;this.found=0;this.prefLang=s.prefLang||null;this.geocodeProvider.geocode(t,s,p(this.__successCallback,this),p(this.__failureCallback,this))};a=o(k.Geocoder,k.GeoObjectCollection);a.Events.Load="Load";a.Events.Fault="Fault";a.__successCallback=function(s){this.found=s.found;this.suggest=s.suggest||null;this.add(s.results);i.notifyPermanent(this,this.Events.Load,this)};a.__failureCallback=function(s){i.notifyPermanent(this,this.Events.Fault,this,s)};k.Templates.add("geocoder#template",new k.Template("<div>$[text]</div>"));k.Styles.add("geocoder#result",{balloonContentStyle:{template:"geocoder#template"}});k.GeocoderResult=function(s,t){k.Placemark.call(this,s,t);this.kind="";this.text="";this.precision="";this.AddressDetails=null};o(k.GeocoderResult,k.Placemark);(function(){function v(x){var z=g.MapData.versionPath+x+"?key="+g.MapData.userKey+"&url=",y=/^[a-zA-Z]+:\/\//;this.loadDocument=function(A,C,B){if(!y.test(A)){A="http://"+A}h.ajax({url:z+encodeURIComponent(A),dataType:"jsonp",scriptCharset:"utf-8",cache:1,success:function(D){w(D,C,B)}})};function w(B,H,F){if(B.data){var C=B.url,G=B.data.Styles,E=B.data.Templates,D,A;for(D=0,A=G.length;D<A;D++){k.Styles.add(C+"#"+G[D].id,G[D].s)}for(D=0,A=E.length;D<A;D++){k.Templates.add(C+"#"+E[D].id,E[D].t)}}H.call(F,B)}}var s=new v("xml/geoxml/kml/kml.xml");k.KML=function(w){k.GeoObjectCollection.call(this);s.loadDocument(w,this.__onLoaded,this)};a=o(k.KML,k.GeoObjectCollection);a.Events.Load="Load";a.Events.Fault="Fault";a.__onLoaded=function(w){if(w.error){i.notifyPermanent(this,this.Events.Fault,this,w.error)}else{this.add(w.data.Objects);i.notifyPermanent(this,this.Events.Load,this)}};var t=new v("xml/geoxml/gpx/gpx.xml");k.GPX=function(x,w){k.GeoObjectCollection.call(this);this._options=h.extend({},{viewAutoApply:1},w);t.loadDocument(x,this.__onLoaded,this)};a=o(k.GPX,k.GeoObjectCollection);a.Events.Load="Load";a.Events.Fault="Fault";a.__onLoaded=function(w){if(w.error){i.notifyPermanent(this,this.Events.Fault,this,w.error)}else{this.add(w.data.Objects);this.view=w.data.View;if(this._options.viewAutoApply){this.applyView()}i.notifyPermanent(this,this.Events.Load,this)}};a.onAddToMap=function(w,x){k.GeoObjectCollection.prototype.onAddToMap.call(this,w,x);if(this._options.viewAutoApply){this.applyView()}};a.applyView=function(){if(this.getMap()&&this.view&&this.view.boundedBy){this.getMap().setBounds(this.view.boundedBy)}};var u=new v("xml/geoxml/ymapsml/ymapsml.xml");k.YMapsML=function(x,w){k.GeoObjectCollection.call(this);this._options=h.extend({},{viewAutoApply:1},w);u.loadDocument(x,this.__onLoaded,this)};a=o(k.YMapsML,k.GeoObjectCollection);a.Events.Load="Load";a.Events.Fault="Fault";a.__onLoaded=function(w){if(w.error){i.notifyPermanent(this,this.Events.Fault,this,w.error)}else{this.add(w.data.Objects);this.view=w.data.View;if(this._options.viewAutoApply){this.applyView()}i.notifyPermanent(this,this.Events.Load,this)}};a.onAddToMap=function(w,x){k.GeoObjectCollection.prototype.onAddToMap.call(this,w,x);if(this._options.viewAutoApply){this.applyView()}};a.applyView=function(){var w=this.getMap();if(w&&this.view){if(this.view.mapType){w.setType(k.MapType[this.view.mapType])}if(this.view.boundedBy){w.setBounds(this.view.boundedBy)}}}})();(function(){var av=function(a1,a3){var aT=a1.length;if(!aT){return null}var aR=a1[0],a5={point:aR,index:0,distance:aR.diff(a3).length()};for(var aV=1,aS=Infinity;aV<aT;aV++){var aZ=a1[aV];if(aR.equals(aZ)){continue}var a4=aR.diff(aZ),a0=aR.diff(a3),aW=(a4.x*a0.x+a4.y*a0.y)/(a4.x*a4.x+a4.y*a4.y),aU,aX,a2;if(aW<0){aU=a3.diff(a2=aR);aX=aV-1}else{if(aW>1){aU=a3.diff(a2=aZ);aX=aV}else{aU=a0.diff(a4.copy().scale(aW));aX=aV-1;a2=a3.copy().moveBy(aU)}}var aY=aU.length();if(aY<aS){aS=aY;a5={point:a2,index:aX,distance:aS}}aR=aZ}return a5},ae=function(a1,aZ,aY){var aR=0;for(var aV=0,aU=a1.length;aV<aU;aV++){var a2=a1[aV],aW=0,aT=a2.length;for(;aW<aT;aW++){if(a2[aW].equals(aZ)){return 1}}var aS=a2[aT-1];for(aW=0;aW<aT;aW++){var aX=a2[aW];if(aS.y==aX.y&&aS.y==aZ.y&&aZ.x>Math.min(aS.x,aX.x)&&aZ.x<Math.max(aS.x,aX.x)){return 1}if(aZ.y>Math.min(aS.y,aX.y)&&aZ.y<=Math.max(aS.y,aX.y)&&aZ.x<=Math.max(aS.x,aX.x)&&aS.y!=aX.y){var a0=(aZ.y-aS.y)*(aX.x-aS.x)/(aX.y-aS.y)+aS.x;if(a0==aZ.x){return 1}if(aS.x==aX.x||aZ.x<=a0){if(aY){aR+=d.sign(aX.y-aS.y)}else{aR+=aR?-1:1}}}aS=aX}}return aR},aK=function(a1,a0){var aU=[],aZ=[],aT=a1.length,aY=0,aX=aT-1;for(;aY<aX;aY++){var aV=a1[aY].diff(a1[aY+1]),aS=aV.scale(1/Math.sqrt(aV.x*aV.x+aV.y*aV.y)).scale(a0).scale(0.5),aR=new r(aS.y,-aS.x);aZ.unshift(a1[aY].copy().moveBy(aR));aZ.unshift(a1[aY+1].copy().moveBy(aR));B(aZ);var aW=new r(-aS.y,aS.x);aU.unshift(a1[aY].copy().moveBy(aW));aU.unshift(a1[aY+1].copy().moveBy(aW));B(aU)}e(aU,"apply",Math.round);e(aZ,"apply",Math.round);aZ.reverse();return aU.concat(aZ)},B=function(aS){if(aS[3]){var aT=aS[3].diff(aS[2]),aR=aS[0].diff(aS[1]),aV=aT.y*aR.x-aT.x*aR.y;if(aV==0){aS.splice(1,1)}else{var aU=(aT.x*(aS[0].y-aS[3].y)-aT.y*(aS[0].x-aS[3].x))/aV;if(aU<1&&aU>0){aS.splice(1,2,aS[0].copy().moveBy(aR.copy().scale(aU)))}}}},aE=function(){var aR=[];this.add=function(aT,aS){aR.push([aT,aS])};this.remove=function(aV,aU){for(var aT=0,aS=aR.length;aT<aS;aT++){if(aR[0]==aV&&aR[1]==aU){aR.splice(aT,1);break}}};this.invoke=function(){for(var aT=0,aS=aR.length;aT<aS;aT++){aR[aT][0].apply(aR[aT][1],arguments)}}};k.CoordVertex=function(aS,aR){this._coordPoint=aS;this._zoom=Number(aR)||0;this._changeCallbacks=new aE()};a=k.CoordVertex.prototype;a.getVisibilityZoom=function(){return this._zoom};a.setVisibilityZoom=function(aR){this._zoom=Number(aR);this._changeCallbacks.invoke(this)};a.getCoordPoint=function(){return this._coordPoint};a.setCoordPoint=function(aR){this._coordPoint=aR;this._changeCallbacks.invoke(this)};a.addChangeCallback=function(aS,aR){this._changeCallbacks.add(aS,aR)};a.removeChangeCallback=function(aS,aR){this._changeCallbacks.remove(aS,aR)};var aL=k.CoordPath=function(aR){this._vertices=aR||[];this._addVertexCallbacks(this._vertices);this._zoomIndexCache={};this._changeCallbacks=new aE()};a=aL.prototype;a.setVertices=function(aR){this._removeVertexCallbacks(this._vertices);this._addVertexCallbacks(aR);this._vertices=aR;this._resetCache();this._changeCallbacks.invoke(this)};a.getVertices=function(){return this._vertices.slice(0)};a.getNumVertices=function(){return this._vertices.length};a.getVertex=function(aR){aR=aR<0?this._vertices.length+aR:aR;return this._vertices[aR]};a.spliceVertices=function(aR,aS){this._addVertexCallbacks(Array.prototype.slice.call(arguments,2));var aT=this._vertices.splice.apply(this._vertices,arguments);this._removeVertexCallbacks(aT);this._resetCache();this._changeCallbacks.invoke(this);return aT};a.getIndexesByZoom=function(aR){if(!this._zoomIndexCache[aR]){this._refreshCacheForZoom(aR)}return this._zoomIndexCache[aR]};a._refreshCacheForZoom=function(aT){this._zoomIndexCache[aT]=[];for(var aS=0,aR=this._vertices.length;aS<aR;aS++){var aU=this._vertices[aS];if(aU.getVisibilityZoom()<=aT){this._zoomIndexCache[aT].push(aS)}}};a._resetCache=function(){this._zoomIndexCache={}};a._onVertexChange=function(){this._resetCache();this._changeCallbacks.invoke(this)};a.addChangeCallback=function(aS,aR){this._changeCallbacks.add(aS,aR)};a.removeChangeCallback=function(aS,aR){this._changeCallbacks.remove(aS,aR)};a._addVertexCallbacks=function(aS){for(var aT=0,aR=aS.length;aT<aR;aT++){aS[aT].addChangeCallback(this._onVertexChange,this)}};a._removeVertexCallbacks=function(aS){for(var aT=0,aR=aS.length;aT<aR;aT++){aS[aT].removeChangeCallback(this._onVertexChange,this)}};var ad=g.Graphics=new function(){var aR=[];this.getContainer=function(aX,aW){var aU,aT;aX=aX||at;for(var aV=0,aS=aR.length;aV<aS;aV++){aU=aR[aV];if(aU.map==aW&&aU.container instanceof aX){aT=aU.container;break}}if(!aT){aT=new aX();aR.push({map:aW,container:aT})}if(!aT.getMap()){aW.addOverlay(aT,1)}return aT}},ay=1,v=0,V=0,ah=0;var x=q.webkit&&q.version>523.15&&!f.android&&!f.adobeAIR,au=q.mozilla&&q.version>=1.8,O=q.ieDocumentMode>8,R=q.msie&&q.version>5.4,aQ=q.opera&&q.version>=9.5;if(x||au||aQ||O){v=1}else{if(R){V=1}else{ah=1}}ad.SVG=v;ad.VML=V;ad.SSG=ah;k.PolylineCoordRenderer=function(){this._prevPixelBounds=null;this.renderCoords=function(a6,a9){if(!a9){return[]}var a0=[],ba=a9.coordSystem,a8=a9._state.centerInTiles;if(a6&&a6.length){for(var a7=0,a4=a6.length,a1;a7<a4;a7++){a1=a0[a7-1];a0.push(ba.fromCoordPoint(ba.restrict(a6[a7]),a1?ba.toCoordPoint(a1,1):null))}var aY=new k.CollectionBounds(a0),aW=a8,aV=aY.getCenter();if(this._prevPixelBounds){var aX=aR(this._prevPixelBounds),a5=aT(aX,a8);aV=aR(aY)[a5];aW=aX[a5]}var aU=ba.fromCoordPoint(ba.toCoordPoint(aV),ba.toCoordPoint(aW,1)),a3=aS(a6[0],aV.diff(aU),a9),bb=aY.getCenter().moveBy(a3).diff(a8),a2=ba.getWorldSize(),bc=new r(Math.ceil(aY.getSpan().getX()/a2.getX())||1,Math.ceil(aY.getSpan().getY()/a2.getY())||1),aZ=new r(bb.getX()/a2.getX()/bc.getX(),bb.getY()/a2.getY()/bc.getY()).apply(Math.round);if(aZ.getX()||aZ.getY()){a3.moveBy(aS(a6[0],aZ.scale(bc.scale(a2)),a9))}if(a3.getX()||a3.getY()){h.each(a0,function(be,bd){bd.moveBy(a3)});aY=new k.CollectionBounds(a0)}this._prevPixelBounds=aY}return a0};function aT(aW,aV){var aU,aX=Infinity;h.map(aW,function(aY,aZ){var a0=aV.diff(aY).length();if(a0<aX){aX=a0;aU=aZ}});return aU}function aR(aU){return[aU.getLeftBottom(),aU.getLeftTop(),aU.getCenter(),aU.getRightBottom(),aU.getRightTop()]}function aS(aU,aZ,aX){var aV=aX.coordSystem,aW=aV.restrict(aU),aY=aV.fromCoordPoint(aW);return aY.diff(aV.fromCoordPoint(aW,aV.toCoordPoint(aY.copy().moveBy(aZ),1)))}};k.PolygonCoordRenderer=function(){this._exteriorPixelBounds=null;this.renderCoords=function(a8,bj){if(!bj){return[]}var a2=[],bk=bj.coordSystem,bi=bj._state.centerInTiles;for(var bg=0,a9=a8.length;bg<a9;bg++){var a7=a8[bg],a0=[];if(a7&&a7.length){for(var be=0,bc=a7.length,ba;be<bc;be++){ba=a0[be-1];a0.push(bk.fromCoordPoint(bk.restrict(a7[be]),ba?bk.toCoordPoint(ba,1):null))}var aY=new k.CollectionBounds(a0),a5=bi,aV=aY.getCenter();if(this._exteriorPixelBounds){var bb=aR(this._exteriorPixelBounds),aW=aU(bb,bi);aV=aR(aY)[aW];a5=bb[aW]}var bh=bk.fromCoordPoint(bk.toCoordPoint(aV),bk.toCoordPoint(a5,1)),aX=aS(a7[0],aV.diff(bh),bj),aZ=aY.getCenter().moveBy(aX).diff(bi),a6=bk.getWorldSize(),a4=new r(Math.ceil(aY.getSpan().getX()/a6.getX())||1,Math.ceil(aY.getSpan().getY()/a6.getY())||1),bd=new r(aZ.getX()/a6.getX()/a4.getX(),aZ.getY()/a6.getY()/a4.getY()).apply(Math.round);if(bd.getX()||bd.getY()){aX.moveBy(aS(a7[0],bd.scale(a4.scale(a6)),bj))}if(aX.getX()||aX.getY()){h.each(a0,function(bm,bl){bl.moveBy(aX)});aY=new k.CollectionBounds(a0)}if(bg==0){this._exteriorPixelBounds=aY}else{if(!this._exteriorPixelBounds.intersects(aY)){var a1=aY.getCenter().diff(this._exteriorPixelBounds.getCenter()),a3=(new r(a1.getX()/a6.getX(),a1.getY()/a6.getY())).apply(function(bl){return bl/Math.abs(bl)});a3=aS(a7[0],a3.scale(a6),bj);var bf=aT(aY,a3);if(this._exteriorPixelBounds.intersects(bf)){h.each(a0,function(bm,bl){bl.moveBy(a3)});aY=bf}}}}a2.push(a0)}return a2};function aU(aX,aW){var aV,aY=Infinity;h.map(aX,function(aZ,a0){var a1=aW.diff(aZ).length();if(a1<aY){aY=a1;aV=a0}});return aV}function aR(aV){return[aV.getLeftBottom(),aV.getLeftTop(),aV.getCenter(),aV.getRightBottom(),aV.getRightTop()]}function aS(aV,a0,aY){var aW=aY.coordSystem,aX=aW.restrict(aV),aZ=aW.fromCoordPoint(aX);return aZ.diff(aW.fromCoordPoint(aX,aW.toCoordPoint(aZ.copy().moveBy(a0),1)))}function aT(aV,aW){return new k.Bounds(aV.getLeftBottom().moveBy(aW),aV.getRightTop().moveBy(aW))}};var am=function(aR){this._map=aR;this._listeners=[i.observe(aR,aR.Events.DragStart,this._onMapDragStart,this),i.observe(aR,aR.Events.DragEnd,this._onMapDragEnd,this)];this._layerContainerListener=l(aR.__layerManager.getContainer()).events.eventListener();this._layerContainerListener.add("mousemove",function(aS){this._drawMapAutoPan(aR,new k.MouseEvent(aS,aR))},this).add("mouseleave",function(aS){this._stopMapAutoPan()},this)};a=am.prototype;a._drawMapAutoPan=function(aS,aT){var a0=this._map.converter.localPixelsToMapPixels(aT.getLocalPixels()),aR=this._map.getContainerSize().scale(0.5),aW=this._map.converter.localPixelsToMapPixels(aR),aV=aR.copy().moveBy(new r(-20)),aX=new k.Bounds(aW.copy().moveBy(aV.neg()),aW.copy().moveBy(aV)),aU=new k.Bounds(aW.copy().moveBy(aR.neg()),aW.copy().moveBy(aR));if(aX.contains(a0)||!aU.contains(a0)){this._stopMapAutoPan()}else{if(!this._mapDraged){this._isMapPanned=1;var aY=aW.diff(a0),a1=aY.copy().apply(Math.abs),aZ=new r(a1.getX()>aV.getX(),a1.getY()>aV.getY()).scale(aY.copy().scale(new r(1/a1.getX(),1/a1.getY())));this._map.startMove(aZ,{startSpeed:4,speed:8})}}};a._onMapDragStart=function(){this._mapDraged=1};a._onMapDragEnd=function(){this._mapDraged=0};a._stopMapAutoPan=function(){if(this._isMapPanned){this._isMapPanned=0;this._map.stopMove()}};a.destruct=function(){this._stopMapAutoPan();e(this._listeners,"cleanup");this._layerContainerListener.removeAll()};var aC=function(aX,a2){var a6=i.observe(aX,"MouseMove",aU),aT,aY,aW,aZ,a5;this.destruct=function(){if(aT){aT.stopListening();e(aY,"cleanup")}a6.cleanup()};function aU(a7,a8){a6.cleanup();a6=i.observe(a7,"MouseLeave",aV);aT=new d.DragAndDrop.MouseMove(a8.getEvent().target,0,c.tremor.graphicsEditor);aT.beginListening();aY=[i.observe(aT,"start",aS,this),i.observe(aT,"move",aR,this),i.observe(aT,"stop",a1,this)]}function aV(){a6.cleanup();a6=i.observe(aX,"MouseMove",aU);aT.stopListening();e(aY,"cleanup")}function a4(){a5=1;a6.cleanup();a6=i.observe(aX,"MouseMove",a3)}function a3(){a5=0;a6.cleanup();a6=i.observe(aX,"MouseLeave",a4)}function aS(a7){a5=0;a6.cleanup();a6=i.observe(aX,"MouseLeave",a4);if(a2.dragStart){a2.dragStart(a7)}}function aR(a7){if(a2.dragMove){if(ad.VML){aZ=a7;if(!aW){aW=setInterval(a0,10)}}else{a2.dragMove(a7)}}}function a0(){if(aZ){a2.dragMove(aZ);aZ=null}else{clearInterval(aW);aW=null}}function a1(a7){if(ad.VML){a0()}if(a5){aV()}else{a6.cleanup();a6=i.observe(aX,"MouseLeave",aV)}if(a2.dragStop){a2.dragStop(a7)}}};var S=function(aW){var aX=a1().css("zIndex",aW),aT,aV,aR=l(aX[0]).events.eventListener(),aZ={Update:"Update",Click:"Click",DblClick:"DblClick",MouseMove:"MouseMove",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",AddToMap:"AddToMap",RemoveFromMap:"RemoveFromMap"},aU={Click:"click",DblClick:"dblclick",MouseMove:"mousemove",MouseEnter:"mouseenter",MouseLeave:"mouseleave"},aY={};for(var aS in aU){if(aU.hasOwnProperty(aS)){aY[aS]=(function(a2,a3){return function(a4){i.notify(a3,a2,a3,new k.MouseEvent(a4,aT))}})(aZ[aS],this)}}function a1(){var a2=h("<div class='YMaps-gEditor-glassPane' style='position:absolute;' />");if(q.msie){a2.css("background","url("+c.images.transparentImage+")")}return a2}function a0(){var a2=aT.getContainerSize(),a3=aT.converter.localPixelsToMapPixels(new r(0,0));aX.css({top:a3.getY()+"px",left:a3.getX()+"px",width:a2.getX()+"px",height:a2.getY()+"px"});i.notify(this,this.Events.Update,this)}this.getMap=function(){return aT};this.onMapUpdate=a0;this.onAddToMap=function(a2,a4){aT=a2;aX.appendTo(a4);aV=i.observe(aT,aT.Events.MoveEnd,a0,this);for(var a3 in aY){if(aY.hasOwnProperty(a3)){aR.add(aU[a3],aY[a3])}}a0.call(this);i.notify(this,this.Events.AddToMap,this)};this.onRemoveFromMap=function(){aR.removeAll();aV.cleanup();aX.removeFromDom();aT=null;i.notify(this,this.Events.RemoveFromMap,this)};this.Events=aZ};var A=function(){this._map=null;this._$container=h("<div />").css({position:"absolute",width:0,height:0,zIndex:0});this.hide();this._size=null;this._position=null;this._delta=null;this._shift=new r(0,0);this._graphics=[]};a=A.prototype;a.Events={Update:"Update"};a.onAddToMap=function(aS,aR){this._map=aS;this._$container.appendTo(aR);this._moveEndListener=i.observe(aS,aS.Events.MoveEnd,this.onMapMoveEnd,this,1);this._smoothZoomListeners=[i.observe(aS,aS.Events.SmoothZoomStart,this.hide,this,1),i.observe(aS,aS.Events.SmoothZoomEnd,this.show,this,1)];this.update()};a.onRemoveFromMap=function(){this._moveEndListener.cleanup();e(this._smoothZoomListeners,"cleanup");this._$container.removeFromDom();this._map=this._moveEndListener=this._smoothZoomListeners=null};a.getMap=function(){return this._map};a.getSize=function(){return this._size};a.getDelta=function(){return this._shift.diff(this._delta)};a.getPosition=function(){return this._position};a.update=function(){var aS=this._map.getContainerSize(),aR=this._map.converter.localPixelsToMapPixels(new r(0,0));this._shift=new r(0,0);this.__mapCenter=this._map.getCenter(1);this._delta=aS.copy().scale(ay);this._position=this._delta.diff(aR);this._size=aS.moveBy(this._delta.copy().scale(2));d.position(this._$container[0],this._position)};a.show=function(){this._$container.removeClass("YMaps-display-none")};a.hide=function(){this._$container.addClass("YMaps-display-none")};a.onMapMoveEnd=function(){var aS=this._map.converter,aU=this._map.getCenter(1),aT=aS.coordinatesToLocalPixels(aU,1).diff(aS.coordinatesToLocalPixels(this.__mapCenter,1)),aR=aT.copy().apply(Math.abs);if(aR.getX()>this._delta.getX()/2||aR.getY()>this._delta.getY()/2){this.onMapUpdate()}else{this._shift=aT}};a.onMapUpdate=function(){this.update();i.notify(this,this.Events.Update,this)};a.add=function(aR){if(!this._graphics.length){this.show()}this._graphics.push(aR)};a.remove=function(aR){var aS=h.inArray(aR,this._graphics);if(aS!=-1){this._graphics.splice(aS,1)}if(!this._graphics.length){this.hide()}};a.destructor=function(){if(this._map){this.onRemoveFromMap()}this._$container=null};var af=function(){this.styles={};this._eventHandlers={DblClick:this._dblClick,Click:this._click,MouseEnter:this._mouseEnter,MouseLeave:this._mouseLeave,MouseMove:this._mouseMove}};a=af.prototype;a.Events={DblClick:"DblClick",Click:"Click",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove"};a.getMap=function(){return this._map};a.onAddToMap=function(aR){this._map=aR;this._container=ad.getContainer(this._containerClass,aR);this._createListeners()};a.onRemoveFromMap=function(){if(this._map){this._destroyListeners();this._map=this._container=null}};a.onMapUpdate=function(){this.update()};a.setCursor=function(aR){this._cursor=aR};a.setZIndex=function(aR){this._zIndex=aR};a.setGeometry=function(aR){this._geometry=aR};a._createListeners=a._destroyListeners=a.update=a._dblClick=a._click=a._mouseEnter=a._mouseLeave=a._mouseMove=d.NULL;a.setUID=function(aR){this._uid=aR};var aJ=function(){af.call(this)};a=o(aJ,af);a.__translatedEventNames={DblClick:"dblclick",Click:"click",MouseEnter:"mouseenter",MouseLeave:"mouseleave",MouseMove:"mousemove"};a.onAddToMap=function(aR){af.prototype.onAddToMap.call(this,aR);this._container.add(this._htmlElement)};a.onRemoveFromMap=function(){this._mouseChecksReset();if(this._map){this._container.remove(this._htmlElement);af.prototype.onRemoveFromMap.call(this)}};a.setCursor=function(aR){if(!this._cursorManager){this._cursorManager=new g.CursorManager(this._htmlElement)}else{this._cursorManager.removeCursor(this._cursor)}af.prototype.setCursor.call(this,aR);this._cursorManager.addCursor(this._cursor)};a._createListeners=function(){this.domListener=l(this._htmlElement).events.eventListener();for(var aR in this._eventHandlers){this.domListener.add(this.__translatedEventNames[aR],this._eventHandlers[aR],this)}};a._destroyListeners=function(){this.domListener.removeAll()};a._dblClick=function(aR){i.notify(this,this.Events.DblClick,this,new k.MouseEvent(aR,this._map))};a._click=function(aR){i.notify(this,this.Events.Click,this,new k.MouseEvent(aR,this._map))};a._mouseEnter=function(aR){if(!this.isMouseOver){this.isMouseOver=1;if(q.opera||q.mozilla){this.mapBeforeMouseMoveListener=i.observe(this._map,this._map.Events.BeforeMouseMove,this._mapMouseMove,this)}i.notify(this,this.Events.MouseEnter,this,new k.MouseEvent(aR,this._map))}};a._mouseLeave=function(aR){if(this.isMouseOver){this.isMouseOver=0;if(q.opera||q.mozilla){this._mouseChecksReset()}i.notify(this,this.Events.MouseLeave,this,new k.MouseEvent(aR,this._map))}};a._mouseChecksReset=function(){if(this.mapBeforeMouseMoveListener){this.mapBeforeMouseMoveListener.cleanup()}};a._mouseMove=function(aR){if(!this.isMouseOver){this._mouseEnter(aR)}if(this.isMouseOver){i.notify(this,this.Events.MouseMove,this,new k.MouseEvent(aR,this._map))}};a._mapMouseMove=function(aT,aS){var aR=aS.getEvent();if(aR.target!=this._htmlElement){this._mouseLeave(aR)}};a.setUID=function(aR){af.prototype.setUID.call(this,aR);this._htmlElement.uid=aR};var P=function(){};a=P.prototype;a.setPoints=function(aR){this._points=aR};a.getPoints=function(){return this._points};var W=function(aR,aS){this._id=d.generateId();this._coords=aR||[];this._zIndex=aS||0};a=W.prototype;a.setUID=function(aR){var aS=this._uid;this._uid=aR;i.notify(this,"UidChange",this,aS,aR)};a.getUID=function(){return this._uid};a.getId=function(){return this._id};a.setZIndex=function(aS){var aR=this._zIndex;this._zIndex=aS;i.notify(this,"ZIndexChange",this,aR,aS)};a.getZIndex=function(){return this._zIndex};a.setCoords=function(aR){this._coords=aR;this._cachedBounds=null;i.notify(this,"CoordsChange",this)};a.getCoords=function(){return this._coords};a.contains=function(aU){if(this.getBounds().contains(aU)){var aT=this._coords;for(var aS=0,aR=aT.length;aS<aR;aS++){if(ae(aT[aS].coords,aU,aT[aS].nonzero)){return 1}}}};a.getBounds=function(){if(!this._cachedBounds){this._cachedBounds=new k.CollectionBounds();for(var aS=0,aR=this._coords.length;aS<aR;aS++){this._cachedBounds.add(this._coords[aS].coords)}}return this._cachedBounds};a.setCursor=function(aR){this._cursor=aR};a.getCursor=function(){return this._cursor};a.destruct=function(){i.notify(this,"Destruction",this)};a.click=function(aR){i.notify(this,"Click",this,aR)};a.dblClick=function(aR){i.notify(this,"DblClick",this,aR)};a.mouseEnter=function(aR){i.notify(this,"MouseEnter",this,aR)};a.mouseLeave=function(aR){i.notify(this,"MouseLeave",this,aR)};a.mouseMove=function(aR){i.notify(this,"MouseMove",this,aR)};var G=function(aU){var a2={},aS={heads:{},tails:{},maxZIndex:0};function a4(be){var bd=be.getId(),bc={hotspot:be,listeners:[i.observe(be,"ZIndexChange",a8),i.observe(be,"Destruction",bb)]};a2[bd]=bc;aR(bc,be.getZIndex())}function aR(bc,be){bc.next=aW(be);if(bc.next){bc.next.prev=bc}bc.prev=aV(be);if(bc.prev){bc.prev.next=bc}if(bc.next&&bc.next.hotspot.getZIndex()==be){var bd=bc.hotspot.getUID();if(bd){var bf=bc.next;while(bf&&(bf.hotspot.getUID()!=bd||bf.hotspot.getZIndex()!=be)){bf=bf.next}if(bf&&bf.hotspot.getUID()==bd&&bf.hotspot.getZIndex()==be){if(bc.prev){bc.prev.next=bc.next}if(bc.next){bc.next.prev=bc.prev}bc.next=bf;bc.prev=bf.prev;bf.prev=bc;if(bc.prev){bc.prev.next=bc}}}}if(!aS.heads[be]){aS.tails[be]=bc}if(!bc.prev||bc.prev.hotspot.getZIndex()!=be){aS.heads[be]=bc}aS.maxZIndex=Math.max(aS.maxZIndex,be)}function aW(bd){if(aS.heads[bd]){return aS.heads[bd]}else{if(aS.maxZIndex<bd){return aS.heads[aS.maxZIndex]}else{for(var bc=bd-1;bc>=0;bc--){if(aS.heads[bc]){return aS.heads[bc]}}}}}function aV(bd){if(aS.maxZIndex>bd){for(var bc=bd+1;bc<=aS.maxZIndex;bc++){if(aS.tails[bc]){return aS.tails[bc]}}}}function bb(be){var bd=be.getId(),bc=a2[bd];if(bc){delete a2[bd];e(bc.listeners,"cleanup");aT(bc,be.getZIndex())}}function aT(bc,bd){if(bc.prev){bc.prev.next=bc.next}if(bc.next){bc.next.prev=bc.prev}if(aS.heads[bd]==bc){if(!bc.next||bc.next.hotspot.getZIndex()!=bd){delete aS.heads[bd];if(aS.maxZIndex==bd){aS.maxZIndex=0;for(var be in aS.heads){if(aS.heads.hasOwnProperty(be)){aS.maxZIndex=Math.max(aS.maxZIndex,be)}}}}else{aS.heads[bd]=bc.next}}if(aS.tails[bd]==bc){if(!bc.prev||bc.prev.hotspot.getZIndex()!=bd){delete aS.tails[bd]}else{aS.tails[bd]=bc.prev}}}function a8(be,bf,bc){var bd=a2[be.getId()];aT(bd,bf);aR(bd,bc)}this.add=a4;this.remove=bb;var aX=[i.observe(aU,aU.Events.Click,a6),i.observe(aU,aU.Events.DblClick,a0),i.observe(aU,aU.Events.MouseMove,a3),i.observe(aU,aU.Events.MouseEnter,a9),i.observe(aU,aU.Events.MouseLeave,a1)],a5,ba;function a6(be,bd){var bc=aZ(bd,be.getMap());if(bc){bc.click(bd)}}function a0(be,bd){var bc=aZ(bd,be.getMap());if(bc){bc.dblClick(bd)}}function a3(be,bd){var bc=aZ(bd,be.getMap());if(a5&&a5!=bc){a5.mouseLeave(bd);a5=null}if(bc){if(!a5){bc.mouseEnter(bd);a5=bc}bc.mouseMove(bd)}a7()}function a9(be,bd){var bc=aZ(bd,be.getMap());if(bc){bc.mouseEnter(bd);a5=bc}a7()}function a1(bd,bc){if(a5){a5.mouseLeave(bc)}a5=null;a7()}function aZ(bf,bg){var bd=aS.heads[aS.maxZIndex],be=aY(bg,bf.getCoordPoint(1)),bc=null;while(bd){if(bd.hotspot.contains(be)){bc=bd.hotspot;break}bd=bd.next}return bc}function aY(bd,bc){return bd.tileCoordinates.scale(bd.coordSystem.fromCoordPoint(bc),bd.coordSystem.getMaxZoom(),bd.getZoom())}function a7(){var bc=aU.getMap(),bd=a5&&a5.getCursor();if(ba!=bd){if(ba){bc.removeCursor(ba)}if(bd){bc.addCursor(bd)}}ba=bd}this.destruct=function(){k.jQuery.each(a2,function(bc,bd){e(bd.listeners,"cleanup")});e(aX,"cleanup");a2=null}};if(ah){var at=function(){A.call(this);this._viewBox=h("<div />").css({position:"absolute"})[0];this._$container.append(this._viewBox);this._glassPane=new S(0);this._hotspotField=new G(this._glassPane)};a=o(at,A);a.onAddToMap=function(aS,aR){A.prototype.onAddToMap.call(this,aS,aR);this._map.addOverlay(this._glassPane,1)};a.onRemoveFromMap=function(){A.prototype.onRemoveFromMap.call(this);this._map.removeOverlay(this._glassPane)};a.getHotspotField=function(){return this._hotspotField};a.add=function(aU){A.prototype.add.call(this,aU);var aS=aU.name;if(aS=="polyline"||aS=="polygon"){for(var aT=0,aV=h(this._viewBox).children(),aR=aV.length;aT<aR;aT++){if(aV[aT].uid>aU.uid){h(aU).insertBefore(aV[aT]);return}}this._viewBox.appendChild(aU)}};a.remove=function(aS){var aR=aS.parentNode;if(aR==this._viewBox){A.prototype.remove.call(this,aS);aR.removeChild(aS)}};var aw=function(){af.call(this);var aR='<img style="position:absolute;"/>';this._htmlElement=h(aR)[0];this._htmlElementClon=h(aR)[0];this._$imageLoader=h(aR);this._imageLoaderListener=l(this._$imageLoader[0]).events.eventListener()};a=o(aw,af);a.onRemoveFromMap=function(){if(this._map){this._imageLoaderListener.removeAll();if(this._hotspot){this._container.getHotspotField().remove(this._hotspot);this._hotspot=null}this._container.remove(this._htmlElement);af.prototype.onRemoveFromMap.call(this)}};a.setCursor=function(aR){af.prototype.setCursor.call(this,aR);if(this._hotspot){this._hotspot.setCursor(this._cursor)}};a.setZIndex=function(aR){af.prototype.setZIndex.call(this,aR);h([this._htmlElement,this._htmlElementClon]).css("zIndex",this._zIndex);if(this._hotspot){this._hotspot.setZIndex(this._zIndex)}};a.setUID=function(aR){af.prototype.setUID.call(this,aR);this._htmlElement.uid=aR;this._htmlElementClon.uid=aR;if(this._hotspot){this._hotspot.setUID(aR)}};a._destroyListeners=function(){if(this._hotspotListeners){e(this._hotspotListeners,"cleanup");this._hotspotListeners=null}};a.update=function(){if(this._map&&this._geometry){if(this._containerPosCache){d.position(this._htmlElement,this._containerPosCache.diff(this._container.getPosition()).diff(d.position(this._htmlElement)))}if(this._mapZoom!=this._map.getZoom()){this._container.remove(this._htmlElement)}var aR=this._constructImg();this._size=new r(aR.width,aR.height);this._position=this._map.converter.mapPixelsToLocalPixels(new r(aR.left,aR.top));this._containerPosCache=this._container.getPosition();this._mapZoom=this._map.getZoom();this._imageLoaderListener.add("load",this._onImageLoad,this);this._$imageLoader.attr("src",aR.src);if((q.opera||q.webkit)&&this._$imageLoader.attr("complete")){this._onImageLoad()}}};a._constructImg=function(){var aT=h.map(this._geometry,function(a4){return a4}),aW=new k.CollectionBounds(aT),a3=this.styles,aY=aW.getSpan().apply(Math.round),aX=Math.round(a3.strokeWidth),aS=aY.x+aX,a2=aY.y+aX,aU=Math.floor(aX/2),a1=this._getGeoPoint(aW.getCenter(),this._map.coordSystem==m),a0=this._container.getDelta(),aV=a3.outline?"c:"+a3.strokeColor+this._stringUp(Math.round(a3.strokeOpacity*255).toString(16),2,"0")+",w:"+aX+",":"w:0,",aZ=a3.fill?"f:"+a3.fillColor+this._stringUp(Math.round(a3.fillOpacity*255).toString(16),2,"0")+",":"",aR=g.MapData.printerHost+"?origin=javascriptapi&ll="+a1.toString()+"&size="+aS+","+a2+"&z="+this._map.getZoom()+"&key="+g.MapData.userKey+"&pl="+aV+aZ+this._encodeGeometry();return{width:aS,height:a2,left:aW.getLeft()+a0.x-aU,top:aW.getBottom()+a0.y-aU,src:aR}};a._stringUp=function(aT,aR,aS){while(aT.length<aR){aT=aS+aT}return aT};a._encode4bytes=function(aU){var aR=[],aV=this._preparePoints(aU);for(var aT=0,aS=aV.length;aT<aS;aT++){aR=aR.concat(aF.encode4bytes(aV[aT].getX()),aF.encode4bytes(aV[aT].getY()))}return aR};a._preparePoints=function(aV){var aS=[];for(var aU=0,aT=aV.length,aX,aR,aW=m.getCoordPoint(0,0);aU<aT;aU++){aR=this._getGeoPoint(aV[aU],this._map.coordSystem==m);aS.push(aW.diff(aR).scale(aF.codingCoefficient).apply(Math.round));aW=aR}return aS};a._getGeoPoint=function(aR,aS){if(aS){return this._map.converter.mapPixelsToCoordinates(aR,1)}return m.toCoordPoint(this._map.coordSystem.fromCoordPoint(this._map.converter.mapPixelsToCoordinates(aR,1)),1)};a._onImageLoad=function(){this._imageLoaderListener.removeAll();d.position(this._htmlElementClon,this._position);d.size(this._htmlElementClon,this._size);this._htmlElementClon.src=this._$imageLoader.attr("src");this._container.remove(this._htmlElement);var aR=this._htmlElement;this._htmlElement=this._htmlElementClon;this._htmlElementClon=aR;this._container.add(this._htmlElement);if(!this._hotspot){this._hotspot=new W();this._hotspot.setCursor(this._cursor);this._hotspot.setZIndex(this._zIndex);this._hotspot.setUID(this._uid);this._container.getHotspotField().add(this._hotspot)}if(!this._hotspotListeners){this._hotspotListeners=[];for(var aS in this._eventHandlers){this._hotspotListeners.push(i.observe(this._hotspot,aS,this._eventHandlers[aS],this))}}this._hotspot.setCoords(this._getCoordsArray())};a._getCoordsArray=d.NULL;a._mapPixelsToGlobalPixel=function(aV){var aX=this._map,aW=aX._state,aR=[];for(var aU=0,aS=aV.length;aU<aS;aU++){var aT=aW.centerInPixels.diff(aV[aU].copy().moveBy(aW.offset));aR.push(aT.scale(1/aX.animator.getState().scaleCoefficient).moveBy(aX.tileCoordinates.scale(aW.centerInTiles,aX.coordSystem.getMaxZoom(),aX.getZoom())))}return aR};a._dblClick=function(aS,aR){i.notify(this,this.Events.DblClick,this,aR)};a._click=function(aS,aR){i.notify(this,this.Events.Click,this,aR)};a._mouseEnter=function(aS,aR){i.notify(this,this.Events.MouseEnter,this,aR)};a._mouseLeave=function(aS,aR){i.notify(this,this.Events.MouseLeave,this,aR)};a._mouseMove=function(aS,aR){i.notify(this,this.Events.MouseMove,this,aR)};var an=function(){aw.call(this);this._htmlElement.name=this._htmlElementClon.name="polyline";this.styles.fill=0;this.styles.outline=1};a=o(an,aw);a._getCoordsArray=function(){return[{coords:[aK(this._mapPixelsToGlobalPixel(this._geometry),this.styles.strokeWidth)],nonzero:1}]};a._encodeGeometry=function(){return aF.encode(this._encode4bytes(this._geometry))};var t=function(){aw.call(this);this._htmlElement.name=this._htmlElementClon.name="polygon"};a=o(t,aw);a.setGeometry=function(aU){aw.prototype.setGeometry.call(this,aU);for(var aS=0,aR=aU.length;aS<aR;aS++){var aT=aU[aS];if(aT[0]){aT.push(aT[0])}}};a._getCoordsArray=function(){var aT=this._geometry,aS=[];for(var aU=0,aR=aT.length;aU<aR;aU++){aT[aU]=this._mapPixelsToGlobalPixel(aT[aU]);aS[aU]=aK(aT[aU],this.styles.strokeWidth)}return[{coords:aT,nonzero:0},{coords:aS,nonzero:1}]};a._encodeGeometry=function(){return h.map(this._geometry,p(function(aR){return aF.encode(this._encode4bytes(aR))},this)).join(";")};a._preparePoints=function(aV){var aR=aw.prototype._preparePoints.call(this,aV),aU,aT=0,aS=aR.length-1;if(aS>0){for(;aT<aS;aT++){aU=(aU||aR[aT].copy()).moveBy(aR[aT+1])}aR[aS].moveBy(aU.diff(aR[0]))}return aR}}if(V){var at=function(){A.call(this);var aR=document.createStyleSheet(),aV="behavior: url(#default#VML);display:inline-block;";aR.addRule("vml\\:group",aV);aR.addRule("vml\\:shape",aV);try{if(!document.namespaces.vml){document.namespaces.add("vml","urn:schemas-microsoft-com:vml")}}catch(aT){}this.coordSizeCoef=10;var aU=this._viewBox=document.createElement("vml:group"),aS=aU.style;aS.position="absolute";aS.top=aS.left="-1px";this._$container.append(aU)};a=o(at,A);a.add=function(aT){A.prototype.add.call(this,aT);var aV=this._viewBox,aS=0,aU=aV.childNodes,aR=aU.length;for(;aS<aR;aS++){if(aU[aS].uid>aT.uid){aV.insertBefore(aT,aU[aS]);return}}aV.appendChild(aT)};a.remove=function(aR){if(aR.parentElement==this._viewBox){A.prototype.remove.call(this,aR);this._viewBox.removeChild(aR)}};a.update=function(){A.prototype.update.call(this);var aS=this._viewBox,aR=aS.style;aR.visibility="hidden";d.size(aS,this._size);aS.coordsize=this._size.copy().scale(this.coordSizeCoef).toString();aS.coordorigin=this._position.copy().scale(this.coordSizeCoef).toString();aR.visibility="visible"};a.refresh=function(){var aR=this._map;clearTimeout(this._refreshTimeoutId);this._refreshTimeoutId=setTimeout(function(){h(aR.getContainer()).addClass("YMaps-fake-class").removeClass("YMaps-fake-class")},250)};var aw=function(){aJ.call(this)};a=o(aw,aJ);a.update=function(){var aR=this.styles;if(this._htmlElement.stroke){this._htmlElement.stroke.opacity=Math.round(aR.strokeOpacity*100)+"%"}this._htmlElement.strokeweight=aR.strokeWidth+"px";this._htmlElement.strokecolor="#"+aR.strokeColor;if(q.version<8){this._container.refresh()}};a.setZIndex=function(aR){af.prototype.setZIndex.call(this,aR);this._htmlElement.style.zIndex=aR};var an=function(){aw.call(this);this._htmlElement=document.createElement("vml:shape");var aR=this._htmlElement.style;aR.margin="auto";aR.height=aR.width="100%";aR.zIndex=2;this._htmlElement.name="polyline";this._htmlElement.filled=false};a=o(an,aw);a.update=function(){aw.prototype.update.call(this);var aT=this._container.coordSizeCoef,aR=h.map(this._geometry,function(aU){return aU.copy().scale(aT).apply(Math.round).toString()}),aS=this._htmlElement;aS.path="m "+aR.shift()+" l "+aR.join(" ")+" e";aS.coordorigin=this._container.getPosition().copy().scale(aT).toString();aS.coordsize=this._container.getSize().copy().scale(aT).toString();aS.stroked=!!this.styles.strokeWidth;if(aS.stroke){aS.stroke.endcap="round"}};var t=function(){aw.call(this);this._interiors=[];this._htmlElement=document.createElement("vml:shape");var aR=this._htmlElement.style;aR.margin="auto";aR.width=aR.height="100%";aR.zIndex=1;this._htmlElement.name="polygon"};a=o(t,aw);a.update=function(){aw.prototype.update.call(this);var aX=this._container.coordSizeCoef,aU=this.styles,aW=this._htmlElement,aY=this._geometry,aT="";for(var aS=0,aR=aY.length,aV;aS<aR;aS++){aV=h.map(aY[aS],function(aZ){return aZ.copy().scale(aX).apply(Math.round).toString()});if(aV.length==1){continue}aT+=" m "+aV.shift()+" l "+aV.join(" ")+" x "}aT+=" e";aW.path=aT;aW.coordorigin=this._container.getPosition().copy().scale(aX).toString();aW.coordsize=this._container.getSize().copy().scale(aX).toString();aW.stroked=aU.outline&&aU.strokeWidth;aW.filled=aU.fill;aW.fillcolor="#"+aU.fillColor;if(aW.fill){aW.fill.opacity=Math.round(aU.fillOpacity*100)+"%"}};a.setInteriors=function(aR){this._interiors=aR}}if(v){var at=function(){A.call(this);this._viewBox=document.createElementNS("http://www.w3.org/2000/svg","svg");this._viewBox.setAttribute("zoomAndPan","disable");this._$container.append(this._viewBox);this._zIndexGroups=[]};a=o(at,A);a.add=function(aT){A.prototype.add.call(this,aT);var aW=aT.zIndex,aU=this._zIndexGroups[aW];if(!aU){aU=this._zIndexGroups[aW]=document.createElementNS("http://www.w3.org/2000/svg","g");aU.zIndex=aW;for(var aS=0,aV=this._viewBox.childNodes,aR=aV.length;aS<aR;aS++){if(aV[aS].zIndex>aW){this._viewBox.insertBefore(aU,aV[aS]);break}}if(!aU.parentNode){this._viewBox.appendChild(aU)}}for(var aS=0,aV=aU.childNodes,aR=aV.length;aS<aR;aS++){if(aV[aS].uid>aT.uid){aU.insertBefore(aT,aV[aS]);return}}aU.appendChild(aT)};a.remove=function(aR){var aS=this._zIndexGroups[aR.zIndex];if(aR.parentNode==aS){A.prototype.remove.call(this,aR);aS.removeChild(aR)}};a.update=function(){A.prototype.update.call(this);this._viewBox.setAttribute("viewBox",this._position.x+" "+this._position.y+" "+this._size.x+" "+this._size.y);this._viewBox.setAttribute("width",this._size.x);this._viewBox.setAttribute("height",this._size.y)};var aw=function(){aJ.call(this);if(q.chrome&&this.styles.outline&&!this.styles.strokeWidth){this.styles.outline=0}};a=o(aw,aJ);a.update=function(){this._setAttrs(this._getFreshAttrs())};a._getFreshAttrs=function(){var aR=this.styles;return{fill:aR.fill?"#"+aR.fillColor:"none",stroke:aR.outline?"#"+aR.strokeColor:"none","stroke-opacity":aR.strokeOpacity,"stroke-width":aR.strokeWidth+"px"}};a._setAttrs=function(aS){for(var aR in aS){if(aS.hasOwnProperty(aR)){this._htmlElement.setAttribute(aR,aS[aR])}}};a.setZIndex=function(aT){af.prototype.setZIndex.call(this,aT);var aR=this._container,aS=this._htmlElement;aS.zIndex=aT;if(aR){aR.remove(aS);aR.add(aS)}};var an=function(){aw.call(this);this._htmlElement=document.createElementNS("http://www.w3.org/2000/svg","polyline");this._setAttrs({"stroke-linecap":"round","stroke-linejoin":"round",name:"polyline",zIndex:"2"})};a=o(an,aw);a._getFreshAttrs=function(){var aS=aw.prototype._getFreshAttrs.call(this);for(var aT=0,aR=this._geometry.length,aU=[];aT<aR;aT++){aU.push(this._geometry[aT].toString())}aS.points=aU.join(" ");return aS};var t=function(){aw.call(this);this._htmlElement=document.createElementNS("http://www.w3.org/2000/svg","path");this._setAttrs({"stroke-linejoin":"round","fill-rule":"evenodd",name:"polygon",zIndex:"1"})};a=o(t,aw);a._getFreshAttrs=function(){var aU=aw.prototype._getFreshAttrs.call(this);aU["fill-opacity"]=this.styles.fillOpacity;var aY=this._geometry;for(var aV=0,aR=aY.length;aV<aR;aV++){var aX=aY[aV];for(var aT=0,aS=aX.length,aW=[];aT<aS;aT++){aW[aT]=aX[aT].toString()}aY[aV]="M "+aW.join(" L ")+" Z"}aU.d=aY.join(" ");return aU}}var ac=function(){A.call(this)};a=o(ac,A);a.add=function(aR){A.prototype.add.call(this,aR);this._$container.append(aR)};a.remove=function(aR){if(aR.parentNode==this._$container[0]){A.prototype.remove.call(this,aR);this._$container[0].removeChild(aR)}};var s=function(){aJ.call(this);this._containerClass=ac;this._htmlElement=h("<div />").css("position","absolute")[0]};a=o(s,aJ);a.update=function(){if(this._map){var a9=this._geometry,bb=new k.CollectionBounds(a9),aY=this.styles,aX=aY.strokeWidth*1.7+7,a3=Math.max(aY.strokeWidth/1.2,2),a4="",ba=0,a6=a9.length-1;for(;ba<a6;ba++){var a8=a9[ba],aS=a9[ba+1],aR=a8.diff(aS),aT=Math.sqrt(aR.x*aR.x+aR.y*aR.y),aW=Math.atan(aR.y/aR.x),aU=a8.x<=aS.x?1:-1,a0=aU*aX*Math.cos(aW),aZ=aU*aX*Math.sin(aW),a5=0,a7=aT/aX,aV=bb.getLeft(),a1=bb.getTop(),a2=new r(aV,a1).moveBy(this._container.getDelta());for(;a5<a7;a5++){a4+='<div style="position:absolute;font-size:0px;left:'+((a8.x-aV)+a5*a0)+"px;top:"+((a8.y-a1)+a5*aZ)+"px;width:"+Math.round(a3)+"px;height:"+Math.round(a3)+"px;background-color:#"+aY.strokeColor+";opacity:"+aY.strokeOpacity+";filter:alpha(opacity="+(aY.strokeOpacity*100)+');"></div>'}}d.position(this._htmlElement,this._map.converter.mapPixelsToLocalPixels(a2).moveBy(new r(-Math.floor(a3/2))));h(this._htmlElement).html(a4)}};var aG=function(aR){af.call(this);this._geometry=null;this._shape=null;this._shapeListeners=null;this._shapeClass=aR};a=o(aG,af);a.onAddToMap=function(aR){af.prototype.onAddToMap.call(this,aR);if(this._shape){this._shape.onAddToMap(aR)}};a.onRemoveFromMap=function(){if(this._shape){this._shape.onRemoveFromMap();this._shape=null}af.prototype.onRemoveFromMap.call(this)};a.setGeometry=function(aR){this._geometry=aR};a._createListeners=function(){this._createShapeListeners()};a._createShapeListeners=function(){if(this._shape){this._shapeListeners=[];for(var aR in this._eventHandlers){this._shapeListeners.push(i.observe(this._shape,aR,this._eventHandlers[aR],this))}}};a._destroyListeners=function(){this._destroyShapeListeners()};a._destroyShapeListeners=function(){if(this._shapeListeners){e(this._shapeListeners,"cleanup");this._shapeListeners=null}};a.setCursor=function(aR){af.prototype.setCursor.call(this,aR);if(this._shape){this._shape.setCursor(this._cursor)}};a.setZIndex=function(aR){af.prototype.setZIndex.call(this,aR);if(this._shape){this._shape.setZIndex(this._zIndex)}};a.update=function(){var aR=this._shape;if(this._geometry){if(!aR){aR=this._shape=new this._shapeClass();this._createShapeListeners()}aR.setCursor(this._cursor);aR.setZIndex(this._zIndex);for(var aS in this.styles){if(this.styles.hasOwnProperty(aS)){aR.styles[aS]=this.styles[aS]}}aR.setGeometry(this._geometry);if(!aR.getMap()){aR.onAddToMap(this._map)}aR.update()}else{if(aR){aR.onRemoveFromMap()}}};a._dblClick=function(aR,aS){i.notify(this,this.Events.DblClick,this,aS)};a._click=function(aR,aS){i.notify(this,this.Events.Click,this,aS)};a._mouseEnter=function(aR,aS){i.notify(this,this.Events.MouseEnter,this,aS)};a._mouseLeave=function(aR,aS){i.notify(this,this.Events.MouseLeave,this,aS)};a._mouseMove=function(aR,aS){i.notify(this,this.Events.MouseMove,this,aS)};a.destructor=a.onRemoveFromMap;var aN=function(aR){k.AInteractiveGeoObject.call(this,aR);aR=aR||{};this._interactive=typeof aR.interactive!=j?aR.interactive:k.Interactivity.INTERACTIVE;this._geodesic=!!aR.geodesic;this._cursor=aR.cursor||null;this._zIndex=typeof aR.zIndex!=j?aR.zIndex:null;this._draggable=!!aR.draggable};a=o(aN,k.AInteractiveGeoObject);a.Events={DblClick:"DblClick",Click:"Click",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove",DragStart:"DragStart",Drag:"Drag",DragEnd:"DragEnd",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose",PositionChange:"PositionChange",StartEditing:"StartEditing",StopEditing:"StopEditing",StartDrawing:"StartDrawing",StopDrawing:"StopDrawing",AddToMap:"AddToMap",RemoveFromMap:"RemoveFromMap",Update:"Update"};a.getShape=function(){return this._shape};a.getMap=function(){return this._map};a.onAddToMap=function(aR){this._map=aR;this._shape.onAddToMap(this._map);this._createShapeListeners();this._container=ad.getContainer(this._containerClass,aR);this._eventListeners.push(i.observe(this._container,this._container.Events.Update,this.updateGraphics,this));this._shape.setCursor(this._getActualCursor());this._shape.setZIndex(this._getCalculatedZIndex());if(this._draggable){this._enableDragger()}this.update();i.notify(this,this.Events.AddToMap,this)};a.onRemoveFromMap=function(){if(this._map){if(this._draggable){this._disableDragger()}this.stopEditing();this.closeBalloon();this._hideHint(0);this._shape.onRemoveFromMap();this._destroyShapeListeners();this._map=null;i.notify(this,this.Events.RemoveFromMap,this)}};a._createShapeListeners=function(){this._eventListeners=[i.observe(this._shape,this.Events.DblClick,this._onDblClick,this),i.observe(this._shape,this.Events.Click,this._onClick,this),i.observe(this._shape,this.Events.MouseEnter,this._onMouseEnter,this),i.observe(this._shape,this.Events.MouseLeave,this._onMouseLeave,this),i.observe(this._shape,this.Events.MouseMove,this._onMouseMove,this)]};a._destroyShapeListeners=function(){e(this._eventListeners,"cleanup");this._eventListeners=null};a.onMapUpdate=d.NULL;a.update=function(){k.AInteractiveGeoObject.prototype.update.call(this);this._applyStyle();this._updateHint();this._updateBalloon();this.updateGraphics()};a.updateGraphics=function(){if(this._map){this._shape.update();if(this._balloonVisible){this._map.getBalloon().setGeoPoint(this._getBalloonPosition())}}i.notify(this,this.Events.Update,this)};a.getPixelPoints=d.NULL;a._toGeodesicPixels=function(aT){var aW=this._map,aU=this._getSegments(h.map(aT,function(aX){return aW.coordSystem.toCoordPoint(aX,1)})),aR=[];for(var aV=0,aS=aU.length;aV<aS;aV++){aR=aR.concat(g.MathLib.ortho(aU[aV][0],aU[aV][1]))}aR=h.map(aR,function(aX){return aW.coordSystem.fromCoordPoint(aX)});return aR};a._getClippedPixels=d.NULL;a._applyStyle=d.NULL;a.setOptions=function(aS,aU){k.AInteractiveGeoObject.prototype.setOptions.call(this,aS,aU);aS=aS||{};var aR=aU?{draggable:0,interactive:k.Interactivity.INTERACTIVE,geodesic:0,cursor:null,zIndex:null}:this.getOptions(),aV=0;for(var aT in aS){aR[aT]=aS[aT]}if(this._interactive!=aR.interactive||this._cursor!=aR.cursor){this._interactive=aR.interactive;this._cursor=aR.cursor;this._shape.setCursor(this._getActualCursor())}if(this._geodesic!=aR.geodesic){this._geodesic=aR.geodesic;aV=1}if(this._zIndex!=aR.zIndex){this._zIndex=aR.zIndex;this._shape.setZIndex(this._getCalculatedZIndex())}if(this._draggable!=aR.draggable){if(this._draggable=aR.draggable){this._enableDragger()}else{this._disableDragger()}}aV=this._setChildOptions(aS,aU)||aV;if(aV){this.updateGraphics()}};a._setChildOptions=d.NULL;a.getOptions=function(){var aR=k.AInteractiveGeoObject.prototype.getOptions.call(this);aR.interactive=this._interactive;aR.geodesic=this._geodesic;aR.cursor=this._cursor;aR.zIndex=this._zIndex;aR.draggable=this._draggable;aR.coordRenderer=this._coordRenderer;return aR};a._getActualCursor=function(){return this._interactive!=k.Interactivity.NONE?this._cursor||"pointer":""};a._getCalculatedZIndex=function(){};a._enableDragger=function(){this._dragger=new aC(this,{dragStart:p(this._onDragStart,this),dragMove:p(this._onDragMove,this),dragStop:p(this._onDragStop,this)})};a._disableDragger=function(){this._dragger.destruct()};a._onDragStart=function(aR){this._forbidHint();this._mapAutoPanner=new am(this._map);this._mapMoveListener=i.observe(this._map,this._map.Events.Move,this._onMapMoveOnDrag,this);this._shape.setCursor(k.Cursor.GRABBING);this._prevPixels=(new k.MouseEvent(aR,this._map)).getLocalPixels();i.notify(this,this.Events.DragStart,this)};a._onDragMove=function(aT){var aR=(new k.MouseEvent(aT,this._map)).getLocalPixels(),aS=this._prevPixels.diff(aR);this._dragByShift(aS);this._prevPixels=aR;i.notify(this,this.Events.Drag,this,aS)};a._onMapMoveOnDrag=function(aS,aR){this._dragByShift(aR);i.notify(this,this.Events.Drag,this,aR)};a._dragByShift=function(aR){this._pathShift(this.getCoordPath(),aR)};a._pathShift=function(aW,aU){var aV=this._map,aS=aW.getVertices();for(var aT=0,aR=aS.length;aT<aR;aT++){var aX=aS[aT].getCoordPoint();aX.moveTo(aV.converter.localPixelsToCoordinates(aV.converter.coordinatesToLocalPixels(aX).moveBy(aU),1))}aW.setVertices(aS)};a._onDragStop=function(aR){this._allowHint();this._mapAutoPanner.destruct();this._mapMoveListener.cleanup();this._shape.setCursor(this._getActualCursor());i.notify(this,this.Events.DragEnd,this)};a._fireEvent=function(aR,aS){if(this._interactive!=k.Interactivity.NONE){if(this._interactive==k.Interactivity.INTERACTIVE){aS.preventMapEvent()}i.notify(this,this.Events[aR],this,aS)}};a._onDblClick=function(aR,aS){this._fireEvent("DblClick",aS)};a._onClick=function(aR,aS){this._fireEvent("Click",aS);if(this._interactive==k.Interactivity.INTERACTIVE&&this.getOptions().hasBalloon){if(this._balloonVisible){this.closeBalloon()}else{this._balloonOpenEvent=aS;this.openBalloon()}}};a._onMouseEnter=function(aR,aS){this._fireEvent("MouseEnter",aS);if(this._interactive==k.Interactivity.INTERACTIVE&&!this._hintForbidden&&!this._hintVisible&&!this._balloonVisible&&this.getOptions().hasHint){this._map.hint.show(aS.getLocalPixels(),this._getHintContentLayout(),this._getComputedHintOptions());this._hintVisible=1;this._mouseMoveAction(aS)}};a._onMouseLeave=function(aR,aS){this._fireEvent("MouseLeave",aS);if(this._interactive==k.Interactivity.INTERACTIVE){this._hideHint()}};a._hideHint=function(aR){if(this._hintVisible){this._map.hint.hide(aR);this._hintVisible=0}};a._forbidHint=function(){this._hintForbidden=true;this._hideHint(0)};a._allowHint=function(){this._hintForbidden=false};a._onMouseMove=function(aR,aS){this._fireEvent("MouseMove",aS);if(this._interactive==k.Interactivity.INTERACTIVE){this._mouseMoveAction(aS)}};a._mouseMoveAction=function(aR){if(this._hintVisible){this._map.hint.moveTo(aR.getLocalPixels())}};a.setHintContent=function(aR){k.AInteractiveGeoObject.prototype.setHintContent.call(this,aR);this._updateHint()};a.setHintOptions=function(aR){k.AInteractiveGeoObject.prototype.setHintOptions.call(this,aR);if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions())}};a._updateHint=function(){if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions());this._map.hint.setContent(this._getHintContentLayout())}};a._updateBalloon=function(){if(this._balloonVisible){var aR=this._map.getBalloon();aR.setOptions(this._getComputedBalloonOptions(),1);aR.setContent(this._getBalloonContentLayout())}};a.openBalloon=function(aV,aT){k.AInteractiveGeoObject.prototype.openBalloon.call(this,aV,aT);var aR=this._getBalloonPosition(this._balloonOpenEvent);if(this._map&&aR){this._hideHint(0);var aX=this,aS={},aW=this._getComputedBalloonOptions();for(var aU in aW){aS[aU]=aW[aU]}aS.onClose=function(){if(aW.onClose){aW.onClose()}aX._onCloseBalloon()};this._map.openBalloon(aR,this._getBalloonContentLayout(),aS);this._balloonOpenEvent=null;this._balloonVisible=1;i.notify(this,this.Events.BalloonOpen,this)}};a._getBalloonPosition=d.NULL;a.closeBalloon=function(){k.AInteractiveGeoObject.prototype.closeBalloon.call(this);if(this._balloonVisible){this._map.closeBalloon()}};a.setBalloonOptions=function(aR){k.AInteractiveGeoObject.prototype.setBalloonOptions.call(this,aR);if(this._balloonVisible){this._map.getBalloon().setOptions(this._getComputedBalloonOptions(),1)}};a._onCloseBalloon=function(){this._firstPointShift=null;this._balloonVisible=0;i.notify(this,this.Events.BalloonClose,this)};a.getBalloon=function(){return this._balloonVisible?this._map.getBalloon():null};a.setBalloonContent=function(aR){k.AInteractiveGeoObject.prototype.setBalloonContent.call(this,aR);this._updateBalloon()};a._parseColor=function(aS){var aR=[],aT;aR[0]=aS.slice(0,6);aT=parseInt("0x"+(aS.slice(6,8)||"ff"))/255;if(!isNaN(aT)){aR[1]=aT}return aR};a.getNumPoints=function(){return this._path.getNumVertices()};a.getPoint=function(aR){var aS=this._path.getVertex(aR);return aS&&aS.getCoordPoint()};a.getPoints=function(){var aR=[],aT=this._path.getVertices();for(var aU=0,aS=aT.length;aU<aS;aU++){aR[aU]=aT[aU].getCoordPoint().copy()}return aR};a.setPoints=function(aU){var aS=[];for(var aT=0,aR=aU.length;aT<aR;aT++){aS[aT]=new k.CoordVertex(aU[aT])}this._path.setVertices(aS)};a.addPoint=function(aU,aS){if(!(aU instanceof Array)){aU=[aU]}aS=typeof aS!=j?aS:this._path.getNumVertices();for(var aT=0,aR=aU.length;aT<aR;aT++){aU[aT]=new k.CoordVertex(aU[aT])}this._path.spliceVertices.apply(this._path,[aS,0].concat(aU))};a.removePoint=function(aR){var aS=this._path.spliceVertices(aR,1);return aS[0]&&aS[0].getCoordPoint()};a.splicePoints=function(aT,aV){var aS=[aT,aV];for(var aU=2,aR=arguments.length;aU<aR;aU++){aS[aU]=new k.CoordVertex(arguments[aU])}var aW=this._path.spliceVertices.apply(this._path,aS);for(aU=0,aR=aW.length;aU<aR;aU++){aW[aU]=aW[aU].getCoordPoint()}return aW};a.getCoordPath=function(){return this._path};a._onPathPointsChange=function(){if(!this._pathChangeTimeId){this._pathChangeTimeId=setTimeout(p(function(){this._pathChangeTimeId=null;i.notify(this,this.Events.PositionChange,this)},this),1)}this.updateGraphics()};a.startEditing=d.NULL;a.stopEditing=function(){if(this._editor){var aR=this._editor;this._editor=null;aR.stopEditing();if(this._draggable){this._enableDragger()}}};a.setEditingOptions=function(aR){if(aR){if(this._editor){this._editor.setOptions(aR)}this._editorOptions=h.extend(this._editorOptions,aR)}};a.getEditingOptions=function(){return this._editor?this._editor.getOptions():this._editorOptions};a.isEditing=function(){return !!this._editor};a.isDrawing=function(){return !!(this._editor&&this._editor.getOptions().drawing)};a._coordsToVertices=function(aU){var aR=[];for(var aT=0,aS=aU.length;aT<aS;aT++){aR[aT]=new k.CoordVertex(aU[aT],0)}return aR};b=k.Polyline=function(aS,aR){aN.call(this,aR);this._shape=new aG(an);aS=aS||new aL();if(aS instanceof Array){aS=new aL(this._coordsToVertices(aS))}this._path=aS;this._path.addChangeCallback(this._onPathPointsChange,this);this._coordRenderer=aR&&aR.coordRenderer||new k.PolylineCoordRenderer()};a=o(b,aN);b.fromEncodedPoints=function(aV,aW,aS,aU){var aY=aF.decodePoints(aV,aU||m),aX=[],aR=[];if(aW){aX=aF.decodeLevels(aW)}for(var aT=0;aT<aY.length;aT++){aR[aT]=new k.CoordVertex(aY[aT],aX[aT])}return new k.Polyline(new aL(aR),aS)};a._setChildOptions=function(aS,aT){var aR=aS.coordRenderer||aT?new k.PolylineCoordRenderer():this._coordRenderer;if(this._coordRenderer!=aR){this._coordRenderer=aR;return 1}return 0};a.updateGraphics=function(){if(this._map){var aR=this._map,aS=this._getClippedPixels(h.map(this.getPixelPoints(),function(aT){return aR.converter.coordinatesToMapPixels(aR.coordSystem.toCoordPoint(aT,1))}),this._container.getPosition(),this._container.getSize());this._shape.setGeometry(aS.length?aS:null)}aN.prototype.updateGraphics.call(this)};a.getPixelPoints=function(aS){if(this._map){aS=aS||{};var aU=typeof aS.geodesic==j?this._geodesic:aS.geodesic,aT=typeof aS.zoom==j?this._map.getZoom():aS.zoom,aV=this._path,aR=this._coordRenderer.renderCoords(h.map(aV.getIndexesByZoom(aT),function(aW){return aV.getVertex(aW).getCoordPoint()}),this._map);if(aU){aR=this._toGeodesicPixels(aR)}return aR}};a.startEditing=function(){if(!this._editor){if(this._draggable){this._disableDragger()}this._editor=new Z(this,this._editorOptions)}};a._applyStyle=function(){var aT=this.getComputedStyle(),aU={},aR;if(aT){aU.strokeWidth=Number(aT.lineStyle.strokeWidth);aR=this._parseColor(aT.lineStyle.strokeColor);aU.strokeColor=aR[0];aU.strokeOpacity=aR[1];aU.fill=0;aU.outline=1;for(var aS in aU){if(aU.hasOwnProperty(aS)){this._shape.styles[aS]=aU[aS]}}}};a.getClosestPoint=function(aS){var aR=av(this.getPixelPoints(),this._map.coordSystem.fromCoordPoint(aS));if(aR){aR.point=this._map.coordSystem.toCoordPoint(aR.point,1);aR.index=this._path.getIndexesByZoom(this._map.getZoom())[aR.index]}return aR};a._getBalloonPosition=function(aU){var aV=this.getPixelPoints();if(!aV.length){return null}var aT=this._map.coordSystem.toCoordPoint(aV[0],1),aS;if(aU){aS=aU.getCoordPoint(1)}else{if(this._firstPointShift){aS=aT.copy().moveBy(this._firstPointShift)}else{aS=this._map.coordSystem.toCoordPoint(new k.CollectionBounds(aV).getCenter(),1)}}var aR=this.getClosestPoint(aS).point;this._firstPointShift=aT.diff(aR);return aR};a._getClippedPixels=function(aS,aW,aZ){var a0=[],aU=[aW,aW.copy().moveBy(aZ)];for(var aV=0,aT=aS.length-1;aV<aT;aV++){var aY=aS[aV],aX=aS[aV+1],aR=F.getIntersection(aY,aX,aU);if(aR.intersection){a0.push(aR.from);if(!aR.to.equals(aX)||aV==aT-1){a0.push(aR.to)}}}return a0};a._getSegments=function(aU){var aR=[],aT=1,aS=aU.length;for(;aT<aS;aT++){aR.push([aU[aT-1],aU[aT]])}return aR};a._getCalculatedZIndex=function(){return this._zIndex===null?k.ZIndex.POLYLINE:this._zIndex};b=k.PaintPolyline=function(aS,aR){aR=aR||{};aR.interactive=aR.interactive||k.Interactivity.NONE;k.Polyline.call(this,aS,aR);this._containerClass=ac;this._shape=new s()};a=o(b,k.Polyline);var E=k.PolygonPoints=g.PolygonPoints=function(){aL.call(this)};a=o(E,aL);a.setEncodedPoints=function(aV,aU,aT){var aS=aF.decodePoints(aV,aT||m);aU=aF.decodeLevels(aU);for(var aR=0;aR<aS.length;aR++){aS[aR]=new k.CoordVertex(aS[aR],aU[aR])}this.setVertices(aS)};a.getPoints=function(){var aR=[];for(var aS=0;aS<this._vertices.length;aS++){aR[aS]=this._vertices[aS].getCoordPoint()}return aR};b=k.Polygon=function(aS,aR){aN.call(this,aR);this._shape=new aG(t);aS=aS||new aL();if(aS instanceof Array){aS=new aL(this._coordsToVertices(aS))}this._path=aS;this._path.addChangeCallback(this._onPathPointsChange,this);aR=aR||{};this._interiors=[];if(aR.interiors&&aR.interiors.length){this._interiors=this._castInteriorsOption(aR.interiors);this._addPathCallbacks(this._interiors)}this._coordRenderer=aR.coordRenderer||new k.PolygonCoordRenderer()};a=o(b,aN);a._castInteriorsOption=function(aS){var aR=[];for(var aU=0,aT=aS.length;aU<aT;aU++){var aV=aS[aU];if(aV instanceof Array){aV=new aL(this._coordsToVertices(aV))}aR[aU]=aV}return aR};a._addPathCallbacks=function(aT){for(var aS=0,aR=aT.length;aS<aR;aS++){aT[aS].addChangeCallback(this._onPathPointsChange,this)}};a._removePathCallbacks=function(aT){for(var aS=0,aR=aT.length;aS<aR;aS++){aT[aS].removeChangeCallback(this._onPathPointsChange,this)}};b.fromEncodedPoints=function(aW,a3,a4,a2){var aU=aW.split(";"),a1=a3.split(";"),aS=[];for(var aZ=0,aV=aU.length;aZ<aV;aZ++){var aR=aF.decodePoints(aU[aZ],a2||m),aT=[],a0=[];if(a1[aZ]){aT=aF.decodeLevels(a1[aZ])}for(var aY=0,aX=aR.length;aY<aX;aY++){a0[aY]=new k.CoordVertex(aR[aY],aT[aY])}aS.push(new aL(a0))}return new k.Polygon(aS.shift(),h.extend({},a4,{interiors:aS}))};a._setChildOptions=function(aS,aT){var aU=0,aR=aS.coordRenderer||aT?new k.PolygonCoordRenderer():this._coordRenderer;if(this._coordRenderer!=aR){this._coordRenderer=aR;aU=1}if(aS.interiors){this._removePathCallbacks(this._interiors);this._interiors=aS.interiors&&this._castInteriorsOption(aS.interiors);this._addPathCallbacks(this._interiors);aU=1;i.notify(this,this.Events.PositionChange,this)}return aU};a.getOptions=function(){var aR=aN.prototype.getOptions.call(this);aR.interiors=this._interiors.slice(0);return aR};a.updateGraphics=function(){if(this._map){var aX=this.getPixelPoints(),aR=[];for(var aW=0,aT=aX.length;aW<aT;aW++){var aY=aX[aW];for(var aV=0,aU=aY.length;aV<aU;aV++){var aZ=aY[aV];aY[aV]=this._map.converter.coordinatesToMapPixels(this._map.coordSystem.toCoordPoint(aZ,1))}var aS=this._getClippedPixels(aY,this._container.getPosition(),this._container.getSize());if(aS.length){aR.push(aS)}}this._shape.setGeometry(aR.length?aR:null)}aN.prototype.updateGraphics.call(this)};a.getPixelPoints=function(aT){if(this._map){aT=aT||{};var aW=typeof aT.geodesic==j?this._geodesic:aT.geodesic,aV=typeof aT.zoom==j?this._map.getZoom():aT.zoom,aY=[this._path].concat(this._interiors);for(var aU=0,aS=aY.length;aU<aS;aU++){var aX=aY[aU];aY[aU]=h.map(aX.getIndexesByZoom(aV),function(aZ){return aX.getVertex(aZ).getCoordPoint()})}var aR=this._coordRenderer.renderCoords(aY,this._map);if(aW){for(aU=0,aS=aR.length;aU<aS;aU++){aR[aU]=this._toGeodesicPixels(aR[aU])}}return aR}};a._dragByShift=function(aT){aN.prototype._dragByShift.call(this,aT);for(var aS=0,aR=this._interiors.length;aS<aR;aS++){this._pathShift(this._interiors[aS],aT)}};a.startEditing=function(){if(!this._editor){if(this._draggable){this._disableDragger()}this._editor=new y(this,this._editorOptions)}};a._applyStyle=function(){var aT=this.getComputedStyle(),aU={},aR;if(aT){aU.strokeWidth=Number(aT.polygonStyle.strokeWidth);aR=this._parseColor(aT.polygonStyle.strokeColor);aU.strokeColor=aR[0];aU.strokeOpacity=aR[1];aR=this._parseColor(aT.polygonStyle.fillColor);aU.fillColor=aR[0];aU.fillOpacity=aR[1];aU.fill=!!aT.polygonStyle.fill;aU.outline=!!aT.polygonStyle.outline;for(var aS in aU){if(aU.hasOwnProperty(aS)){this._shape.styles[aS]=aU[aS]}}}};a.getClosestPoint=function(aX){var aT=this.getPixelPoints(),aY=Infinity,aR=null;for(var aU=0,aS=aT.length;aU<aS;aU++){var aW=aT[aU];if(aW.length){aW.push(aW[0])}var aV=av(aW,this._map.coordSystem.fromCoordPoint(aX));if(aV&&aV.distance<aY){aY=aV.distance;aR=aV}}if(aR){aR.point=this._map.coordSystem.toCoordPoint(aR.point,1);aR.index=this._path.getIndexesByZoom(this._map.getZoom())[aR.index]}return aR};a.contains=function(aR){return ae(this.getPixelPoints(),this._map.coordSystem.fromCoordPoint(aR),0)};a._getBalloonPosition=function(aY){var aV=this.getPixelPoints(),aU=[],aR=null;for(var aW=0,aS=aV.length;aW<aS;aW++){aU=aU.concat(aV[aW])}if(aU.length){var aX=new k.CollectionBounds(aU);if(aY){aR=aY.getCoordPoint(1)}else{if(this._balloonPosCoef){aR=this._map.coordSystem.toCoordPoint(aX.getLeftBottom().moveBy(aX.getSpan().scale(this._balloonPosCoef)),1)}else{var aT=new r(0,0);h.each(aU,function(aZ,a0){aT.moveBy(a0)});aR=this._map.coordSystem.toCoordPoint(aT.scale(1/aU.length),1)}}if(!this.contains(aR)){aR=this.getClosestPoint(aR).point}this._balloonPosCoef=aX.getSpan().apply(function(aZ){return Math.pow(aZ,-1)}).scale(aX.getLeftBottom().diff(this._map.coordSystem.fromCoordPoint(aR)))}return aR};a._getClippedPixels=function(aU,a0,a2){var aW=new k.CollectionBounds([a0,a0.copy().moveBy(a2)]);for(var aX=0;aX<4;aX++){var aR=[new r(aX==0?aW.getLeft():-Infinity,aX==3?aW.getBottom():-Infinity),new r(aX==2?aW.getRight():Infinity,aX==1?aW.getTop():Infinity)],aY=[],a1;for(var aV=0,aT=aU.length;aV<aT;aV++){var aZ=aU[aV+1==aT?0:aV+1],aS=F.getIntersection(aU[aV],aZ,aR);if(aS.intersection){aY.push(aS.from);a1=aS.to;if(!a1.equals(aZ)){aY.push(a1)}}}aU=aY;a1=null}return aU};a._getSegments=function(aU){var aR=[],aT=1,aS=aU.length;for(;aT<=aS;aT++){aR.push([aU[aT-1],aT==aS?aU[0]:aU[aT]])}return aR};a._getCalculatedZIndex=function(){return this._zIndex===null?k.ZIndex.POLYGON:this._zIndex};var aM=function(aT,aU,aR,aS){this._coordPath=aT;this._parentModel=aR;this._editor=aS;this._graphicsObject=aR.getGraphicsObject();this._map=this._graphicsObject.getMap();this._edgeModels=[];this._vertexModels=[];this.updateStructure(aU)};a=aM.prototype;a.Events={Destruct:"Destruct"};a.updateStructure=function(aR){this.updateVertexModels(aR);this.updateEdgeModels()};a.getGraphicsModel=function(){return this._parentModel};a.getCoordPath=function(){return this._coordPath};a.getVertexModels=function(){return this._vertexModels};a.getEdgeModels=function(){return this._edgeModels};a.getEdgeCoord=function(aW){var aX=aW.prev.getPoint(),aU=aW.next.getPoint(),aV=this._map.coordSystem;if(this._graphicsObject.getOptions().geodesic){var aR=g.MathLib.ortho(aX,aU),aT=Math.floor((aR.length-1)/2);aX=aR[aT],aU=aR[aT+1]}var aS=aV.fromCoordPoint(aX);return aV.toCoordPoint(aS.moveBy(aS.diff(aV.fromCoordPoint(aU)).scale(0.5)),1)};a.getVertexCoord=function(aR){return this._map.coordSystem.toCoordPoint(aR.pixels,1)};a.updateVertexModels=function(aY){var aV=this._map.getZoom(),a2=this._coordPath.getIndexesByZoom(aV),aZ=[];for(var aU=0,aR=a2.length;aU<aR;aU++){var a1=null,aX=this._coordPath.getVertex(a2[aU]),a0=aX.getCoordPoint();for(var aT=0,aS=this._vertexModels.length;aT<aS;aT++){if(this._vertexModels[aT].originalPoint==a0){a1=this._vertexModels.splice(aT,1)[0];break}}if(a1){a1.prev=a1.next=null}else{a1=new aI(aX,this,{originalPoint:a0})}h.extend(a1,{pixels:aY[aU],index:a2[aU]});var aW=aZ[aU-1];if(aW){aW.next=a1;a1.prev=aW}aZ.push(a1)}this._vertexModels=aZ};a.updateEdgeModels=function(){var aX=[];for(var aW=0,aT=this._vertexModels.length;aW<aT;aW++){var aR=null,aY=this._vertexModels[aW],aZ=aY.next;if(aZ){for(var aV=0,aU=this._edgeModels.length;aV<aU;aV++){var aS=this._edgeModels[aV];if(aS.nextOriginalPoint==aZ.originalPoint&&aS.prevOriginalPoint==aY.originalPoint){aR=this._edgeModels.splice(aV,1)[0];break}}if(!aR){aR=new al(this,{nextOriginalPoint:aZ.originalPoint,prevOriginalPoint:aY.originalPoint})}aR.next=aZ;aR.prev=aY;aX.push(aR)}}this._edgeModels=aX};a.insertVertex=function(aW,aU){var aS=this._vertexModels[aU],aR=this._vertexModels[aU-1],aV=null,aX=null;if(aR){aV=aR.index;aX=aR.next?aR.next.index:null;aU=aR.index+1}else{if(aS){aV=aS.prev?aS.prev.index:null;aX=aS.index;aU=aS.index}}var aT=this._excludeLowZoomVertices(aV,aX);aT.splice(aU,0,aW);this._coordPath.setVertices(this._collapseArray(aT))};a.removeVertex=function(aR){var aS=this._excludeLowZoomVertices(aR.prev?aR.prev.index:null,aR.next?aR.next.index:null);aS.splice(aR.index,1);this._coordPath.setVertices(this._collapseArray(aS))};a.setVertexCoordPoint=function(aR,aT){var aS=this._excludeLowZoomVertices(aR.prev?aR.prev.index:null,aR.next?aR.next.index:null);aR.getVertex().getCoordPoint().moveTo(aT);this._coordPath.setVertices(this._collapseArray(aS))};a._collapseArray=function(aU){for(var aT=0,aS=aU.length,aR=[];aT<aS;aT++){if(typeof aU[aT]!=j){aR.push(aU[aT])}}return aR};a._excludeLowZoomVertices=function(aV,aX){var aT=this._coordPath.getVertices(),aR=[];for(var aU=0,aS=aT.length;aU<aS;aU++){var aW=aT[aU];if(((aV!=null&&((aV<aX&&aU>aV&&aU<aX)||(aV>aX&&(aU>aV||aU<aX))))||(aV==null&&aU<aX)||(aX==null&&aU>aV))&&aW.getVisibilityZoom()>this._map.getZoom()&&h.inArray(aW.getCoordPoint(),this._editor.getOptions().lockedPoints)==-1){continue}aR[aU]=aW}return aR};a.destruct=function(){i.notify(this,this.Events.Destruct,this);this._coordPath=this._parentModel=this._editor=null};var az=function(aT,aU,aR,aS){aM.call(this,aT,aU,aR,aS)};a=o(az,aM);a.updateVertexModels=function(aS){aM.prototype.updateVertexModels.call(this,aS);var aR=this._vertexModels.length,aT=this._vertexModels[aR-1],aU=this._vertexModels[0];if(aR){aT.next=aU;aU.prev=aT}};a.removeCoordPath=function(){this._parentModel.removeCoordPath(this)};var Y=function(aR,aS){this._graphicsObject=aR;this._editor=aS;this._pathModels=[];this._graphicsListener=i.observe(aR,aR.Events.Update,this.update,this);this._updateStructure()};a=Y.prototype;a.Events={Update:"Update"};a.update=function(){this._updateStructure();i.notify(this,this.Events.Update,this)};a._updateStructure=function(){var aY=[this._graphicsObject.getCoordPath()].concat(this._graphicsObject.getOptions().interiors),aX=this._graphicsObject.getPixelPoints({geodesic:0}),aS=[];for(var aW=0,aR=aY.length;aW<aR;aW++){var aU=null;for(var aV=0,aT=this._pathModels.length;aV<aT;aV++){if(this._pathModels[aV].getCoordPath()==aY[aW]){aU=this._pathModels.splice(aV,1)[0];break}}if(!aU){aU=new az(aY[aW],aX[aW],this,this._editor)}else{aU.updateStructure(aX[aW])}aS.push(aU)}e(this._pathModels,"destruct");this._pathModels=aS};a.getGraphicsObject=function(){return this._graphicsObject};a.getCoordPathModels=function(){return this._pathModels};a.removeCoordPath=function(aR){var aT=aR.getCoordPath();if(this._graphicsObject.getCoordPath()!=aT){var aU=this._graphicsObject.getOptions().interiors,aS=h.inArray(aT,aU);if(aS!=-1){aU.splice(aS,1);this._graphicsObject.setOptions({interiors:aU})}}};a.getCoordPathModelByCoordPath=function(aU){for(var aT=0,aS=this._pathModels.length;aT<aS;aT++){var aR=this._pathModels[aT];if(aR.getCoordPath()==aU){return aR}}};a.getPointsNum=function(){var aR=0,aU=[this._graphicsObject.getCoordPath()].concat(this._graphicsObject.getOptions().interiors);for(var aT=0,aS=aU.length;aT<aS;aT++){aR+=aU[aT].getIndexesByZoom(this._graphicsObject.getMap().getZoom()).length}return aR};a.destruct=function(){this._graphicsListener.cleanup();e(this._pathModels,"destruct")};var T=function(aR,aS){this._graphicsObject=aR;this._editor=aS;this._pathModel=new aM(aR.getCoordPath(),this._graphicsObject.getPixelPoints({geodesic:0}),this,aS);this._graphicsListener=i.observe(aR,aR.Events.Update,this.update,this)};a=T.prototype;a.Events={Update:"Update"};a.update=function(){this._pathModel.updateStructure(this._graphicsObject.getPixelPoints({geodesic:0}));i.notify(this,this.Events.Update,this)};a.getGraphicsObject=function(){return this._graphicsObject};a.getCoordPathModel=function(){return this._pathModel};a.getPointsNum=function(){return this._graphicsObject.getCoordPath().getIndexesByZoom(this._graphicsObject.getMap().getZoom()).length};a.destruct=function(){this._graphicsListener.cleanup();this._pathModel.destruct()};var aI=function(aT,aR,aS){this._vertex=aT;this._parentModel=aR;h.extend(this,aS)};a=aI.prototype;a.getCoordPathModel=function(){return this._parentModel};a.getVertex=function(){return this._vertex};a.getPoint=function(){return this._parentModel.getVertexCoord(this)};a.setVertexCoordPoint=function(aR){this._parentModel.setVertexCoordPoint(this,aR)};a.removeVertex=function(){this._parentModel.removeVertex(this)};var al=function(aR,aS){this._parentModel=aR;h.extend(this,aS)};a=al.prototype;a.getPoint=function(){return this._parentModel.getEdgeCoord(this)};var z=function(aT,aS,aR,aU){this._model=aT;this._view=aS;this._graphicsObject=aR;this._editor=aU;this._map=aR.getMap();this._editLines=new H(this._map,this.createStyleForLines());this._listeners=[i.observe(aU,aU.Events.OptionsChange,this._onOptionsChange,this),i.observe(aT,aT.Events.Update,this._hideContextMenu,this)];var aV=aU.getOptions();if(aV.drawing){this._enableDrawing()}if(aV.dragging){this._enableDragging()}};a=z.prototype;a._onOptionsChange=function(aS,aR){if("drawing" in aR){if(aR.drawing){this._enableDrawing()}else{this._disableDrawing()}}if("dragging" in aR){if(aR.dragging){this._enableDragging()}else{this._disableDragging()}}this._hideContextMenu()};a._hideContextMenu=function(){var aR=aP.get(this._map);if(aR.isVisible()){aR.hide()}};a._enableDrawing=function(){if(this._model.getPointsNum()<this._editor.getOptions().maxPoints){this._drawingControl=this._createDrawingControl();this._vertexAddListener=i.observe(this._drawingControl,this._drawingControl.Events.VertexDraw,this._onVertexAdd,this)}else{this._editor.setOptions({drawing:0})}};a._createDrawingControl=d.NULL;a._onVertexAdd=function(){this._lastVertexAddDate=new Date()};a._disableDrawing=function(){if(this._drawingControl){this._vertexAddListener.cleanup();this._drawingControl.destruct();this._drawingControl=null}};a._enableDragging=d.NULL;a._disableDragging=function(){this._draggingControl.destruct();this._draggingControl=null};a.getGlassPane=function(){if(!this._glassPane){this._glassPane=new S(k.ZIndex.EDITOR_GLASS_PANE)}return this._glassPane};a.getVertexHandlers=function(){return{Click:p(this._onVertexClick,this),DblClick:p(this._onVertexDblClick,this),DragStart:p(this._onVertexDragStart,this),Drag:p(this._onVertexDrag,this),DragEnd:p(this._onVertexDragEnd,this)}};a._onVertexDblClick=function(aR){if(!this._lastVertexAddDate||new Date()-this._lastVertexAddDate>I.DBLCLICKTIME){var aS=aR.metaDataProperty.rec,aT=this._editor.getOptions();if(aT.onDblClick){aT.onDblClick(this._graphicsObject,aS.index,aS.getCoordPathModel().getCoordPath())}else{if(h.inArray(aS.originalPoint,aT.lockedPoints)==-1){aS.removeVertex()}}}};a._onVertexDragStart=function(aR){var aT=aR.metaDataProperty.rec,aS=this._onPointDragging(aT.getCoordPathModel(),aR.getCoordPoint(),aT.index,1,0);if(aS){this._editLines.setCoords(aS,this._getLinePoints(aT))}};a._onVertexDrag=function(aR){var aT=aR.metaDataProperty.rec,aS=this._onPointDragging(aT.getCoordPathModel(),aR.getCoordPoint(),aT.index,1,0);if(aS){this._editLines.setCoords(aS,this._getLinePoints(aT))}};a._onVertexDragEnd=function(aR){var aT=aR.metaDataProperty.rec,aS=this._onPointDragging(aT.getCoordPathModel(),aR.getCoordPoint(),aT.index,1,1);this._editLines.hide();if(aS){aT.setVertexCoordPoint(aS)}else{this._view.update()}};a._onVertexClick=function(aR){var aS=aP.get(this._map);aS.setOwner(aR);if(!aS.isVisible()){if(this._menuContent){this._menuContent.destruct()}this._menuContent=this._getVertexMenuContent(aR.metaDataProperty.rec);if(this._menuContent!=null){aS.setContent(this._menuContent.getContainer());aS.show()}}};a._getVertexMenuContent=function(aU){var aT=this._getVertexMenuItems(aU),aR=null;for(var aV=0,aS=aT.length;aV<aS;aV++){(aR||(aR=new u())).addItem(this._buildMenuItem(aU,aT[aV]))}return aR};a._getVertexMenuItems=function(aS){var aR=this._getNativeMenuItems(aS);var aT=this._editor.getOptions();if(aT.menuManager){aR=aT.menuManager(aS.index,aR,aS.getCoordPathModel().getCoordPath())}return aR};a._getNativeMenuItems=function(aS){var aR=[],aU=this._editor,aT=aU.getOptions();if(h.inArray(aS.originalPoint,aT.lockedPoints)==-1){aR.push({id:k.GraphicsEditingMenuIDs.Delete,title:c.hints.graphicsEditor.deleteVertex,onClick:function(){aS.removeVertex()}})}if(aT.drawing){aR.push({id:k.GraphicsEditingMenuIDs.StopDrawing,title:c.hints.graphicsEditor.stopDrawing,onClick:function(){aU.setOptions({drawing:0})}})}return aR};a._buildMenuItem=function(aT,aU){var aR=h('<span style="white-space: nowrap;cursor: '+k.Cursor.POINTER+';">'+aU.title+"</span><br />"),aS=l(aR[0]).events.eventListener();if(aU.hint){aR[0].title=aU.hint}if(aU.onClick){aS.add("click",function(aV){var aW=new k.MouseEvent(aV,this._map);aW.preventMapEvent();aU.onClick.call(this._graphicsObject,this._graphicsObject,aT.index,aT.getCoordPathModel().getCoordPath())},this)}aS.add("mouseenter",function(){aR.css("color","#ff0000")});aS.add("mouseleave",function(){aR.css("color","")});aR.data("eventListener",aS);return aR};a.getEdgeHandlers=function(){return{DragStart:p(this._onEdgeDragStart,this),Drag:p(this._onEdgeDrag,this),DragEnd:p(this._onEdgeDragEnd,this)}};a._onEdgeDragStart=function(aR){var aU=aR.metaDataProperty.rec,aT=aU.prev,aS=this._onPointDragging(aT.getCoordPathModel(),aR.getCoordPoint(),aT.index+1,0,0);if(aS){this._editLines.setCoords(aS,this._getLinePoints(aU))}};a._onEdgeDrag=function(aR){var aU=aR.metaDataProperty.rec,aT=aU.prev,aS=this._onPointDragging(aT.getCoordPathModel(),aR.getCoordPoint(),aT.index+1,0,0);if(aS){this._editLines.setCoords(aS,this._getLinePoints(aU))}};a._onEdgeDragEnd=function(aR){var aU=aR.metaDataProperty.rec.prev,aT=aU.getCoordPathModel(),aS=this._onPointDragging(aT,aR.getCoordPoint(),aU.index+1,0,1);this._editLines.hide();if(aS){aT.insertVertex(new k.CoordVertex(this._map.coordSystem.getCoordPoint(aS.getX(),aS.getY()),this._editor.getOptions().visibilityZoomForNewPoints),h.inArray(aU,aT.getVertexModels())+1)}else{this._view.update()}};a._onPointDragging=function(aW,aZ,aX,aU,aY){var aR=this._editor.getOptions().onPointDragging;if(aR){var aS=this._map,aV=h.map(aW.getVertexModels(),function(a0){return a0.pixels}),aT=h.map(aV,function(a0){return aS.converter.coordinatesToMapPixels(aS.coordSystem.toCoordPoint(a0,1))});aT.splice(aX,aU?1:0,aS.converter.coordinatesToMapPixels(aZ));aZ=aR(aT,aX,aY);aZ=aZ&&aS.converter.mapPixelsToCoordinates(aZ,1)}return aZ};a._getLinePoints=function(aR){return h.map([aR.next,aR.prev],function(aS){return aS?aS.getPoint():null})};a.destruct=function(){this._editLines.destruct();e(this._listeners,"cleanup");if(this._drawingControl){this._drawingControl.destruct()}if(this._draggingControl){this._draggingControl.destruct()}};var ak=function(aT,aS,aR,aU){z.call(this,aT,aS,aR,aU)};a=o(ak,z);a._createDrawingControl=function(){return new J(this._model.getCoordPathModel(),this._model,this._graphicsObject,this,this._map,this._editor)};a._enableDragging=function(){this._draggingControl=new aB(this,this._graphicsObject,this._map,this._editor)};a.createStyleForLines=function(){return this._graphicsObject.getComputedStyle()};a._getNativeMenuItems=function(aT){var aS=z.prototype._getNativeMenuItems.call(this,aT),aV=this._editor.getOptions(),aU=aT.getCoordPathModel().getVertexModels(),aW=aT==aU[0],aR=aT==aU[aU.length-1];if(this._model.getPointsNum()<aV.maxPoints&&(aV.drawing&&(aV.fromStart?aR:aW)||!aV.drawing&&(aR||aW))){aS.push({id:k.GraphicsEditingMenuIDs.StartDrawing,title:c.hints.graphicsEditor.startDrawing,onClick:p(function(){this._editor.setOptions({fromStart:aW?1:0,drawing:1})},this)})}return aS};var ap=function(aT,aS,aR,aU){z.call(this,aT,aS,aR,aU)};a=o(ap,z);a._onOptionsChange=function(aS,aR){z.prototype._onOptionsChange.call(this,aS,aR);if("fromIndex" in aR){this._rearrangeCoordPathByIndex(aS.getOptions().drawingCoordPath,aR.fromIndex)}};a._createDrawingControl=function(){return new ai(this._model.getCoordPathModelByCoordPath(this._editor.getOptions().drawingCoordPath),this._model,this._graphicsObject,this,this._map,this._editor)};a._enableDragging=function(){this._draggingControl=new aa(this,this._graphicsObject,this._map,this._editor)};a.createStyleForLines=function(){var aT=k.Style.copy(this._graphicsObject.getComputedStyle()),aR=aT.lineStyle,aS=aT.polygonStyle;aR.strokeColor=aS.strokeColor;aR.strokeWidth=aS.strokeWidth;return aT};a._getNativeMenuItems=function(aU){var aR=z.prototype._getNativeMenuItems.call(this,aU),aV=this._editor.getOptions(),aT=aU.getCoordPathModel(),aW=aT.getCoordPath();if(this._model.getPointsNum()<aV.maxPoints&&(!aV.drawing||aV.drawingCoordPath!=aW||!this._isLastVertexInCoordPath(aT,aU))){aR.push({id:k.GraphicsEditingMenuIDs.StartDrawing,title:c.hints.graphicsEditor.startDrawing,onClick:p(function(){this._editor.setOptions({fromIndex:aU.index,drawingCoordPath:aW,drawing:1})},this)})}var aS=this._graphicsObject.getCoordPath();if(aW!=aS&&!this._isLockedPointsInCoordPath(aW)){aR.push({id:k.GraphicsEditingMenuIDs.RemoveInterior,title:c.hints.graphicsEditor.removeInterior,onClick:p(function(){if(aV.drawingCoordPath==aW){this._editor.setOptions({drawingCoordPath:aS,drawing:0})}aT.removeCoordPath()},this)})}if(this._model.getPointsNum()<aV.maxPoints&&aV.drawNewInteriors){aR.push({id:k.GraphicsEditingMenuIDs.AddInterior,title:c.hints.graphicsEditor.addInterior,onClick:p(function(){var aX=new k.CoordPath(),aY=this._graphicsObject.getOptions().interiors;aY.push(aX);this._graphicsObject.setOptions({interiors:aY});this._editor.setOptions({drawingCoordPath:aX,drawing:1})},this)})}return aR};a._isLastVertexInCoordPath=function(aT,aS){var aR=aT.getVertexModels(),aU=aR[aR.length-1];return aU==aS};a._isLockedPointsInCoordPath=function(aU){var aS=aU.getVertices();for(var aT=0,aR=aS.length;aT<aR;aT++){if(h.inArray(aS[aT].getCoordPoint(),this._editor.getOptions().lockedPoints)!=-1){return 1}}};a._rearrangeCoordPathByIndex=function(aT,aS){var aR=aT.getVertices(),aU=aT.getNumVertices()-aS,aV=aR.splice(aS+1,aU);if(aV.length){aR.splice.apply(aR,[0,0].concat(aV));aT.setVertices(aR)}};var I=function(aT,aU,aR,aS,aW,aV){this._coordPathModel=aT;this._model=aU;this._graphicsObject=aR;this._controller=aS;this._map=aW;this._editor=aV;i.notify(I,"DrawingStart");this._lines=new H(this._map,aS.createStyleForLines());var aX=this._editor.getOptions();this._glassPane=this._createGlassPane(aX.drawOver);this._map.addOverlay(this._glassPane,1);this._drawingTool=new Q(this._glassPane,aX.drawingCursor,this._map,p(this._drawVertex,this),p(this._showLines,this),p(this._hideLines,this));this._listeners=[i.observe(I,"DrawingStart",this._onDrawingStart,this),i.observe(aV,aV.Events.OptionsChange,this._onOptionsChange,this),i.observe(aU,aU.Events.Update,this._onModelUpdate,this),i.observe(aW,aW.Events.BeforeDblClick,this._stopDrawingByDblClick,this)];i.notify(aR,aR.Events.StartDrawing,aR)};a=I.prototype;I.DBLCLICKTIME=250;a.Events={GlassPaneChange:"GlassPaneChange",VertexDraw:"VertexDraw"};a._onDrawingStart=function(){this._editor.setOptions({drawing:0})};a._onOptionsChange=function(aS,aR){if("maxPoints" in aR){this._maxPointsCheck()}if("drawingCursor" in aR){this._drawingTool.setCursor(aR.drawingCursor)}if("drawOver" in aR){this._map.removeOverlay(this._glassPane);this._glassPane=this._createGlassPane(aR.drawOver);this._map.addOverlay(this._glassPane,1);this._drawingTool.setGlassPane(this._glassPane);i.notify(this,this.Events.GlassPaneChange,this)}};a._onModelUpdate=function(){this._hideLines();this._lines.setStyle(this._controller.createStyleForLines());this._maxPointsCheck()};a._maxPointsCheck=function(){if(this._model.getPointsNum()>=this._editor.getOptions().maxPoints){this._editor.setOptions({drawing:0})}};a._createGlassPane=function(aR){return aR?this._controller.getGlassPane():new ax()};a._showLines=function(aS){var aR=this._onPointDrawing(aS.getCoordPoint(1),0);if(aR){this._lines.setCoords(aR,this._getLineEndPoints())}};a._hideLines=function(){this._lines.hide()};a._onPointDrawing=function(aU,aW){var aT=this._editor.getOptions().onPointDrawing;if(aT){var aV=this._map,aS=this._getDrawPointIndex(),aX=h.map(this._coordPathModel.getVertexModels(),function(aY){return aY.pixels}),aR=h.map(aX,function(aY){return aV.converter.coordinatesToMapPixels(aV.coordSystem.toCoordPoint(aY,1))});aR.splice(aS,0,aV.converter.coordinatesToMapPixels(aU));aU=aT(aR,aS,aW);aU=aU&&aV.converter.mapPixelsToCoordinates(aU,1)}return aU};a._drawVertex=function(aS){var aR=this._onPointDrawing(aS.getGeoPoint(),1);if(aR){this._coordPathModel.insertVertex(new k.CoordVertex(this._map.coordSystem.getCoordPoint(aR.getX(),aR.getY()),this._editor.getOptions().visibilityZoomForNewPoints),this._getDrawPointIndex())}this._lastAddDate=new Date();i.notify(this,this.Events.VertexDraw,this)};a._stopDrawingByDblClick=function(aS,aR){if(this._editor.getOptions().stopDrawingByDblClick&&this._lastAddDate&&new Date()-this._lastAddDate<I.DBLCLICKTIME){if(!aR.isMapEventPrevented()){aR.preventMapEvent()}this._editor.setOptions({drawing:0})}};a.destruct=function(){e(this._listeners,"cleanup");this._drawingTool.destruct();this._map.removeOverlay(this._glassPane);this._lines.destruct();i.notify(this._graphicsObject,this._graphicsObject.Events.StopDrawing,this._graphicsObject)};var J=function(aT,aU,aR,aS,aW,aV){I.call(this,aT,aU,aR,aS,aW,aV)};a=o(J,I);a._getDrawPointIndex=function(){return this._editor.getOptions().fromStart?0:this._coordPathModel.getVertexModels().length};a._getLineEndPoints=function(){var aR=this._coordPathModel.getVertexModels(),aS=aR[this._editor.getOptions().fromStart?0:aR.length-1];return aS?[aS.getPoint()]:[]};var ai=function(aT,aU,aR,aS,aW,aV){I.call(this,aT,aU,aR,aS,aW,aV);this._createCoordPathListener()};a=o(ai,I);a._onOptionsChange=function(aS,aR){I.prototype._onOptionsChange.call(this,aS,aR);if("drawingCoordPath" in aR){this._coordPathListener.cleanup();this._coordPathModel=this._model.getCoordPathModelByCoordPath(aR.drawingCoordPath);this._createCoordPathListener()}};a._createCoordPathListener=function(){this._coordPathListener=i.observe(this._coordPathModel,this._coordPathModel.Events.Destruct,this._stopDrawing,this)};a._stopDrawing=function(){this._editor.setOptions({drawingCoordPath:this._graphicsObject.getCoordPath(),drawing:0})};a._getDrawPointIndex=function(){return this._coordPathModel.getVertexModels().length};a._getLineEndPoints=function(){var aR=this._coordPathModel.getVertexModels(),aS=aR[aR.length-1];return aS?[aS.getPoint(),aS.next.getPoint()]:[]};a.destruct=function(){this._coordPathListener.cleanup();I.prototype.destruct.call(this)};var aA=function(aS,aR,aU,aT){this._controller=aS;this._graphicsObject=aR;this._map=aU;this._editor=aT;var aV=this._glassPane=aS.getGlassPane();this._glassPaneListeners=i.observe(aV,[aV.Events.AddToMap,aV.Events.RemoveFromMap],this._rebuildDraggableObject,this);this._draggingTool=new w(this._draggableObject=this._createDraggableObject(),aT.getOptions().draggingCursor,aU,p(this._dragGraphicsObject,this));this._optionsChangeListener=i.observe(aT,aT.Events.OptionsChange,this._onOptionsChange,this)};a=aA.prototype;a._rebuildDraggableObject=function(){this._draggableObject.destruct();this._draggingTool.setDraggableObject(this._draggableObject=this._createDraggableObject())};a._onOptionsChange=function(aS,aR){if("draggingCursor" in aR){this._draggingTool.setCursor(aR.draggingCursor)}};a._shiftCoordPath=function(aW,aS){var aT=aW.getVertices();for(var aU=0,aR=aT.length;aU<aR;aU++){var aV=aT[aU].getCoordPoint();if(h.inArray(aV,this._editor.getOptions().lockedPoints)==-1){aV.moveTo(this._map.converter.localPixelsToCoordinates(this._map.converter.coordinatesToLocalPixels(aV).moveBy(aS),1))}}aW.setVertices(aT)};a.destruct=function(){e(this._glassPaneListeners,"cleanup");this._optionsChangeListener.cleanup();this._draggableObject.destruct();this._draggingTool.destruct()};var aB=function(aS,aR,aU,aT){aA.call(this,aS,aR,aU,aT)};a=o(aB,aA);a._createDraggableObject=function(){return this._glassPane.getMap()?new C(this._graphicsObject,this._glassPane):new aO(this._graphicsObject)};a._dragGraphicsObject=function(aR){this._shiftCoordPath(this._graphicsObject.getCoordPath(),aR)};var aa=function(aS,aR,aU,aT){aA.call(this,aS,aR,aU,aT)};a=o(aa,aA);a._createDraggableObject=function(){return this._glassPane.getMap()?new aq(this._graphicsObject,this._glassPane):new aO(this._graphicsObject)};a._dragGraphicsObject=function(aS){var aU=[this._graphicsObject.getCoordPath()].concat(this._graphicsObject.getOptions().interiors);for(var aT=0,aR=aU.length;aT<aR;aT++){this._shiftCoordPath(aU[aT],aS)}};var ar=function(aS,aT,aR,aV,aU){this._coordPathModel=aS;this._model=aT;this._map=aV;this._editor=aU;this._controller=aR;this._edgePool=new M(aV,aR.getEdgeHandlers(),aU);this._vertexPool=new N(aV,aR.getVertexHandlers(),aU);this._optionsChangeListener=i.observe(aU,aU.Events.OptionsChange,this._onOptionsChange,this);this.update()};a=ar.prototype;a.getModel=function(){return this._coordPathModel};a._onOptionsChange=function(aS,aR){if("lockedPoints" in aR||"maxPoints" in aR||"vertexLockedLayout" in aR||"vertexLayout" in aR||"edgeLayout" in aR){this.update()}};a.update=function(){var aU=this._map.getBounds(1),aT=this._vertexPool.getDragged(),aS=this._coordPathModel.getVertexModels(),aW=h.map(aS,function(aZ){if(aU.contains(aZ.getPoint())){return aZ}else{for(var aY=0,aX=aT.length;aY<aX;aY++){if(aT[aY].metaDataProperty.rec==aZ){return aZ}}}}),aR=[];if(this._model.getPointsNum()<this._editor.getOptions().maxPoints){aR=h.map(this._coordPathModel.getEdgeModels(),function(aX){if(aU.contains(aX.getPoint())){return aX}})}var aV=this._model.getPointsNum()>10;this._vertexPool.setupMarkers(aW,aV);this._edgePool.setupMarkers(aR,aV)};a.destruct=function(){this._optionsChangeListener.cleanup();this._edgePool.destruct();this._vertexPool.destruct()};var ab=function(aS,aR,aT){this._model=aS;this._graphicsObject=aR;this._editor=aT;this._controller=new ap(aS,this,aR,aT);this._coordPathViews=[];var aU=aR.getMap();this._updateListeners=[i.observe(aU,aU.Events.MoveEnd,this.update,this),i.observe(aS,aS.Events.Update,this.update,this)];this.update()};a=ab.prototype;a.update=function(){var aT=this._model.getCoordPathModels(),aR=[];for(var aX=0,aS=aT.length;aX<aS;aX++){var aW=null;for(var aV=0,aU=this._coordPathViews.length;aV<aU;aV++){if(this._coordPathViews[aV].getModel()==aT[aX]){aW=this._coordPathViews.splice(aV,1)[0];break}}if(!aW){aW=new ar(aT[aX],this._model,this._controller,this._graphicsObject.getMap(),this._editor)}else{aW.update()}aR.push(aW)}e(this._coordPathViews,"destruct");this._coordPathViews=aR};a.destruct=function(){e(this._updateListeners,"cleanup");e(this._coordPathViews,"destruct");this._controller.destruct()};var ag=function(aS,aR,aT){this._model=aS;this._graphicsObject=aR;this._editor=aT;this._controller=new ak(aS,this,aR,aT);var aU=aR.getMap();this._updateListeners=[i.observe(aU,aU.Events.MoveEnd,this.update,this),i.observe(aS,aS.Events.Update,this.update,this)];this._coordPathView=new ar(aS.getCoordPathModel(),aS,this._controller,aR.getMap(),aT)};a=ag.prototype;a.update=function(){this._coordPathView.update()};a.destruct=function(){e(this._updateListeners,"cleanup");this._coordPathView.destruct();this._controller.destruct()};var D=function(aS,aU){g.ABaseLayout.call(this,aS,aU);this._$elements=h("<div class='YMaps-gEditor-edgePoint' style='position:absolute;top:0;left:0;width:10px;height:10px;overflow:hidden;font-size:0;z-index:1;'></div>");var aT=this._$elements[0].style;this.cssRounded=aT.OBorderRadius==""||aT.MozBorderRadius==""||aT.WebkitBorderRadius==""||aT.borderRadius=="";if(this.cssRounded){this._$elements.css({backgroundColor:"#eee",border:"1px solid #999",opacity:0.8})}else{var aR="http://api-maps.yandex.ru/i/0.4/editor/edgeMarker.png";this._$elements.append(h("<i style='position:absolute;top:-10px;left:0;width:10px;height:20px;'></i>").css(q.msie&&q.version==6?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+aR+",sizingMethod=scale)"}:{background:"url("+aR+")"}))}};a=o(D,g.ABaseLayout);a.onAddToParent=function(aR){g.ABaseLayout.prototype.onAddToParent.call(this,aR);this.update()};a.update=function(){if(this.cssRounded){var aR=this._$elements[0].style;aR.width=aR.height=this._getSize()+"px";aR.MozBorderRadius=aR.WebkitBorderRadius=aR.borderRadius=(this._getSize()/2)+1+"px"}this._mouseListeners=[i.observe(this._context,this._context.Events.MouseEnter,this._onMouseOver,this),i.observe(this._context,this._context.Events.MouseLeave,this._onMouseOut,this)]};a.onRemoveFromParent=function(){g.ABaseLayout.prototype.onRemoveFromParent.call(this);e(this._mouseListeners,"cleanup")};a._onMouseOver=function(){var aR=this.cssRounded?this._$elements:this._$elements.children();aR.css(this.cssRounded?{backgroundColor:"#fdff38",opacity:1}:{top:"0"})};a._onMouseOut=function(){var aR=this.cssRounded?this._$elements:this._$elements.children();aR.css(this.cssRounded?{backgroundColor:"#eee",opacity:0.8}:{top:"-10px"})};a.getOffset=function(){var aR=-(this._getSize()/2)-(h.boxModel!==false&&1);return new r(aR,aR)};a._getSize=function(){return 8+(h.boxModel===false&&2)};var X=function(aR,aS){g.ABaseLayout.call(this,aR,aS);this._mouseOver=0;this._menuOpen=0;this._$elements=h("<div class='YMaps-gEditor-vertexPoint' style='background-color: #fff; border: 1px solid #777; position: absolute; top: 0; left: 0; font-size: 0px; z-index:1'></div>")};a=o(X,g.ABaseLayout);a.onAddToParent=function(aR){g.ABaseLayout.prototype.onAddToParent.call(this,aR);this.update();this._listeners=[i.observe(this._context,this._context.Events.MouseEnter,this._onMouseOver,this),i.observe(this._context,this._context.Events.MouseLeave,this._onMouseOut,this),i.observe(this._context,"MenuShow",this._onMenuShow,this),i.observe(this._context,"MenuHide",this._onMenuHide,this)]};a.onRemoveFromParent=function(){g.ABaseLayout.prototype.onRemoveFromParent.call(this);e(this._listeners,"cleanup")};a._onMouseOver=function(){this._mouseOver=1;this.lightUp()};a._onMouseOut=function(){this._mouseOver=0;this.lightDown()};a._onMenuShow=function(){this._menuOpen=1;this.lightUp()};a._onMenuHide=function(){this._menuOpen=0;this.lightDown()};a.lightUp=function(){if(this._mouseOver||this._menuOpen){this._$elements.css("backgroundColor","#fdff38")}};a.lightDown=function(){if(!this._mouseOver&&!this._menuOpen){this._$elements.css("backgroundColor","#fff")}};a.update=function(){var aS=this._$elements[0].style,aR=this.getSize();aS.width=aR.getX()+"px";aS.height=aR.getY()+"px"};a.getSize=function(){var aR=10+(h.boxModel===false&&2);return new r(aR,aR)};a.getOffset=function(){return new r(-(this.getSize().getX()/2)-(h.boxModel!==false&&1),-(this.getSize().getY()/2)-(h.boxModel!==false&&1))};var aH=function(aR,aS){X.call(this,aR,aS);this._$elements.removeClass("YMaps-gEditor-vertexPoint");this._$elements.addClass("YMaps-gEditor-lockedVertexPoint");this._$elements.css({backgroundColor:"#eee",borderColor:"#777",opacity:0.8})};a=o(aH,X);a.lightDown=function(){if(!this._mouseOver&&!this._menuOpen){this._$elements.css("backgroundColor","#eee")}};var U=function(aW){var aR,aU=new k.Placemark(aW.coordSystem.getCoordPoint(0,0),{style:{iconStyle:{template:new k.LayoutTemplate(L)}},cursor:k.Cursor.ARROW,interactive:k.Interactivity.STATIC,zIndex:k.ZIndex.EDITOR_VERTEX_MARKER+1}),aV=[],aX;aU.metaDataProperty.owner=aR;this.isVisible=function(){return aU.getMap()};this.setOwner=function(aY){if(aY!=aR){aT();aU.metaDataProperty.owner=aR=aY}};this.getOwner=function(){return aR};this.setContent=function(aY){aU.setIconContent(aY)};this.show=function(){if(aR){aU.setCoordPoint(aR.getCoordPoint());aW.addOverlay(aU);aR.setOptions({zIndex:k.ZIndex.EDITOR_VERTEX_MARKER+2});i.notify(aR,"MenuShow");aV=i.observe(aW,[aW.Events.MoveStart,aW.Events.BoundsChange],aT).concat(i.observe(aR,[aR.Events.DragStart,aR.Events.DblClick],aT),i.observe(aU,[aU.Events.DblClick,aU.Events.Click,aU.Events.MouseEnter,aU.Events.MouseLeave,aU.Events.MouseMove],aS));aX=setTimeout(function(){aV.push(i.observe(aW,aW.Events.BeforeClick,aT))},0)}};this.hide=function(){aT()};function aT(){if(aR){aW.removeOverlay(aU);aR.setOptions({zIndex:k.ZIndex.EDITOR_VERTEX_MARKER});i.notify(aR,"MenuHide");clearTimeout(aX);e(aV,"cleanup");aV=[]}}function aS(aY,aZ){aZ.preventMapEvent()}};var aP=new function(){var aS=[],aR=[];this.get=function(aU){var aT=h.inArray(aU,aS),aV;if(aT!=-1){aV=aR[aT]}else{aV=new U(aU);aR.push(aV);aS.push(aU)}return aV}}();var L=function(aR,aS){g.ABaseLayout.call(this,aR,aS);this._$elements=h("<div class='YMaps-gEditor-menu' style='color: #1a3dc1; font-size: 11px; position: absolute; top: 0; left: 0;padding: 2px 3px; background-color: #fff; border: 1px solid #777;' />")};a=o(L,g.ABaseLayout);a.onAddToParent=function(aR){g.ABaseLayout.prototype.onAddToParent.call(this,aR);this.update()};a.setContent=function(aR){this._setContent(aR,this._$elements)};a.getOffset=function(){return this._context.metaDataProperty.owner._icon.getOffset().moveBy(new r(-3,-3))};a.update=function(){var aR=this._context.metaDataProperty.owner._icon.getSize().getX()+7;this._$elements.css("paddingLeft",aR+"px")};var u=function(){var aS=h("<div>"),aR=[];this.addItem=function(aT){aR.push(aT);aS.append(aT)};this.getContainer=function(){return aS[0]};this.destruct=function(){var aT;while(aT=aR.pop()){aT.data("eventListener").removeAll()}aS.remove()}};var ao=function(aT,aU,aW){var aS=null,aV=[];this.push=function(aX){aV.push(aX);if(!aS){aS=setInterval(aR,aT)}};function aR(){for(var aX=0;aX<aU;aX++){if(!aV.length){clearInterval(aS);aS=null;return}aW(aV.shift())}}this.clear=function(){if(aS){clearInterval(aS);aS=null}aV.length=0}};var K=function(aT,aR,aS){this._editor=aS;this._map=aT;this._handlers=aR;this._pool={};this._fadePool={};this._dragged=[];this._chunker=new ao(20,10,function(aU){if(!aU.getMap()){aT.addOverlay(aU)}})};K.createMarkerStyle=function(aR){return{hasBalloon:0,hasHint:0,iconStyle:{template:new k.LayoutTemplate(aR)}}};a=K.prototype;a.getDragged=function(){return this._dragged};a.setupMarkers=function(aW,a4){var aZ=0,aX=aW.length,aU={};this._chunker.clear();for(;aZ<aX;aZ++){var aY=aW[aZ],a7=this.getMarkerOptions(aY),a0=null,a6=this.getHashKey(aY);a0=this._findMarkerInCell(this._pool,a6,aY)||this._findMarkerInCell(this._fadePool,a6,aY);if(a0){var a2=0,aT={},aR=a0.getOptions();for(var a1 in a7){if(a7.hasOwnProperty(a1)){if(a7[a1]!=aR[a1]){a2=1;aT[a1]=a7[a1]}}}if(a2){a0.setOptions(aT)}if(!a0.getCoordPoint().equals(aY.getPoint())&&!a0.metaDataProperty.dragged){a0.setCoordPoint(aY.getPoint())}}else{a0=new k.Placemark(aY.getPoint(),a7);var a3=[],aS,aV=this._handlers;a3.push(i.observe(a0,a0.Events.DragStart,this._onDragStart,this),i.observe(a0,a0.Events.DragEnd,this._onDragEnd,this));for(aS in aV){if(aV.hasOwnProperty(aS)){a3.push(i.observe(a0,a0.Events[aS],aV[aS]))}}h.extend(a0.metaDataProperty,{listeners:a3,rec:aY})}if(!a0.getMap()){if(a4){this._chunker.push(a0)}else{this._map.addOverlay(a0)}}(aU[a6]||(aU[a6]=[])).push(a0)}for(a6 in this._pool){if(this._pool.hasOwnProperty(a6)){var a5=this._pool[a6];for(aZ=0,aX=a5.length;aZ<aX;aZ++){a0=a5[aZ];if(a0.getMap()){this._map.removeOverlay(a0)}}this._fadePool[a6]=(this._fadePool[a6]||[]).concat(a5)}}this._pool=aU};a._findMarkerInCell=function(aW,aV,aX){var aR=aW[aV];if(aR){for(var aU=0,aT=aR.length;aU<aT;aU++){if(aR[aU].metaDataProperty.rec==aX){var aS=aR.splice(aU,1)[0];if(!aR.length){delete aW[aV]}return aS}}}};a._onDragStart=function(aR){aR.metaDataProperty.dragged=1;this._dragged.push(aR)};a._onDragEnd=function(aR){aR.metaDataProperty.dragged=0;var aS=h.inArray(aR,this._dragged);if(aS!=-1){this._dragged.splice(aS,1)}};a.destruct=function(){this._chunker.clear();this._cleanupPool(this._pool);this._cleanupPool(this._fadePool)};a._cleanupPool=function(aV){var aU,aT,aS,aR,aW=aP.get(this._map);for(aU in aV){if(aV.hasOwnProperty(aU)){for(aT=0,aS=aV[aU].length;aT<aS;aT++){aR=aV[aU][aT];e(aR.metaDataProperty.listeners,"cleanup");if(aR.getMap()){this._map.removeOverlay(aR);if(aW.getOwner()==aR){aW.hide()}}}}}};var N=function(aT,aR,aS){K.call(this,aT,aR,aS)};a=o(N,K);a.getMarkerOptions=function(aS){var aU=k.ZIndex.EDITOR_VERTEX_MARKER,aR=this._editor.getOptions(),aT=h.inArray(aS.originalPoint,aR.lockedPoints)!=-1;return{draggable:aT?0:1,style:aT?K.createMarkerStyle(aR.vertexLockedLayout):K.createMarkerStyle(aR.vertexLayout),interactive:k.Interactivity.INTERACTIVE,zIndex:aU,zIndexHover:aU+2,zIndexDrag:aU+2,zIndexActive:aU+2}};a.getHashKey=function(aS){var aR=aS.originalPoint;return aR.getX()+","+aR.getY()};var M=function(aT,aR,aS){K.call(this,aT,aR,aS)};a=o(M,K);a.getMarkerOptions=function(){var aR=k.ZIndex.EDITOR_EDGE_MARKER;return{draggable:1,style:K.createMarkerStyle(this._editor.getOptions().edgeLayout),interactive:k.Interactivity.INTERACTIVE,zIndex:aR,zIndexHover:aR+1,zIndexDrag:aR+1,zIndexActive:aR+1}};a.getHashKey=function(aS){var aR=aS.nextOriginalPoint;return aR.getX()+","+aR.getY()};var H=function(aR,aS){var aZ=[],aV=aS,aX,aU=aR.converter,aW,aT=i.observe(aR,aR.Events.Update,function(){if(aX){aY()}});this.setStyle=function(a0){e(aZ,"setStyle",aV=a0)};this.setCoords=function(a1,a0){aX=aU.coordinatesToLocalPixels(a1);aW=a0;aY()};this.hide=function(){aX=null;while(aZ.length){aR.removeOverlay(aZ.shift())}};this.destruct=function(){this.hide();aT.cleanup()};function aY(){var a3=[],a5=0,a4=aW.length;for(;a5<a4;a5++){var a6=aW[a5],a7=aU.coordinatesToLocalPixels(a6),a2=a7.diff(aX),a0=a2.length();if(a0){a2.scale(Math.max(a0-(Number(aV.lineStyle.strokeWidth)*1.7+7),0)/a0);var a1=aU.localPixelsToCoordinates(a7.moveBy(a2),1),a8=aZ.shift();if(a8){a8.splicePoints(0,2,a1,a6)}else{a8=new k.PaintPolyline([a1,a6],{style:aV});aR.addOverlay(a8)}a3.push(a8)}}while(aZ.length){aR.removeOverlay(aZ.shift())}aZ=a3}};var aj=function(aR,aS){this._map=aR.getMap();this._graphicsObject=aR;this._hotspotField=new G(aS);this._updateListener=i.observe(aR,"Update",this._update,this);this._update()};a=aj.prototype;a._update=function(){var aS=this._graphicsObject.getComputedStyle(),aR=this._getCoordsArray();if(this._hotspot){this._hotspot.setCoords(aR)}else{this._hotspot=new W(aR,0);this._hotspotField.add(this._hotspot);this._hotspotListeners=[i.observe(this._hotspot,"MouseMove",this._onHotspotMouseMove,this),i.observe(this._hotspot,"MouseLeave",this._onHotspotMouseLeave,this)]}};a._getCoordsArray=a._getPixelPoints=d.NULL;a._onHotspotMouseMove=function(aS,aR){i.notify(this,"MouseMove",this,aR)};a._onHotspotMouseLeave=function(aS,aR){i.notify(this,"MouseLeave",this,aR)};a.setCursor=function(aR){this._hotspot.setCursor(aR)};a.destruct=function(){this._hotspot.destruct();this._hotspotField.destruct();e(this._hotspotListeners,"cleanup");this._updateListener.cleanup()};var C=function(aR,aS){aj.call(this,aR,aS)};a=o(C,aj);a._getCoordsArray=function(){var aR=this._graphicsObject.getComputedStyle();return[{coords:[aK(this._getPixelPoints(),aR.lineStyle.strokeWidth)],nonzero:1}]};a._getPixelPoints=function(){var aR=this._map;return h.map(this._graphicsObject.getPixelPoints(),function(aS){return aR.tileCoordinates.scale(aS,aR.coordSystem.getMaxZoom(),aR.getZoom())})};var aq=function(aR,aS){aj.call(this,aR,aS)};a=o(aq,aj);a._getCoordsArray=function(){var aV=this._graphicsObject.getComputedStyle(),aT=this._getPixelPoints(),aS=[];for(var aU=0,aR=aT.length;aU<aR;aU++){var aW=aT[aU];aS[aU]=aK(aW,aV.polygonStyle.strokeWidth)}return[{coords:aT,nonzero:0},{coords:aS,nonzero:1}]};a._getPixelPoints=function(){var aV=this._map,aS=this._graphicsObject.getPixelPoints();for(var aT=0,aR=aS.length;aT<aR;aT++){var aU=aS[aT];aU=h.map(aU,function(aW){return aV.tileCoordinates.scale(aW,aV.coordSystem.getMaxZoom(),aV.getZoom())});if(aU[0]){aU.push(aU[0])}aS[aT]=aU}return aS};var w=function(aV,a5,aR,a4){var a3,aU,a1,a0,aW;aX();this.setDraggableObject=function(a6){aY();aV=a6;aX()};this.setCursor=function(a6){aV.setCursor(a5=a6)};this.destruct=function(){aY()};function aX(){aU=new aC(aV,{dragStart:aT,dragMove:aS,dragStop:aZ});if(a5){aV.setCursor(a5)}}function aY(){aU.destruct()}function aT(a6){a1=new am(aR);a0=i.observe(aR,aR.Events.Move,a2);a3=(new k.MouseEvent(a6,aR)).getLocalPixels()}function aS(a7){var a6=(new k.MouseEvent(a7,aR)).getLocalPixels();if(!aW){aV.setCursor(k.Cursor.GRABBING);aW=1}a4(a3.diff(a6));a3=a6}function a2(a7,a6){a4(a6)}function aZ(a6){a1.destruct();a0.cleanup();if(aW){aV.setCursor(a5);aW=0}}};var aO=function(aR){var aT=aR.getShape(),aS;for(var aU in aT.Events){if(aT.Events.hasOwnProperty(aU)){i.observe(aT,aT.Events[aU],(function(aV){return function(aW,aX){i.notify(this,aV,this,aX)}})(aT.Events[aU]),this)}}this.setCursor=function(aV){if(typeof aS==j){aS=aR.getOptions().cursor}aR.setOptions({cursor:aV})};this.destruct=function(){aR.setOptions({cursor:aS})}};var Q=function(aS,aT,bc,aX,a5,a1){var a0,a7,aU,aV,bd;ba(aT);aW();aU=new am(bc);this.destruct=function(){aU.destruct();a4();aR(aT);a2()};this.setGlassPane=function(be){a4();aS=be;aW()};this.setCursor=function(be){aR(aT);aT=be;ba(be)};function ba(be){if(be){bc.addCursor(be)}}function aR(be){if(be){bc.removeCursor(be)}}function a2(){a1();aY()}function aW(){a7=[i.observe(aS,aS.Events.Click,aZ),i.observe(aS,aS.Events.MouseLeave,bb),i.observe(aS,aS.Events.MouseMove,a8)];a0=a7.concat([i.observe(bc,bc.Events.MoveStart,a9),i.observe(bc,bc.Events.MoveEnd,a6)])}function a4(){e(a0,"cleanup")}function a8(bf,be){if(be.isMapEventPrevented()){a2()}else{be.preventMapEvent();if(q.msie){bd=be;if(!aV){aV=setInterval(a3,50)}}else{a5(be)}}}function aZ(bf,be){aX(be);be.preventMapEvent()}function bb(bf,be){a2();be.preventMapEvent()}function a9(){e(a7,"disable");a2()}function a6(){e(a7,"enable")}function a3(){if(bd){a5(bd);bd=null}else{aY()}}function aY(){if(aV){clearInterval(aV);aV=null}}};var ax=function(){var aR,aU,aT,aS;this.getMap=function(){return aS};this.onMapUpdate=d.NULL;this.onAddToMap=function(aV){aS=aV;aR=l(aS.__layerManager.getContainer()).events.eventListener();aR.add("mouseleave",function(aW){i.notify(this,this.Events.MouseLeave,this,new k.MouseEvent(aW,aS));aT=false},this);aU=[i.observe(aS,aS.Events.BeforeClick,function(aX,aW){if(!aW.isMapEventPrevented()){i.notify(this,this.Events.Click,this,aW)}},this),i.observe(aS,aS.Events.BeforeDblClick,function(aX,aW){if(!aW.isMapEventPrevented()){i.notify(this,this.Events.DblClick,this,aW)}},this),i.observe(aS,aS.Events.BeforeMouseMove,function(aX,aW){if(aW.isMapEventPrevented()){if(aT){i.notify(this,this.Events.MouseLeave,this,aW);aT=false}}else{if(!aT){i.notify(this,this.Events.MouseEnter,this,aW);aT=true}i.notify(this,this.Events.MouseMove,this,aW)}},this)]};this.onRemoveFromMap=function(){aS=null;aR.removeAll();e(aU,"cleanup")}};a=ax.prototype;a.Events={Update:"Update",Click:"Click",DblClick:"DblClick",MouseMove:"MouseMove",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave"};var aD=function(aR,aS){this._graphicsObject=aR;this._options=h.extend({},this._getDefaultOptions(),aS);this._model=this._createModel();this._view=this._createView();i.notify(this._graphicsObject,this._graphicsObject.Events.StartEditing,this._graphicsObject)};a=aD.prototype;a.Events={OptionsChange:"OptionsChange"};a._getDefaultOptions=function(){return{drawing:0,drawingCursor:k.Cursor.ARROW,drawOver:0,visibilityZoomForNewPoints:0,stopDrawingByDblClick:1,dragging:0,draggingCursor:k.Cursor.MOVE,maxPoints:Infinity,menuManager:0,onDblClick:null,lockedPoints:[],onPointDragging:0,onPointDrawing:0,vertexLockedLayout:aH,vertexLayout:X,edgeLayout:D}};a._createModel=d.NULL;a._createView=d.NULL;a.setOptions=function(aT){aT=aT||{};var aU=this._getDefaultOptions(),aR={};for(var aS in aU){if(aU.hasOwnProperty(aS)){if(typeof aT[aS]!=j&&aT[aS]!=this._options[aS]){this._options[aS]=aR[aS]=aT[aS]}}}i.notify(this,this.Events.OptionsChange,this,aR)};a.getOptions=function(){return this._options};a.stopEditing=function(){this._view.destruct();this._model.destruct();i.notify(this._graphicsObject,this._graphicsObject.Events.StopEditing,this._graphicsObject);this._graphicsObject=this._view=this._model=null};var Z=function(aR,aS){aD.call(this,aR,aS)};a=o(Z,aD);a._getDefaultOptions=function(){return h.extend({},aD.prototype._getDefaultOptions.call(this),{fromStart:0})};a._createModel=function(){return new T(this._graphicsObject,this)};a._createView=function(){return new ag(this._model,this._graphicsObject,this)};var y=function(aR,aS){aD.call(this,aR,aS)};a=o(y,aD);a._getDefaultOptions=function(){return h.extend({},aD.prototype._getDefaultOptions.call(this),{drawingCoordPath:this._graphicsObject.getCoordPath(),drawNewInteriors:0,fromIndex:-1})};a.setOptions=function(aR){aD.prototype.setOptions.call(this,aR);this._options.fromIndex=-1};a._createModel=function(){return new Y(this._graphicsObject,this)};a._createView=function(){return new ab(this._model,this._graphicsObject,this)};var F=new function(){this.getIntersection=function(a4,a5,aX){var aT=a4.x,aR=a5.x,a3=a4.y,a1=a5.y,aY=0,aW=0,a2=aX[0],a0=aX[1];if(aT<a2.x){aY=aY|1}if(aT>a0.x){aY=aY|2}if(a3<a2.y){aY=aY|4}if(a3>a0.y){aY=aY|8}if(aR<a2.x){aW=aW|1}if(aR>a0.x){aW=aW|2}if(a1<a2.y){aW=aW|4}if(a1>a0.y){aW=aW|8}var aZ=((aY|aW)==0),aS=((aY&aW)!=0),aU=!(aZ||aS),aV=false;while(!(aZ||aS)){if(aY==0){aV=!aV;var a6;a6=aT;aT=aR;aR=a6;a6=a3;a3=a1;a1=a6;a6=aY;aY=aW;aW=a6}if((aY&1)!=0){a3=a3+Math.floor((a1-a3)*(a2.x-aT)/(aR-aT));aT=a2.x}else{if((aY&2)!=0){a3=a3+Math.floor((a1-a3)*(a0.x-aT)/(aR-aT));aT=a0.x}else{if((aY&4)!=0){aT=aT+Math.floor((aR-aT)*(a2.y-a3)/(a1-a3));a3=a2.y}else{if((aY&8)!=0){aT=aT+Math.floor((aR-aT)*(a0.y-a3)/(a1-a3));a3=a0.y}}}}aY=0;if(aT<a2.x){aY=aY|1}if(aT>a0.x){aY=aY|2}if(a3<a2.y){aY=aY|4}if(a3>a0.y){aY=aY|8}aZ=((aY|aW)==0);aS=((aY&aW)!=0)}return{intersection:aZ,clipping:aU,outs:aS,to:new r(aV?aT:aR,aV?a3:a1),from:new r(aV?aR:aT,aV?a1:a3)}}};var aF=new function(){var aR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",aT=1000000,aS="A".charCodeAt(0);this.encode4bytes=function(aU){var aW=[];for(var aV=0;aV<4;aV++){aW[aV]=aU&255;aU=aU>>8}return aW};this.encode=function(aX){var aZ=typeof aX=="string";if(typeof btoa!=j){if(!aZ){aX=String.fromCharCode.apply(String,aX)}return btoa(aX).replace(/\//g,"_").replace(/\+/g,"-")}else{var aU=[],a5,a3,a1,a4,a2,a0,aY,aW=0,aV=aX.length;while(aW<aV){if(aZ){a5=aX.charCodeAt(aW++);a3=aX.charCodeAt(aW++);a1=aX.charCodeAt(aW++)}else{a5=aX[aW++];a3=aX[aW++];a1=aX[aW++]}a4=a5>>2;a2=((a5&3)<<4)|(a3>>4);a0=((a3&15)<<2)|(a1>>6);aY=a1&63;if(isNaN(a3)){a0=aY=64}else{if(isNaN(a1)){aY=64}}aU.push(aR.charAt(a4),aR.charAt(a2),aR.charAt(a0),aR.charAt(aY))}return aU.join("")}};this.decode=function(aX){if(typeof atob!=j){return atob(aX.replace(/_/g,"/").replace(/-/g,"+"))}else{var aU=[],a4,a2,a0,a3,a1,aZ,aY,aW=0,aV=(aX=aX.replace(/[^A-Za-z0-9\-_\=]/g,"")).length;while(aW<aV){a3=aR.indexOf(aX.charAt(aW++));a1=aR.indexOf(aX.charAt(aW++));aZ=aR.indexOf(aX.charAt(aW++));aY=aR.indexOf(aX.charAt(aW++));a4=(a3<<2)|(a1>>4);a2=((a1&15)<<4)|(aZ>>2);a0=((aZ&3)<<6)|aY;aU.push(String.fromCharCode(a4));if(aZ!=64){aU.push(String.fromCharCode(a2))}if(aY!=64){aU.push(String.fromCharCode(a0))}}return aU.join("")}};this.codingCoefficient=aT;this.decodePoints=function(aX,a2){var aV=this.decode(aX),a5=aV.length,aZ=0,aY=a2.getCoordPoint(0,0),a6=[];while(aZ<a5){var a1=0,a0=0,a4=0,aU=aV.substr(aZ,8);while(a4<4){a1|=(aU.charCodeAt(a4)<<a4*8);a0|=(aU.charCodeAt(a4+4)<<a4*8);a4++}var aW=a2.getCoordPoint(a1/aT,a0/aT),a3=a2.getCoordPoint(aW.getX()+aY.getX(),aW.getY()+aY.getY());aY=a3;a6.push(a3);aZ+=8}return a6};this.decodeLevels=function(aX){var aU=[],aW=0,aV=aX.length;for(;aW<aV;aW++){aU.push(aX.charCodeAt(aW)-aS)}return aU}}})();(function(){b=k.ConnectedPlacemarks=function(v){k.GeoObjectCollection.call(this,v);this._showLines=1;this._lines=new k.GeoObjectCollection();this._lines.onAddToGroup(this);this.__placemarkListeners=[]};a=o(b,k.GeoObjectCollection);a._onAddObject=function(z,x){k.GeoObjectCollection.prototype._onAddObject.call(this,z,x);if(x){if(x==this.length()-1){this._lines.add(new u([this.get(-2).getGeoPoint(),z.getGeoPoint()]))}else{this._lines.get(x-1).splicePoints(1,1,z.getGeoPoint())}}if(x!=this.length()-1){this._lines.splice(x,0,new u([z.getGeoPoint(),this.get(x+1).getGeoPoint()]))}var A=[],B=z.Events;A.push(i.observe(z,B.Drag,this._onPlacemarkPositionChange,this),i.observe(z,B.PositionChange,function(E,D){this._onPlacemarkPositionChange(E)},this));if(g.Graphics.SSG){var w,v,C,y;A.push(i.observe(z,B.DragStart,function(){var D=this.indexOf(z);w=D!=0?this._lines.get(D-1):null;v=this._lines.get(D);if(w){C=new t([w.getPoint(0),w.getPoint(1)]);this._lines.splice(D-1,1,C)}if(v){y=new t([v.getPoint(0),v.getPoint(1)]);this._lines.splice(D,1,y)}},this),i.observe(z,B.DragEnd,function(){var D=this.indexOf(z);if(C){w.splicePoints(0,2,C.getPoint(0),C.getPoint(1));this._lines.splice(D-1,1,w)}if(y){v.splicePoints(0,2,y.getPoint(0),y.getPoint(1));this._lines.splice(D,1,v)}w=v=C=y=null},this))}this.__placemarkListeners.splice(x,0,A)};a._onRemoveObject=function(x,w){k.GeoObjectCollection.prototype._onRemoveObject.call(this,x,w);e(this.__placemarkListeners.splice(w,1)[0],"cleanup");if(w!=0){var v=this._lines.get(w-1),y=this.get(w);if(y){v.splicePoints(1,1,y.getGeoPoint())}else{this._lines.remove(v)}}if(w!=this.length()){this._lines.remove(this._lines.get(w))}};a._onPlacemarkPositionChange=function(x){var w=this.indexOf(x);if(w!=-1){var v=null,y=this.get(w).getGeoPoint();if(w!=0&&(v=this._lines.get(w-1))){v.splicePoints(0,2,this.get(w-1).getGeoPoint(),y)}if((v=this._lines.get(w))){v.splicePoints(0,2,y,this.get(w+1).getGeoPoint())}}};a.update=function(){k.GeoObjectCollection.prototype.update.call(this);this._lines.update()};a.onAddToMap=function(v,w){k.GeoObjectCollection.prototype.onAddToMap.call(this,v,w);if(this._showLines){this._lines.onAddToMap(v,w)}};a.onRemoveFromMap=function(){k.GeoObjectCollection.prototype.onRemoveFromMap.call(this);if(this._showLines){this._lines.onRemoveFromMap()}};a.setLineVisible=function(v){if(this._showLines!=v){this._showLines=v;if(this.getMap()){if(v){this._lines.onAddToMap(this.getMap(),this.getParentContainer())}else{this._lines.onRemoveFromMap()}}}};a.getLineVisible=function(){return this._showLines};a.onMapUpdate=function(){k.GeoObjectCollection.prototype.onMapUpdate.call(this);if(this._showLines){this._lines.onMapUpdate()}};var u=function(v){k.Polyline.call(this,v,{interactive:k.Interactivity.NONE});this._getDrawPixels=s};a=o(u,k.Polyline);var t=function(v){k.PaintPolyline.call(this,v);this._getDrawPixels=s};a=o(t,k.PaintPolyline);var s=function(v,w,x){return h.map(v,function(y){return x.coordSystem.fromCoordPoint(y,x.getCenter(1))})}})();b=g.AItemContainer=function(s){k.Group.call(this);this.__$itemContainers=new k.Group();k.Events.observe(this,this.Events.Add,this.__onAddItem,this),k.Events.observe(this,this.Events.Remove,this.__onRemoveItem,this);if(s!=j){this.add(s)}};a=o(b,k.Group);a.makeContainer=d.NULL;a.makeItemContainer=d.NULL;a.getContentNode=d.NULL;a.getItemContentNode=d.NULL;a.getToolBar=function(){return this};a.getElement=function(){return this.__$element};a.getItemElement=function(s){return this.__$itemContainers.get(s)};a.__onAddItem=function(u,t,s){this.__$itemContainers.add(this.makeItemContainer(),s);if(this.__parentContainer){this.__buildItem(s)}};a.__buildItem=function(u){var t=this.getContentNode(),s=this.getItemElement(u),v=this.getItemContentNode(u);if(u>=h(t).children().length){s.appendTo(t)}else{s.insertBefore(this.getItemElement(u+1))}this.get(u).onAddToToolBar(this.getToolBar(),v,this)};a.__onRemoveItem=function(u,t,s){if(this.__parentContainer){this.__unbuildItem(t,s)}this.__$itemContainers.splice(s,1)};a.__unbuildItem=function(t,s){t.onRemoveFromToolBar();this.getItemElement(s).remove()};a.onAdd=function(u){this.__parentContainer=u;this.__$element=this.makeContainer().appendTo(u);for(var t=0,s=this.length();t<s;t++){this.__buildItem(t)}};a.onRemove=function(){for(var t=0,s=this.length();t<s;t++){this.__unbuildItem(this.get(t),t)}this.__$element.remove();this.__parentContainer=null};b=k.ToolBarSeparator=function(s){this._width=parseInt(s,10);if(isNaN(this._width)){this._width=20}};a=b.prototype;a.onAddToToolBar=function(s,t){this._toolBar=s;this._parentContainer=t;h(t).css("width",this._width).addClass("YMaps-tool-bar-separator")};a.onRemoveFromToolBar=function(){this._toolBar=this._parentContainer=null};b=k.ToolBarButton=function(t,s){this._content=h.extend({hint:null,caption:null,icon:null,width:null},t);this._options=h.extend({selected:0,enabled:1,shown:1},s);if(this._options.selected&&!this._options.enabled){this._options.enabled=1}this._listeners=[];this._toolBar=null};a=b.prototype;a.hoverCSSClassName="YMaps-button_hover";a.activeCssClassName="YMaps-button_active";a.disabledCssClassName="YMaps-button_disable";a.Events={Click:"Click"};a.getContent=function(){return this._content};a.setContent=function(s){this._content=s||{};if(this._toolBar){this._applyTemplate()}};a._applyTemplate=function(){var z=h(this._parentContainer),w=this._content,y=w.hint||"",x='alt="'+y+'" title="'+y+'"',v=w.icon||null,s=w.caption||(v?"":"&#160;"),t='<i class="YMaps-button-c YMaps-button-l"><i></i></i><i class="YMaps-button-m"><i></i>',u;if(y){z.attr("title",y)}if(v){if(q.msie&&q.version<7){t+='<b class="YMaps-button-opacity"></b><img class="YMaps-icon" src="'+c.images.transparentImage+'" '+x+' style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+v+');"/>'}else{t+='<img class="YMaps-icon"'+x+' src="'+v+'"/>'}}if(s){t+='<span class="YMaps-button-caption">'+s+"</span>"}t+='</i><i class="YMaps-button-c YMaps-button-r"><i></i></i>';z.addClass("YMaps-button").html(t);if(w.width&&!isNaN(u=parseInt(w.width,10))){z.find(".YMaps-button-m").css("width",u)}this._applyState()};a._applyState=function(){if(this._toolBar){h(this._parentContainer)[this._options.shown?"removeClass":"addClass"]("YMaps-display-none")[this._options.selected?"addClass":"removeClass"](this.activeCssClassName)[this._options.enabled?"removeClass":"addClass"](this.disabledCssClassName);this._applyCursor()}};a._applyCursor=function(){if(this._toolBar){h(this._parentContainer).find(".YMaps-button-m")[this._options.enabled?"addClass":"removeClass"]("YMaps-cursor-pointer")}};a.onAddToToolBar=function(s,u){this._toolBar=s;this._parentContainer=u;this._applyTemplate();var v=h(u),t=this.hoverCSSClassName;this.__domListener=l(u).events.eventListener().add("click",function(w){if(this._options.enabled){i.notify(this,this.Events.Click,this)}},this).add("mouseenter",function(){v.addClass(t)}).add("mouseleave",function(){v.removeClass(t)})};a.onRemoveFromToolBar=function(){if(this._toolBar){e(this._listeners,"cleanup");this._listeners=[];this.__domListener.removeAll();h(this._parentContainer).empty();this._toolBar=this._parentContainer=null}};a.getToolBar=function(){return this._toolBar};a.show=function(){if(!this._options.shown){this._options.shown=1;this._applyState()}};a.hide=function(){if(this._options.shown){this._options.shown=0;this._applyState()}};a.isShown=function(){return this._options.shown};a.select=function(){if(!this._options.selected&&this._options.enabled){this._options.selected=1;this._applyState()}};a.deselect=function(){if(this._options.selected){this._options.selected=0;this._applyState()}};a.isSelected=function(){return this._options.selected};a.enable=function(){if(!this._options.enabled){this._options.enabled=1;this._applyState()}};a.disable=function(){if(this._options.enabled&&!this._options.selected){this._options.enabled=0;this._applyState()}};a.isEnabled=function(){return this._options.enabled};b=k.ToolBarToggleButton=function(t,s){k.ToolBarButton.call(this,t,s)};a=o(b,k.ToolBarButton);a.Events.Select="Select";a.Events.Deselect="Deselect";a.onAddToToolBar=function(s,t){k.ToolBarButton.prototype.onAddToToolBar.call(this,s,t);this._listeners.push(i.observe(this,this.Events.Click,this._onClick))};a._onClick=function(){this[this.isSelected()?"deselect":"select"]()};a.select=function(){if(!this.isSelected()&&this.isEnabled()){k.ToolBarButton.prototype.select.call(this);i.notify(this,this.Events.Select,this)}};a.deselect=function(){if(this.isSelected()){k.ToolBarButton.prototype.deselect.call(this);i.notify(this,this.Events.Deselect,this)}};b=k.ToolBarRadioButton=function(t,u,s){this._groupId=t;k.ToolBarToggleButton.call(this,u,s)};a=o(b,k.ToolBarToggleButton);a.getGroupId=function(){return this._groupId};a._onClick=function(){if(!this.isSelected()){this.select()}};a.select=function(){if(!this.isSelected()&&this.isEnabled()){var s=null;if(this._toolBar){var t=this;h.each(t._toolBar.getByGroupId(t.getGroupId()),function(){if(this!=t&&this.isSelected()){this.deselect();s=this}})}this._options.selected=1;this._applyState();i.notify(this,this.Events.Select,this,s)}};a._applyCursor=function(){if(this._toolBar){h(this._parentContainer).find(".YMaps-button-m")[(this._options.enabled&&!this._options.selected)?"addClass":"removeClass"]("YMaps-cursor-pointer")}};b=k.ListBoxItem=function(s){this._caption=s||""};a=b.prototype;a.hoverCSSClassName="YMaps-btn-list-item_hover";a.Events={Click:"Click"};a._applyTemplate=function(){h('<a href="javascript:void(0)">'+this._caption+"</a>").appendTo(this._$parentContainer)};a.onAddToToolBar=function(s,u,t){this._toolBar=s;this._listBox=t;this._$parentContainer=h(u);this.__listener=l(u).events.eventListener().add("mouseenter",function(){this._$parentContainer.addClass(this.hoverCSSClassName)},this).add("mouseleave",function(){this._$parentContainer.removeClass(this.hoverCSSClassName)},this).add("click",function(v){i.notify(this,this.Events.Click,this);v.preventDefault()},this);this._applyTemplate()};a.onRemoveFromToolBar=function(){this.__listener.removeAll();this._$parentContainer.empty();this._$parentContainer=this._toolBar=this._listBox=null};a.getListBox=function(){return this._listBox};a.setCaption=function(s){this._caption=s;if(this._toolBar){this._$parentContainer.html(s)}};a.getCaption=function(){return this._caption};b=k.ListBoxToggleItem=function(s,t){k.ListBoxItem.call(this,s);this.__selected=!!t;if(q.msie){var u=this;this.__ieChangeListener=function(){window.setTimeout(function(){u.__applyState()},0)}}};a=o(b,k.ListBoxItem);a.Events.Select="Select";a.Events.Deselect="Deselect";a._applyTemplate=function(){this._$parentContainer.addClass("YMaps-cursor-pointer").html('<input type="checkbox"'+(this.__selected?'checked="checked" ':"")+"/><span>"+this._caption+"</span>");this.__applyState()};a.__applyState=function(){if(this._toolBar){this._$parentContainer.find("input").attr("checked",this.__selected?"checked":null)}};a.onAddToToolBar=function(s,v,u){k.ListBoxItem.prototype.onAddToToolBar.call(this,s,v,u);var t=this._$parentContainer.find("input");this.__checkboxListener=l(t[0]).events.eventListener().add("click",function(w){i.notify(this,this.Events.Click,this);w.stopPropagation()},this);if(q.opera&&q.version<9.5){this.__checkboxListener.add("change",this.__applyState,this)}else{if(q.msie){t[0].onpropertychange=this.__ieChangeListener}}this.__clickListener=k.Events.observe(this,this.Events.Click,function(){this[this.isSelected()?"deselect":"select"]()},this)};a.onRemoveFromToolBar=function(){this.__clickListener.cleanup();this.__checkboxListener.removeAll();if(q.msie){this._$parentContainer.find("input").onpropertychange=null}k.ListBoxItem.prototype.onRemoveFromToolBar.call(this)};a.setCaption=function(s){this._caption=s;if(this._toolBar){this._$parentContainer.find("span").html(s)}};a.select=function(){if(!this.__selected){this.__selected=1;this.__applyState();i.notify(this,this.Events.Select,this)}};a.deselect=function(){if(this.__selected){this.__selected=0;this.__applyState();i.notify(this,this.Events.Deselect,this)}};a.isSelected=function(){return this.__selected};(function(){b=k.ToolBar=function(t){this.__map=null;t=t||[new k.ToolBar.MoveButton(),new k.ToolBar.MagnifierButton(),new k.ToolBar.RulerButton()];g.AItemContainer.call(this,t)};a=o(b,g.AItemContainer);b.DEFAULT_GROUP="default";b.MoveButton=s("move",0,1);b.MagnifierButton=s("magnifier",1,0);b.RulerButton=s("ruler",1,0);a.makeContainer=function(){return h('<div class="YMaps-buttons"></div>').css("z-index",k.ZIndex.CONTROL-1)};a.makeItemContainer=function(){return h('<div class="YMaps-button"></div>')};a.getContentNode=function(){return this.getElement()[0]};a.getItemContentNode=function(t){return this.getItemElement(t)[0]};a.onAddToMap=function(t,u){this.__map=t;g.AItemContainer.prototype.onAdd.call(this,t.getContainer());(u||new k.ControlPosition(k.ControlPosition.TOP_LEFT,new k.Point(5,5))).apply(this.__$element[0])};a.onRemoveFromMap=function(){g.AItemContainer.prototype.onRemove.call(this)};a.getMap=function(){return this.__map};a.getByGroupId=function(t){return this.filter(function(u){return u.getGroupId&&u.getGroupId()==t})};function s(u,t,v){return function(){var x=new k.ToolBarRadioButton(k.ToolBar.DEFAULT_GROUP,{hint:c.hints.toolBar[u],icon:(q.msie&&q.version<7)?c.images.toolBar.iconSprite:c.images.transparentImage,width:"19"},{selected:v});x._applyTemplate=function(){k.ToolBarRadioButton.prototype._applyTemplate.call(this);h(this._parentContainer).find("img").addClass("YMaps-icon_"+u)};if(t){var w=u.charAt(0).toUpperCase()+u.substr(1).toLowerCase();x.onAddToToolBar=function(y,z){k.ToolBarRadioButton.prototype.onAddToToolBar.call(this,y,z);this._listeners=[i.observe(this,this.Events.Select,function(){y.getMap()["enable"+w]()}),i.observe(this,this.Events.Deselect,function(){y.getMap()["disable"+w]()})]};x.onRemoveFromToolBar=function(){e(this._listeners,"cleanup");k.ToolBarRadioButton.prototype.onRemoveFromToolBar.call(this)}}return x}}})();b=k.ListBox=function(s){this.__options=h.extend({width:140,caption:""},s);this.__state={color:this.__options.color,expanded:0,enabled:1};this.__captionListeners=[];this.__groupListeners=[];g.AItemContainer.call(this)};a=o(b,g.AItemContainer);a.__baseCSSClass="YMaps-btn";a.__collapseTimeout=3000;a.makeContainer=function(){var t=this.__options.caption||"&#160",s=this.__state.color=="green"?"YMaps-btn-name_green":"YMaps-btn-name_layers";return h('<div class="'+this.__baseCSSClass+this.__getCSSClass()+(this.__state.enabled?" YMaps-cursor-pointer":"")+'"><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-t"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-t"><i></i><b></b></i></i><div class="YMaps-btn-v"><div class="YMaps-btn-h"><div class="YMaps-btn-i" style="width:'+this.__options.width+'px;"><i class="YMaps-btn__disabler"></i><div class="YMaps-btn-reduce"><a class="YMaps-btn-name '+s+'" href="javascript:void(0)"><span class="YMaps-btn-caption">'+t+'</span><i class="YMaps-arr"><i></i></i></a></div><div class="YMaps-btn-expand"><a class="YMaps-btn-name YMaps-btn-name_layers" href="javascript:void(0)"><span class="YMaps-btn-caption">'+t+'</span><i class="YMaps-arr"><i></i></i></a><ul class="YMaps-btn-list YMaps-btn-list_hover"></ul></div></div></div></div><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-b"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-b"><i></i><b></b></i></i></div>')};a.__getCSSClass=function(){var s=this.__state.color,t=[];if(!this.__state.enabled){t.push("disabled")}if(this.__state.color&&this.__state.expanded){t.push(s,"expanded",s+"-expanded")}else{if(this.__state.color){t.push(s)}if(this.__state.expanded){t.push("expanded")}}var u=this.__baseCSSClass;t=h.map(t,function(w){return u+"_"+w});return(t.length?" "+t.join(" "):"")};a.makeItemContainer=function(){return h('<li class="YMaps-btn-list-item"></li>')};a.getContentNode=function(){return this.getElement().find(".YMaps-btn-list")[0]};a.getItemContentNode=function(s){return this.getItemElement(s)[0]};a.onAddToToolBar=function(z,s){this.__toolBar=z;g.AItemContainer.prototype.onAdd.call(this,s);var A=this.getElement();this.__updateDisablerHeight();this.__groupListeners=k.Events.observe(this,[this.Events.Add,this.Events.Remove],this.__updateDisablerHeight,this);this.__leaveListener=l(A[0]).events.eventListener();if(this.__state.expanded){this.__beginMapListening()}var u=A.find(".YMaps-btn-name");for(var x=0,w=u.length;x<w;x++){var v=l(u[x]).events.eventListener().add("click",function(B){this[this.__state.expanded?"collapse":"expand"]();B.preventDefault()},this);if(q.msie&&(q.version<8||document.documentMode<8)){var y=A.find(".YMaps-arr");v.add("mouseenter",function(){y.addClass("YMaps-arr_hover")}).add("mouseleave",function(){y.removeClass("YMaps-arr_hover")})}this.__captionListeners.push(v)}var t=z.getMap();this.__destructListener=i.observe(t,t.Events.Destruct,this.onRemoveFromToolBar,this)};a.onRemoveFromToolBar=function(){if(this.__state.expanded){this.__stopMapListening()}e(this.__captionListeners,"removeAll");e(this.__groupListeners,"cleanup");this.__captionListeners=[];this.__destructListener.cleanup();g.AItemContainer.prototype.onRemove.call(this);this.__toolBar=null;this.getElement().empty()};a.__updateDisablerHeight=function(){var s=this.getElement();s.find(".YMaps-btn__disabler").height(s.find(".YMaps-btn-i").height()+3)};a.getToolBar=function(){return this.__toolBar};a.getCaption=function(){return this.__options.caption};a.setCaption=function(s){this.__options.caption=s;if(this.__toolBar){this.getElement().find(".YMaps-btn-caption").html(s)}};a.expand=function(){if(!this.__state.expanded){this.setState({expanded:1})}};a.collapse=function(){if(this.__state.expanded){this.setState({expanded:0})}};a.isExpanded=function(){return this.__state.expanded};a.enable=function(){if(!this.__state.enabled){this.setState({enabled:1})}};a.disable=function(){if(this.__state.enabled){this.setState({enabled:0})}};a.isEnabled=function(){return this.__state.enabled};a.setState=function(t){if(this.__toolBar&&typeof(t.expanded)!=j&&t.expanded!=this.__state.expanded){if(t.expanded){this.__beginMapListening()}else{this.__stopMapListening()}}if(this.__toolBar&&typeof(t.enabled)!=j&&t.enabled!=this.__state.enabled){if(t.enabled){this.getElement().addClass("YMaps-cursor-pointer")}else{this.getElement().removeClass("YMaps-cursor-pointer")}}if(this.__toolBar){var s=this.__getCSSClass()}h.extend(this.__state,t);if(this.__toolBar){this.getElement().removeClass(s).addClass(this.__getCSSClass())}};a.__beginMapListening=function(){var s=this.__toolBar.getMap();this.__leaveListener.add("mouseenter",this.__onMouseEnter,this).add("mouseleave",this.__onMouseLeave,this);this.__mapClickListener=i.observe(s,s.Events.Click,function(){this.collapse()},this)};a.__onMouseEnter=function(){this.__cancelCollapse()};a.__onMouseLeave=function(){this.__planCollapse()};a.__planCollapse=function(){var s=this;if(this.__state.expanded){this.__cancelCollapse();this.__collapseHandler=window.setTimeout(function(){s.collapse()},this.__collapseTimeout)}};a.__cancelCollapse=function(){if(this.__collapseHandler){window.clearTimeout(this.__collapseHandler);this.__collapseHandler=null}};a.__stopMapListening=function(){this.__cancelCollapse();this.__leaveListener.removeAll();this.__mapClickListener.cleanup()};g.SmoothZoomer=function(J){var B=null,D=null,E,G=1,z,s,t,x=q.opera&&q.version<9.5,F=x?300:25,u=x?1:4,y=null,w=0,A=0,K;this.zoomTo=function(T,R,Q){D=T;if(B===null){B=J.getZoom()}w=d.sign(D-(B+A));E=(R||J.getCenter()).copy();if(Q){var S=J.animator.getState().scaleCoefficient,L=D-(J.getZoom()+Math.log(S)/Math.log(2)),P=C(J.coordSystem.toCoordPoint(J._state.centerInTiles),J.getZoom()).scale(S),N=P.copy().diff(C(E,J.getZoom()).scale(S)),O=Math.pow(2,-L),M=new k.Point(N.getX()/(1-O),N.getY()/(1-O));E=H(P.copy().moveBy(M).scale(1/S),J.getZoom())}if(!y){if(w){J.animator.start();y=setInterval(p(I,this),F);K=i.observe(J,J.Events.Destruct,function(){this.stop()},this)}else{this.stop()}}};this.stop=function(){if(y){clearInterval(y);y=null;J.animator.stop(D);K.cleanup()}if(B!==null){i.notify(this,"ZoomEnd",this,B==D)}B=D=z=s=t=null;w=A=0;G=1};this.getTargetZoom=function(){return D};this.getCurrentZoom=function(){return B};function C(L,M){return J.tileCoordinates.scale(J.coordSystem.fromCoordPoint(L),J.coordSystem.getMaxZoom(),M)}function H(L,M){return J.coordSystem.toCoordPoint(J.tileCoordinates.scale(L,M,J.coordSystem.getMaxZoom()))}function I(){var L=v();if(L){J.animator.scale(L)}else{this.stop()}}function v(){if(!s){B+=A;if(B==D){return null}s=z=Math.pow(2,(B+(w>0?0:-1))-J.getZoom());t=z/u;A=w}else{if(w&&A!=w){B+=A;s=Math.abs(s-z);A=w}}s-=t;G+=A*(t);return{saveThisPosition:E,scaleCoefficient:G}}};g.Zoomer=function(s){var A=null,t,v;this.zoomTo=function(C,D){x(k.State.FAILURE);A=y(D);if(s._inited){var B=s.getCenter();if(A.position){B=A.centering?A.position:z(A.position,C-s.getZoom())}var E=w(C,B);if(A.smooth&&Math.abs(C-E)<3){if(!t&&C==s.getZoom()&&A.position&&A.centering){s.panTo(A.position,A)}else{if(!t){t=new g.SmoothZoomer(s);v=i.observe(t,"ZoomEnd",u,this)}t.zoomTo(E,A.position,A.centering)}}else{s.setCenter(B,E);x(k.State.SUCCESS)}}else{if(A.position&&A.centering){s.setCenter(A.position,C)}else{s._state.zoom=C}x(k.State.SUCCESS)}};this.zoomBy=function(B,C){this.zoomTo((t?t.getTargetZoom():s.getZoom())+B,C)};this.stop=function(){if(t){t.stop()}};function u(C,B){t=null;x(B?k.State.SUCCESS:k.State.FAILURE)}function x(C){if(A&&A.callback){var B=A.callback;A.callback=null;B(C)}}function y(B){return h.extend({position:null,centering:0,callback:null,smooth:0},B)}function w(D,C){var B=new k.Point(-1e-10),E=s.coordSystem.getCoordBounds(C.copy().moveBy(B),C.copy().moveBy(B.neg()));return d.boundaryRestrict(D,s.getMinZoom(E),s.getMaxZoom(E))}function z(C,B){var D=s._state.centerInTiles.diff(s.coordSystem.fromCoordPoint(C,s.getCenter()));if(B<0){D.scale(Math.pow(2,Math.abs(B))-1);D=D.neg()}else{D.scale((Math.pow(2,B)-1)/Math.pow(2,B))}return s._restrictCenter(s.coordSystem.toCoordPoint(D.moveBy(s._state.centerInTiles),1))}};g.SmoothMoving=function(s){this._map=s;i.observe(s,s.Events.Destruct,this._destruct,this);this._actionHandler=p(this._actionHandler,this)};a=g.SmoothMoving.prototype;a.isActive=function(){return !!this._tickIntervalID};a.start=function(s,t){if(this._tickIntervalID){this._stop(1)}var u=this._options=h.extend({speedUpTime:120,startSpeed:5,speed:37,timeout:20,nonstop:0},t);this._startZoom=this._map.getZoom();this._currentPosition=this._map._state.centerInTiles.copy();this._pixelOffset=s;if(!this._tickIntervalID){this._currentSpeed=u.startSpeed;this._setTickInterval();this._map._moveStart()}this._speedIncrement=(u.speed-this._currentSpeed)/(u.speedUpTime/u.timeout)};a.stop=function(s){if(this._tickIntervalID){clearInterval(this._tickIntervalID);this._tickIntervalID=null;this._stop(s);this._map._moveEnd()}};a._stop=function(s){this.callback(s?k.State.FAILURE:k.State.SUCCESS)};a.callback=function(t){if(this._options.callback){var s=this._options.callback;this._options.callback=null;s(t)}};a._setTickInterval=function(){this._tickIntervalID=setInterval(this._actionHandler,this._options.timeout)};a._actionHandler=function(){var s=this._action();if(s!=1){this.stop(s==-1)}};a._action=function(){var y=this._map._state.centerInTiles,u=this._pixelOffset,t=-1;if(this._currentPosition.equals(y)&&this._startZoom==this._map.getZoom()){var v=this._options,x=Math.sqrt(u.x*u.x+u.y*u.y),s=u.copy().scale(x?1/x:1);if(this._currentSpeed!=v.speed){this._currentSpeed+=this._speedIncrement;this._currentSpeed=Math[this._speedIncrement>0?"min":"max"](v.speed,this._currentSpeed)}var w=s.scale(this._currentSpeed);if(v.nonstop){t=1}else{w.apply(Math.round);t=this._pixelOffset.distance(new r())>w.distance(new r());if(!t){w=this._pixelOffset}this._pixelOffset=w.diff(this._pixelOffset)}if(this._options.moveCallback){this._options.moveCallback()}this._map._move(w);if(t){this._currentPosition=y.copy()}}return t};a._destruct=function(){this.stop(1);this._map=this._pixelOffset=this._currentPosition=this._tickIntervalID=this._speedIncrement=this._currentSpeed=this._vector=this._startZoom=null};b=k.ControlPosition=function(s,t){this.anchor=this._normalizeAnchor(s);this.offsets=this._normalizeOffsets(t||new k.Point())};b.TOP_LEFT=0;b.TOP_RIGHT=1;b.BOTTOM_LEFT=2;b.BOTTOM_RIGHT=3;b.prototype={_normalizeAnchor:function(s){return(isNaN(Number(s))?0:s%4)},_normalizeOffsets:function(s){return[this._normalizeCoordinate(s.x),this._normalizeCoordinate(s.y)]},_normalizeCoordinate:function(t){var s=Number(t||0);return isNaN(s)?t:s+"px"},apply:function(s){h(s).css(this.anchor&1?"right":"left",this.offsets[0]).css(this.anchor&2?"bottom":"top",this.offsets[1])}};g.DraggingControl=function(C){var t,z,A,y,v,B,u=C;this.onAddToMap=function(E){t=E;B=[];v=new d.DragAndDrop.MouseMove(u,0,c.tremor.draggingControl,t);(this.onAddToMap=w).call(this)};function w(){this._beginListening();t.addCursor("grab")}this._beginListening=function(){v.beginListening();B.push(i.observe(v,"start",x),i.observe(v,"move",s),i.observe(v,"stop",D));y=i.observe(t,t.Events.Destruct,this._destruct,this)};this.onRemoveFromMap=function(){this._stopListening();t.removeCursor("grab")};this._stopListening=function(){v.stopListening();e(B,"cleanup");B=[];y.cleanup();if(z){D()}};function x(F){t._state.cache=true;A=0;var E=new r(F.clientX,F.clientY);z=t.converter.clientPixelsToLocalPixels(E);t.addCursor("grabbing")}function s(F){var G=t.converter.clientPixelsToLocalPixels(new r(F.clientX,F.clientY)),E=G.diff(z);if(!A){A=1;t._dragStart();t._moveStart()}t._move(E);t._drag(E);z=G}function D(){t._state.cache=false;t.removeCursor("grabbing");z=null;if(A){t._moveEnd();t._dragEnd()}}this._destruct=function(){if(t){this.onRemoveFromMap();t=z=null}}};g.TouchZoomControl=function(){var u,z,G,w,t,B,x=0.001,y=false;this.onAddToMap=function(I){u=I;z=u.converter;F()};this.onRemoveFromMap=function(){if(u){if(y){D()}v();u=null}};function F(){B=i.observe(u,u.Events.Destruct,this.onRemoveFromMap,this);t={start:i.observe(u,u.Events.MultiTouchStart,A,this),move:i.observe(u,u.Events.BeforeMultiTouchMove,s,this,false),end:i.observe(u,u.Events.BeforeMultiTouchEnd,E,this,false)}}function v(){B.cleanup();t.start.cleanup();t.move.cleanup();t.end.cleanup()}function A(I,J){if(!y){y=true;t.move.enable();t.end.enable();u.animator.start()}G=C(J);w=H(J);J.preventMapEvent();J.getEvent().preventDefault()}function s(J,L){var M=C(L),K=M/G,I=H(L);u.animator.move(I.diff(w));if(Math.abs(1-K)>x){u.animator.scale({saveThisPosition:u._restrictCenter(z.localPixelsToCoordinates(I)),scaleCoefficient:u.animator.getState().scaleCoefficient*K});G=M}w=I;L.preventMapEvent();L.getEvent().preventDefault()}function E(I,J){D();J.preventMapEvent();J.getEvent().preventDefault()}function D(){t.move.disable();t.end.disable();u.animator.stop();y=false}function C(I){var J=I.touches[0].getLocalPixels().distance(I.touches[1].getLocalPixels());return Math.max(J,1)}function H(I){return I.touches[0].getLocalPixels().copy().moveBy(I.touches[1].getLocalPixels()).scale(0.5)}};g.ScrollZoomControl=function(){var s,C,x,F={smooth:true},v=3,y=0,E=0,w=0,B=0,A,D;this.onAddToMap=function(G,H,I){s=G;C=i.observe(s,s.Events.DOMMouseScroll,z,this);x=i.observe(s,s.Events.Destruct,t,this);if(I){F=h.extend({},F,I)}};function z(H,J){var G=J.getEvent(),I=d.sign(G.deltaY);if(I){B=I;w=new Date();if(!A){A=setTimeout(function(){D=setInterval(function(){if(w>E){E=new Date();y+=B;if(Math.abs(y)<=v){u(B,J.getCoordPoint(1))}}else{clearInterval(D);D=A=0}},100)},100)}}G.preventDefault()}function u(H,G){s.zoomBy(H,{smooth:F.smooth,position:G,callback:function(I){if(I==k.State.SUCCESS){y=0}}})}this.onRemoveFromMap=function(){x.cleanup();C.cleanup();y=0};function t(){this.onRemoveFromMap();s=null}};g.DblClickZoomControl=function(){var x,v=[],t,s;this.onAddToMap=function(A,C,D){x=A;if(h.os.name=="mac"&&q.mozilla&&q.version>1.8){y=function(F,E){u(E.getEvent())};function B(G,F){var E=F.getEvent();if(E.which==3){z(E)}}v.push(i.observe(x,x.Events.MouseUp,B))}v.push(i.observe(x,x.Events.DblClick,w,this),i.observe(x,x.Events.ContextMenu,y,this));(this.onAddToMap=function(E,F,G){e(v,"enable");s=h.extend({smooth:1},G)})(A,C,D)};function w(B,A){u(A.getEvent());B.zoomBy(1,{smooth:s.smooth,position:A.getGeoPoint(),centering:1})}function z(B){var C=new Date();if(t&&(C-t<500)){var A=x.converter.clientPixelsToCoordinates(new r(B.clientX,B.clientY));x.zoomBy(-1,{smooth:s.smooth,position:A,centering:1});C=null}t=C}function u(A){A.preventDefault()}function y(A,B){z(B.getEvent());u(B.getEvent())}this.onRemoveFromMap=function(){t=null;e(v,"disable")}};g.MagnifierControl=function(I,x){var J,v,s,L,G,D,u={smooth:0},z,B,y;this.onAddToMap=function(M,N,O){J=M;v=h("<div />").addClass("YMaps-select-frame").css({display:"none","z-index":k.ZIndex.CONTROL-1})[0];J.getContainer().appendChild(v);z=new d.DragAndDrop.MouseMove(I,x,null,J);(this.onAddToMap=t).call(this,M,N,O)};function t(M,N,O){if(!x){J.addCursor("zoom");y=i.observe(J,J.Events.Click,C)}h(document).bind("keydown","esc",H);z.beginListening();B=[i.observe(z,"start",K),i.observe(z,"move",w),i.observe(z,"stop",F)];D=i.observe(J,J.Events.Destruct,this._destruct,this);if(O){u=h.extend({},u,O)}}function K(M){L=J.converter.clientPixelsToLocalPixels(new r(M.clientX,M.clientY))}function w(N){G=J.converter.clientPixelsToLocalPixels(new r(N.clientX,N.clientY));var O=L.copy(),M=O.diff(G);if(!M.x||!M.y){h(v).css("display","none");return}if(M.x<0){O.moveByX(M.x);M.scaleX(-1)}if(M.y<0){O.moveByY(M.y);M.scaleY(-1)}d.position(v,O);d.size(v,M);h(v).css("display","")}function F(M){G=J.converter.clientPixelsToLocalPixels(new r(M.clientX,M.clientY));E(G);A()}function H(M){if(L){z.abort();A();M.preventDefault()}}function A(){h(v).css("display","none");L=null}function E(S){if(!S.equals(L)){var M=new k.CollectionBounds([L,S]),N=J.converter.localPixelsToCoordinates(M.getCenter()),O=J.getContainerSize(),R=M.getSpan(),Q=O.x/R.x,P=O.y/R.y,T=Math.floor(Math.log(Math.min(Q,P))/Math.LN2),U=J.getZoom()+(T>0?T:0);J.setZoom(U,{smooth:u.smooth,position:N,centering:1})}}function C(N,M){N.setCenter(M.getCoordPoint(),N.getZoom()+1)}this.onRemoveFromMap=function(){D.cleanup();if(L){A()}if(!x){J.removeCursor("zoom");y.cleanup()}h(document).unbind("keydown","esc",H);z.stopListening();e(B,"cleanup")};this._destruct=function(){if(J){this.onRemoveFromMap()}L=B=s=v=J=null}};g.RightButtonMagnifierControl=function(s){return new g.MagnifierControl(s,1)};g.HotKeysControl=function(K){var Q,J,D=[],t=0,z=0,H=0,w,I,A=0,x=0,v={zoomTimeout:300,startSpeed:1,speed:15,speedUpTime:1100,smooth:0,moveCallback:function(){if(A){Q._drag()}},callback:function(){if(A&&!x){G();Q._dragEnd()}x=0}},T={63234:37,63232:38,63235:39,63233:40},B={};function N(U){v=h.extend({},v,U)}N(K);this.onAddToMap=function(U,X,V){Q=U;J=h("<button />").addClass("YMaps-hot-keys-focus-holder");var W=Q.Events;D=i.observe(Q,[W.DragEnd,W.Click],function(){J[0].focus()});D.push(i.observe(Q,W.Update,G),i.observe(Q,W.Destruct,this._destruct,this));(this.onAddToMap=u).call(this,U,X,V)};function u(U,W,X){J.appendTo(Q.getContainer());J.bind("blur",G);h(window).bind("blur",G);var V=q.opera?"keypress":"keydown";h.each(["up","right","down","left","shift+up","shift+right","shift+down","shift+left"],function(){var Y=this.toString();J.bind(V,Y,F).bind("keyup",Y,M)});h.each(["+","="],function(){J.bind(V,this.toString(),O)});J.bind(V,{key:"+",shift:true},O);h.each(["-","_"],function(){J.bind(V,this.toString(),E)});J.bind(V,{key:"-",shift:true},E);e(D,"enable");if(X){N(X)}}this.onRemoveFromMap=function(){G();J.remove();e(D,"disable")};function F(V){var U=R(V);if(B[U]){clearTimeout(B[U]);delete B[U]}C(U,V.shiftKey);V.preventDefault()}function C(X,U){var W=z,Y=t,V=H;H=U;if(X&1){z=X&2?1:-1}else{t=X&2?-1:1}if(H!=V||W!=z||Y!=t){P()}}function M(V){var U=R(V);B[U]=setTimeout(function(){delete B[U];S(U,V.shiftKey)},50);V.preventDefault()}function S(V,U){H=U;if(V&1){z=0}else{t=0}if(z||t){P()}else{G()}}function R(V){var U=V.charCode||V.keyCode;return q.webkit&&q.version<=523.15?T[U]:U}function P(){if(!A){Q._dragStart();A=1}else{x=1}if(H&&!q.opera){var U=h.extend({},v);U.startSpeed=U.speed;Q.startMove(new r(z,t),U)}else{Q.startMove(new r(z,t),v)}}function G(){z=t=0;if(A){Q.stopMove();A=0}for(var U in B){if(B.hasOwnProperty(U)){clearTimeout(B[U])}}B={}}function O(){s(1)}function E(){s(-1)}function s(U){var V=(I||Q.getZoom())+U;if(!(V<Q.getMinZoom()||V>Q.getMaxZoom()||V==Q.getZoom())){I=V;L()}}function L(){if(w){clearTimeout(w)}w=setTimeout(y,v.zoomTimeout)}function y(){w=null;Q.setZoom(I,{smooth:v.smooth});I=null}this._destruct=function(){this.onRemoveFromMap();e(D,"cleanup");h(window).unbind("blur",G);Q=J=D=null}};g.CopyrightsControl=function(){var s,G,D,A,t,y,v,u,C,w=[];this.onAddToMap=function(H){s=H;C=s.coordSystem==m;var I=s.getContainer();t=h('<div style="'+E("absolute","block","none",{height:20,width:51})+'"><a href="javascript:void(0)" target="_blank" class="YMaps-logo-link" style="'+E("absolute","block","none",{height:20,width:51})+'"><i style="'+E("absolute",null,"none",{height:106,width:56})+'"></i></a></div>').appendTo(I);y=t.find(".YMaps-logo-link");v=c.copyrights.logoLink;u=c.copyrights.addStateToLogoLink;if(q.msie){k.dom(y[0]).events.add("mouseenter",function(){y.addClass("YMaps-logo-link_hover")}).add("mouseleave",function(){y.removeClass("YMaps-logo-link_hover")})}G=h('<div class="YMaps-copyrights" style="'+E("absolute","block","none",{},"visible")+'"><span style="'+E("static","inline","none")+'"></span><a href="'+c.copyrights.agreementLink+'" target="_blank" style="'+E("static","inline","underline")+'">'+c.copyrights.agreement+"</a></div>").appendTo(I);D=G.find("span");A=G.find("a");F();var J=s.Events;i.observe(s,J.TypeChange,F);i.observe(s,[J.BoundsChange,J.AddLayer,J.RemoveLayer],x)};function E(H,N,J,M,O){var I=" !important;",L="",K=["background-color: transparent","border: none","float: none","z-index: "+(k.ZIndex.CONTROL+1),"position: "+H,"overflow: "+O||"hidden","padding: 0"];if(N){K.push("display: "+N);if(N=="inline"){K.push("font-family: Arial,sans-serif","font-size: 10px","text-indent: 0","text-align: left","white-space: nowrap","line-height: normal","text-decoration: "+J,"-webkit-text-size-adjust: none")}}K.push("");L=K.join(I);M=M||{};h.each(["margin-top","margin-right","margin-bottom","margin-left","height","width"],function(Q,P){L+=P+": "+(M[P]?M[P]+"px":(Q<4?"0":"auto"))+I});return L}function z(J){var M=J.replace("#",""),N=M.length/3,I=(N==1?15:255),H=parseInt(M.slice(0,N),16)/I,L=parseInt(M.slice(N,N*2),16)/I,O=parseInt(M.slice(N*2,N*3),16)/I,P=Math.max(H,Math.max(L,O)),K=Math.min(H,Math.min(L,O));return(P+K)/2}function F(){var H=s.getType();G.find("*").andSelf().css("color",H.getTextColor());if(z(H.getTextColor())>0.5){t.attr("class","YMaps-logo YMaps-logo-white")}else{t.attr("class","YMaps-logo")}x()}function x(){var H=w.concat(s._getLayerCopyrights());D.html(H.length>0?H.join(", ")+"&nbsp;&ndash;&nbsp;":"");y.attr("href",B())}function B(){var H=v;if(u){H+=(H.indexOf("?")==-1?"?":"&")+"origin=jsapi"+(C?"&ll="+s.getCenter().getX()+","+s.getCenter().getY()+"&z="+s.getZoom()+"&l=map":"")}return H}this.addCopyright=function(H){if(H){w.push(H);if(s){x()}}};this.removeCopyright=function(I){var H=w.indexOf(I);if(H!=-1){w.splice(H,1);if(s){x()}}};this.onRemoveFromMap=d.NULL};b=k.TypeControl=function(w,t,u){this.__types=[];this.__buttons=[];this.__buttonListeners=[];this.__changeTypeListener=null;this.__enabled=1;this.__options=h.extend({width:100,caption:c.hints.typeControl.more},u||{});this.__toolBar=new k.ToolBar([]);this.__listBox=new g.TypeListBox(this.__buttonGroup,this.__options);w=w||[k.MapType.MAP,k.MapType.SATELLITE,k.MapType.HYBRID];t=t||[];for(var v=0,s=w.length;v<s;v++){this.addType(w[v],h.inArray(v,t)!=-1)}};a=b.prototype;a.__buttonGroup="default#types";a.__isListItem=function(t){var s=h.inArray(t,this.__types);if(s==-1){return 0}return this.__listBox.indexOf(this.__buttons[s])!=-1};a.__getTypeButton=function(t){var s=h.inArray(t,this.__types);if(s==-1){return null}return this.__buttons[s]};a.onAddToMap=function(s,t){this.__map=s;this.__toolBar.onAddToMap(s,t||new k.ControlPosition(k.ControlPosition.TOP_RIGHT,new k.Point(5,5)));this.__changeTypeListener=i.observe(s,s.Events.TypeChange,this.update,this);this.update()};a.update=function(){if(this.__map){var t=this.__map.getType(),s=h.inArray(t,this.__types);this.__applySelection(this.__currentType,0);if(s==-1){this.__currentType=null}else{this.__applySelection(t,1);this.__currentType=t}}};a.enable=function(){if(!this.__enabled){this.__toolBar.forEach(function(s){s.enable()});this.__listBox.enable();this.__enabled=1}};a.disable=function(){if(this.__enabled){this.__toolBar.forEach(function(s){s.disable()});this.__listBox.disable();this.__enabled=0}};a.isEnabled=function(){return this.__enabled};a.__applySelection=function(t,s){if(t){if(this.__isListItem(t)){this.__listBox[s?"select":"deselect"](t)}else{this.__getTypeButton(t)[s?"select":"deselect"]()}}};a.addType=function(u,t){if(u&&h.inArray(u,this.__types)==-1){var s=t?new k.ListBoxItem(u.getName()):new k.ToolBarRadioButton(this.__buttonGroup,{caption:u.getName()});if(!t&&!this.__enabled){s.disable()}this.__types.push(u);this.__buttons.push(s);if(t){this.__listBox.add(s);if(this.__listBox.length()==1){this.__toolBar.add(this.__listBox)}}else{if(this.__listBox.length()){this.__toolBar.splice(-1,0,s)}else{this.__toolBar.add(s)}}this.__buttonListeners.push(i.observe(s,s.Events.Click,function(){this.__map.setType(u);if(this.__isListItem(u)){this.__listBox.collapse()}},this))}this.update()};a.removeType=function(t){var s=t?h.inArray(t,this.__types):-1;if(s!=-1){this.__buttonListeners[s].cleanup();this.__buttonListeners.splice(s,1);if(this.__currentType==t){this.__applySelection(t,0);this.__currentType=null}if(this.__isListItem(t)){this.__listBox.remove(this.__buttons[s])}else{this.__toolBar.remove(this.__buttons[s])}this.__types.splice(s,1);this.__buttons.splice(s,1);if(!this.__listBox.length()){this.__toolBar.remove(this.__listBox)}}this.update()};a.getTypes=function(){return this.__types.slice()};a.onRemoveFromMap=function(){if(this.__map){this.__changeTypeListener.cleanup();this.__changeTypeListener=null;this.__toolBar.onRemoveFromMap();this.__map=null}};b=g.TypeListBox=function(t,s){k.ListBox.call(this,s);this.__inactiveCaption=s.caption;this.__groupId=t;this.__selected=0};a=o(b,k.ListBox);a.isSelected=function(){return this.__selected};a.getGroupId=function(){return this.__groupId};a.select=function(s){if(!this.__selected){this.__selected=1;if(this.getToolBar){var t=this;h.each(this.getToolBar().getByGroupId(this.__groupId),function(){if(this!=t&&this.isSelected()){this.deselect()}});this.setState({color:"green"});this.getElement().find(".YMaps-btn-name").removeClass("YMaps-btn-name_layers").addClass("YMaps-btn-name_green")}}this.setCaption(s.getName())};a.deselect=function(){this.__selected=0;this.setCaption(this.__inactiveCaption);this.setState({color:""});this.getElement().find(".YMaps-btn-name").removeClass("YMaps-btn-name_green").addClass("YMaps-btn-name_layers")};(function(){k.SearchControl=function(X){var V=this,M,R,aa,ac=h.extend({resultsPerPage:3,width:240,noCentering:0,noPlacemark:0,useMapBounds:1},X),N={action:k.State.EMPTY,expanded:1,enabled:1},P,U="",Z;ac.resultsPerPage=Math.round(d.boundaryRestrict(ac.resultsPerPage,1,20));ac.width=Math.max(ac.width,200);P=new B(this,ac);this.getMap=function(){return M};this.Events={Select:"Select"};this.onAddToMap=function(ae,ah){var ad=ah||new k.ControlPosition(k.ControlPosition.TOP_RIGHT,new k.Point(200,5));M=ae;R=new H(ac);aa=R.$element;ad.apply(aa);y(R,U);z(N,P,R);if(N.action==k.State.SUCCESS){t(P,R,ac,Y)}aa.appendTo(M.getContainer());F(aa);O(R.$submit,"click",function(){ab()});O(R.$switcher,"click",function(){N.expanded=!N.expanded;z(N,P,R)});O(R.$cleaner,"click",function(){T()});O(R.$hint,"click",function(){R.$input[0].focus()});O(R.$input,"focus",function(){E(R)});O(R.$input,"blur",function(){if(!u(R)){K(R)}});O(R.$input,"keyup",function(ai){if(ai.which==13){ab()}});O(R.$prev,"click",function(){Q(P.page-1)});O(R.$next,"click",function(){Q(P.page+1)});if(q.msie&&(q.version<8||document.documentMode<8)){var ag=aa.find(".YMaps-arr"),af=aa.find(".YMaps-btn-name_result");O(af,"mouseenter",function(){ag.addClass("YMaps-arr_hover")});O(af,"mouseleave",function(){ag.removeClass("YMaps-arr_hover")})}O(aa.find(".YMaps-pseudo-link"),"click",function(ai){ai.preventDefault()});w(M,P,ac)};function O(ah,af,ag){for(var ae=0,ad=ah.length;ae<ad;ae++){R.listeners.push(k.dom(ah[ae]).events.eventListener().add(af,ag))}}this.onRemoveFromMap=function(){if(M){L(M,P,ac);e(R.listeners,"removeAll");e(R.itemListeners,"removeAll");R.listeners=[];R.itemListeners=[];aa.empty().remove();aa=R=M=null}};this.expand=function(){if(!N.expanded){N.expanded=1;if(M){z(N,P,R)}}};this.collapse=function(){if(N.expanded){N.expanded=0;if(M){z(N,P,R)}}};this.isExpanded=function(){return N.expanded};this.enable=function(){if(!N.enabled){N.enabled=1;if(M){z(N,P,R)}}};this.disable=function(){if(N.enabled){N.enabled=0;if(M){z(N,P,R)}}};this.isEnabled=function(){return N.enabled};this.parseGeocoderResult=function(ad){if(!ad.name&&!ad.description){if(ad.text){var af=", ",ag=ad.text.split(af),ae=(ad.kind&&ad.kind=="house")?-2:-1;ad.name=ag.slice(ae).join(af),ad.description=ag.slice(0,ae).join(af)}else{if(ad.getCoordPoint){ad.name=ad.getCoordPoint().toString()}else{ad.name=c.hints.searchControl.noname}}}return ad};function Y(ae){var af=P.get(ae),ad=P.page*ac.resultsPerPage;k.Events.notify(V,V.Events.Select,V,af);L(M,P,ac);if(P.currentIndex!=-1){R.$list.find("dd").eq(P.currentIndex-ad).removeClass("YMaps-btn-list-item_current")}P.currentIndex=ae;if(ae!=-1){R.$list.find("dd").eq(ae-ad).addClass("YMaps-btn-list-item_current")}w(M,P,ac)}function ab(){var ae=u(R);if(!ae){return}var ad=+new Date();if(U&&ae==U&&ad-Z<c.dblClickTimeout){return}U=ae;Z=ad;N.action=k.State.LOADING;S();z(N,P,R);P.search(ae,W)}function W(ad){N.action=ad;if(M){t(P,R,ac,Y);z(N,P,R);if(P.length()&&P.currentIndex==-1){Y(0)}}}function T(){N.action=k.State.EMPTY;U="";S();if(M){z(N,P,R);y(R,"");if(P.currentIndex>=0&&!ac.noPlacemark){M.removeOverlay(P.get(P.currentIndex))}}}function S(){if(M){R.$list.empty();L(M,P,ac)}P.currentIndex=-1;P.page=0;P.removeAll()}function Q(ad){P.page=ad;if(P.length()>ad*ac.resultsPerPage){t(P,R,ac,Y)}else{N.action=J;z(N,P,R);P.getMore(W)}}};function w(Q,N,M){if(Q&&N.currentIndex>=0){var P=N.get(N.currentIndex);if(!M.noCentering){var O=P.getBounds();if(O){Q.setBounds(P.getBounds())}else{Q.setCenter(P.getCoordPoint())}}if(!M.noPlacemark){Q.addOverlay(P);P.openBalloon(null,{mapAutoPan:!M.noCentering})}}}function L(O,N,M){if(O&&N.currentIndex>=0&&!M.noPlacemark){O.removeOverlay(N.get(N.currentIndex))}}function C(N){var O=c.hints.searchControl.quantity,M=0;if(N%10==0||N%10>4||Math.floor(N/10)==1){M=1}else{if(N%10==1){M=2}}return O[M].found+" "+N.toString()+" "+O[M].objects}var H=function(N){var O=c.hints.searchControl,M=h('<div class="YMaps-btn YMaps-cursor-default"><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-t"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-t"><i></i><b></b></i></i><div class="YMaps-btn-v"><div class="YMaps-btn-h"><div class="YMaps-btn-i" style="width: '+N.width+'px"><i class="YMaps-btn__disabler"></i><div class="YMaps-h-search"><table class="YMaps-l-search"><tbody><tr><td class="YMaps-l-search-l"><div class="YMaps-b-search-wrap"><label class="YMaps-b-hint-input">'+O.mapSearch+'</label><input type="text" name="text" class="YMaps-search-control-text" value=""/></div></td><td class="YMaps-l-search-r"><div class="YMaps-search-control-submit"><i>'+O.find+'</i></div></tr></tbody></table></div><table class="YMaps-l-search YMaps-b-result YMaps-b-result_hide"><tbody><tr><td class="YMaps-l-search-l"><a href="javascript:void(0)" class="YMaps-btn-name YMaps-btn-name_result YMaps-search-control-foundblock"><i class="YMaps-pseudo-link"><span class="YMaps-search-control-found YMaps-search-control-switch"></span></i><i class="YMaps-arr YMaps-search-control-switch"><i></i></i></a><p class="YMaps-search-control-wait">'+O.wait+'</p><p class="YMaps-notice YMaps-search-control-notfound">'+O.notFound+'</p><p class="YMaps-notice YMaps-search-control-failure"></p></td><td class="YMaps-l-search-r"><a href="javascript:void(0)" class="YMaps-pseudo-link"><span class="YMaps-search-control-clean">'+O.clear+'</span></a></td></tr><tr class="YMaps-b-result-list"><td colspan="2"><dl class="YMaps-btn-list YMaps-btn-list_search"><dt class="YMaps-btn-list-query">'+O.correction+' <b class="YMaps-search-control-suggest"></b></dt></dl><dl class="YMaps-btn-list YMaps-btn-list_search YMaps-search-control-list"></dl><dl class="YMaps-btn-list YMaps-btn-list_search"><dd class="YMaps-btn-list-item YMaps-btn-list-item_more"><a class="YMaps-pseudo-link YMaps-prev" href="javascript:void(0)"><span>'+(N.resultsPerPage>1?O.previous[1]+" "+N.resultsPerPage:O.previous[0])+'</span></a><a class="YMaps-pseudo-link YMaps-next" href="javascript:void(0)"><span></span></a></dd></dl></td></tr></tbody></table></div></div></div><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-b"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-b"><i></i><b></b></i></i></div>').css({zIndex:k.ZIndex.CONTROL,position:"absolute"});return{$element:M,listeners:[],itemListeners:[],$submit:M.find(".YMaps-search-control-submit"),$switcher:M.find(".YMaps-search-control-switch"),$wait:M.find(".YMaps-search-control-wait"),$foundblock:M.find(".YMaps-search-control-foundblock"),$found:M.find(".YMaps-search-control-found"),$notfound:M.find(".YMaps-search-control-notfound"),$failure:M.find(".YMaps-search-control-failure"),$result:M.find(".YMaps-b-result"),$input:M.find(".YMaps-search-control-text"),$hint:M.find(".YMaps-b-hint-input"),$cleaner:M.find(".YMaps-search-control-clean"),$list:M.find(".YMaps-search-control-list"),$correction:M.find(".YMaps-btn-list-query"),$suggest:M.find(".YMaps-search-control-suggest"),$prev:M.find(".YMaps-prev"),$next:M.find(".YMaps-next")}};var J="InUpdate",v=["$foundblock","$notfound","$wait","$failure","$result","$element"],G="YMaps-display-none",s="YMaps-btn_disabled",A={cssClass:G,show:"remove",hide:"add"},D={$element:{cssClass:"YMaps-btn_expanded",show:"add",hide:"remove"},$result:{cssClass:"YMaps-b-result_hide",show:"remove",hide:"add"}};function z(N,M,P){var O=I(P,N,M.getFound());h.each(v,function(R,Q){var S=D[Q]||A;P[Q][S[h.inArray(Q,O)!=-1?"show":"hide"]+"Class"](S.cssClass)});P.$element[(N.enabled?"remove":"add")+"Class"](s);P.$failure.html(M.getErrorMessage());P.$found.html(C(M.getFound()));F(P.$element)}function t(O,P,V,S){var U=V.resultsPerPage,T=O.page,R=P.$list.empty(),M=Math.min(U,O.getFound()-(T+1)*U);e(P.itemListeners,"removeAll");P.itemListeners=[];if(O.getSuggest()){P.$suggest.html("«"+O.getSuggest().replace(/<fix>/ig,"<i>").replace(/<\/fix>/ig,"</i>")+"»");P.$correction.removeClass(G)}else{P.$correction.addClass(G)}for(var Q=T*U,N=Math.min((T+1)*U,O.getFound());Q<N;Q++){x(O,Q,S,P.itemListeners).appendTo(R)}if(T>0){P.$prev.removeClass(G)}else{P.$prev.addClass(G)}if(M>0){P.$next.html("<span>"+(M>1?c.hints.searchControl.next[1]+" "+M:c.hints.searchControl.next[0])+"</span>").removeClass(G)}else{P.$next.addClass(G)}F(P.$element)}function F(M){M.find(".YMaps-btn__disabler").height(M.find(".YMaps-btn-i").height()+3)}function I(P,N,M){var O=[];switch(N.action){case k.State.LOADING:O.push("$wait","$element");break;case J:O.push("$foundblock","$wait","$element");break;case k.State.SUCCESS:O.push("$element");if(!M){O.push("$notfound")}else{O.push("$foundblock");if(N.expanded){O.push("$result")}}break;case k.State.FAILURE:O.push("$failure","$element");break;case k.State.EMPTY:default:break}if(!u(P)){O.push("$hint")}return O}function y(N,M){var O=N.$input;if(typeof M!==j){O.attr("value","");K(N)}else{O.attr("value",M);E(N)}}function u(M){return M.$input.attr("value")}function K(M){M.$hint.removeClass(G)}function E(M){M.$hint.addClass(G)}var B=function(O,ac){k.GeoObjectCollection.call(this);var W=this,Q,Z=[],ab=0,S="",U="",M="",aa=null,V="";this.getFound=function(){return ab};this.getSuggest=function(){return S};this.getErrorMessage=function(){return V};this.page=0;this.currentIndex=-1;this.search=function(ad,ae){U=ad;aa=ae;M=(ac.useMapBounds&&O.getMap())?O.getMap().getBounds():null;N(0)};this.getMore=function(ad){aa=ad;N(this.length())};function N(ad){var ae={results:ac.resultsPerPage*3,skip:ad,prefLang:ac.prefLang};if(M){ae.boundedBy=M}if(ac.geocodeOptions){ae=h.extend({},ac.geocodeOptions,ae)}if(Z.length){T()}Q=new k.Geocoder(U,ae);Z=X(Q)}function X(ad){return[k.Events.observe(ad,ad.Events.Load,function(){Y(ad)}),k.Events.observe(ad,ad.Events.Fault,function(ae,af){R(ad,af)})]}function T(){e(Z,"cleanup");Z=[]}function Y(ad){if(ad==Q){P();T();aa(k.State.SUCCESS)}ad.removeAll()}function P(){for(var ae=0,ad=Q.length();ae<ad;ae++){W.add(O.parseGeocoderResult(Q.get(ae)))}ab=Q.found;S=Q.suggest}function R(ad,ae){if(ad==Q){T();V=ae;ab=0;S="";aa(k.State.FAILURE)}}};o(B,k.GeoObjectCollection);function x(P,O,N,Q){var R=P.get(O),M=h('<dd class="YMaps-btn-list-item'+(O==P.currentIndex?" YMaps-btn-list-item_current":"")+'">'+(R.name?'<a class="YMaps-pseudo-link" href="javascript:void(0)"><span>'+R.name+"</span></a>":"")+(R.description?'<p class="YMaps-note">'+R.description+"</p>":"")+"</dd>");Q.push(k.dom(M[0]).events.eventListener().add("click",function(){N(O)}));if(R.name){Q.push(k.dom(M.find(".YMaps-pseudo-link")[0]).events.eventListener().add("click",function(S){S.preventDefault()}))}return M}})();g.ZoomButton=function(x,t){var s=h('<a class="YMaps-slider-'+(x==1?"plus":"minus")+'" href="javascript:void(0)"><i class="YMaps-slider-btn"><i></i></i></a>'),w,u=[],v;this.getElement=function(){return s};this.beginListening=function(z){this.stopListening();w=z;v=l(s[0]).events.eventListener().add("click",function(B){var A=w.getZoom()+x;if(x==1?A<=w.getMaxZoom():A>=w.getMinZoom()){w.zoomBy(x,{smooth:t})}B.preventDefault()});u=k.Events.observe(w,[w.Events.BoundsChange,w.Events.ZoomRangeChange],y);y();return this};function y(){if(x==1){if(w.getZoom()>=w.getMaxZoom()){s.addClass("YMaps-slider-plus_disable")}else{s.removeClass("YMaps-slider-plus_disable")}}else{if(w.getZoom()<=w.getMinZoom()){s.addClass("YMaps-slider-minus_disable")}else{s.removeClass("YMaps-slider-minus_disable")}}}this.stopListening=function(){if(w){v.removeAll();e(u,"cleanup");u=[];w=null}return this}};(function(){k.Zoom=function(E){var D=300;var u,z,A,w,v,B=[],y,C;E=h.extend({noTips:0,customTips:c.hints.zoom,smooth:1},E||{});this.onAddToMap=function(G,F){u=G;z=F||new k.ControlPosition(k.ControlPosition.TOP_LEFT,new k.Point(5,75));x();B.push(i.observe(u,u.Events.Update,function(){v.setValue(u.getZoom());x()}),i.observe(u,u.Events.ZoomRangeChange,x,this),i.observe(v.getContainer(),"sliderchange",function(H){if(C){window.clearTimeout(C)}C=window.setTimeout(function(){u.setZoom(H);v.setFocus()},D)},this));w.beginListening(u);A.beginListening(u);y=i.observe(u,u.Events.Destruct,this._destruct,this)};function x(){if(!v){v=new t(E);var J=v.getContainer(),I=h(J).find(".YMaps-slider-scale");w=new g.ZoomButton(-1,E.smooth);w.getElement().insertBefore(I);A=new g.ZoomButton(1,E.smooth);A.getElement().insertAfter(I);u.getContainer().appendChild(J);z.apply(J)}if(!v.isDragging()){var H=u.getZoom(),K=Math.max(H,u.getMaxZoom()),G=Math.min(H,u.getMinZoom()),F=[];for(;K>=G;K--){F.push(K)}v.update({value:u.getZoom(),values:F,isRight:z.anchor%2})}}this._destruct=function(){y.cleanup();if(C){window.clearTimeout(C)}if(u){e([w,A],"stopListening");u.getContainer().removeChild(v.getContainer());v._destruct();e(B,"cleanup");u=z=v=w=A=null}};this.onRemoveFromMap=this._destruct};var t=function(y){var I,N,v;var X,Q,A,R,J,O,U,z,Y,G,B,T=[],F,P,M=2000;X=h('<div class="YMaps-slider"><div class="YMaps-slider-content"><div class="YMaps-slider-scale"><i class="YMaps-slider-grab" type="button"><i></i><input type="button"/></i><i class="YMaps-slider-marks"><i></i></i></div></div></div>').css("z-index",k.ZIndex.CONTROL);Q=X.find(".YMaps-slider-grab");A=Q.find("input");J=X.find(".YMaps-slider-marks");R=X.find(".YMaps-slider-scale");if(!y.noTips){F=new s(R,this,y.customTips)}O=new d.DragAndDrop.MouseMove(A[0]);S();x();function S(){i.observe(O,"start",W);i.observe(O,"move",D);i.observe(O,"stop",H);O.beginListening();T.push(l(J[0]).events.eventListener().add("click",C));T.push(l(Q[0]).events.eventListener().add("mouseenter",function(){h(Q).addClass("YMaps-slider-grab_h")}).add("mouseleave",function(){h(Q).removeClass("YMaps-slider-grab_h")}));if(!y.noTips){T.push(l(X[0]).events.eventListener().add("mouseenter",function(){F.show();Z()}).add("mouseleave",E))}}function E(){if(!P){P=setTimeout(function(){P=undefined;F.hide()},M)}}function Z(){if(P){clearTimeout(P);P=undefined}}function W(){U=true;B=I}function D(aa){L(Math.round((Y-aa.clientY-h(window).scrollTop()-3+R.offset().top)/G))}function L(ab){var aa=Math.max(0,Math.min(N,ab));Q.css("margin-top",Math.round(Y-(aa+1)*G-1)+"px");I=aa}function H(){if(B!=I){i.notify(X[0],"sliderchange",w());B=null}U=false}function C(aa){D(aa);H()}function u(){V(I-1)}function K(){V(I+1)}function V(aa){W();L(aa);H()}function x(){function ad(){V(0)}function ab(){V(N)}function aa(ae){return function(af){ae(af);af.preventDefault()}}var ac=q.opera?"keypress":"keydown";A.bind(ac,"down",aa(u)).bind(ac,"+",aa(u)).bind(ac,"up",aa(K)).bind(ac,"-",aa(K)).bind(ac,"end",aa(ad)).bind(ac,"home",aa(ab))}this.update=function(aa){v=aa.values;N=v.length-1;z=4;G=7;Y=Math.round((1+N)*G);R.css({height:Y+"px","padding-bottom":"0"});J.css({height:Y+"px"});X.css({height:(Y+50).toString()+"px"});if(aa.isRight){X.addClass("YMaps-slider_left")}else{X.removeClass("YMaps-slider_left")}if(!y.noTips){F.update(Y,G,aa.isRight)}this.setValue(aa.value)};this._destruct=function(){if(!y.noTips){Z()}if(!y.noTips){F._destruct()}e(T,"removeAll");T=[];O.stopListening();X.empty();X=A=Q=R=J=F=O=null};this.isDragging=function(){return U};this.setValue=function(ab){if(typeof ab=="number"){var aa=h.inArray(ab,v);if(aa!=-1){L(aa)}}};function w(aa){return v[isNaN(aa=parseInt(aa))?I:aa]}this.getValue=w;this.setFocus=function(){A[0].focus()};this.getContainer=function(){return X[0]};this.getIndex=function(aa){return h.inArray(aa,v)}};var s=function(u,w,v){this._slider=w;this._$element=h('<div class="YMaps-slider-tips" style="visibility: hidden;"></div>').appendTo(u);this._tips=[];this.listeners=[];this._visible=false;var x=this;h.each(v,function(z,y){x._tips[z]={index:y.index,$element:h('<a href="javascript:void(0)" class="YMaps-button-tip YMaps-cursor-pointer"><i class="YMaps-button-tip-l"><i></i></i><i class="YMaps-button-tip-r"><i></i></i><b class="YMaps-button-tip-container"><i class="YMaps-button-tip-text">'+y.value+'</i><i class="YMaps-button-tip-m"></i></b></a>').appendTo(x._$element)};x.listeners.push(l(x._tips[z].$element[0]).events.eventListener().add("click",function(A){i.notify(x._slider.getContainer(),"sliderchange",x._tips[z].index);A.preventDefault()}))})};a=s.prototype;a.update=function(w,u,B){var y,v,C,A;for(y=0,v=this._tips.length;y<v;y++){C=this._tips[y];A=this._slider.getIndex(C.index);if(A==-1){C.$element.addClass("YMaps-display-none")}else{C.$element.removeClass("YMaps-display-none")}C.$element.css({top:Math.round(w-(A+1)*u-6)+"px"})}this._$element.css({height:w+"px"});if(B){this._$element.addClass("YMaps-slider-tips_left")}else{this._$element.removeClass("YMaps-slider-tips_left")}if(q.msie&&(q.version>=7&&q.version<8)&&document.compatMode=="BackCompat"){var z=this._$element.find(".YMaps-button-tip-r");for(y=0,v=z.length;y<v;y++){var x=z.eq(y);if(x.parent().eq(0).width()%2){x.css("right",B?"-10px":"-7px")}else{x.css("right",B?"-9px":"-6px")}if(B){x.css("left","auto")}}}};a.show=function(){if(!this._visible){this._$element.css({visibility:"visible"});this._visible=true}};a.getContainer=function(){return this._$element[0]};a.hide=function(){if(this._visible){this._$element.css({visibility:"hidden"});this._visible=false}};a._destruct=function(){e(this.listeners,"removeAll");this.listeners=[]}})();k.SmallZoom=function(t){var v,s,w,u;t=t||{};t.smooth=t.smooth===undefined?1:t.smooth;this.onAddToMap=function(y,x){v=y;x=x||new k.ControlPosition(k.ControlPosition.TOP_LEFT,new k.Point(5,75));s=h('<div class="YMaps-slider"></div>').css("z-index",k.ZIndex.CONTROL).appendTo(v.getContainer());x.apply(s[0]);if(!w||!u){u=new g.ZoomButton(-1,t.smooth);w=new g.ZoomButton(1,t.smooth)}u.beginListening(v).getElement().appendTo(s);w.beginListening(v).getElement().appendTo(s)};this.onRemoveFromMap=function(){if(v){s.removeFromDom();u.stopListening();w.stopListening();v=s=u=w=null}}};b=g.RulerPointLayout=function(t){var s=h('<div class="YMaps-placemark-wrap"><i class="YMaps-ruler-point YMaps-cursor-move"><i></i></i><b class="YMaps-button-tip YMaps-ruler-tip YMaps-cursor-default"><i class="YMaps-button-tip-l"><i></i></i><i class="YMaps-button-tip-r"><i></i></i><b class="YMaps-button-tip-container"><i class="YMaps-button-tip-text"><span class="YMaps-number"></span>&nbsp;<span class="YMaps-ruler-text-dist"></span></i><i class="YMaps-button-tip-m"></i></b></b></div>');this.__$nodes={element:s,point:s.find(".YMaps-ruler-point"),hint:s.find(".YMaps-button-tip"),num:s.find(".YMaps-number"),text:s.find(".YMaps-ruler-text-dist"),tipR:s.find(".YMaps-button-tip-r"),button:null};this.setType(t.getType())};b.prototype={__typeModifiers:{start:{element:"YMaps-popup-none",point:"YMaps-start-point"},via:{element:"YMaps-popup-hover",point:"YMaps-via-point",hint:"YMaps-ruler-tip-via"},end:{element:"YMaps-popup-visible",point:"YMaps-end-point"}},setType:function(u,y){var t=this.__typeModifiers,w=t[this.__type]||{},s=t[u]||{},x=this.__$nodes;h.each(["element","point","hint"],function(B,A){var z=x[A];if(w[A]){z.removeClass(w[A])}if(s[A]){z.addClass(s[A])}});if(this.__type=="end"&&u!="end"){this.__buttonListener.removeAll();x.button.remove();x.button=null}if(this.__type!="end"&&u=="end"){var v=h('<a class="YMaps-ruler-tip-delete YMaps-cursor-pointer" title="'+c.hints.ruler.close+'"></a>').appendTo(x.element.find(".YMaps-button-tip-text"));this.__buttonListener=l(v[0]).events.eventListener().add("click",y);if(q.msie&&(q.version<7||q.quirksMode)){this.__buttonListener.add("mouseenter",function(){v.addClass("YMaps-ruler-tip-delete_hover")}).add("mouseleave",function(){v.removeClass("YMaps-ruler-tip-delete_hover")})}x.button=v}x.element.width();this.__type=u},setData:function(s){var t=this.__$nodes;t.num.html(s.number+")&nbsp;").width();t.text.html(k.humanDistance(s.distance)).width();if(q.msie&&(q.version>=7&&q.version<8)&&document.compatMode=="BackCompat"){t.tipR.css("right",(t.tipR.parent().eq(0).width()%2)?"-7px":"-6px")}if(q.opera&&q.version<9.5){t.hint.css("width","auto")}},onAddToParent:function(s){this.__$nodes.element.appendTo(s)},onRemoveFromParent:function(){this.__$nodes.element.remove();if(this.__type=="end"){this.__buttonListener.removeAll()}},getOffset:function(){return new k.Point(0,0)},setContent:d.NULL,update:d.NULL};k.Templates.add("ruler#icon",new k.LayoutTemplate(b));b=g.RulerPoint=function(s){k.Placemark.call(this,s,{draggable:1});this.__type=g.RulerPoint.START_POINT;this.__data={};this.__listeners=[]};a=o(b,k.Placemark);a.getIconLayout=function(){return this._icon};b.START_POINT="start";b.VIA_POINT="via";b.END_POINT="end";a.setData=function(t){this.__data=t||{};var s=this.getIconLayout();if(s){s.setData(this.__data)}};a.getData=function(){return this.__data};a.setType=function(s,u){this.__type=s;var t=this.getIconLayout();if(t){t.setType(s,u)}};a.getType=function(){return this.__type};a.onAddToGroup=function(s){k.Placemark.prototype.onAddToGroup.call(this,s);this.__listeners=[k.Events.observe(this,this.Events.DblClick,function(){s.remove(this)},this),k.Events.observe(this,this.Events.Drag,function(){s.updatePoints(this)},this)]};a.onRemoveFromGroup=function(){e(this.__listeners,"cleanup");k.Placemark.prototype.onRemoveFromGroup.call(this)};b=g.RulerContainer=function(u){k.ConnectedPlacemarks.call(this,u);var x=this,s=[i.observe(this,this.Events.Add,t,this),i.observe(this,this.Events.Remove,w,this)];function t(C,z,y){var B=this.length(),D=0;if(B>1){var A=this.get(y-1);if(y>1){A.setType(g.RulerPoint.VIA_POINT)}D=A.getData().distance+this.getMap().coordSystem.rulerDistance(z.getCoordPoint(),A.getCoordPoint());z.setType(g.RulerPoint.END_POINT,v)}z.setData({number:B,distance:D})}function w(B,z,y){var A=this.length();if(A){if(y==0){this.get(0).setType(g.RulerPoint.START_POINT)}else{if(y==A&&A>1){this.get(-1).setType(g.RulerPoint.END_POINT,v)}}}if(y!=A){this.updatePoints(y>0?this.get(y):null)}}this.updatePoints=function(z){var B=z?this.indexOf(z):0,C=B>0?this.get(B-1).getData().distance:0,y=this.length();for(;B<y;B++){var A=this.get(B);C+=(B>0?this.getMap().coordSystem.rulerDistance(A.getCoordPoint(),this.get(B-1).getCoordPoint()):0);A.setData({number:B+1,distance:C})}};this.removeAll=function(){e(s,"disable");k.ConnectedPlacemarks.prototype.removeAll.call(this);e(s,"enable")};function v(y){if(x.length()<3||confirm(c.hints.ruler.sure)){x.removeAll()}g.preventMapEvent(y);y.preventDefault()}};o(b,k.ConnectedPlacemarks);g.RulerControl=function(){var v,u,s=new g.RulerContainer("ruler#style"),t;this.onAddToMap=function(w){if(!v){v=w;v.addOverlay(s,1)}t=i.observe(v,v.Events.Click,function(x,y){s.add(new g.RulerPoint(y.getGeoPoint(1)))},this);if(u){this.setStateString(u);u=null}v.addCursor(k.Cursor.ARROW)};this.onRemoveFromMap=function(){v.removeCursor(k.Cursor.ARROW);t.cleanup()};this.setStateString=function(A){if(v){s.removeAll();if(A){var y=A.split("~"),z=v.coordSystem.getCoordPoint(0,0,1);for(var x=0,w=y.length;x<w;x++){s.add(new g.RulerPoint(z.moveBy(k.Point.fromString(y[x]))))}}}else{u=A}};this.getStateString=function(){if(s.length()){var A=s.get(0).getCoordPoint(),z=[v.coordSystem.getCoordPoint(0,0).moveTo(A).toString(8)],w;for(var y=1,x=s.length();y<x;y++){w=s.get(y).getCoordPoint();z.push(A.diff(w).toString(8));A=w}return z.join("~")}return""}};(function(){var s=new k.Style(null);s.iconStyle={template:"ruler#icon",offset:new r(0,0)};s.lineStyle={strokeColor:"d61d00",strokeWidth:2};s.hasBalloon=0;k.Styles.add("ruler#style",s)})();k.Executor=function(s){this.resources=s||[]};a=k.Executor.prototype;a.execCommand=function(u,w){if(!(u instanceof Array)){w=u;u=null}if(w){var v=[w].concat(Array.prototype.slice.call(arguments,u?2:1));for(var t=0,s=this.resources.length;t<s;t++){if(!u||h.inArray(this.resources[t],u)==-1){this.resources[t].execCommand.apply(this.resources[t],v)}}}};a.destroy=function(){e(this.resources,"destroy");this.resources=null};k.Resource=function(s){this.data=s;this.commands={}};a=k.Resource.prototype;a.execCommand=function(s){var t=this.commands[s];if(t){t.apply(this,[this].concat(Array.prototype.slice.call(arguments,1)))}};a.destroy=function(){this.data=this.commands=null};k.Connect=function(s){k.Resource.call(this,s);this.events={};this.listeners={};this.eventsByCommand={};h.extend(this.commands,{connect:function(t){t.connect()},disconnect:function(t){t.disconnect()}})};a=o(k.Connect,k.Resource);a.execCommand=function(u){var w=this.eventsByCommand[u],v,t,s;if(w&&this.isConnected()){for(t=0,s=w.length;t<s;t++){if(v=this.listeners[w[t]]){v.disable()}}}k.Resource.prototype.execCommand.apply(this,arguments);if(w&&this.isConnected()){for(t=0;t<s;t++){if(v=this.listeners[w[t]]){v.enable()}}}};a.connect=function(){this.listeners={};function t(u,w,v){v.listeners[u]=i.observe(v.data,v.data.Events[u],function(){w.apply(u,[v].concat(Array.prototype.slice.call(arguments)))})}for(var s in this.events){if(this.events.hasOwnProperty(s)){t(s,this.events[s],this)}}};a.disconnect=function(){for(var s in this.listeners){if(this.listeners.hasOwnProperty(s)){this.listeners[s].cleanup()}}this.listeners=null};a.isConnected=function(){return !!this.listeners};a.destroy=function(){if(this.isConnected()){this.disconnect()}this.events=this.listeners=this.eventsByCommand=null;k.Resource.prototype.destroy.call(this)};k.MapConnect=function(s,t){k.Connect.call(this,s);h.extend(this.commands,{setCenter:function(x,u,w,v){x.data.setCenter(u,w,v)},setType:function(v,u){v.data.setType(u)},moveStart:function(u){u.data._moveStart()},move:function(w,x,v){var u=w.data.getZoom()-v;w.data._move(x.apply(function(y){return y*Math.pow(2,u)}))},moveEnd:function(u){u.data._moveEnd()}});h.extend(this.eventsByCommand,{setCenter:["Update","TypeChange"],setType:["TypeChange"],moveStart:["MoveStart"],move:["Update","Move"],moveEnd:["MoveEnd"]});h.extend(this.events,{Update:function(u,v){t.execCommand([u],"setCenter",v.getCenter(),v.getZoom())},TypeChange:function(u,v){t.execCommand([u],"setType",v.getType())},MoveStart:function(u){t.execCommand([u],"moveStart")},Move:function(u,v,w){t.execCommand([u],"move",w.copy(),v.getZoom())},MoveEnd:function(u){t.execCommand([u],"moveEnd")}})};o(k.MapConnect,k.Connect);k.MiniMap=function(C){this.Events={VisibilityChange:"visibilitychange"};var F={zoomOffset:typeof C==j?5:C,mapType:new k.MapType(["map"],"",{minZoom:0}),visible:true},E,s,v,u,y,w,t;this.onAddToMap=function(H,G){u=H;G=G||new k.ControlPosition(k.ControlPosition.BOTTOM_LEFT,new k.Point(5,5));D();l(s[0]).events.add("click",function(){this.setVisible(!this.getVisible())},this);E.appendTo(u.getContainer());G.apply(E);t=i.observe(u,u.Events.Destruct,this.onRemoveFromMap,this);B()};function D(){E=h("<div />").addClass("YMaps-mini-map");s=h("<a />").addClass("YMaps-button-mini-map-hide").css("z-index",k.ZIndex.CONTROL).attr("title",c.hints.miniMap.hide).appendTo(E);v=h("<div />").addClass("YMaps-mini-map-map");E.append(v)}function A(H){var G=new g.ALayer();G.onAddToMap=function(I,J){g.ALayer.prototype.onAddToMap.call(this,I,J);h(this.getContainer()).addClass("YMaps-mini-map-frame").css({left:"50%",top:"50%"});this.onMapUpdate()};G.onMapUpdate=function(){var I=H.getContainerSize().scale(1/Math.pow(2,H.getZoom()-this.getMap().getZoom())),K=I.copy().scale(-0.5),J=this.getContainer();d.size(J,I);h(J).css("margin",K.y+"px 0 0 "+K.x+"px")};G.onMove=d.NULL;return G}function z(H,G){this._options=G;this._construct(H)}o(z,k.Map);z.prototype._restrictCenter=function(G){return G};function B(){if(q.webkit&&(v[0].offsetWidth==0||v[0].offsetHeight==0)){window.setTimeout(function(){B()},100);return}y=new z(v,{coordSystem:u.coordSystem});y.enableDragging();y.addLayer(new A(u));w=new k.Executor();var H=new k.MapConnect(y,w),G=new k.MapConnect(u,w);w.resources.push(H,G);delete G.events.TypeChange;delete H.events.TypeChange;H.commands.setCenter=function(L,I,K,J){L.data.setCenter(I,K-F.zoomOffset,J)};H.commands.redraw=function(I){I.data.redraw()};H.eventsByCommand.redraw=["Update"];G.events.Redraw=function(I){w.execCommand([I],"redraw")};H.events.Click=function(I,J,K){u.panTo(K.getCoordPoint())};x()}function x(){var G=F.visible;E.toggleClass("YMaps-mini-map-invisible",!G);s.attr("title",c.hints.miniMap[G?"hide":"show"]);E.css("zIndex",k.ZIndex.CONTROL+(G?0:2));if(G){w.execCommand("connect");w.resources[0].execCommand("setCenter",u.getCenter(),u.getZoom(),F.mapType)}else{w.execCommand("disconnect")}}this.onRemoveFromMap=function(){if(u){t.cleanup();l(s[0]).events.removeAll();E.remove();w.destroy();t=u=y=w=E=s=v=null}};this.setType=function(G){F.mapType=G;if(F.visible&&y){y.setType(G)}};this.getType=function(){return F.mapType};this.setVisible=function(G){if(F.visible!=G){F.visible=G;if(y){x()}i.notify(this,this.Events.VisibilityChange,this)}};this.getVisible=function(){return F.visible}};k.ScaleLine=function(){var v=75;var t,w,z,C,A;this.onAddToMap=function(E,D){t=E;w=D||new k.ControlPosition(k.ControlPosition.BOTTOM_RIGHT,new k.Point(5,37));C=h('<div class="YMaps-scale-line"><span>0</span></div>').css({height:(h.boxModel?3:5)+"px","z-index":k.ZIndex.CONTROL-2}).appendTo(t.getContainer());A=C.find("span");w.apply(C[0]);u();y();var F=i.observe,G=t.Events;z=[F(t,G.BoundsChange,y),F(t,G.TypeChange,u)]};function u(){var D=t.getType();A.css("color",D.getTextColor())}function y(){var E=B(v),D=s(E);C.css("width",parseInt(D*v/E)+"px");x(D>1000?D/1000+" "+c.metric.kilometre:D+" "+c.metric.metre)}function B(G){var F=t.converter.coordinatesToLocalPixels(t.getCenter()),E=t.converter.localPixelsToCoordinates(new r(F.getX()-G/2,F.getY())),D=t.converter.localPixelsToCoordinates(new r(F.getX()+G/2,F.getY()));return t.coordSystem.distance(E,D)}function s(E){var D=Math.round(E).toString();return(Number(D.charAt(0))+1)*Math.pow(10,D.length-1)}function x(D){A.html(D)}this.onRemoveFromMap=function(){if(t){C.remove();e(z,"cleanup");t=w=C=A=z=null}}};(function(){k.Router=function(u,t,s){k.GeoObjectCollection.call(this);this.setStyle("router#route");this._options=h.extend({viewAutoApply:0},s);this._isLoaded=0;this._requestedWayPoints=u;this._requestedViaPoints=t||[];this._request(u)};a=o(k.Router,k.GeoObjectCollection);a._request=function(u){var t=g.MapData.versionPath+"xml/Router/Router.xml?key="+g.MapData.userKey+"&rll="+this._getUrlPoints(u),v=this,s=this._requestedWayPoints.length;this._requestedViaPoints=h.grep(this._requestedViaPoints,function(w){return w>0&&w<s-1});if(this._requestedViaPoints.length){t+="&via="+this._requestedViaPoints.join(",")}if(this._options.avoidTrafficJams){t+="&mode=jams"}if(this._options.boundedBy){t+="&ll="+this._options.boundedBy.getCenter().toString();t+="&spn="+this._options.boundedBy.getSpan().toString(6)}if(this._options.strictBounds){t+="&rspn=1"}h.ajax({url:t,dataType:"jsonp",cache:1,scriptCharset:"utf-8",success:function(w){v._onLoad(w)}})};a._getUrlPoints=function(w){var t=[];for(var v=0,u=w.length,s;v<u;v++){s=w[v];t.push(typeof s=="string"?encodeURIComponent(s):s.getX()+","+s.getY())}return t.join("~")};a._onLoad=function(s){this._isLoaded=1;if(s.error){i.notifyPermanent(this,this.Events.Fault,this,s.error.message);return}this._duration=s.duration;this._distance=s.distance;this.add(this._routes=s.routes);this.add(this._wayPoints=s.wayPoints);this._boundedBy=s.boundedBy;i.notifyPermanent(this,this.Events.Load,this);this.update();if(this._map&&this._options.viewAutoApply){this.applyView()}if(this._wayPoints.length<this._requestedWayPoints.length-this._requestedViaPoints.length){i.notifyPermanent(this,this.Events.GeocodeError,this,this._wayPoints.length)}else{if(this._routes.length<this._requestedWayPoints.length-this._requestedViaPoints.length-1){i.notifyPermanent(this,this.Events.RouteError,this,this._routes.length+1)}else{i.notifyPermanent(this,this.Events.Success,this)}}};a.Events.Load="Load";a.Events.Fault="Fault";a.Events.Success="Success";a.Events.GeocodeError="GeocodeError";a.Events.RouteError="RouteError";a.getDistance=function(){return this._distance};a.getDuration=function(){return this._duration};a.getNumWayPoints=function(){return this._wayPoints.length};a.getWayPoint=function(s){var t=this._wayPoints[s];return t?t:null};a.getNumRoutes=function(){return this._routes.length};a.getRoute=function(t){var s=this._routes[t];return s?s:null};a.onAddToMap=function(s,t){k.GeoObjectCollection.prototype.onAddToMap.call(this,s,t);if(this._isLoaded&&this._options.viewAutoApply){this.applyView()}};a.applyView=function(){if(this._boundedBy&&this._map){this._map.setBounds(this._boundedBy)}};k.Styles.add("router#route",{balloonContentStyle:{template:new k.Template("<div>$[text]</div>")},lineStyle:{strokeColor:"6C00FF99",strokeWidth:5}})})();k.Route=function(v,w,z,u,y,x,t){var s=k.Polyline.fromEncodedPoints(v,w);h.extend(this,s);this.setOptions({interactive:0,hasBalloon:0});this._boundedBy=z;this._routeSegments=u;this._distance=y;this._duration=x;this._viaPoints=t};a=o(k.Route,k.Polyline);a.getDistance=function(){return this._distance};a.getDuration=function(){return this._duration};a.getNumRouteSegments=function(){return this._routeSegments.length};a.getRouteSegment=function(s){return this._routeSegments[s]};a.getNumViaPoints=function(){return this._viaPoints.length};a.getViaPoint=function(s){return this._viaPoints[s]};k.RouteSegment=function(s,x,u,t,v,w){this._indexInPolyline=s;this._distance=x;this._duration=u;this._action=t;this._angle=v;this._street=w};a=k.RouteSegment.prototype;a.getDistance=function(){return this._distance};a.getDuration=function(){return this._duration};a.getAction=function(){return this._action};a.getStreet=function(){return this._street};a.getAngle=function(){return this._angle};a.getPolylineIndex=function(){return this._indexInPolyline};k.ViaPoint=function(s){this._indexInPolyline=s};a=k.ViaPoint.prototype;a.getPolylineIndex=function(){return this._indexInPolyline};k.WayPoint=function(s,t){k.GeocoderResult.call(this,s,t)};a=o(k.WayPoint,k.GeocoderResult)});
