var GLOBAL_encodeURIComponent=encodeURIComponent,GLOBAL_Object=Object,GLOBAL_Error=Error,GLOBAL_String=String,GLOBAL_decodeURIComponent=decodeURIComponent,GLOBAL_Array=Array;function SETPROP_toString(a,b){return a.toString=b}function SETPROP_length(a,b){return a.length=b}function SETPROP_title(a,b){return a.title=b}function SETPROP_className(a,b){return a.className=b}function SETPROP_innerHTML(a,b){return a.innerHTML=b}function SETPROP_currentTarget(a,b){return a.currentTarget=b}
function SETPROP_target(a,b){return a.target=b}function SETPROP_keyCode(a,b){return a.keyCode=b}function SETPROP_type(a,b){return a.type=b}
var $$PROP_push="push",$$PROP_length="length",$$PROP_prototype="prototype",$$PROP_test="test",$$PROP_abort="abort",$$PROP_slice="slice",$$PROP_replace="replace",$$PROP_document="document",$$PROP_split="split",$$PROP_button="button",$$PROP_indexOf="indexOf",$$PROP_message="message",$$PROP_hasOwnProperty="hasOwnProperty",$$PROP_dispatchEvent="dispatchEvent",$$PROP_target="target",$$PROP_call="call",$$PROP_keyCode="keyCode",$$PROP_forEach="forEach",$$PROP_handleEvent="handleEvent",$$PROP_type="type",
$$PROP_contains="contains",$$PROP_apply="apply",$$PROP_parentNode="parentNode",$$PROP_fileName="fileName",$$PROP_join="join",$$PROP_unshift="unshift",goog=goog||{},goog$global=this;
var goog$exportPath_=function(a,b,c){var d=a[$$PROP_split]("."),e=c||goog$global,f;!(d[0]in e)&&e.execScript&&e.execScript("var "+d[0]);while(d[$$PROP_length]&&(f=d.shift()))if(!d[$$PROP_length]&&goog$isDef(b))e[f]=b;else e=e[f]?e[f]:(e[f]={})},goog$getObjectByName=function(a,b){var c=a[$$PROP_split]("."),d=b||goog$global;for(var e;e=c.shift();)if(d[e])d=d[e];else return null;return d},goog$nullFunction=function(){};
var goog$typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(typeof a[$$PROP_length]=="number"&&typeof a.splice!="undefined"&&!goog$propertyIsEnumerable_(a,"length"))return"array";if(typeof a[$$PROP_call]!="undefined")return"function"}else return"null";else if(b=="function"&&typeof a[$$PROP_call]=="undefined")return"object";return b},goog$propertyIsEnumerableCustom_=function(a,b){if(b in a)for(var c in a)if(c==b&&GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](a,b))return true;
return false};if(GLOBAL_Object[$$PROP_prototype].propertyIsEnumerable)var goog$propertyIsEnumerable_=function(a,b){return a instanceof GLOBAL_Object?GLOBAL_Object[$$PROP_prototype].propertyIsEnumerable[$$PROP_call](a,b):goog$propertyIsEnumerableCustom_(a,b)};else goog$propertyIsEnumerable_=goog$propertyIsEnumerableCustom_;
var goog$isDef=function(a){return typeof a!="undefined"},goog$isArray=function(a){return goog$typeOf(a)=="array"},goog$isArrayLike=function(a){var b=goog$typeOf(a);return b=="array"||b=="object"&&typeof a[$$PROP_length]=="number"},goog$isString=function(a){return typeof a=="string"},goog$isFunction=function(a){return goog$typeOf(a)=="function"},goog$isObject=function(a){var b=goog$typeOf(a);return b=="object"||b=="array"||b=="function"},goog$getHashCode=function(a){if(a[$$PROP_hasOwnProperty]&&a[$$PROP_hasOwnProperty](goog$HASH_CODE_PROPERTY_)){var b=
a[goog$HASH_CODE_PROPERTY_];if(b)return b}a[goog$HASH_CODE_PROPERTY_]||(a[goog$HASH_CODE_PROPERTY_]=++goog$hashCodeCounter_);return a[goog$HASH_CODE_PROPERTY_]},goog$HASH_CODE_PROPERTY_="closure_hashCode_",goog$hashCodeCounter_=0,goog$bind=function(a,b){var c=a.boundArgs_;if(arguments[$$PROP_length]>2){var d=GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,2);c&&d[$$PROP_unshift][$$PROP_apply](d,c);c=d}b=a.boundSelf_||b;a=a.boundFn_||a;var e,f=b||goog$global;e=c?function(){var g=
GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);g[$$PROP_unshift][$$PROP_apply](g,c);return a[$$PROP_apply](f,g)}:function(){return a[$$PROP_apply](f,arguments)};e.boundArgs_=c;e.boundSelf_=b;e.boundFn_=a;return e},goog$partial=function(a){var b=GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);b[$$PROP_unshift](a,null);return goog$bind[$$PROP_apply](null,b)},goog$now=Date.now||function(){return(new Date).getTime()},goog$getMsg=function(a,b){var c=b||{};for(var d in c)a=
a[$$PROP_replace](new RegExp("\\{\\$"+d+"\\}","gi"),c[d]);return a},goog$exportSymbol=function(a,b,c){goog$exportPath_(a,b,c)},goog$inherits=function(a,b){function c(){}c.prototype=b[$$PROP_prototype];a.superClass_=b[$$PROP_prototype];a.prototype=new c;a[$$PROP_prototype].constructor=a};
Function[$$PROP_prototype].bind=function(a){if(arguments[$$PROP_length]>1){var b=GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);b[$$PROP_unshift](this,a);return goog$bind[$$PROP_apply](null,b)}else return goog$bind(this,a)};var goog$array$indexOf=function(a,b,c){if(a[$$PROP_indexOf])return a[$$PROP_indexOf](b,c);if(GLOBAL_Array[$$PROP_indexOf])return GLOBAL_Array[$$PROP_indexOf](a,b,c);var d=c==null?0:c<0?Math.max(0,a[$$PROP_length]+c):c;for(var e=d;e<a[$$PROP_length];e++)if(e in a&&a[e]===b)return e;return-1},goog$array$forEach=function(a,b,c){if(a[$$PROP_forEach])a[$$PROP_forEach](b,c);else if(GLOBAL_Array[$$PROP_forEach])GLOBAL_Array[$$PROP_forEach](a,b,c);else{var d=a[$$PROP_length],e=goog$isString(a)?a[$$PROP_split](""):
a;for(var f=0;f<d;f++)f in e&&b[$$PROP_call](c,e[f],f,a)}},goog$array$contains=function(a,b){if(a[$$PROP_contains])return a[$$PROP_contains](b);return goog$array$indexOf(a,b)>-1},goog$array$remove=function(a,b){var c=goog$array$indexOf(a,b),d;if(d=c!=-1)GLOBAL_Array[$$PROP_prototype].splice[$$PROP_call](a,c,1)[$$PROP_length]==1;return d};
var goog$array$clone=function(a){if(goog$isArray(a))return a.concat();else{var b=[];for(var c=0,d=a[$$PROP_length];c<d;c++)b[c]=a[c];return b}},goog$array$toArray=function(a){if(goog$isArray(a))return a.concat();return goog$array$clone(a)},goog$array$extend=function(a){for(var b=1;b<arguments[$$PROP_length];b++){var c=arguments[b];if(goog$isArrayLike(c)){c=goog$array$toArray(c);a[$$PROP_push][$$PROP_apply](a,c)}else a[$$PROP_push](c)}},goog$array$splice=function(a){return GLOBAL_Array[$$PROP_prototype].splice[$$PROP_apply](a,
goog$array$slice(arguments,1))},goog$array$slice=function(a,b,c){return arguments[$$PROP_length]<=2?GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](a,b):GLOBAL_Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](a,b,c)};var goog$dom$defaultDomHelper_,goog$dom$classes$get=function(a){var b=a.className;return b&&typeof b[$$PROP_split]=="function"?b[$$PROP_split](" "):[]},goog$dom$classes$swap=function(a,b,c){var d=goog$dom$classes$get(a),e=false;for(var f=0;f<d[$$PROP_length];f++)if(d[f]==b){goog$array$splice(d,f--,1);e=true}if(e){d[$$PROP_push](c);SETPROP_className(a,d[$$PROP_join](" "))}return e};var goog$math$Coordinate=function(a,b){this.x=goog$isDef(a)?a:0;this.y=goog$isDef(b)?b:0};goog$math$Coordinate[$$PROP_prototype].clone=function(){return new goog$math$Coordinate(this.x,this.y)};SETPROP_toString(goog$math$Coordinate[$$PROP_prototype],function(){return"("+this.x+", "+this.y+")"});var goog$object$forEach=function(a,b,c){for(var d in a)b[$$PROP_call](c,a[d],d,a)},goog$object$getValues=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b},goog$object$getKeys=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b},goog$object$PROTOTYPE_FIELDS_=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],goog$object$extend=function(a){var b,c;for(var d=1;d<arguments[$$PROP_length];d++){c=arguments[d];for(b in c)a[b]=c[b];
for(var e=0;e<goog$object$PROTOTYPE_FIELDS_[$$PROP_length];e++){b=goog$object$PROTOTYPE_FIELDS_[e];if(GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](c,b))a[b]=c[b]}}};var goog$string$trim=function(a){return a[$$PROP_replace](/^[\s\xa0]+|[\s\xa0]+$/g,"")},goog$string$encodeUriRegExp_=/^[a-zA-Z0-9\-_.!~*'()]*$/,goog$string$urlEncode=function(a){a=GLOBAL_String(a);if(!goog$string$encodeUriRegExp_[$$PROP_test](a))return GLOBAL_encodeURIComponent(a);return a};
var goog$string$htmlEscape=function(a,b){if(b)return a[$$PROP_replace](goog$string$amperRe_,"&amp;")[$$PROP_replace](goog$string$ltRe_,"&lt;")[$$PROP_replace](goog$string$gtRe_,"&gt;")[$$PROP_replace](goog$string$quotRe_,"&quot;");else{if(!goog$string$allRe_[$$PROP_test](a))return a;if(a[$$PROP_indexOf]("&")!=-1)a=a[$$PROP_replace](goog$string$amperRe_,"&amp;");if(a[$$PROP_indexOf]("<")!=-1)a=a[$$PROP_replace](goog$string$ltRe_,"&lt;");if(a[$$PROP_indexOf](">")!=-1)a=a[$$PROP_replace](goog$string$gtRe_,
"&gt;");if(a[$$PROP_indexOf]('"')!=-1)a=a[$$PROP_replace](goog$string$quotRe_,"&quot;");return a}},goog$string$amperRe_=/&/g,goog$string$ltRe_=/</g,goog$string$gtRe_=/>/g,goog$string$quotRe_=/\"/g,goog$string$allRe_=/[&<>\"]/;
var goog$string$compareVersions=function(a,b){var c=0,d=goog$string$trim(GLOBAL_String(a))[$$PROP_split]("."),e=goog$string$trim(GLOBAL_String(b))[$$PROP_split]("."),f=Math.max(d[$$PROP_length],e[$$PROP_length]);for(var g=0;c==0&&g<f;g++){var h=d[g]||"",i=e[g]||"",k=new RegExp("(\\d*)(\\D*)","g"),j=new RegExp("(\\d*)(\\D*)","g");do{var l=k.exec(h)||["","",""],m=j.exec(i)||["","",""];if(l[0][$$PROP_length]==0&&m[0][$$PROP_length]==0)break;var n=l[1][$$PROP_length]==0?0:parseInt(l[1],10),o=m[1][$$PROP_length]==
0?0:parseInt(m[1],10);c=goog$string$compareElements_(n,o)||goog$string$compareElements_(l[2][$$PROP_length]==0,m[2][$$PROP_length]==0)||goog$string$compareElements_(l[2],m[2])}while(c==0)}return c},goog$string$compareElements_=function(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};var goog$userAgent$DETECTED_OPERA_,goog$userAgent$DETECTED_IE_,goog$userAgent$DETECTED_GECKO_,goog$userAgent$CAMINO,goog$userAgent$DETECTED_WEBKIT_,goog$userAgent$DETECTED_MOBILE_,goog$userAgent$VERSION,goog$userAgent$PLATFORM,goog$userAgent$MAC,goog$userAgent$WINDOWS,goog$userAgent$LINUX,goog$userAgent$getUserAgentString=function(){if(goog$global.navigator)return goog$global.navigator.userAgent;return null},goog$userAgent$init_=function(){var a=false,b=false,c=false,d=false,e=false,f=false,g=false,
h=false,i=false,k="",j=goog$userAgent$getUserAgentString();if(j){var l=goog$global.navigator;a=j[$$PROP_indexOf]("Opera")==0;b=!a&&j[$$PROP_indexOf]("MSIE")!=-1;c=!a&&j[$$PROP_indexOf]("WebKit")!=-1;i=c&&j[$$PROP_indexOf]("Mobile")!=-1;d=!a&&!c&&l.product=="Gecko";e=d&&l.vendor=="Camino";var m,n;if(goog$global.opera)m=goog$global.opera.version();else{if(d)n=/rv\:([^\);]+)(\)|;)/;else if(b)n=/MSIE\s+([^\);]+)(\)|;)/;else if(c)n=/WebKit\/(\S+)/;if(n){n[$$PROP_test](j);m=RegExp.$1}}k=l.platform||"";
f=k[$$PROP_indexOf]("Mac")!=-1;g=k[$$PROP_indexOf]("Win")!=-1;h=k[$$PROP_indexOf]("Linux")!=-1}goog$userAgent$DETECTED_OPERA_=a;goog$userAgent$DETECTED_IE_=b;goog$userAgent$DETECTED_GECKO_=d;goog$userAgent$CAMINO=e;goog$userAgent$DETECTED_WEBKIT_=c;goog$userAgent$DETECTED_MOBILE_=i;goog$userAgent$VERSION=m;goog$userAgent$PLATFORM=k;goog$userAgent$MAC=f;goog$userAgent$WINDOWS=g;goog$userAgent$LINUX=h};goog$userAgent$init_();
var goog$userAgent$IE=goog$userAgent$DETECTED_IE_,goog$userAgent$GECKO=goog$userAgent$DETECTED_GECKO_,goog$userAgent$WEBKIT=goog$userAgent$DETECTED_WEBKIT_;var goog$dom$getDefaultDomHelper_=function(){goog$dom$defaultDomHelper_||(goog$dom$defaultDomHelper_=new goog$dom$DomHelper);return goog$dom$defaultDomHelper_};var goog$dom$getElement=function(a){return goog$isString(a)?document.getElementById(a):a};
var goog$dom$appendChild=function(a,b){a.appendChild(b)},goog$dom$removeNode=function(a){return a&&a[$$PROP_parentNode]?a[$$PROP_parentNode].removeChild(a):null},goog$dom$BAD_CONTAINS_WEBKIT_=goog$userAgent$WEBKIT&&goog$string$compareVersions(goog$userAgent$VERSION,"521")<=0,goog$dom$contains=function(a,b){if(typeof a[$$PROP_contains]!="undefined"&&!goog$dom$BAD_CONTAINS_WEBKIT_&&b.nodeType==1)return a==b||a[$$PROP_contains](b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&
16);while(b&&a!=b)b=b[$$PROP_parentNode];return b==a},goog$dom$TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},goog$dom$PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"},goog$dom$getTextContent=function(a){var b;if(goog$userAgent$IE&&"innerText"in a)b=a.innerText[$$PROP_replace](/(\r\n|\r|\n)/g,"\n");else{var c=[];goog$dom$getTextContent_(a,c,true);b=c[$$PROP_join]("")}b=b[$$PROP_replace](/\xAD/g,"");b=b[$$PROP_replace](/ +/g," ");if(b!=" ")b=b[$$PROP_replace](/^\s*/,"");return b},goog$dom$getTextContent_=
function(a,b,c){if(!(a.nodeName in goog$dom$TAGS_TO_IGNORE_))if(a.nodeType==3)c?b[$$PROP_push](GLOBAL_String(a.nodeValue)[$$PROP_replace](/(\r\n|\r|\n)/g,"")):b[$$PROP_push](a.nodeValue);else if(a.nodeName in goog$dom$PREDEFINED_TAG_VALUES_)b[$$PROP_push](goog$dom$PREDEFINED_TAG_VALUES_[a.nodeName]);else{var d=a.firstChild;while(d){goog$dom$getTextContent_(d,b,c);d=d.nextSibling}}},goog$dom$DomHelper=function(a){this.document_=a||goog$global[$$PROP_document]||document};
goog$dom$DomHelper[$$PROP_prototype].createElement=function(a){return this.document_.createElement(a)};goog$dom$DomHelper[$$PROP_prototype].createTextNode=function(a){return this.document_.createTextNode(a)};goog$dom$DomHelper[$$PROP_prototype].appendChild=goog$dom$appendChild;goog$dom$DomHelper[$$PROP_prototype].removeNode=goog$dom$removeNode;goog$dom$DomHelper[$$PROP_prototype].contains=goog$dom$contains;goog$dom$DomHelper[$$PROP_prototype].getTextContent=goog$dom$getTextContent;var goog$Disposable=function(){};goog$Disposable[$$PROP_prototype].disposed_=false;goog$Disposable[$$PROP_prototype].dispose=function(){if(!this.disposed_){this.disposeInternal();this.disposed_=true}};goog$Disposable[$$PROP_prototype].disposeInternal=function(){};var goog$structs$SimplePool=function(a,b){goog$Disposable[$$PROP_call](this);this.maxCount_=b;this.freeQueue_=[];this.createInitial_(a)};goog$inherits(goog$structs$SimplePool,goog$Disposable);goog$structs$SimplePool[$$PROP_prototype].createObjectFn_=null;goog$structs$SimplePool[$$PROP_prototype].disposeObjectFn_=null;goog$structs$SimplePool[$$PROP_prototype].setCreateObjectFn=function(a){this.createObjectFn_=a};
goog$structs$SimplePool[$$PROP_prototype].setDisposeObjectFn=function(a){this.disposeObjectFn_=a};goog$structs$SimplePool[$$PROP_prototype].getObject=function(){if(this.freeQueue_[$$PROP_length])return this.freeQueue_.pop();return this.createObject()};goog$structs$SimplePool[$$PROP_prototype].releaseObject=function(a){this.freeQueue_[$$PROP_length]<this.maxCount_?this.freeQueue_[$$PROP_push](a):this.disposeObject(a)};
goog$structs$SimplePool[$$PROP_prototype].createInitial_=function(a){if(a>this.maxCount_)throw GLOBAL_Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var b=0;b<a;b++)this.freeQueue_[$$PROP_push](this.createObject())};goog$structs$SimplePool[$$PROP_prototype].createObject=function(){return this.createObjectFn_?this.createObjectFn_():{}};
goog$structs$SimplePool[$$PROP_prototype].disposeObject=function(a){if(this.disposeObjectFn_)this.disposeObjectFn_(a);else if(goog$isFunction(a.dispose))a.dispose();else for(var b in a)delete a[b]};goog$structs$SimplePool[$$PROP_prototype].disposeInternal=function(){goog$structs$SimplePool.superClass_.disposeInternal[$$PROP_call](this);var a=this.freeQueue_;while(a[$$PROP_length])this.disposeObject(a.pop());delete this.freeQueue_};var goog$events$Event=function(a,b){SETPROP_type(this,a);SETPROP_target(this,b);SETPROP_currentTarget(this,this[$$PROP_target])};goog$inherits(goog$events$Event,goog$Disposable);goog$events$Event[$$PROP_prototype].disposeInternal=function(){delete this[$$PROP_type];delete this[$$PROP_target];delete this.currentTarget};goog$events$Event[$$PROP_prototype].propagationStopped_=false;goog$events$Event[$$PROP_prototype].returnValue_=true;
goog$events$Event[$$PROP_prototype].stopPropagation=function(){this.propagationStopped_=true};goog$events$Event[$$PROP_prototype].preventDefault=function(){this.returnValue_=false};var goog$events$BrowserEvent=function(a,b){a&&this.init(a,b)};goog$inherits(goog$events$BrowserEvent,goog$events$Event);SETPROP_type(goog$events$BrowserEvent[$$PROP_prototype],null);SETPROP_target(goog$events$BrowserEvent[$$PROP_prototype],null);goog$events$BrowserEvent[$$PROP_prototype].relatedTarget=null;goog$events$BrowserEvent[$$PROP_prototype].offsetX=0;goog$events$BrowserEvent[$$PROP_prototype].offsetY=0;goog$events$BrowserEvent[$$PROP_prototype].clientX=0;
goog$events$BrowserEvent[$$PROP_prototype].clientY=0;goog$events$BrowserEvent[$$PROP_prototype].screenX=0;goog$events$BrowserEvent[$$PROP_prototype].screenY=0;goog$events$BrowserEvent[$$PROP_prototype].button=0;SETPROP_keyCode(goog$events$BrowserEvent[$$PROP_prototype],0);goog$events$BrowserEvent[$$PROP_prototype].charCode=0;goog$events$BrowserEvent[$$PROP_prototype].ctrlKey=false;goog$events$BrowserEvent[$$PROP_prototype].altKey=false;goog$events$BrowserEvent[$$PROP_prototype].shiftKey=false;
goog$events$BrowserEvent[$$PROP_prototype].metaKey=false;goog$events$BrowserEvent[$$PROP_prototype].event_=null;
goog$events$BrowserEvent[$$PROP_prototype].init=function(a,b){SETPROP_type(this,a[$$PROP_type]);SETPROP_target(this,a[$$PROP_target]||a.srcElement);SETPROP_currentTarget(this,b);this.relatedTarget=a.relatedTarget?a.relatedTarget:this[$$PROP_type]=="mouseover"?a.fromElement:this[$$PROP_type]=="mouseout"?a.toElement:null;this.offsetX=typeof a.layerX=="number"?a.layerX:a.offsetX;this.offsetY=typeof a.layerY=="number"?a.layerY:a.offsetY;this.clientX=typeof a.clientX=="number"?a.clientX:a.pageX;this.clientY=
typeof a.clientY=="number"?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a[$$PROP_button];SETPROP_keyCode(this,a[$$PROP_keyCode]||0);this.charCode=a.charCode||(this[$$PROP_type]=="keypress"?a[$$PROP_keyCode]:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.event_=a;delete this.returnValue_;delete this.propagationStopped_};
goog$events$BrowserEvent[$$PROP_prototype].stopPropagation=function(){this.propagationStopped_=true;if(this.event_.stopPropagation)this.event_.stopPropagation();else this.event_.cancelBubble=true};goog$events$BrowserEvent[$$PROP_prototype].preventDefault=function(){this.returnValue_=false;if(this.event_.preventDefault)this.event_.preventDefault();else{this.event_.returnValue=false;try{SETPROP_keyCode(this.event_,-1)}catch(a){}}};
goog$events$BrowserEvent[$$PROP_prototype].disposeInternal=function(){goog$events$BrowserEvent.superClass_.disposeInternal[$$PROP_call](this);this.event_=null};var goog$events$Listener=function(){},goog$events$Listener$counter_=0;goog$events$Listener[$$PROP_prototype].isFunctionListener_=null;goog$events$Listener[$$PROP_prototype].listener=null;goog$events$Listener[$$PROP_prototype].proxy=null;goog$events$Listener[$$PROP_prototype].src=null;SETPROP_type(goog$events$Listener[$$PROP_prototype],null);goog$events$Listener[$$PROP_prototype].capture=null;goog$events$Listener[$$PROP_prototype].handler=null;goog$events$Listener[$$PROP_prototype].key=0;
goog$events$Listener[$$PROP_prototype].removed=false;goog$events$Listener[$$PROP_prototype].callOnce=false;
goog$events$Listener[$$PROP_prototype].init=function(a,b,c,d,e,f){if(goog$isFunction(a))this.isFunctionListener_=true;else if(a&&a[$$PROP_handleEvent]&&goog$isFunction(a[$$PROP_handleEvent]))this.isFunctionListener_=false;else throw GLOBAL_Error("Invalid listener argument");this.listener=a;this.proxy=b;this.src=c;SETPROP_type(this,d);this.capture=!!e;this.handler=f;this.callOnce=false;this.key=++goog$events$Listener$counter_;this.removed=false};
goog$events$Listener[$$PROP_prototype].handleEvent=function(a){if(this.isFunctionListener_)return this.listener[$$PROP_call](this.handler||this.src,a);return this.listener[$$PROP_handleEvent][$$PROP_call](this.listener,a)};var goog$events$listeners_={},goog$events$listenerTree_={},goog$events$sources_={},goog$events$objectPool_=new goog$structs$SimplePool(0,600);goog$events$objectPool_.setCreateObjectFn(function(){return{count_:0}});goog$events$objectPool_.setDisposeObjectFn(function(a){a.count_=0});var goog$events$arrayPool_=new goog$structs$SimplePool(0,600);goog$events$arrayPool_.setCreateObjectFn(function(){return[]});goog$events$arrayPool_.setDisposeObjectFn(function(a){SETPROP_length(a,0);delete a.locked_;delete a.needsCleanup_});
var goog$events$handleEventProxyPool_=new goog$structs$SimplePool(0,600);goog$events$handleEventProxyPool_.setCreateObjectFn(function(){var a=function(b){return goog$events$handleBrowserEvent_[$$PROP_call](a.src,a.key,b)};return a});var goog$events$createListenerFunction_=function(){return new goog$events$Listener},goog$events$listenerPool_=new goog$structs$SimplePool(0,600);goog$events$listenerPool_.setCreateObjectFn(goog$events$createListenerFunction_);
var goog$events$createEventFunction_=function(){return new goog$events$BrowserEvent},goog$events$createEventPool_=function(){var a=null;if(goog$userAgent$IE){a=new goog$structs$SimplePool(0,600);a.setCreateObjectFn(goog$events$createEventFunction_)}return a},goog$events$eventPool_=goog$events$createEventPool_(),goog$events$onString_="on",goog$events$onStringMap_={},goog$events$listen=function(a,b,c,d,e){if(b)if(goog$isArray(b)){for(var f=0;f<b[$$PROP_length];f++)goog$events$listen(a,b[f],c,d,e);return null}else{var g=
!!d,h=goog$events$listenerTree_;b in h||(h[b]=goog$events$objectPool_.getObject());h=h[b];if(!(g in h)){h[g]=goog$events$objectPool_.getObject();h.count_++}h=h[g];var i=goog$getHashCode(a),k,j;if(h[i]){k=h[i];for(var f=0;f<k[$$PROP_length];f++){j=k[f];if(j.listener==c&&j.handler==e){if(j.removed)break;return k[f].key}}}else{k=h[i]=goog$events$arrayPool_.getObject();h.count_++}var l=goog$events$handleEventProxyPool_.getObject();l.src=a;j=goog$events$listenerPool_.getObject();j.init(c,l,a,b,g,e);var m=
j.key;l.key=m;k[$$PROP_push](j);goog$events$listeners_[m]=j;goog$events$sources_[i]||(goog$events$sources_[i]=goog$events$arrayPool_.getObject());goog$events$sources_[i][$$PROP_push](j);if(a.addEventListener){if(a==goog$global||!a.customEvent_)a.addEventListener(b,l,g)}else a.attachEvent(goog$events$getOnString_(b),l);return m}else throw GLOBAL_Error("Invalid event type");},goog$events$unlisten=function(a,b,c,d,e){if(goog$isArray(b)){for(var f=0;f<b[$$PROP_length];f++)goog$events$unlisten(a,b[f],
c,d,e);return null}var g=!!d,h=goog$events$getListeners_(a,b,g);if(!h)return false;for(var f=0;f<h[$$PROP_length];f++)if(h[f].listener==c&&h[f].capture==g&&h[f].handler==e)return goog$events$unlistenByKey(h[f].key);return false},goog$events$unlistenByKey=function(a){if(!goog$events$listeners_[a])return false;var b=goog$events$listeners_[a];if(b.removed)return false;var c=b.src,d=b[$$PROP_type],e=b.proxy,f=b.capture;if(c.removeEventListener){if(c==goog$global||!c.customEvent_)c.removeEventListener(d,
e,f)}else c.detachEvent&&c.detachEvent(goog$events$getOnString_(d),e);var g=goog$getHashCode(c),h=goog$events$listenerTree_[d][f][g];if(goog$events$sources_[g]){var i=goog$events$sources_[g];goog$array$remove(i,b);i[$$PROP_length]==0&&delete goog$events$sources_[g]}b.removed=true;h.needsCleanup_=true;goog$events$cleanUp_(d,f,g,h);delete goog$events$listeners_[a];return true},goog$events$cleanUp_=function(a,b,c,d){if(!d.locked_)if(d.needsCleanup_){for(var e=0,f=0;e<d[$$PROP_length];e++){if(d[e].removed){goog$events$listenerPool_.releaseObject(d[e]);
continue}if(e!=f)d[f]=d[e];f++}SETPROP_length(d,f);d.needsCleanup_=false;if(f==0){goog$events$arrayPool_.releaseObject(d);delete goog$events$listenerTree_[a][b][c];goog$events$listenerTree_[a][b].count_--;if(goog$events$listenerTree_[a][b].count_==0){goog$events$objectPool_.releaseObject(goog$events$listenerTree_[a][b]);delete goog$events$listenerTree_[a][b];goog$events$listenerTree_[a].count_--}if(goog$events$listenerTree_[a].count_==0){goog$events$objectPool_.releaseObject(goog$events$listenerTree_[a]);
delete goog$events$listenerTree_[a]}}}},goog$events$removeAll=function(a,b,c){var d=0,e=a==null,f=b==null,g=c==null;c=!!c;if(e)goog$object$forEach(goog$events$sources_,function(l){for(var m=l[$$PROP_length]-1;m>=0;m--){var n=l[m];if((f||b==n[$$PROP_type])&&(g||c==n.capture)){goog$events$unlistenByKey(n.key);d++}}});else{var h=goog$getHashCode(a);if(goog$events$sources_[h]){var i=goog$events$sources_[h];for(var k=i[$$PROP_length]-1;k>=0;k--){var j=i[k];if((f||b==j[$$PROP_type])&&(g||c==j.capture)){goog$events$unlistenByKey(j.key);
d++}}}}return d},goog$events$getListeners_=function(a,b,c){var d=goog$events$listenerTree_;if(b in d){d=d[b];if(c in d){d=d[c];var e=goog$getHashCode(a);if(d[e])return d[e]}}return null},goog$events$getOnString_=function(a){if(a in goog$events$onStringMap_)return goog$events$onStringMap_[a];return goog$events$onStringMap_[a]=goog$events$onString_+a},goog$events$fireListeners=function(a,b,c,d){var e=1,f=goog$events$listenerTree_;if(b in f){f=f[b];if(c in f){f=f[c];var g=goog$getHashCode(a);if(f[g]){var h=
f[g];if(h.locked_)h.locked_++;else h.locked_=1;try{var i=h[$$PROP_length];for(var k=0;k<i;k++){var j=h[k];if(j&&!j.removed)e&=goog$events$fireListener(j,d)!==false}}finally{h.locked_--;goog$events$cleanUp_(b,c,g,h)}}}}return Boolean(e)},goog$events$fireListener=function(a,b){var c=a[$$PROP_handleEvent](b);a.callOnce&&goog$events$unlistenByKey(a.key);return c},goog$events$dispatchEvent=function(a,b){if(goog$isString(b))b=new goog$events$Event(b,a);else if(b instanceof goog$events$Event)SETPROP_target(b,
b[$$PROP_target]||a);else{var c=b;b=new goog$events$Event(b[$$PROP_type],a);goog$object$extend(b,c)}var d=1,e,f=b[$$PROP_type],g=goog$events$listenerTree_;if(!(f in g))return true;g=g[f];var h=true in g,i=false in g;if(h){e=[];for(var k=a;k;k=k.getParentEventTarget())e[$$PROP_push](k);for(var j=e[$$PROP_length]-1;!b.propagationStopped_&&j>=0;j--){SETPROP_currentTarget(b,e[j]);d&=goog$events$fireListeners(e[j],b[$$PROP_type],true,b)&&b.returnValue_!=false}}if(i)if(h)for(var j=0;!b.propagationStopped_&&
j<e[$$PROP_length];j++){SETPROP_currentTarget(b,e[j]);d&=goog$events$fireListeners(e[j],b[$$PROP_type],false,b)&&b.returnValue_!=false}else for(var l=a;!b.propagationStopped_&&l;l=l.getParentEventTarget()){SETPROP_currentTarget(b,l);d&=goog$events$fireListeners(l,b[$$PROP_type],false,b)&&b.returnValue_!=false}return Boolean(d)},goog$events$handleBrowserEvent_=function(a,b){if(!goog$events$listeners_[a])return true;var c=goog$events$listeners_[a],d=c[$$PROP_type],e=goog$events$listenerTree_;if(!(d in
e))return true;e=e[d];var f;if(goog$userAgent$IE){var g=b||goog$getObjectByName("window.event"),h=true in e;if(h){if(g[$$PROP_keyCode]<0||g.returnValue!=undefined)return true;goog$events$markIeEvent_(g)}goog$getHashCode(c.src);var i=goog$events$eventPool_.getObject();i.init(g,this);f=true;try{if(h){var k=goog$events$arrayPool_.getObject();for(var j=i.currentTarget;j;j=j[$$PROP_parentNode])k[$$PROP_push](j);for(var l=k[$$PROP_length]-1;!i.propagationStopped_&&l>=0;l--){SETPROP_currentTarget(i,k[l]);
f&=goog$events$fireListeners(k[l],d,true,i)}for(var l=0;!i.propagationStopped_&&l<k[$$PROP_length];l++){SETPROP_currentTarget(i,k[l]);f&=goog$events$fireListeners(k[l],d,false,i)}}else f=goog$events$fireListener(c,i)}finally{if(k){SETPROP_length(k,0);goog$events$arrayPool_.releaseObject(k)}i.dispose();goog$events$eventPool_.releaseObject(i)}return f}var m=new goog$events$BrowserEvent(b,this);try{f=goog$events$fireListener(c,m)}finally{m.dispose()}return f},goog$events$markIeEvent_=function(a){var b=
false;if(a[$$PROP_keyCode]==0)try{SETPROP_keyCode(a,-1);return}catch(c){b=true}if(b||a.returnValue==undefined)a.returnValue=true};if("StopIteration"in goog$global)var goog$iter$StopIteration=goog$global.StopIteration;else goog$iter$StopIteration=GLOBAL_Error("StopIteration");var goog$iter$Iterator=function(){};goog$iter$Iterator[$$PROP_prototype].next=function(){throw goog$iter$StopIteration;};goog$iter$Iterator[$$PROP_prototype].__iterator__=function(){return this};var goog$structs$getValues=function(a){if(typeof a.getValues=="function")return a.getValues();if(goog$isString(a))return a[$$PROP_split]("");if(goog$isArrayLike(a)){var b=[],c=a[$$PROP_length];for(var d=0;d<c;d++)b[$$PROP_push](a[d]);return b}return goog$object$getValues(a)},goog$structs$getKeys=function(a){if(typeof a.getKeys=="function")return a.getKeys();if(typeof a.getValues=="function")return undefined;if(goog$isArrayLike(a)||goog$isString(a)){var b=[],c=a[$$PROP_length];for(var d=0;d<c;d++)b[$$PROP_push](d);
return b}return goog$object$getKeys(a)},goog$structs$forEach=function(a,b,c){if(typeof a[$$PROP_forEach]=="function")a[$$PROP_forEach](b,c);else if(goog$isArrayLike(a)||goog$isString(a))goog$array$forEach(a,b,c);else{var d=goog$structs$getKeys(a),e=goog$structs$getValues(a),f=e[$$PROP_length];for(var g=0;g<f;g++)b[$$PROP_call](c,e[g],d&&d[g],a)}};var goog$structs$Map=function(a){this.map_={};this.keys_=[];var b=arguments[$$PROP_length];if(b>1){if(b%2)throw GLOBAL_Error("Uneven number of arguments");for(var c=0;c<b;c+=2)this.set(arguments[c],arguments[c+1])}else a&&this.addAll(a)};goog$structs$Map[$$PROP_prototype].count_=0;goog$structs$Map[$$PROP_prototype].version_=0;goog$structs$Map[$$PROP_prototype].getCount=function(){return this.count_};
goog$structs$Map[$$PROP_prototype].getValues=function(){this.cleanupKeysArray_();var a=[];for(var b=0;b<this.keys_[$$PROP_length];b++){var c=this.keys_[b];a[$$PROP_push](this.map_[c])}return a};goog$structs$Map[$$PROP_prototype].getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog$structs$Map[$$PROP_prototype].containsKey=function(a){return goog$structs$Map$hasKey_(this.map_,a)};
goog$structs$Map[$$PROP_prototype].equals=function(a,b){if(this===a)return true;if(this.count_!=a.getCount())return false;var c=b||goog$structs$Map$defaultEquals;this.cleanupKeysArray_();for(var d,e=0;d=this.keys_[e];e++)if(!c(this.get(d),a.get(d)))return false;return true};var goog$structs$Map$defaultEquals=function(a,b){return a===b};goog$structs$Map[$$PROP_prototype].isEmpty=function(){return this.count_==0};
goog$structs$Map[$$PROP_prototype].clear=function(){this.map_={};SETPROP_length(this.keys_,0);this.count_=0;this.version_=0};goog$structs$Map[$$PROP_prototype].remove=function(a){if(goog$structs$Map$hasKey_(this.map_,a)){delete this.map_[a];this.count_--;this.version_++;this.keys_[$$PROP_length]>2*this.count_&&this.cleanupKeysArray_();return true}return false};
goog$structs$Map[$$PROP_prototype].cleanupKeysArray_=function(){if(this.count_!=this.keys_[$$PROP_length]){var a=0,b=0;while(a<this.keys_[$$PROP_length]){var c=this.keys_[a];if(goog$structs$Map$hasKey_(this.map_,c))this.keys_[b++]=c;a++}SETPROP_length(this.keys_,b)}if(this.count_!=this.keys_[$$PROP_length]){var d={},a=0,b=0;while(a<this.keys_[$$PROP_length]){var c=this.keys_[a];if(!goog$structs$Map$hasKey_(d,c)){this.keys_[b++]=c;d[c]=1}a++}SETPROP_length(this.keys_,b)}};
goog$structs$Map[$$PROP_prototype].get=function(a,b){if(goog$structs$Map$hasKey_(this.map_,a))return this.map_[a];return b};goog$structs$Map[$$PROP_prototype].set=function(a,b){if(!goog$structs$Map$hasKey_(this.map_,a)){this.count_++;this.keys_[$$PROP_push](a);this.version_++}this.map_[a]=b};
goog$structs$Map[$$PROP_prototype].addAll=function(a){var b,c;if(a instanceof goog$structs$Map){b=a.getKeys();c=a.getValues()}else{b=goog$object$getKeys(a);c=goog$object$getValues(a)}for(var d=0;d<b[$$PROP_length];d++)this.set(b[d],c[d])};goog$structs$Map[$$PROP_prototype].clone=function(){return new goog$structs$Map(this)};
goog$structs$Map[$$PROP_prototype].__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.keys_,d=this.map_,e=this.version_,f=this,g=new goog$iter$Iterator;g.next=function(){while(true){if(e!=f.version_)throw GLOBAL_Error("The map has changed since the iterator was created");if(b>=c[$$PROP_length])throw goog$iter$StopIteration;var h=c[b++];return a?h:d[h]}};return g};
if(GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty])var goog$structs$Map$hasKey_=function(a,b){return GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](a,b)};else goog$structs$Map$hasKey_=function(a,b){return b in a&&a[b]!==GLOBAL_Object[$$PROP_prototype][b]};var goog$debug$exposeException=function(a,b){try{var c=goog$debug$normalizeErrorObject(a),d="Message: "+goog$string$htmlEscape(c[$$PROP_message])+'\nUrl: <a href="view-source:'+c[$$PROP_fileName]+'" target="_new">'+c[$$PROP_fileName]+"</a>\nLine: "+c.lineNumber+"\n\nBrowser stack:\n"+goog$string$htmlEscape(c.stack+"-> ")+"[end]\n\nJS stack traversal:\n"+goog$string$htmlEscape(goog$debug$getStacktrace(b)+"-> ");return d}catch(e){return"Exception trying to expose exception! You win, we lose. "+e}},
goog$debug$normalizeErrorObject=function(a){var b=goog$getObjectByName("window.location.href");return typeof a=="string"?{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"}:!a.lineNumber||!a[$$PROP_fileName]||!a.stack?{message:a[$$PROP_message],name:a.name,lineNumber:a.lineNumber||a.line||"Not available",fileName:a[$$PROP_fileName]||a.sourceURL||b,stack:a.stack||"Not available"}:a},goog$debug$getStacktrace=function(a){return goog$debug$getStacktraceHelper_(a||
arguments.callee.caller,[])},goog$debug$getStacktraceHelper_=function(a,b){var c=[];if(goog$array$contains(b,a))c[$$PROP_push]("[...circular reference...]");else if(a&&b[$$PROP_length]<50){c[$$PROP_push](goog$debug$getFunctionName(a)+"(");var d=a.arguments;for(var e=0;e<d[$$PROP_length];e++){e>0&&c[$$PROP_push](", ");var f,g=d[e];switch(typeof g){case "object":f=g?"object":"null";break;case "string":f=g;break;case "number":f=GLOBAL_String(g);break;case "boolean":f=g?"true":"false";break;case "function":f=
goog$debug$getFunctionName(g);f=f?f:"[fn]";break;case "undefined":default:f=typeof g;break}if(f[$$PROP_length]>40)f=f.substr(0,40)+"...";c[$$PROP_push](f)}b[$$PROP_push](a);c[$$PROP_push](")\n");try{c[$$PROP_push](goog$debug$getStacktraceHelper_(a.caller,b))}catch(h){c[$$PROP_push]("[exception trying to get caller]\n")}}else a?c[$$PROP_push]("[...long stack...]"):c[$$PROP_push]("[end]");return c[$$PROP_join]("")},goog$debug$getFunctionName=function(a){var b=GLOBAL_String(a);if(!goog$debug$fnNameCache_[b]){var c=
/function ([^\(]+)/.exec(b);if(c){var d=c[1];goog$debug$fnNameCache_[b]=d}else goog$debug$fnNameCache_[b]="[Anonymous]"}return goog$debug$fnNameCache_[b]},goog$debug$fnNameCache_={};var goog$debug$LogRecord=function(a,b,c,d,e){this.sequenceNumber_=typeof e=="number"?e:goog$debug$LogRecord$nextSequenceNumber_++;this.time_=d||goog$now();this.level_=a;this.msg_=b;this.loggerName_=c};goog$debug$LogRecord[$$PROP_prototype].exception_=null;goog$debug$LogRecord[$$PROP_prototype].exceptionText_=null;var goog$debug$LogRecord$nextSequenceNumber_=0;goog$debug$LogRecord[$$PROP_prototype].setException=function(a){this.exception_=a};
goog$debug$LogRecord[$$PROP_prototype].setExceptionText=function(a){this.exceptionText_=a};goog$debug$LogRecord[$$PROP_prototype].getLevel=function(){return this.level_};goog$debug$LogRecord[$$PROP_prototype].setLevel=function(a){this.level_=a};var goog$debug$Logger=function(a){this.name_=a;this.parent_=null;this.children_={};this.handlers_=[]};goog$debug$Logger[$$PROP_prototype].level_=null;var goog$debug$Logger$Level=function(a,b){this.name=a;this.value=b};SETPROP_toString(goog$debug$Logger$Level[$$PROP_prototype],function(){return this.name});new goog$debug$Logger$Level("OFF",Infinity);new goog$debug$Logger$Level("SHOUT",1200);new goog$debug$Logger$Level("SEVERE",1000);
var goog$debug$Logger$Level$WARNING=new goog$debug$Logger$Level("WARNING",900);new goog$debug$Logger$Level("INFO",800);var goog$debug$Logger$Level$CONFIG=new goog$debug$Logger$Level("CONFIG",700),goog$debug$Logger$Level$FINE=new goog$debug$Logger$Level("FINE",500);new goog$debug$Logger$Level("FINER",400);var goog$debug$Logger$Level$FINEST=new goog$debug$Logger$Level("FINEST",300);new goog$debug$Logger$Level("ALL",0);goog$debug$Logger[$$PROP_prototype].getName=function(){return this.name_};
goog$debug$Logger[$$PROP_prototype].getParent=function(){return this.parent_};goog$debug$Logger[$$PROP_prototype].setLevel=function(a){this.level_=a};goog$debug$Logger[$$PROP_prototype].getLevel=function(){return this.level_};goog$debug$Logger[$$PROP_prototype].isLoggable=function(a){if(this.level_)return a.value>=this.level_.value;if(this.parent_)return this.parent_.isLoggable(a);return false};
goog$debug$Logger[$$PROP_prototype].log=function(a,b,c){this.isLoggable(a)&&this.logRecord(this.getLogRecord(a,b,c))};goog$debug$Logger[$$PROP_prototype].getLogRecord=function(a,b,c){var d=new goog$debug$LogRecord(a,GLOBAL_String(b),this.name_);if(c){d.setException(c);d.setExceptionText(goog$debug$exposeException(c,arguments.callee.caller))}return d};goog$debug$Logger[$$PROP_prototype].warning=function(a,b){this.log(goog$debug$Logger$Level$WARNING,a,b)};
goog$debug$Logger[$$PROP_prototype].fine=function(a,b){this.log(goog$debug$Logger$Level$FINE,a,b)};goog$debug$Logger[$$PROP_prototype].finest=function(a,b){this.log(goog$debug$Logger$Level$FINEST,a,b)};goog$debug$Logger[$$PROP_prototype].logRecord=function(a){if(this.isLoggable(a.getLevel())){var b=this;while(b){b.callPublish_(a);b=b.getParent()}}};goog$debug$Logger[$$PROP_prototype].callPublish_=function(a){for(var b=0;b<this.handlers_[$$PROP_length];b++)this.handlers_[b](a)};
goog$debug$Logger[$$PROP_prototype].setParent_=function(a){this.parent_=a};goog$debug$Logger[$$PROP_prototype].addChild_=function(a,b){this.children_[a]=b};
var goog$debug$LogManager$loggers_={},goog$debug$LogManager$rootLogger_=null,goog$debug$LogManager$initialize=function(){if(!goog$debug$LogManager$rootLogger_){goog$debug$LogManager$rootLogger_=new goog$debug$Logger("");goog$debug$LogManager$loggers_[""]=goog$debug$LogManager$rootLogger_;goog$debug$LogManager$rootLogger_.setLevel(goog$debug$Logger$Level$CONFIG)}},goog$debug$LogManager$getLogger=function(a){goog$debug$LogManager$initialize();return a in goog$debug$LogManager$loggers_?goog$debug$LogManager$loggers_[a]:
goog$debug$LogManager$createLogger_(a)},goog$debug$LogManager$createLogger_=function(a){var b=new goog$debug$Logger(a),c=a[$$PROP_split]("."),d=c[c[$$PROP_length]-1];SETPROP_length(c,c[$$PROP_length]-1);var e=c[$$PROP_join]("."),f=goog$debug$LogManager$getLogger(e);f.addChild_(d,b);b.setParent_(f);goog$debug$LogManager$loggers_[a]=b;return b};var goog$events$EventTarget=function(){};goog$inherits(goog$events$EventTarget,goog$Disposable);goog$events$EventTarget[$$PROP_prototype].customEvent_=true;goog$events$EventTarget[$$PROP_prototype].parentEventTarget_=null;goog$events$EventTarget[$$PROP_prototype].getParentEventTarget=function(){return this.parentEventTarget_};goog$events$EventTarget[$$PROP_prototype].addEventListener=function(a,b,c,d){goog$events$listen(this,a,b,c,d)};
goog$events$EventTarget[$$PROP_prototype].removeEventListener=function(a,b,c,d){goog$events$unlisten(this,a,b,c,d)};goog$events$EventTarget[$$PROP_prototype].dispatchEvent=function(a){return goog$events$dispatchEvent(this,a)};goog$events$EventTarget[$$PROP_prototype].disposeInternal=function(){goog$events$EventTarget.superClass_.disposeInternal[$$PROP_call](this);goog$events$removeAll(this);this.parentEventTarget_=null};var goog$Timer$defaultTimerObject=goog$global.window,goog$Timer$callOnce=function(a,b,c){if(goog$isFunction(a)){if(c)a=goog$bind(a,c)}else if(a&&typeof a[$$PROP_handleEvent]=="function")a=goog$bind(a[$$PROP_handleEvent],a);else throw GLOBAL_Error("Invalid listener argument");return goog$Timer$defaultTimerObject.setTimeout(a,b||0)};var goog$net$EventType$COMPLETE="complete";var goog$net$XhrMonitor_=function(){if(!goog$userAgent$GECKO)return;this.contextsToXhr_={};this.xhrToContexts_={};this.stack_=[]};goog$net$XhrMonitor_[$$PROP_prototype].logger_=goog$debug$LogManager$getLogger("goog.net.xhrMonitor");goog$net$XhrMonitor_[$$PROP_prototype].pushContext=function(a){if(!goog$userAgent$GECKO)return;var b=goog$isString(a)?a:goog$isObject(a)?goog$getHashCode(a):"";this.logger_.finest("Pushing context: "+a+" ("+b+")");this.stack_[$$PROP_push](b)};
goog$net$XhrMonitor_[$$PROP_prototype].popContext=function(){if(!goog$userAgent$GECKO)return;var a=this.stack_.pop();this.logger_.finest("Popping context: "+a);this.updateDependentContexts_(a)};goog$net$XhrMonitor_[$$PROP_prototype].markXhrOpen=function(a){if(!goog$userAgent$GECKO)return;var b=goog$getHashCode(a);this.logger_.fine("Opening XHR : "+b);for(var c=0;c<this.stack_[$$PROP_length];c++){var d=this.stack_[c];this.addToMap_(this.contextsToXhr_,d,b);this.addToMap_(this.xhrToContexts_,b,d)}};
goog$net$XhrMonitor_[$$PROP_prototype].markXhrClosed=function(a){if(!goog$userAgent$GECKO)return;var b=goog$getHashCode(a);this.logger_.fine("Closing XHR : "+b);delete this.xhrToContexts_[b];for(var c in this.contextsToXhr_){goog$array$remove(this.contextsToXhr_[c],b);this.contextsToXhr_[c][$$PROP_length]==0&&delete this.contextsToXhr_[c]}};
goog$net$XhrMonitor_[$$PROP_prototype].updateDependentContexts_=function(a){var b=this.xhrToContexts_[a],c=this.contextsToXhr_[a];if(b&&c){this.logger_.finest("Updating dependent contexts");goog$array$forEach(b,function(d){goog$array$forEach(c,function(e){this.addToMap_(this.contextsToXhr_,d,e);this.addToMap_(this.xhrToContexts_,e,d)},this)},this)}};goog$net$XhrMonitor_[$$PROP_prototype].addToMap_=function(a,b,c){a[b]||(a[b]=[]);goog$array$contains(a[b],c)||a[b][$$PROP_push](c)};
var goog$net$xhrMonitor=new goog$net$XhrMonitor_;var goog$net$XmlHttp=function(){return goog$net$XmlHttp$factory_()};
var goog$net$XmlHttp$factory_=null,goog$net$XmlHttp$optionsFactory_=null,goog$net$XmlHttp$cachedOptions_=null,goog$net$XmlHttp$setFactory=function(a,b){goog$net$XmlHttp$factory_=a;goog$net$XmlHttp$optionsFactory_=b;goog$net$XmlHttp$cachedOptions_=null},goog$net$XmlHttp$defaultFactory_=function(){var a=goog$net$XmlHttp$getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest},goog$net$XmlHttp$defaultOptionsFactory_=function(){var a=goog$net$XmlHttp$getProgId_(),b={};if(a){b[0]=true;b[1]=true}return b};
goog$net$XmlHttp$setFactory(goog$net$XmlHttp$defaultFactory_,goog$net$XmlHttp$defaultOptionsFactory_);
var goog$net$XmlHttp$ieProgId_=null,goog$net$XmlHttp$getProgId_=function(){if(!goog$net$XmlHttp$ieProgId_&&typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined"){var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(var b=0;b<a[$$PROP_length];b++){var c=a[b];try{new ActiveXObject(c);goog$net$XmlHttp$ieProgId_=c;return c}catch(d){}}throw GLOBAL_Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return goog$net$XmlHttp$ieProgId_};var goog$net$XhrIo=function(){goog$events$EventTarget[$$PROP_call](this);this.headers=new goog$structs$Map};goog$inherits(goog$net$XhrIo,goog$events$EventTarget);goog$net$XhrIo[$$PROP_prototype].logger_=goog$debug$LogManager$getLogger("goog.net.XhrIo");
var goog$net$XhrIo$CONTENT_TYPE_HEADER="Content-Type",goog$net$XhrIo$FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset=utf-8",goog$net$XhrIo$sendInstances_=[],goog$net$XhrIo$send=function(a,b,c,d,e,f){var g=new goog$net$XhrIo;goog$net$XhrIo$sendInstances_[$$PROP_push](g);b&&goog$events$listen(g,goog$net$EventType$COMPLETE,b);goog$events$listen(g,"ready",goog$partial(goog$net$XhrIo$cleanupSend_,g));f&&g.setTimeoutInterval(f);g.send(a,c,d,e)},goog$net$XhrIo$cleanup=function(){var a=goog$net$XhrIo$sendInstances_;
while(a[$$PROP_length])a.pop().dispose()},goog$net$XhrIo$protectEntryPoints=function(a,b){goog$net$XhrIo$prototype$onReadyStateChangeEntryPoint_=goog$net$XhrIo[$$PROP_prototype].onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog$net$XhrIo$prototype$onReadyStateChangeEntryPoint_,b)},goog$net$XhrIo$cleanupSend_=function(a){a.dispose();goog$array$remove(goog$net$XhrIo$sendInstances_,a)};goog$net$XhrIo[$$PROP_prototype].active_=false;goog$net$XhrIo[$$PROP_prototype].xhr_=null;
goog$net$XhrIo[$$PROP_prototype].xhrOptions_=null;goog$net$XhrIo[$$PROP_prototype].lastUri_="";goog$net$XhrIo[$$PROP_prototype].lastMethod_="";goog$net$XhrIo[$$PROP_prototype].lastErrorCode_=0;goog$net$XhrIo[$$PROP_prototype].lastError_="";goog$net$XhrIo[$$PROP_prototype].errorDispatched_=false;goog$net$XhrIo[$$PROP_prototype].inSend_=false;goog$net$XhrIo[$$PROP_prototype].inOpen_=false;goog$net$XhrIo[$$PROP_prototype].inAbort_=false;goog$net$XhrIo[$$PROP_prototype].timeoutInterval_=0;
goog$net$XhrIo[$$PROP_prototype].timeoutId_=null;goog$net$XhrIo[$$PROP_prototype].setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog$net$XhrIo[$$PROP_prototype].send=function(a,b,c,d){if(this.active_)throw GLOBAL_Error("[goog.net.XhrIo] Object is active with another request");var e=b||"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=0;this.lastMethod_=e;this.errorDispatched_=false;this.active_=true;this.xhr_=new goog$net$XmlHttp;this.xhrOptions_=goog$net$XmlHttp$cachedOptions_||(goog$net$XmlHttp$cachedOptions_=goog$net$XmlHttp$optionsFactory_());goog$net$xhrMonitor.markXhrOpen(this.xhr_);this.xhr_.onreadystatechange=
goog$bind(this.onReadyStateChange_,this);try{this.logger_.fine(this.formatMsg_("Opening Xhr"));this.inOpen_=true;this.xhr_.open(e,a,true);this.inOpen_=false}catch(f){this.logger_.fine(this.formatMsg_("Error opening Xhr: "+f[$$PROP_message]));this.error_(5,f);return}var g=c?GLOBAL_String(c):"",h=this.headers.clone();d&&goog$structs$forEach(d,function(i,k){h.set(k,i)});e=="POST"&&!h.containsKey(goog$net$XhrIo$CONTENT_TYPE_HEADER)&&h.set(goog$net$XhrIo$CONTENT_TYPE_HEADER,goog$net$XhrIo$FORM_CONTENT_TYPE);
goog$structs$forEach(h,function(i,k){this.xhr_.setRequestHeader(k,i)},this);try{if(this.timeoutId_){goog$Timer$defaultTimerObject.clearTimeout(this.timeoutId_);this.timeoutId_=null}if(this.timeoutInterval_>0){this.logger_.fine(this.formatMsg_("Will abort after "+this.timeoutInterval_+"ms if incomplete"));this.timeoutId_=goog$Timer$defaultTimerObject.setTimeout(goog$bind(this.timeout_,this),this.timeoutInterval_)}this.logger_.fine(this.formatMsg_("Sending request"));this.inSend_=true;this.xhr_.send(g);
this.inSend_=false}catch(f){this.logger_.fine(this.formatMsg_("Send error: "+f[$$PROP_message]));this.error_(5,f)}};goog$net$XhrIo[$$PROP_prototype].dispatchEvent=function(a){if(this.xhr_){goog$net$xhrMonitor.pushContext(this.xhr_);try{goog$net$XhrIo.superClass_[$$PROP_dispatchEvent][$$PROP_call](this,a)}finally{goog$net$xhrMonitor.popContext()}}else goog$net$XhrIo.superClass_[$$PROP_dispatchEvent][$$PROP_call](this,a)};
goog$net$XhrIo[$$PROP_prototype].timeout_=function(){if(!(typeof goog=="undefined"))if(this.xhr_){this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting";this.lastErrorCode_=8;this.logger_.fine(this.formatMsg_(this.lastError_));this[$$PROP_dispatchEvent]("timeout");this[$$PROP_abort](8)}};
goog$net$XhrIo[$$PROP_prototype].error_=function(a,b){this.active_=false;if(this.xhr_){this.inAbort_=true;this.xhr_[$$PROP_abort]();this.inAbort_=false}this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog$net$XhrIo[$$PROP_prototype].dispatchErrors_=function(){if(!this.errorDispatched_){this.errorDispatched_=true;this[$$PROP_dispatchEvent](goog$net$EventType$COMPLETE);this[$$PROP_dispatchEvent]("error")}};
goog$net$XhrIo[$$PROP_prototype].abort=function(a){if(this.xhr_){this.logger_.fine(this.formatMsg_("Aborting"));this.active_=false;this.inAbort_=true;this.xhr_[$$PROP_abort]();this.inAbort_=false;this.lastErrorCode_=a||7;this[$$PROP_dispatchEvent](goog$net$EventType$COMPLETE);this[$$PROP_dispatchEvent]("abort");this.cleanUpXhr_()}};goog$net$XhrIo[$$PROP_prototype].disposeInternal=function(){if(this.xhr_){this.active_=false;this.inAbort_=true;this.xhr_[$$PROP_abort]();this.inAbort_=false;this.cleanUpXhr_(true)}goog$net$XhrIo.superClass_.disposeInternal[$$PROP_call](this)};
goog$net$XhrIo[$$PROP_prototype].onReadyStateChange_=function(){!this.inOpen_&&!this.inSend_&&!this.inAbort_?this.onReadyStateChangeEntryPoint_():this.onReadyStateChangeHelper_()};var goog$net$XhrIo$prototype$onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};goog$net$XhrIo[$$PROP_prototype].onReadyStateChangeEntryPoint_=goog$net$XhrIo$prototype$onReadyStateChangeEntryPoint_;
goog$net$XhrIo[$$PROP_prototype].onReadyStateChangeHelper_=function(){if(!this.active_)return;if(!(typeof goog=="undefined"))if(this.xhrOptions_[1]&&this.getReadyState()==4&&this.getStatus()==2)this.logger_.fine(this.formatMsg_("Local request error detected and ignored"));else{if(this.inSend_&&this.getReadyState()==4){goog$Timer$callOnce(this.onReadyStateChange_,0,this);return}this[$$PROP_dispatchEvent]("readystatechange");if(this.isComplete()){this.logger_.fine(this.formatMsg_("Request complete"));
this.active_=false;if(this.isSuccess()){this[$$PROP_dispatchEvent](goog$net$EventType$COMPLETE);this[$$PROP_dispatchEvent]("success")}else{this.lastErrorCode_=6;this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]";this.dispatchErrors_()}this.cleanUpXhr_()}}};
goog$net$XhrIo[$$PROP_prototype].cleanUpXhr_=function(a){if(this.xhr_){this.xhr_.onreadystatechange=this.xhrOptions_[0]?goog$nullFunction:null;var b=this.xhr_;this.xhr_=null;this.xhrOptions_=null;if(this.timeoutId_){goog$Timer$defaultTimerObject.clearTimeout(this.timeoutId_);this.timeoutId_=null}if(!a){goog$net$xhrMonitor.pushContext(b);this[$$PROP_dispatchEvent]("ready");goog$net$xhrMonitor.popContext()}goog$net$xhrMonitor.markXhrClosed(b)}};
goog$net$XhrIo[$$PROP_prototype].isComplete=function(){return this.getReadyState()==4};goog$net$XhrIo[$$PROP_prototype].isSuccess=function(){switch(this.getStatus()){case 0:case 200:case 204:case 304:return true;default:return false}};goog$net$XhrIo[$$PROP_prototype].getReadyState=function(){return this.xhr_?this.xhr_.readyState:0};
goog$net$XhrIo[$$PROP_prototype].getStatus=function(){try{return this.getReadyState()>2?this.xhr_.status:-1}catch(a){this.logger_.warning("Can not get status: "+a[$$PROP_message]);return-1}};goog$net$XhrIo[$$PROP_prototype].getStatusText=function(){try{return this.getReadyState()>2?this.xhr_.statusText:""}catch(a){this.logger_.fine("Can not get status: "+a[$$PROP_message]);return""}};goog$net$XhrIo[$$PROP_prototype].getResponseXml=function(){return this.xhr_?this.xhr_.responseXML:null};
goog$net$XhrIo[$$PROP_prototype].getResponseHeader=function(a){return this.xhr_&&this.isComplete()?this.xhr_.getResponseHeader(a):undefined};goog$net$XhrIo[$$PROP_prototype].formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};var goog$net$XhrLite=goog$net$XhrIo;goog$net$XhrLite.send=goog$net$XhrIo$send;goog$net$XhrLite.cleanup=goog$net$XhrIo$cleanup;goog$net$XhrLite.protectEntryPoints=goog$net$XhrIo$protectEntryPoints;goog$net$XhrLite.cleanupSend_=goog$net$XhrIo$cleanupSend_;goog$net$XhrLite.CONTENT_TYPE_HEADER=goog$net$XhrIo$CONTENT_TYPE_HEADER;goog$net$XhrLite.FORM_CONTENT_TYPE=goog$net$XhrIo$FORM_CONTENT_TYPE;goog$net$XhrLite.sendInstances_=goog$net$XhrIo$sendInstances_;var goog$style$setStyle=function(a,b,c){goog$isString(b)?goog$style$setStyle_(a,c,b):goog$object$forEach(b,goog$partial(goog$style$setStyle_,a))},goog$style$setStyle_=function(a,b,c){a.style[goog$style$toCamelCase(c)]=b},goog$style$toCamelCase=function(a){return GLOBAL_String(a)[$$PROP_replace](/\-([a-z])/g,function(b,c){return c.toUpperCase()})},goog$style$showElement=function(a,b){a.style.display=b?"":"none"};var goog$Uri=function(a,b){var c;if(a instanceof goog$Uri){this.setIgnoreCase(b==null?a.getIgnoreCase():b);this.setScheme(a.getScheme());this.setUserInfo(a.getUserInfo());this.setDomain(a.getDomain());this.setPort(a.getPort());this.setPath(a.getPath());this.setQueryData(a.getQueryData().clone());this.setFragment(a.getFragment())}else if(a&&(c=GLOBAL_String(a).match(goog$Uri$getRE_()))){this.setIgnoreCase(!!b);this.setScheme(c[1],true);this.setUserInfo(c[2],true);this.setDomain(c[3],true);this.setPort(c[4]);
this.setPath(c[5],true);this.setQueryData(c[6]);this.setFragment(c[7],true)}else{this.setIgnoreCase(!!b);this.queryData_=new goog$Uri$QueryData(null,this,this.ignoreCase_)}};goog$Uri[$$PROP_prototype].scheme_="";goog$Uri[$$PROP_prototype].userInfo_="";goog$Uri[$$PROP_prototype].domain_="";goog$Uri[$$PROP_prototype].port_=null;goog$Uri[$$PROP_prototype].path_="";goog$Uri[$$PROP_prototype].fragment_="";goog$Uri[$$PROP_prototype].isReadOnly_=false;goog$Uri[$$PROP_prototype].ignoreCase_=false;
SETPROP_toString(goog$Uri[$$PROP_prototype],function(){if(this.cachedToString_)return this.cachedToString_;var a=[];this.scheme_&&a[$$PROP_push](goog$Uri$encodeSpecialChars_(this.scheme_,goog$Uri$reDisallowedInSchemeOrUserInfo_),":");if(this.domain_){a[$$PROP_push]("//");this.userInfo_&&a[$$PROP_push](goog$Uri$encodeSpecialChars_(this.userInfo_,goog$Uri$reDisallowedInSchemeOrUserInfo_),"@");a[$$PROP_push](goog$Uri$encodeString_(this.domain_));this.port_!=null&&a[$$PROP_push](":",GLOBAL_String(this.getPort()))}this.path_&&
a[$$PROP_push](goog$Uri$encodeSpecialChars_(this.path_,goog$Uri$reDisallowedInPath_));var b=GLOBAL_String(this.queryData_);b&&a[$$PROP_push]("?",b);this.fragment_&&a[$$PROP_push]("#",goog$Uri$encodeSpecialChars_(this.fragment_,goog$Uri$reDisallowedInFragment_));return this.cachedToString_=a[$$PROP_join]("")});goog$Uri[$$PROP_prototype].clone=function(){return goog$Uri$create(this.scheme_,this.userInfo_,this.domain_,this.port_,this.path_,this.queryData_.clone(),this.fragment_,this.ignoreCase_)};
goog$Uri[$$PROP_prototype].getScheme=function(){return this.scheme_};goog$Uri[$$PROP_prototype].setScheme=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.scheme_=b?a?GLOBAL_decodeURIComponent(a):"":a;if(this.scheme_)this.scheme_=this.scheme_[$$PROP_replace](/:$/,"");return this};goog$Uri[$$PROP_prototype].getUserInfo=function(){return this.userInfo_};
goog$Uri[$$PROP_prototype].setUserInfo=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.userInfo_=b?a?GLOBAL_decodeURIComponent(a):"":a;return this};goog$Uri[$$PROP_prototype].getDomain=function(){return this.domain_};goog$Uri[$$PROP_prototype].setDomain=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.domain_=b?a?GLOBAL_decodeURIComponent(a):"":a;return this};goog$Uri[$$PROP_prototype].getPort=function(){return this.port_};
goog$Uri[$$PROP_prototype].setPort=function(a){this.enforceReadOnly();delete this.cachedToString_;if(a){a=Number(a);if(isNaN(a)||a<0)throw GLOBAL_Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};goog$Uri[$$PROP_prototype].hasPort=function(){return this.port_!=null};goog$Uri[$$PROP_prototype].getPath=function(){return this.path_};
goog$Uri[$$PROP_prototype].setPath=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.path_=b?a?GLOBAL_decodeURIComponent(a):"":a;return this};goog$Uri[$$PROP_prototype].setQueryData=function(a){this.enforceReadOnly();delete this.cachedToString_;if(a instanceof goog$Uri$QueryData){this.queryData_=a;this.queryData_.uri_=this;this.queryData_.setIgnoreCase(this.ignoreCase_)}else this.queryData_=new goog$Uri$QueryData(a,this,this.ignoreCase_);return this};
goog$Uri[$$PROP_prototype].getQueryData=function(){return this.queryData_};goog$Uri[$$PROP_prototype].getFragment=function(){return this.fragment_};goog$Uri[$$PROP_prototype].setFragment=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.fragment_=b?a?GLOBAL_decodeURIComponent(a):"":a;return this};goog$Uri[$$PROP_prototype].enforceReadOnly=function(){if(this.isReadOnly_)throw GLOBAL_Error("Tried to modify a read-only Uri");};
goog$Uri[$$PROP_prototype].setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a)};goog$Uri[$$PROP_prototype].getIgnoreCase=function(){return this.ignoreCase_};var goog$Uri$create=function(a,b,c,d,e,f,g,h){var i=new goog$Uri(null,h);a&&i.setScheme(a);b&&i.setUserInfo(b);c&&i.setDomain(c);d&&i.setPort(d);e&&i.setPath(e);f&&i.setQueryData(f);g&&i.setFragment(g);return i};
var goog$Uri$encodeString_=function(a){if(goog$isString(a))return GLOBAL_encodeURIComponent(a);return null},goog$Uri$encodeSpecialRegExp_=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/,goog$Uri$encodeSpecialChars_=function(a,b){var c=null;if(goog$isString(a)){c=a;goog$Uri$encodeSpecialRegExp_[$$PROP_test](c)||(c=encodeURI(a));if(c.search(b)>=0)c=c[$$PROP_replace](b,goog$Uri$encodeChar_)}return c},goog$Uri$encodeChar_=function(a){var b=a.charCodeAt(0);return"%"+(b>>4&15).toString(16)+(b&15).toString(16)},goog$Uri$re_=
null,goog$Uri$getRE_=function(){goog$Uri$re_||(goog$Uri$re_=/^(?:([^:\/?#]+):)?(?:\/\/(?:([^\/?#]*)@)?([^\/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/);return goog$Uri$re_},goog$Uri$reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g,goog$Uri$reDisallowedInPath_=/[\#\?]/g,goog$Uri$reDisallowedInFragment_=/#/g,goog$Uri$QueryData=function(a,b,c){this.keyMap_=new goog$structs$Map;this.uri_=b||null;this.ignoreCase_=!!c;if(a){var d=a[$$PROP_split]("&");for(var e=0;e<d[$$PROP_length];e++){var f=
d[e][$$PROP_indexOf]("="),g=null,h=null;if(f>=0){g=d[e].substring(0,f);h=d[e].substring(f+1)}else g=d[e];g=GLOBAL_decodeURIComponent(g[$$PROP_replace](/\+/g," "));g=this.getKeyName_(g);this.add(g,h?GLOBAL_decodeURIComponent(h[$$PROP_replace](/\+/g," ")):"")}}};goog$Uri$QueryData[$$PROP_prototype].count_=0;goog$Uri$QueryData[$$PROP_prototype].getCount=function(){return this.count_};
goog$Uri$QueryData[$$PROP_prototype].add=function(a,b){this.invalidateCache_();a=this.getKeyName_(a);if(this.containsKey(a)){var c=this.keyMap_.get(a);goog$isArray(c)?c[$$PROP_push](b):this.keyMap_.set(a,[c,b])}else this.keyMap_.set(a,b);this.count_++;return this};goog$Uri$QueryData[$$PROP_prototype].remove=function(a){a=this.getKeyName_(a);if(this.keyMap_.containsKey(a)){this.invalidateCache_();var b=this.keyMap_.get(a);if(goog$isArray(b))this.count_-=b[$$PROP_length];else this.count_--;return this.keyMap_.remove(a)}return false};
goog$Uri$QueryData[$$PROP_prototype].clear=function(){this.invalidateCache_();this.keyMap_.clear();this.count_=0};goog$Uri$QueryData[$$PROP_prototype].isEmpty=function(){return this.count_==0};goog$Uri$QueryData[$$PROP_prototype].containsKey=function(a){a=this.getKeyName_(a);return this.keyMap_.containsKey(a)};
goog$Uri$QueryData[$$PROP_prototype].getKeys=function(){var a=this.keyMap_.getValues(),b=this.keyMap_.getKeys(),c=[];for(var d=0;d<b[$$PROP_length];d++){var e=a[d];if(goog$isArray(e))for(var f=0;f<e[$$PROP_length];f++)c[$$PROP_push](b[d]);else c[$$PROP_push](b[d])}return c};
goog$Uri$QueryData[$$PROP_prototype].getValues=function(a){var b;if(a){var c=this.getKeyName_(a);if(this.containsKey(c)){var d=this.keyMap_.get(c);if(goog$isArray(d))return d;else{b=[];b[$$PROP_push](d)}}else b=[]}else{var e=this.keyMap_.getValues();b=[];for(var f=0;f<e[$$PROP_length];f++){var g=e[f];goog$isArray(g)?goog$array$extend(b,g):b[$$PROP_push](g)}}return b};
goog$Uri$QueryData[$$PROP_prototype].set=function(a,b){this.invalidateCache_();a=this.getKeyName_(a);if(this.containsKey(a)){var c=this.keyMap_.get(a);if(goog$isArray(c))this.count_-=c[$$PROP_length];else this.count_--}this.keyMap_.set(a,b);this.count_++;return this};goog$Uri$QueryData[$$PROP_prototype].get=function(a,b){a=this.getKeyName_(a);if(this.containsKey(a)){var c=this.keyMap_.get(a);return goog$isArray(c)?c[0]:c}else return b};
SETPROP_toString(goog$Uri$QueryData[$$PROP_prototype],function(){if(this.cachedToString_)return this.cachedToString_;var a=[],b=0,c=this.keyMap_.getKeys();for(var d=0;d<c[$$PROP_length];d++){var e=c[d],f=goog$string$urlEncode(e),g=this.keyMap_.get(e);if(goog$isArray(g))for(var h=0;h<g[$$PROP_length];h++){b>0&&a[$$PROP_push]("&");a[$$PROP_push](f,"=",goog$string$urlEncode(g[h]));b++}else{b>0&&a[$$PROP_push]("&");a[$$PROP_push](f,"=",goog$string$urlEncode(g));b++}}return this.cachedToString_=a[$$PROP_join]("")});
goog$Uri$QueryData[$$PROP_prototype].invalidateCache_=function(){delete this.cachedToString_;this.uri_&&delete this.uri_.cachedToString_};goog$Uri$QueryData[$$PROP_prototype].clone=function(){var a=new goog$Uri$QueryData;a.keyMap_=this.keyMap_.clone();return a};goog$Uri$QueryData[$$PROP_prototype].getKeyName_=function(a){var b=GLOBAL_String(a);if(this.ignoreCase_)b=b.toLowerCase();return b};
goog$Uri$QueryData[$$PROP_prototype].setIgnoreCase=function(a){var b=a&&!this.ignoreCase_;if(b){this.invalidateCache_();goog$structs$forEach(this.keyMap_,function(c,d){var e=d.toLowerCase();if(d!=e){this.remove(d);this.add(e,c)}},this)}this.ignoreCase_=a};goog$Uri$QueryData[$$PROP_prototype].extend=function(){for(var a=0;a<arguments[$$PROP_length];a++){var b=arguments[a];goog$structs$forEach(b,function(c,d){this.add(d,c)},this)}};goog$exportSymbol("getElement",goog$dom$getElement);var hostednews$initializeMap=function(a,b,c,d,e){var f=new GClientGeocoder,g=function(h){if(h){goog$array$contains(goog$dom$classes$get(e),"hn-plain")&&goog$dom$classes$swap(e,"hn-plain","hn-unzoomed");var i=new GMap2(a);i.setCenter(h,c);i.savePosition();i.addControl(new GSmallZoomControl);var k={clickable:true,title:b},j=new GMarker(h,k);GEvent.addListener(j,"click",function(){window.location="http://maps.google.com/maps?z=5&q="+b+"&hl="+d});i.addOverlay(j)}else goog$style$showElement(a,false)};
f.getLatLng(b,g)};goog$exportSymbol("HNS_initializeMap",hostednews$initializeMap);var hostednews$RelatedNews=function(a,b,c,d,e){this.googleNewsUri_=c;this.locale_=d;this.articleUri_=e;var f=goog$global[$$PROP_document].location instanceof goog$Uri?goog$global[$$PROP_document].location.clone():new goog$Uri(goog$global[$$PROP_document].location,undefined),g=f.getDomain()+(f.hasPort()?":"+f.getPort():""),h="http://"+g+"/relatedArticles?hl="+d+"&ncl="+e,i=this;goog$net$XhrLite.send(h,function(){var k=this.getResponseXml();if(k!=null){var j=i.renderXmlResponse_(k);if(j!=""){SETPROP_innerHTML(a,
j);goog$array$contains(goog$dom$classes$get(b),"hn-plain")&&goog$dom$classes$swap(b,"hn-plain","hn-unzoomed");return}}if(a&&a[$$PROP_parentNode])a[$$PROP_parentNode].removeChild(a)})};
hostednews$RelatedNews[$$PROP_prototype].renderXmlResponse_=function(a){var b=goog$getMsg("Related News"),c=goog$getMsg("Full coverage &#x00bb;"),d=this.extractResults_(a);if(d[$$PROP_length]==0)return"";var e=['<h4 id="rn-header">'+b+"</h4>","<ul>"];for(var f=0,g;g=d[f];f++){if(f>=3)break;e[$$PROP_push]("<li>");e[$$PROP_push]('<a href="'+g.uri+'" ');e[$$PROP_push]('onclick="pageTracker._trackPageview(');e[$$PROP_push]("'/outgoing/related_news');\"");e[$$PROP_push](">"+g.title+"</a><br/>");e[$$PROP_push]('<span class="source">'+
g.source+" - </span>");e[$$PROP_push](g.crawldate);e[$$PROP_push]("</li>")}e[$$PROP_push]("</ul>");e[$$PROP_push]('<p><a href="'+this.googleNewsUri_+"?hl="+this.locale_+"&ncl="+this.articleUri_+'" ');e[$$PROP_push]('onclick="pageTracker._trackPageview(');e[$$PROP_push]("'/outgoing/full_coverage');\"");e[$$PROP_push](">"+c+"</a></p>");return e[$$PROP_join]("")};
hostednews$RelatedNews[$$PROP_prototype].extractResults_=function(a){var b=[],c=a.getElementsByTagName("R");for(var d=0,e;e=c[d];d++){var f={};f.uri=this.getElementValueByTagName(e,"U");SETPROP_title(f,this.getElementValueByTagName(e,"T"));f.crawldate=this.getElementValueByTagName(e,"CRAWLDATE");var g=this.getAttributeofElement(e,"MT","N","source");if(g!=null)f.source=g.getAttribute("V");f.uri!=null&&f.title!=null&&f.crawldate!=null&&f.source!=null&&b[$$PROP_push](f)}return b};
hostednews$RelatedNews[$$PROP_prototype].getElementValueByTagName=function(a,b){var c=goog$dom$getDefaultDomHelper_(),d=a.getElementsByTagName(b);return d[$$PROP_length]>0?c.getTextContent(d[0]):null};hostednews$RelatedNews[$$PROP_prototype].getAttributeofElement=function(a,b,c,d){var e=a.getElementsByTagName(b);for(var f=0,g;g=e[f];f++)if(g.getAttribute(c)==d)return g;return null};goog$exportSymbol("RelatedNews",hostednews$RelatedNews);var hostednews$SlideshowImage=function(a,b,c){this.source=a;this.caption=b;this.zoomEnabled=c};hostednews$SlideshowImage[$$PROP_prototype].getSource=function(a){return this.source+"?size="+a};
var hostednews$Slideshow=function(a,b,c,d){this.presentation_=a;this.resizables_=b;this.images_=c;this.rightToLeft_=d;this.zoomedIn_=false;this.index_=0;this.preloadedImages_=[];if(this.images_[$$PROP_length]<1)return;var e=false;for(var f=0;f<this.images_[$$PROP_length];f++)if(this.images_[f].zoomEnabled){e=true;break}var g='<table id="ss" cellspacing="0">';if(this.images_[$$PROP_length]>1||e){g+='<tr id="ss-navigation">';g+=this.images_[$$PROP_length]>1?'<td id="ss-buttons"></td><td id="ss-message"></td><td id="ss-zoom">':
'<td id="ss-zoom-single" colspan="3">';g+='<img id="ss-zoom-img" alt="" src="';g+=e?this.getHelperImagePath_("zoom-in.gif"):this.getHelperImagePath_("zoom-disabled.gif");g+='"/></td></tr>'}g+='<tr><td colspan="3"><div id="ss-image-container" class="'+(this.getCurrentImage().zoomEnabled?"clickable":"")+'"><img id="ss-image" src="'+this.getCurrentThumbnailPath()+'" alt=""/></div></td></tr><tr><td id="ss-caption" colspan="3"><p>'+this.getCurrentCaption()+"</p></td></tr>";if(this.images_[$$PROP_length]>
1)g+='<tr><td id="ss-thumbnails" colspan="3"></td></tr>';g+="</table>";SETPROP_innerHTML(this.presentation_,g);if(this.images_[$$PROP_length]>1){SETPROP_innerHTML(goog$dom$getElement("ss-buttons"),'<img id="ss-previous-img" alt="" src="'+this.getHelperImagePath_(this.getPreviousButtonFilename_(false))+'"/><img id="ss-next-img" alt="" src="'+this.getHelperImagePath_(this.getNextButtonFilename_(false))+'"/>');var h=function(l){return function(m){if(m[$$PROP_button]<2){this.setIndex_(l);this.update()}}},
i=goog$dom$getElement("ss-thumbnails");for(var f=0;f<this.images_[$$PROP_length];f++){var k=goog$dom$getDefaultDomHelper_().createElement("img");k.src=this.images_[f].getSource("xs");var j=goog$dom$getDefaultDomHelper_().createElement("div");SETPROP_className(j,"ss-thumbnail-container");goog$dom$appendChild(j,k);this.setLink_(k,h(f));goog$dom$appendChild(i,j)}}this.redraw_()};hostednews$Slideshow[$$PROP_prototype].update=function(){if(!this.getCurrentImage().zoomEnabled)this.zoomedIn_=false;this.redraw_()};
hostednews$Slideshow[$$PROP_prototype].redraw_=function(){if(goog$userAgent$WEBKIT)this.redrawImmediately_();else{var a=new Image;goog$events$listen(a,"load",this.redrawImmediately_,null,this);a.src=this.getCurrentThumbnailPath()}};
hostednews$Slideshow[$$PROP_prototype].redrawImmediately_=function(){if(this.images_[$$PROP_length]>1){var a=goog$getMsg("Photo {$current} of {$count}",{current:this.index_+1,count:this.images_[$$PROP_length]});SETPROP_innerHTML(goog$dom$getElement("ss-message"),"<span>"+a+"</span>")}var b=goog$dom$getElement("ss-image");b.src=this.getCurrentThumbnailPath();SETPROP_innerHTML(goog$dom$getElement("ss-caption"),"<p>"+this.getCurrentCaption()+"</p>");if(this.getCurrentImage().zoomEnabled)SETPROP_className(goog$dom$getElement("ss-image-container"),
"clickable");else SETPROP_className(goog$dom$getElement("ss-image-container"),"");var c=goog$dom$getElement("ss-previous-img"),d=goog$dom$getElement("ss-next-img");if(this.images_[$$PROP_length]>1){if(this.index_>0){this.setHelperImageSrc_(c,this.getPreviousButtonFilename_(true));this.setLink_(c,this.previous);var e=goog$getMsg("Previous image");SETPROP_title(c,e)}else{this.setHelperImageSrc_(c,this.getPreviousButtonFilename_(false));this.removeLinks_(c);SETPROP_title(c,"")}if(this.index_<this.images_[$$PROP_length]-
1){this.setHelperImageSrc_(d,this.getNextButtonFilename_(true));this.setLink_(d,this.next);var f=goog$getMsg("Next image");SETPROP_title(d,f)}else{this.setHelperImageSrc_(d,this.getNextButtonFilename_(false));this.removeLinks_(d);SETPROP_title(d,"")}}var g=goog$dom$getElement("ss-zoom-img");if(this.getCurrentImage().zoomEnabled)if(this.zoomedIn_){this.setHelperImageSrc_(g,"zoom-out.gif");this.setLink_(g,this.zoomOut);this.setLink_(b,this.zoomOut);var h=goog$getMsg("Zoom out");SETPROP_title(g,h)}else{this.setHelperImageSrc_(g,
"zoom-in.gif");this.setLink_(g,this.zoomIn);this.setLink_(b,this.zoomIn);var i=goog$getMsg("Zoom in");SETPROP_title(g,i)}else if(g!=null){this.setHelperImageSrc_(g,"zoom-disabled.gif");this.removeLinks_(b)}var k,j;if(this.zoomedIn_){k="hn-unzoomed";j="hn-zoomed"}else{k="hn-zoomed";j="hn-unzoomed"}for(var l=0,m;m=this.resizables_[l];l++)goog$dom$classes$swap(m,k,j);var n=this.zoomedIn_?350:190;this.presentation_.style.width=this.getCurrentImage().zoomEnabled?n+4+"px":n+"px";this.preloadedImages_=[new Image,
new Image,new Image,new Image];this.preloadedImages_[0].src=this.getCurrentImage().getSource("s");this.preloadedImages_[1].src=this.getCurrentImage().getSource("m");if(this.index_+1<this.images_[$$PROP_length]){this.preloadedImages_[2].src=this.images_[this.index_+1].getSource("s");this.preloadedImages_[3].src=this.images_[this.index_+1].getSource("m")}};hostednews$Slideshow[$$PROP_prototype].zoomOut=function(a){if(a[$$PROP_button]<2){this.zoomedIn_=false;this.update()}};
hostednews$Slideshow[$$PROP_prototype].zoomIn=function(a){if(a[$$PROP_button]<2){this.zoomedIn_=true;this.update()}};hostednews$Slideshow[$$PROP_prototype].previous=function(a){if(a[$$PROP_button]<2){this.setIndex_(this.index_-1);this.update()}};hostednews$Slideshow[$$PROP_prototype].next=function(a){if(a[$$PROP_button]<2){this.setIndex_(this.index_+1);this.update()}};
hostednews$Slideshow[$$PROP_prototype].setLink_=function(a,b){goog$events$removeAll(a);goog$events$listen(a,"click",b,null,this);if(goog$userAgent$IE)goog$string$compareVersions(goog$userAgent$VERSION,"6.0")>=0&&goog$style$setStyle(a,"cursor","pointer");else goog$style$setStyle(a,"cursor","pointer")};
hostednews$Slideshow[$$PROP_prototype].removeLinks_=function(a){goog$events$removeAll(a);if(goog$userAgent$IE)goog$string$compareVersions(goog$userAgent$VERSION,"6.0")>=0&&goog$style$setStyle(a,"cursor","");else goog$style$setStyle(a,"cursor","")};hostednews$Slideshow[$$PROP_prototype].getHelperImagePath_=function(a){return"/hostednews/img/"+a};hostednews$Slideshow[$$PROP_prototype].setHelperImageSrc_=function(a,b){a.src=this.getHelperImagePath_(b)};
hostednews$Slideshow[$$PROP_prototype].getNextButtonFilename_=function(a){return this.getDirectionalButtonPath_("right","left",a)};hostednews$Slideshow[$$PROP_prototype].getPreviousButtonFilename_=function(a){return this.getDirectionalButtonPath_("left","right",a)};hostednews$Slideshow[$$PROP_prototype].getDirectionalButtonPath_=function(a,b,c){var d=c?"active":"inactive",e=this.rightToLeft_?b:a;return d+"-"+e+".gif"};
hostednews$Slideshow[$$PROP_prototype].setIndex_=function(a){if(a<0||a>=this.images_[$$PROP_length])return;this.index_=a};hostednews$Slideshow[$$PROP_prototype].getCurrentImage=function(){return this.images_[this.index_]};hostednews$Slideshow[$$PROP_prototype].getCurrentThumbnailPath=function(){return this.getCurrentImage().getSource(this.zoomedIn_?"m":"s")};hostednews$Slideshow[$$PROP_prototype].getCurrentCaption=function(){return this.getCurrentImage().caption};goog$exportSymbol("Slideshow",hostednews$Slideshow);
goog$exportSymbol("SlideshowImage",hostednews$SlideshowImage);
