var h,aa=aa||{},m=this,n=function(a){return void 0!==a},ba=function(a,b,c){a=a.split(".");c=c||m;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&n(b)?c[d]=b:c=c[d]?c[d]:c[d]={}},ca=function(a,b){for(var c=a.split("."),d=b||m,e;e=c.shift();)if(null!=d[e])d=d[e];else return null;return d},da=function(){},p=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);
if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},q=function(a){return"array"==p(a)},ea=function(a){var b=
p(a);return"array"==b||"object"==b&&"number"==typeof a.length},t=function(a){return"string"==typeof a},fa=function(a){return"number"==typeof a},u=function(a){return"function"==p(a)},ga=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},ja=function(a){return a[ha]||(a[ha]=++ia)},ha="closure_uid_"+(1E9*Math.random()>>>0),ia=0,ka=function(a,b,c){return a.call.apply(a.bind,arguments)},la=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,
2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},w=function(a,b,c){w=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ka:la;return w.apply(null,arguments)},ma=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}},x=Date.now||function(){return+new Date},
y=function(a,b){function c(){}c.prototype=b.prototype;a.D=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Sd=function(a,c,f){for(var g=Array(arguments.length-2),l=2;l<arguments.length;l++)g[l-2]=arguments[l];return b.prototype[c].apply(a,g)}};var z=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,z);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};y(z,Error);z.prototype.name="CustomError";var na;var oa=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},pa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},xa=function(a){if(!qa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ra,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(sa,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(ta,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(ua,"&quot;"));-1!=a.indexOf("'")&&
(a=a.replace(va,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(wa,"&#0;"));return a},ra=/&/g,sa=/</g,ta=/>/g,ua=/"/g,va=/'/g,wa=/\x00/g,qa=/[\x00&<>"']/,ya=function(a,b){return a<b?-1:a>b?1:0};var za=function(a,b){b.unshift(a);z.call(this,oa.apply(null,b));b.shift()};y(za,z);za.prototype.name="AssertionError";
var Aa=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new za(""+e,f||[]);},B=function(a,b,c){a||Aa("",null,b,Array.prototype.slice.call(arguments,2))},Ba=function(a,b){throw new za("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Ca=function(a,b,c){fa(a)||Aa("Expected number but got %s: %s.",[p(a),a],b,Array.prototype.slice.call(arguments,2));return a},Da=function(a,b,c){u(a)||Aa("Expected function but got %s: %s.",[p(a),a],b,Array.prototype.slice.call(arguments,
2))};var Ea=Array.prototype.indexOf?function(a,b,c){B(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(t(a))return t(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Fa=Array.prototype.forEach?function(a,b,c){B(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=t(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},Ga=Array.prototype.some?function(a,
b,c){B(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=t(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1},Ia=function(a){var b;a:{b=Ha;for(var c=a.length,d=t(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:t(a)?a.charAt(b):a[b]},Ja=function(a,b){var c=Ea(a,b),d;if(d=0<=c)B(null!=a.length),Array.prototype.splice.call(a,c,1);return d},Ka=function(a){return Array.prototype.concat.apply(Array.prototype,
arguments)},La=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};var Ma=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},Na=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},Oa=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},Pa=function(a){return null!==a&&"withCredentials"in a},Ra="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Sa=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ra.length;f++)c=Ra[f],Object.prototype.hasOwnProperty.call(d,
c)&&(a[c]=d[c])}};var C=function(){this.S=this.S;this.sa=this.sa};C.prototype.S=!1;C.prototype.Nb=function(){this.S||(this.S=!0,this.g())};var Ta=function(a,b){a.S?b.call(void 0):(a.sa||(a.sa=[]),a.sa.push(n(void 0)?w(b,void 0):b))};C.prototype.g=function(){if(this.sa)for(;this.sa.length;)this.sa.shift()()};var D=function(a){a&&"function"==typeof a.Nb&&a.Nb()};var Ua=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.La=!1;this.$c=!0};Ua.prototype.preventDefault=function(){this.defaultPrevented=!0;this.$c=!1};var Va=function(a){Va[" "](a);return a};Va[" "]=da;var Wa=function(a,b){try{return Va(a[b]),!0}catch(c){}return!1};var Xa;a:{var Ya=m.navigator;if(Ya){var Za=Ya.userAgent;if(Za){Xa=Za;break a}}Xa=""}var E=function(a){return-1!=Xa.indexOf(a)};var $a=E("Opera")||E("OPR"),F=E("Trident")||E("MSIE"),ab=E("Edge"),bb=E("Gecko")&&!(-1!=Xa.toLowerCase().indexOf("webkit")&&!E("Edge"))&&!(E("Trident")||E("MSIE"))&&!E("Edge"),G=-1!=Xa.toLowerCase().indexOf("webkit")&&!E("Edge"),cb=function(){var a=m.document;return a?a.documentMode:void 0},db;
a:{var eb="",fb=function(){var a=Xa;if(bb)return/rv\:([^\);]+)(\)|;)/.exec(a);if(ab)return/Edge\/([\d\.]+)/.exec(a);if(F)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(G)return/WebKit\/(\S+)/.exec(a);if($a)return/(?:Version)[ \/]?(\S+)/.exec(a)}();fb&&(eb=fb?fb[1]:"");if(F){var gb=cb();if(null!=gb&&gb>parseFloat(eb)){db=String(gb);break a}}db=eb}
var hb=db,ib={},H=function(a){var b;if(!(b=ib[a])){b=0;for(var c=pa(String(hb)).split("."),d=pa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",l=d[f]||"",k=RegExp("(\\d*)(\\D*)","g"),r=RegExp("(\\d*)(\\D*)","g");do{var v=k.exec(g)||["","",""],A=r.exec(l)||["","",""];if(0==v[0].length&&0==A[0].length)break;b=ya(0==v[1].length?0:parseInt(v[1],10),0==A[1].length?0:parseInt(A[1],10))||ya(0==v[2].length,0==A[2].length)||ya(v[2],A[2])}while(0==b)}b=ib[a]=0<=b}return b},
jb=m.document,kb=jb&&F?cb()||("CSS1Compat"==jb.compatMode?parseInt(hb,10):5):void 0;var lb=!F||9<=Number(kb),mb=F&&!H("9");!G||H("528");bb&&H("1.9b")||F&&H("8")||$a&&H("9.5")||G&&H("528");bb&&!H("8")||F&&H("9");var nb=function(a,b){Ua.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.kb=this.state=null;a&&this.Vb(a,b)};y(nb,Ua);
nb.prototype.Vb=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;e?bb&&(Wa(e,"nodeName")||(e=null)):"mouseover"==c?e=a.fromElement:"mouseout"==c&&(e=a.toElement);this.relatedTarget=e;null===d?(this.offsetX=G||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=G||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:
a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.kb=a;a.defaultPrevented&&this.preventDefault()};
nb.prototype.preventDefault=function(){nb.D.preventDefault.call(this);var a=this.kb;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,mb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var ob="closure_listenable_"+(1E6*Math.random()|0),pb=function(a){return!(!a||!a[ob])},qb=0;var rb=function(a,b,c,d,e){this.listener=a;this.tb=null;this.src=b;this.type=c;this.hb=!!d;this.pa=e;this.key=++qb;this.Ma=this.gb=!1},ub=function(a){a.Ma=!0;a.listener=null;a.tb=null;a.src=null;a.pa=null};var vb=function(a){this.src=a;this.v={};this.ab=0};vb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.v[f];a||(a=this.v[f]=[],this.ab++);var g=wb(a,b,d,e);-1<g?(b=a[g],c||(b.gb=!1)):(b=new rb(b,this.src,f,!!d,e),b.gb=c,a.push(b));return b};vb.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.v))return!1;var e=this.v[a];b=wb(e,b,c,d);return-1<b?(ub(e[b]),B(null!=e.length),Array.prototype.splice.call(e,b,1),0==e.length&&(delete this.v[a],this.ab--),!0):!1};
var xb=function(a,b){var c=b.type;c in a.v&&Ja(a.v[c],b)&&(ub(b),0==a.v[c].length&&(delete a.v[c],a.ab--))};vb.prototype.ub=function(a){a=a&&a.toString();var b=0,c;for(c in this.v)if(!a||c==a){for(var d=this.v[c],e=0;e<d.length;e++)++b,ub(d[e]);delete this.v[c];this.ab--}return b};vb.prototype.Ra=function(a,b,c,d){a=this.v[a.toString()];var e=-1;a&&(e=wb(a,b,c,d));return-1<e?a[e]:null};var wb=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.Ma&&f.listener==b&&f.hb==!!c&&f.pa==d)return e}return-1};var yb="closure_lm_"+(1E6*Math.random()|0),zb={},Ab=0,Bb=function(a,b,c,d,e){if(q(b)){for(var f=0;f<b.length;f++)Bb(a,b[f],c,d,e);return null}c=Cb(c);return pb(a)?a.Ua(b,c,d,e):Db(a,b,c,!1,d,e)},Db=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e,l=Eb(a);l||(a[yb]=l=new vb(a));c=l.add(b,c,d,e,f);if(c.tb)return c;d=Fb();c.tb=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(Gb(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");
Ab++;return c},Fb=function(){var a=Hb,b=lb?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b},Ib=function(a,b,c,d,e){if(q(b)){for(var f=0;f<b.length;f++)Ib(a,b[f],c,d,e);return null}c=Cb(c);return pb(a)?a.Yb(b,c,d,e):Db(a,b,c,!0,d,e)},Jb=function(a,b,c,d,e){if(q(b))for(var f=0;f<b.length;f++)Jb(a,b[f],c,d,e);else c=Cb(c),pb(a)?a.mc(b,c,d,e):a&&(a=Eb(a))&&(b=a.Ra(b,c,!!d,e))&&Kb(b)},Kb=function(a){if(!fa(a)&&a&&!a.Ma){var b=a.src;if(pb(b))xb(b.U,
a);else{var c=a.type,d=a.tb;b.removeEventListener?b.removeEventListener(c,d,a.hb):b.detachEvent&&b.detachEvent(Gb(c),d);Ab--;(c=Eb(b))?(xb(c,a),0==c.ab&&(c.src=null,b[yb]=null)):ub(a)}}},Lb=function(a,b,c,d,e){c=Cb(c);d=!!d;return pb(a)?a.Ra(b,c,d,e):a?(a=Eb(a))?a.Ra(b,c,d,e):null:null},Gb=function(a){return a in zb?zb[a]:zb[a]="on"+a},Nb=function(a,b,c,d){var e=!0;if(a=Eb(a))if(b=a.v[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.hb==c&&!f.Ma&&(f=Mb(f,d),e=e&&!1!==f)}return e},
Mb=function(a,b){var c=a.listener,d=a.pa||a.src;a.gb&&Kb(a);return c.call(d,b)},Hb=function(a,b){if(a.Ma)return!0;if(!lb){var c=b||ca("window.event"),d=new nb(c,this),e=!0;if(!(0>c.keyCode||void 0!=c.returnValue)){a:{var f=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(k){f=!0}if(f||void 0==c.returnValue)c.returnValue=!0}c=[];for(f=d.currentTarget;f;f=f.parentNode)c.push(f);for(var f=a.type,g=c.length-1;!d.La&&0<=g;g--){d.currentTarget=c[g];var l=Nb(c[g],f,!0,d),e=e&&l}for(g=0;!d.La&&g<c.length;g++)d.currentTarget=
c[g],l=Nb(c[g],f,!1,d),e=e&&l}return e}return Mb(a,new nb(b,this))},Eb=function(a){a=a[yb];return a instanceof vb?a:null},Ob="__closure_events_fn_"+(1E9*Math.random()>>>0),Cb=function(a){B(a,"Listener can not be null.");if(u(a))return a;B(a.handleEvent,"An object listener must have handleEvent method.");a[Ob]||(a[Ob]=function(b){return a.handleEvent(b)});return a[Ob]};var I=function(){C.call(this);this.U=new vb(this);this.kd=this;this.cc=null};y(I,C);I.prototype[ob]=!0;h=I.prototype;h.addEventListener=function(a,b,c,d){Bb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Jb(this,a,b,c,d)};
h.dispatchEvent=function(a){Pb(this);var b,c=this.cc;if(c){b=[];for(var d=1;c;c=c.cc)b.push(c),B(1E3>++d,"infinite loop")}c=this.kd;d=a.type||a;if(t(a))a=new Ua(a,c);else if(a instanceof Ua)a.target=a.target||c;else{var e=a;a=new Ua(d,c);Sa(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.La&&0<=g;g--)f=a.currentTarget=b[g],e=Qb(f,d,!0,a)&&e;a.La||(f=a.currentTarget=c,e=Qb(f,d,!0,a)&&e,a.La||(e=Qb(f,d,!1,a)&&e));if(b)for(g=0;!a.La&&g<b.length;g++)f=a.currentTarget=b[g],e=Qb(f,d,!1,a)&&e;return e};
h.g=function(){I.D.g.call(this);this.U&&this.U.ub(void 0);this.cc=null};h.Ua=function(a,b,c,d){Pb(this);return this.U.add(String(a),b,!1,c,d)};h.Yb=function(a,b,c,d){return this.U.add(String(a),b,!0,c,d)};h.mc=function(a,b,c,d){return this.U.remove(String(a),b,c,d)};var Qb=function(a,b,c,d){b=a.U.v[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.Ma&&g.hb==c){var l=g.listener,k=g.pa||g.src;g.gb&&xb(a.U,g);e=!1!==l.call(k,d)&&e}}return e&&0!=d.$c};
I.prototype.Ra=function(a,b,c,d){return this.U.Ra(String(a),b,c,d)};var Pb=function(a){B(a.U,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};var Rb=function(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);},Ub=function(a){var b=[];Sb(new Tb,a,b);return b.join("")},Tb=function(){this.vb=void 0},Sb=function(a,b,c){if(null==
b)c.push("null");else{if("object"==typeof b){if(q(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],Sb(a,a.vb?a.vb.call(d,String(f),e):e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");f="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(f),Vb(d,c),c.push(":"),Sb(a,a.vb?a.vb.call(b,d,e):e,c),f=","));c.push("}");return}}switch(typeof b){case "string":Vb(b,
c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}},Wb={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},Xb=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g,Vb=function(a,b){b.push('"',a.replace(Xb,function(a){var b=Wb[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),
Wb[a]=b);return b}),'"')};var Yb={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};var $b=function(){this.yb="";this.gd=Zb};$b.prototype.qa=!0;$b.prototype.ia=function(){return this.yb};$b.prototype.toString=function(){return"Const{"+this.yb+"}"};var ac=function(a){if(a instanceof $b&&a.constructor===$b&&a.gd===Zb)return a.yb;Ba("expected object of type Const, got '"+a+"'");return"type_error:Const"},Zb={};var cc=function(){this.sb="";this.ed=bc};cc.prototype.qa=!0;var bc={};cc.prototype.ia=function(){return this.sb};cc.prototype.toString=function(){return"SafeStyle{"+this.sb+"}"};cc.prototype.ob=function(a){this.sb=a;return this};var dc=(new cc).ob(""),ec=/^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/;var gc=function(){this.da="";this.fd=fc};h=gc.prototype;h.qa=!0;h.ia=function(){return this.da};h.Tb=!0;h.Qa=function(){return 1};h.toString=function(){return"SafeUrl{"+this.da+"}"};var hc=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i,fc={},ic=function(a){var b=new gc;b.da=a;return b};ic("about:blank");var kc=function(){this.fc="";this.hd=jc};h=kc.prototype;h.qa=!0;h.ia=function(){return this.fc};h.Tb=!0;h.Qa=function(){return 1};h.toString=function(){return"TrustedResourceUrl{"+this.fc+"}"};var jc={};var mc=function(){this.da="";this.dd=lc;this.Dc=null};h=mc.prototype;h.Tb=!0;h.Qa=function(){return this.Dc};h.qa=!0;h.ia=function(){return this.da};h.toString=function(){return"SafeHtml{"+this.da+"}"};
var nc=function(a){if(a instanceof mc&&a.constructor===mc&&a.dd===lc)return a.da;Ba("expected object of type SafeHtml, got '"+a+"' of type "+p(a));return"type_error:SafeHtml"},oc=/^[a-zA-Z0-9-]+$/,pc={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},sc=function(a){var b=0,c="",d=function(a){if(q(a))Fa(a,d);else{if(!(a instanceof mc)){var f=null;a.Tb&&(f=a.Qa());a=rc(xa(a.qa?a.ia():String(a)),f)}c+=nc(a);a=a.Qa();0==b?b=a:0!=a&&b!=a&&(b=null)}};Fa(arguments,d);return rc(c,
b)},lc={},rc=function(a,b){return(new mc).ob(a,b)};mc.prototype.ob=function(a,b){this.da=a;this.Dc=b;return this};rc("<!DOCTYPE html>",0);rc("",0);rc("<br>",0);var tc="StopIteration"in m?m.StopIteration:{message:"StopIteration",stack:""},uc=function(){};uc.prototype.next=function(){throw tc;};uc.prototype.jd=function(){return this};var vc=function(a,b){this.W={};this.h=[];this.Db=this.m=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};vc.prototype.M=function(){wc(this);for(var a=[],b=0;b<this.h.length;b++)a.push(this.W[this.h[b]]);return a};vc.prototype.ba=function(){wc(this);return this.h.concat()};vc.prototype.Pa=function(a){return xc(this.W,a)};
vc.prototype.remove=function(a){return xc(this.W,a)?(delete this.W[a],this.m--,this.Db++,this.h.length>2*this.m&&wc(this),!0):!1};var wc=function(a){if(a.m!=a.h.length){for(var b=0,c=0;b<a.h.length;){var d=a.h[b];xc(a.W,d)&&(a.h[c++]=d);b++}a.h.length=c}if(a.m!=a.h.length){for(var e={},c=b=0;b<a.h.length;)d=a.h[b],xc(e,d)||(a.h[c++]=d,e[d]=1),b++;a.h.length=c}};h=vc.prototype;h.get=function(a,b){return xc(this.W,a)?this.W[a]:b};
h.set=function(a,b){xc(this.W,a)||(this.m++,this.h.push(a),this.Db++);this.W[a]=b};h.addAll=function(a){var b;a instanceof vc?(b=a.ba(),a=a.M()):(b=Oa(a),a=Na(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};h.forEach=function(a,b){for(var c=this.ba(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};h.clone=function(){return new vc(this)};
h.jd=function(a){wc(this);var b=0,c=this.Db,d=this,e=new uc;e.next=function(){if(c!=d.Db)throw Error("The map has changed since the iterator was created");if(b>=d.h.length)throw tc;var e=d.h[b++];return a?e:d.W[e]};return e};var xc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var yc=function(a){if(a.M&&"function"==typeof a.M)return a.M();if(t(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Na(a)},zc=function(a,b){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,void 0);else if(ea(a)||t(a))Fa(a,b,void 0);else{var c;if(a.ba&&"function"==typeof a.ba)c=a.ba();else if(a.M&&"function"==typeof a.M)c=void 0;else if(ea(a)||t(a)){c=[];for(var d=a.length,e=0;e<d;e++)c.push(e)}else c=Oa(a);for(var d=yc(a),e=d.length,f=0;f<e;f++)b.call(void 0,
d[f],c&&c[f],a)}};var Ac=function(a,b){this.name=a;this.value=b};Ac.prototype.toString=function(){return this.name};var Bc=new Ac("FINEST",300);var L=function(a){var b=J.b;b&&b.log(Bc,a,void 0)},M=function(a,b,c){a&&a.Ud(b,c)},N=function(a,b,c){a&&a.Vd(b,c)},O=function(a){var b=J.b;b&&b.info(a,void 0)},P=function(a,b){a&&a.Td(b,void 0)};var Cc=function(a,b,c){this.zd=c;this.qd=a;this.Jd=b;this.qb=0;this.mb=null};Cc.prototype.get=function(){var a;0<this.qb?(this.qb--,a=this.mb,this.mb=a.next,a.next=null):a=this.qd();return a};Cc.prototype.put=function(a){this.Jd(a);this.qb<this.zd&&(this.qb++,a.next=this.mb,this.mb=a)};var Dc=function(a){m.setTimeout(function(){throw a;},0)},Ec,Fc=function(){var a=m.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!E("Presto")&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,
a=w(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!E("Trident")&&!E("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(n(c.next)){c=c.next;var a=c.vc;c.vc=null;a()}};return function(a){d.next={vc:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?
function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){m.setTimeout(a,0)}};var Gc=function(){this.Eb=this.ya=null},Ic=new Cc(function(){return new Hc},function(a){a.reset()},100);Gc.prototype.add=function(a,b){var c=Ic.get();c.set(a,b);this.Eb?this.Eb.next=c:(B(!this.ya),this.ya=c);this.Eb=c};Gc.prototype.remove=function(){var a=null;this.ya&&(a=this.ya,this.ya=this.ya.next,this.ya||(this.Eb=null),a.next=null);return a};var Hc=function(){this.next=this.scope=this.Sb=null};Hc.prototype.set=function(a,b){this.Sb=a;this.scope=b;this.next=null};
Hc.prototype.reset=function(){this.next=this.scope=this.Sb=null};var Nc=function(a,b){Jc||Kc();Lc||(Jc(),Lc=!0);Mc.add(a,b)},Jc,Kc=function(){if(m.Promise&&m.Promise.resolve){var a=m.Promise.resolve(void 0);Jc=function(){a.then(Oc)}}else Jc=function(){var a=Oc;!u(m.setImmediate)||m.Window&&m.Window.prototype&&!E("Edge")&&m.Window.prototype.setImmediate==m.setImmediate?(Ec||(Ec=Fc()),Ec(a)):m.setImmediate(a)}},Lc=!1,Mc=new Gc,Oc=function(){for(var a=null;a=Mc.remove();){try{a.Sb.call(a.scope)}catch(b){Dc(b)}Ic.put(a)}Lc=!1};var Pc=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0},Qc=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var Tc=function(a,b){this.j=0;this.ea=void 0;this.Ba=this.$=this.w=null;this.lb=this.Rb=!1;if(a!=da)try{var c=this;a.call(b,function(a){Rc(c,2,a)},function(a){if(!(a instanceof Sc))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(b){}Rc(c,3,a)})}catch(d){Rc(this,3,d)}},Uc=function(){this.next=this.context=this.Ja=this.ta=this.ma=null;this.eb=!1};Uc.prototype.reset=function(){this.context=this.Ja=this.ta=this.ma=null;this.eb=!1};
var Vc=new Cc(function(){return new Uc},function(a){a.reset()},100),Wc=function(a,b,c){var d=Vc.get();d.ta=a;d.Ja=b;d.context=c;return d};Tc.prototype.then=function(a,b,c){null!=a&&Da(a,"opt_onFulfilled should be a function.");null!=b&&Da(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");return Xc(this,u(a)?a:null,u(b)?b:null,c)};Pc(Tc);Tc.prototype.cancel=function(a){0==this.j&&Nc(function(){var b=new Sc(a);Yc(this,b)},this)};
var Yc=function(a,b){if(0==a.j)if(a.w){var c=a.w;if(c.$){for(var d=0,e=null,f=null,g=c.$;g&&(g.eb||(d++,g.ma==a&&(e=g),!(e&&1<d)));g=g.next)e||(f=g);e&&(0==c.j&&1==d?Yc(c,b):(f?(d=f,B(c.$),B(null!=d),d.next==c.Ba&&(c.Ba=d),d.next=d.next.next):Zc(c),$c(c,e,3,b)))}a.w=null}else Rc(a,3,b)},bd=function(a,b){a.$||2!=a.j&&3!=a.j||ad(a);B(null!=b.ta);a.Ba?a.Ba.next=b:a.$=b;a.Ba=b},Xc=function(a,b,c,d){var e=Wc(null,null,null);e.ma=new Tc(function(a,g){e.ta=b?function(c){try{var e=b.call(d,c);a(e)}catch(r){g(r)}}:
a;e.Ja=c?function(b){try{var e=c.call(d,b);!n(e)&&b instanceof Sc?g(b):a(e)}catch(r){g(r)}}:g});e.ma.w=a;bd(a,e);return e.ma};Tc.prototype.Pd=function(a){B(1==this.j);this.j=0;Rc(this,2,a)};Tc.prototype.Qd=function(a){B(1==this.j);this.j=0;Rc(this,3,a)};
var Rc=function(a,b,c){if(0==a.j){a==c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.j=1;var d;a:{var e=c,f=a.Pd,g=a.Qd;if(e instanceof Tc)null!=f&&Da(f,"opt_onFulfilled should be a function."),null!=g&&Da(g,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),bd(e,Wc(f||da,g||null,a)),d=!0;else if(Qc(e))e.then(f,g,a),d=!0;else{if(ga(e))try{var l=e.then;if(u(l)){cd(e,l,f,g,a);d=!0;break a}}catch(k){g.call(a,k);d=!0;break a}d=
!1}}d||(a.ea=c,a.j=b,a.w=null,ad(a),3!=b||c instanceof Sc||dd(a,c))}},cd=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},l=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,l)}catch(k){l(k)}},ad=function(a){a.Rb||(a.Rb=!0,Nc(a.ud,a))},Zc=function(a){var b=null;a.$&&(b=a.$,a.$=b.next,b.next=null);a.$||(a.Ba=null);null!=b&&B(null!=b.ta);return b};Tc.prototype.ud=function(){for(var a=null;a=Zc(this);)$c(this,a,this.j,this.ea);this.Rb=!1};
var $c=function(a,b,c,d){if(3==c&&b.Ja&&!b.eb)for(;a&&a.lb;a=a.w)a.lb=!1;if(b.ma)b.ma.w=null,ed(b,c,d);else try{b.eb?b.ta.call(b.context):ed(b,c,d)}catch(e){fd.call(null,e)}Vc.put(b)},ed=function(a,b,c){2==b?a.ta.call(a.context,c):a.Ja&&a.Ja.call(a.context,c)},dd=function(a,b){a.lb=!0;Nc(function(){a.lb&&fd.call(null,b)})},fd=Dc,Sc=function(a){z.call(this,a)};y(Sc,z);Sc.prototype.name="cancel";var gd=function(a,b){I.call(this);this.Ga=a||1;this.Na=b||m;this.Jb=w(this.Od,this);this.Xb=x()};y(gd,I);h=gd.prototype;h.enabled=!1;h.Z=null;h.Od=function(){if(this.enabled){var a=x()-this.Xb;0<a&&a<.8*this.Ga?this.Z=this.Na.setTimeout(this.Jb,this.Ga-a):(this.Z&&(this.Na.clearTimeout(this.Z),this.Z=null),this.dispatchEvent("tick"),this.enabled&&(this.Z=this.Na.setTimeout(this.Jb,this.Ga),this.Xb=x()))}};
h.start=function(){this.enabled=!0;this.Z||(this.Z=this.Na.setTimeout(this.Jb,this.Ga),this.Xb=x())};h.stop=function(){this.enabled=!1;this.Z&&(this.Na.clearTimeout(this.Z),this.Z=null)};h.g=function(){gd.D.g.call(this);this.stop();delete this.Na};var hd=function(a,b,c){if(u(a))c&&(a=w(a,c));else if(a&&"function"==typeof a.handleEvent)a=w(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(b)?-1:m.setTimeout(a,b||0)};var id=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,jd=function(a){var b=a.match(id);a=b[1];var c=b[2],d=b[3],b=b[4],e="";a&&(e+=a+":");d&&(e+="//",c&&(e+=c+"@"),e+=d,b&&(e+=":"+b));return e},kd=function(a,b){if(a)for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f=null,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):"")}};var ld=function(){};ld.prototype.uc=null;var nd=function(a){var b;(b=a.uc)||(b={},md(a)&&(b[0]=!0,b[1]=!0),b=a.uc=b);return b};var od,pd=function(){};y(pd,ld);var qd=function(a){return(a=md(a))?new ActiveXObject(a):new XMLHttpRequest},md=function(a){if(!a.Jc&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.Jc=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.Jc};od=new pd;var Q=function(a){I.call(this);this.headers=new vc;this.Gb=a||null;this.ga=!1;this.Fb=this.c=null;this.Ta=this.Lc=this.pb="";this.ra=this.Ub=this.nb=this.Qb=!1;this.$a=0;this.zb=null;this.Zc="";this.Cb=this.Hd=this.cd=!1};y(Q,I);var rd=/^https?$/i,sd=["POST","PUT"],td=[];Q.prototype.od=function(){this.Nb();Ja(td,this)};
Q.prototype.send=function(a,b,c,d){if(this.c)throw Error("[goog.net.XhrIo] Object is active with another request="+this.pb+"; newUri="+a);b=b?b.toUpperCase():"GET";this.pb=a;this.Ta="";this.Lc=b;this.Qb=!1;this.ga=!0;this.c=this.Gb?qd(this.Gb):qd(od);this.Fb=this.Gb?nd(this.Gb):nd(od);this.c.onreadystatechange=w(this.Rc,this);this.Hd&&"onprogress"in this.c&&(this.c.onprogress=w(function(a){this.Qc(a,!0)},this),this.c.upload&&(this.c.upload.onprogress=w(this.Qc,this)));try{P(this.O,ud(this,"Opening Xhr")),
this.Ub=!0,this.c.open(b,String(a),!0),this.Ub=!1}catch(f){P(this.O,ud(this,"Error opening Xhr: "+f.message));this.jb(5,f);return}a=c||"";var e=this.headers.clone();d&&zc(d,function(a,b){e.set(b,a)});d=Ia(e.ba());c=m.FormData&&a instanceof m.FormData;!(0<=Ea(sd,b))||d||c||e.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");e.forEach(function(a,b){this.c.setRequestHeader(b,a)},this);this.Zc&&(this.c.responseType=this.Zc);Pa(this.c)&&(this.c.withCredentials=this.cd);try{vd(this),
0<this.$a&&(this.Cb=wd(this.c),P(this.O,ud(this,"Will abort after "+this.$a+"ms if incomplete, xhr2 "+this.Cb)),this.Cb?(this.c.timeout=this.$a,this.c.ontimeout=w(this.bd,this)):this.zb=hd(this.bd,this.$a,this)),P(this.O,ud(this,"Sending request")),this.nb=!0,this.c.send(a),this.nb=!1}catch(f){P(this.O,ud(this,"Send error: "+f.message)),this.jb(5,f)}};var wd=function(a){return F&&H(9)&&fa(a.timeout)&&n(a.ontimeout)},Ha=function(a){return"content-type"==a.toLowerCase()};
Q.prototype.bd=function(){"undefined"!=typeof aa&&this.c&&(this.Ta="Timed out after "+this.$a+"ms, aborting",P(this.O,ud(this,this.Ta)),this.dispatchEvent("timeout"),this.abort(8))};Q.prototype.jb=function(a,b){this.ga=!1;this.c&&(this.ra=!0,this.c.abort(),this.ra=!1);this.Ta=b;xd(this);yd(this)};var xd=function(a){a.Qb||(a.Qb=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))};
Q.prototype.abort=function(){this.c&&this.ga&&(P(this.O,ud(this,"Aborting")),this.ga=!1,this.ra=!0,this.c.abort(),this.ra=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),yd(this))};Q.prototype.g=function(){this.c&&(this.ga&&(this.ga=!1,this.ra=!0,this.c.abort(),this.ra=!1),yd(this,!0));Q.D.g.call(this)};Q.prototype.Rc=function(){this.S||(this.Ub||this.nb||this.ra?zd(this):this.Bd())};Q.prototype.Bd=function(){zd(this)};
var zd=function(a){if(a.ga&&"undefined"!=typeof aa)if(a.Fb[1]&&4==Ad(a)&&2==Bd(a))P(a.O,ud(a,"Local request error detected and ignored"));else if(a.nb&&4==Ad(a))hd(a.Rc,0,a);else if(a.dispatchEvent("readystatechange"),4==Ad(a)){P(a.O,ud(a,"Request complete"));a.ga=!1;try{if(Cd(a))a.dispatchEvent("complete"),a.dispatchEvent("success");else{var b;try{b=2<Ad(a)?a.c.statusText:""}catch(c){P(a.O,"Can not get status: "+c.message),b=""}a.Ta=b+" ["+Bd(a)+"]";xd(a)}}finally{yd(a)}}};
Q.prototype.Qc=function(a,b){B("progress"===a.type,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(Dd(a,"progress"));this.dispatchEvent(Dd(a,b?"downloadprogress":"uploadprogress"))};
var Dd=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}},yd=function(a,b){if(a.c){vd(a);var c=a.c,d=a.Fb[0]?da:null;a.c=null;a.Fb=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){M(a.O,"Problem encountered resetting onreadystatechange: "+e.message)}}},vd=function(a){a.c&&a.Cb&&(a.c.ontimeout=null);fa(a.zb)&&(m.clearTimeout(a.zb),a.zb=null)};Q.prototype.Wb=function(){return!!this.c};
var Cd=function(a){var b=Bd(a),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}if(!c){if(b=0===b)a=String(a.pb).match(id)[1]||null,!a&&m.self&&m.self.location&&(a=m.self.location.protocol,a=a.substr(0,a.length-1)),b=!rd.test(a?a.toLowerCase():"");c=b}return c},Ad=function(a){return a.c?a.c.readyState:0},Bd=function(a){try{return 2<Ad(a)?a.c.status:-1}catch(b){return-1}},Ed=function(a){try{return a.c?a.c.responseText:""}catch(b){return P(a.O,
"Can not get responseText: "+b.message),""}},ud=function(a,b){return b+" ["+a.Lc+" "+a.pb+" "+Bd(a)+"]"};var Fd=function(a,b){this.aa=this.xa=this.la="";this.Ka=null;this.oa=this.Y="";this.K=this.yd=!1;var c;if(a instanceof Fd)this.K=n(b)?b:a.K,Gd(this,a.la),c=a.xa,R(this),this.xa=c,c=a.aa,R(this),this.aa=c,Hd(this,a.Ka),c=a.Y,R(this),this.Y=c,Id(this,a.G.clone()),c=a.oa,R(this),this.oa=c;else if(a&&(c=String(a).match(id))){this.K=!!b;Gd(this,c[1]||"",!0);var d=c[2]||"";R(this);this.xa=Jd(d);d=c[3]||"";R(this);this.aa=Jd(d,!0);Hd(this,c[4]);d=c[5]||"";R(this);this.Y=Jd(d,!0);Id(this,c[6]||"",!0);c=c[7]||
"";R(this);this.oa=Jd(c)}else this.K=!!b,this.G=new Kd(null,0,this.K)};
Fd.prototype.toString=function(){var a=[],b=this.la;b&&a.push(Ld(b,Md,!0),":");var c=this.aa;if(c||"file"==b)a.push("//"),(b=this.xa)&&a.push(Ld(b,Md,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.Ka,null!=c&&a.push(":",String(c));if(c=this.Y)this.aa&&"/"!=c.charAt(0)&&a.push("/"),a.push(Ld(c,"/"==c.charAt(0)?Nd:Od,!0));(c=this.G.toString())&&a.push("?",c);(c=this.oa)&&a.push("#",Ld(c,Pd));return a.join("")};
Fd.prototype.resolve=function(a){var b=this.clone(),c=!!a.la;c?Gd(b,a.la):c=!!a.xa;if(c){var d=a.xa;R(b);b.xa=d}else c=!!a.aa;c?(d=a.aa,R(b),b.aa=d):c=null!=a.Ka;d=a.Y;if(c)Hd(b,a.Ka);else if(c=!!a.Y){if("/"!=d.charAt(0))if(this.aa&&!this.Y)d="/"+d;else{var e=b.Y.lastIndexOf("/");-1!=e&&(d=b.Y.substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){for(var d=0==e.lastIndexOf("/",0),e=e.split("/"),f=[],g=0;g<e.length;){var l=e[g++];"."==l?d&&g==e.length&&f.push(""):
".."==l?((1<f.length||1==f.length&&""!=f[0])&&f.pop(),d&&g==e.length&&f.push("")):(f.push(l),d=!0)}d=f.join("/")}else d=e}c?(R(b),b.Y=d):c=""!==a.G.toString();c?Id(b,Jd(a.G.toString())):c=!!a.oa;c&&(a=a.oa,R(b),b.oa=a);return b};Fd.prototype.clone=function(){return new Fd(this)};
var Gd=function(a,b,c){R(a);a.la=c?Jd(b,!0):b;a.la&&(a.la=a.la.replace(/:$/,""))},Hd=function(a,b){R(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.Ka=b}else a.Ka=null},Id=function(a,b,c){R(a);b instanceof Kd?(a.G=b,a.G.kc(a.K)):(c||(b=Ld(b,Qd)),a.G=new Kd(b,0,a.K))},R=function(a){if(a.yd)throw Error("Tried to modify a read-only Uri");};Fd.prototype.kc=function(a){this.K=a;this.G&&this.G.kc(a);return this};
var Jd=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ld=function(a,b,c){return t(a)?(a=encodeURI(a).replace(b,Rd),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Rd=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},Md=/[#\/\?@]/g,Od=/[\#\?:]/g,Nd=/[\#\?]/g,Qd=/[\#\?@]/g,Pd=/#/g,Kd=function(a,b,c){this.m=this.i=null;this.I=a||null;this.K=!!c},Sd=function(a){a.i||(a.i=new vc,a.m=0,a.I&&kd(a.I,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g,
" ")),c)}))};h=Kd.prototype;h.add=function(a,b){Sd(this);this.I=null;a=Td(this,a);var c=this.i.get(a);c||this.i.set(a,c=[]);c.push(b);this.m=Ca(this.m)+1;return this};h.remove=function(a){Sd(this);a=Td(this,a);return this.i.Pa(a)?(this.I=null,this.m=Ca(this.m)-this.i.get(a).length,this.i.remove(a)):!1};h.Pa=function(a){Sd(this);a=Td(this,a);return this.i.Pa(a)};h.ba=function(){Sd(this);for(var a=this.i.M(),b=this.i.ba(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
h.M=function(a){Sd(this);var b=[];if(t(a))this.Pa(a)&&(b=Ka(b,this.i.get(Td(this,a))));else{a=this.i.M();for(var c=0;c<a.length;c++)b=Ka(b,a[c])}return b};h.set=function(a,b){Sd(this);this.I=null;a=Td(this,a);this.Pa(a)&&(this.m=Ca(this.m)-this.i.get(a).length);this.i.set(a,[b]);this.m=Ca(this.m)+1;return this};h.get=function(a,b){var c=a?this.M(a):[];return 0<c.length?String(c[0]):b};
h.toString=function(){if(this.I)return this.I;if(!this.i)return"";for(var a=[],b=this.i.ba(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.M(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.I=a.join("&")};h.clone=function(){var a=new Kd;a.I=this.I;this.i&&(a.i=this.i.clone(),a.m=this.m);return a};var Td=function(a,b){var c=String(b);a.K&&(c=c.toLowerCase());return c};
Kd.prototype.kc=function(a){a&&!this.K&&(Sd(this),this.I=null,this.i.forEach(function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),this.remove(d),0<a.length&&(this.I=null,this.i.set(Td(this,d),La(a)),this.m=Ca(this.m)+a.length))},this));this.K=a};var Ud=function(a,b,c,d){a=new Fd(a);0!=b&&(R(a),a.G.set("authuser",b));null!=c&&(R(a),a.G.set("service",c));this.Md=a.toString();this.pa=d;this.Ad=0};Ud.prototype.start=function(){};Ud.prototype.send=function(a,b,c){var d=new Fd(this.Md),e;for(e in c){var f=d,g=e,l=c[e];R(f);f.G.set(g,l)}c=d.toString();d=w(this.Ic,this,this.Ad++);e=new Q;td.push(e);d&&e.Ua("complete",d);e.Yb("ready",e.od);e.cd=!0;e.send(c,"POST",a,b)};
Ud.prototype.Ic=function(a,b){var c=b.target;Cd(c)?this.pa.na.send("ss",[a]):(c=Ed(c),this.pa.na.send("sf",[a,c]))};var Vd=function(a,b,c){C.call(this);this.Zb=a;this.Ga=b||0;this.Ea=c;this.md=w(this.td,this)};y(Vd,C);h=Vd.prototype;h.N=0;h.g=function(){Vd.D.g.call(this);this.stop();delete this.Zb;delete this.Ea};h.start=function(a){this.stop();this.N=hd(this.md,n(a)?a:this.Ga)};h.stop=function(){this.Wb()&&m.clearTimeout(this.N);this.N=0};h.Wb=function(){return 0!=this.N};h.td=function(){this.N=0;this.Zb&&this.Zb.call(this.Ea)};!bb&&!F||F&&9<=Number(kb)||bb&&H("1.9.1");F&&H("9");var Wd=function(a){a&&a.parentNode&&a.parentNode.removeChild(a)},Xd=function(a){this.Ob=a||m.document||document};Xd.prototype.createElement=function(a){return this.Ob.createElement(a)};Xd.prototype.f=function(){var a=this.Ob;return a.parentWindow||a.defaultView};Xd.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a){C.call(this);this.Ea=a;this.h={}};y(S,C);var Yd=[];S.prototype.Ua=function(a,b,c,d){q(b)||(b&&(Yd[0]=b.toString()),b=Yd);for(var e=0;e<b.length;e++){var f=Bb(a,b[e],c||this.handleEvent,d||!1,this.Ea||this);if(!f)break;this.h[f.key]=f}return this};S.prototype.Yb=function(a,b,c,d){return Zd(this,a,b,c,d)};var Zd=function(a,b,c,d,e,f){if(q(c))for(var g=0;g<c.length;g++)Zd(a,b,c[g],d,e,f);else{b=Ib(b,c,d||a.handleEvent,e,f||a.Ea||a);if(!b)return a;a.h[b.key]=b}return a};
S.prototype.mc=function(a,b,c,d,e){if(q(b))for(var f=0;f<b.length;f++)this.mc(a,b[f],c,d,e);else if(a=Lb(a,b,c||this.handleEvent,d,e||this.Ea||this))Kb(a),delete this.h[a.key];return this};S.prototype.ub=function(){Ma(this.h,function(a,b){this.h.hasOwnProperty(b)&&Kb(a)},this);this.h={}};S.prototype.g=function(){S.D.g.call(this);this.ub()};S.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};var ae=function(){C.call(this);this.jc={}};y(ae,C);ae.prototype.connect=function(a){a&&a()};ae.prototype.L=function(){return!0};ae.prototype.g=function(){ae.D.g.call(this);delete this.b;delete this.jc;delete this.Cc};/*
 Portions of this code are from MochiKit, received by
 The Closure Authors under the MIT license. All other code is Copyright
 2005-2009 The Closure Authors. All Rights Reserved.
*/
var T=function(a,b){this.fa=[];this.Pc=a;this.Bc=b||null;this.Sa=this.J=!1;this.ea=void 0;this.lc=this.tc=this.Ib=!1;this.Bb=0;this.w=null;this.fb=0};T.prototype.cancel=function(a){if(this.J)this.ea instanceof T&&this.ea.cancel();else{if(this.w){var b=this.w;delete this.w;a?b.cancel(a):(b.fb--,0>=b.fb&&b.cancel())}this.Pc?this.Pc.call(this.Bc,this):this.lc=!0;this.J||this.Ec(new be)}};T.prototype.zc=function(a,b){this.Ib=!1;ce(this,a,b)};
var ce=function(a,b,c){a.J=!0;a.ea=c;a.Sa=!b;de(a)},fe=function(a){if(a.J){if(!a.lc)throw new ee;a.lc=!1}};T.prototype.H=function(a){fe(this);ge(a);ce(this,!0,a)};T.prototype.Ec=function(a){fe(this);ge(a);ce(this,!1,a)};var ge=function(a){B(!(a instanceof T),"An execution sequence may not be initiated with a blocking Deferred.")},ie=function(a,b,c){he(a,b,null,c)},he=function(a,b,c,d){B(!a.tc,"Blocking Deferreds can not be re-used");a.fa.push([b,c,d]);a.J&&de(a)};
T.prototype.then=function(a,b,c){var d,e,f=new Tc(function(a,b){d=a;e=b});he(this,d,function(a){a instanceof be?f.cancel():e(a)});return f.then(a,b,c)};Pc(T);var je=function(a,b){b instanceof T?ie(a,w(b.ld,b)):ie(a,function(){return b})};T.prototype.ld=function(a){var b=new T;he(this,b.H,b.Ec,b);a&&(b.w=this,this.fb++);return b};
var ke=function(a){return Ga(a.fa,function(a){return u(a[1])})},de=function(a){if(a.Bb&&a.J&&ke(a)){var b=a.Bb,c=le[b];c&&(m.clearTimeout(c.N),delete le[b]);a.Bb=0}a.w&&(a.w.fb--,delete a.w);for(var b=a.ea,d=c=!1;a.fa.length&&!a.Ib;){var e=a.fa.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Sa?g:f)try{var l=f.call(e||a.Bc,b);n(l)&&(a.Sa=a.Sa&&(l==b||l instanceof Error),a.ea=b=l);if(Qc(b)||"function"===typeof m.Promise&&b instanceof m.Promise)d=!0,a.Ib=!0}catch(k){b=k,a.Sa=!0,ke(a)||(c=!0)}}a.ea=b;d&&(l=w(a.zc,
a,!0),d=w(a.zc,a,!1),b instanceof T?(he(b,l,d),b.tc=!0):b.then(l,d));c&&(b=new me(b),le[b.N]=b,a.Bb=b.N)},ee=function(){z.call(this)};y(ee,z);ee.prototype.message="Deferred has already fired";ee.prototype.name="AlreadyCalledError";var be=function(){z.call(this)};y(be,z);be.prototype.message="Deferred was canceled";be.prototype.name="CanceledError";var me=function(a){this.N=m.setTimeout(w(this.Nd,this),0);this.jb=a};
me.prototype.Nd=function(){B(le[this.N],"Cannot throw an error that is not scheduled.");delete le[this.N];throw this.jb;};var le={};var J={};var ne={1:"NativeMessagingTransport",2:"FrameElementMethodTransport",3:"IframeRelayTransport",4:"IframePollingTransport",5:"FlashTransport",6:"NixTransport",7:"DirectTransport"},oe=["pu","lru","pru","lpu","ppu"],U={},qe=function(){for(var a=10,b=pe,c=b.length,d="";0<a--;)d+=b.charAt(Math.floor(Math.random()*c));return d},pe="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";var V=function(a){C.call(this);this.T=a||na||(na=new Xd)};y(V,C);V.prototype.wa=0;V.prototype.f=function(){return this.T.f()};V.prototype.getName=function(){return ne[String(this.wa)]||""};var se=function(a,b){V.call(this,b);this.a=a;this.Da=new S(this);Ta(this,ma(D,this.Da));this.X=new gd(100,this.f());Ta(this,ma(D,this.X));this.A=new T;this.B=new T;this.o=new T;this.Pb=qe();this.ka=null;this.Aa={};this.Cd=this.a.name;re(this.a,this.a.name+"_"+W(this.a));this.V=!1;je(this.o,this.A);je(this.o,this.B);ie(this.o,this.ac,this);this.o.H(!0);this.Da.Ua(this.X,"tick",this.Va);O("DirectTransport created. role="+W(this.a))};y(se,V);
var te={},we=function(a){var b=new ue(a.channelName,a.service,a.payload);a=b.Kb;var c=b.Za,b=b.ua;P(J.b,"messageReceived: channel="+a+", service="+c+", payload="+b);var d=U[a];if(d)return d.R(c,b),!0;var d=ve(b)[0],e;for(e in U){var f=U[e];if(1==W(f)&&!f.L()&&"tp"==c&&"SETUP"==d)return re(f,a),f.R(c,b),!0}O("channel name mismatch; message ignored.");return!1};h=se.prototype;h.wa=7;
h.Ab=function(a){a=ve(a);var b=a[1];switch(a[0]){case "SETUP_ACK":this.A.J||this.A.H(!0);break;case "SETUP":this.xb(),null!=this.ka&&this.ka!=b&&(O("Sending SETUP and changing peer ID to: "+b),this.Xa()),this.ka=b}};h.Xa=function(){this.send("tp","SETUP,"+this.Pb)};h.xb=function(){this.send("tp","SETUP_ACK");this.B.J||this.B.H(!0)};
h.connect=function(){var a=this.f();if(a){var b=ja(a);0==(te[b]||0)&&null==ca("crosswindowmessaging.channel",a)&&ba("crosswindowmessaging.channel",we,a);te[b]++;this.V=!0;this.Va()}else P(J.b,"connect(): no window to initialize.")};h.Va=function(){this.a.L()?this.X.stop():(this.X.start(),this.Xa())};h.send=function(a,b){if(this.a.F){var c=new ue(this.Cd+"_"+(0==W(this.a)?1:0),a,b);this.a.l.directSyncMode?this.Fc(c):this.Aa[ja(c)]=hd(w(this.Fc,this,c),0)}else P(J.b,"send(): window not ready")};
h.Fc=function(a){var b=ja(a);this.Aa[b]&&delete this.Aa[b];try{var c=ca("crosswindowmessaging.channel",this.a.F)}catch(d){N(J.b,"Can't access other window, ignoring.",d);return}if(null===c)N(J.b,"Peer window had no global function.");else try{c({channelName:a.Kb,service:a.Za,payload:a.ua}),O("send(): channelName="+a.Kb+" service="+a.Za+" payload="+a.ua)}catch(d){N(J.b,"Error performing call, ignoring.",d)}};h.ac=function(){xe(this.a,0)};
h.g=function(){if(this.V){var a=this.f(),b=ja(a);1==--te[b]&&ba("crosswindowmessaging.channel",null,a)}this.Aa&&(Ma(this.Aa,function(a){m.clearTimeout(a)}),this.Aa=null);this.A&&(this.A.cancel(),delete this.A);this.B&&(this.B.cancel(),delete this.B);this.o&&(this.o.cancel(),delete this.o);se.D.g.call(this)};var ve=function(a){a=a.split(",");a[1]=a[1]||null;return a},ue=function(a,b,c){this.Kb=a;this.Za=b;this.ua=c};var ye=function(a,b){V.call(this,b);this.a=a;this.Wa=[];this.rd=w(this.sd,this)};y(ye,V);h=ye.prototype;h.wa=2;h.gc=!1;h.connect=function(){0==W(this.a)?(this.ca=this.a.Fa,this.ca.XPC_toOuter=w(this.Kc,this)):this.rc()};
h.rc=function(){var a=!0;try{this.ca||(this.ca=this.f().frameElement),this.ca&&this.ca.XPC_toOuter&&(this.bc=this.ca.XPC_toOuter,this.ca.XPC_toOuter.XPC_toInner=w(this.Kc,this),a=!1,this.send("tp","SETUP_ACK"),xe(this.a))}catch(b){M(J.b,"exception caught while attempting setup: "+b)}a&&(this.qc||(this.qc=w(this.rc,this)),this.f().setTimeout(this.qc,100))};
h.Ab=function(a){if(0!=W(this.a)||this.a.L()||"SETUP_ACK"!=a)throw Error("Got unexpected transport message.");this.bc=this.ca.XPC_toOuter.XPC_toInner;xe(this.a)};h.Kc=function(a,b){this.gc||0!=this.Wa.length?(this.Wa.push({Ld:a,ua:b}),1==this.Wa.length&&this.f().setTimeout(this.rd,1)):this.a.R(a,b)};h.sd=function(){for(;this.Wa.length;){var a=this.Wa.shift();this.a.R(a.Ld,a.ua)}};h.send=function(a,b){this.gc=!0;this.bc(a,b);this.gc=!1};h.g=function(){ye.D.g.call(this);this.ca=this.bc=null};var X=function(a,b){V.call(this,b);this.a=a;this.hc=this.a.l.ppu;this.Id=this.a.l.lpu;this.wb=[]},ze,Ae;y(X,V);h=X.prototype;h.Ed=5;h.wa=4;h.fa=0;h.Oa=!1;h.V=!1;h.Xc=null;var Be=function(a){return"googlexpc_"+a.a.name+"_msg"},Ce=function(a){return"googlexpc_"+a.a.name+"_ack"},Ee=function(a){try{if(!a.S&&De(a.a))return a.a.F.frames||{}}catch(b){P(J.b,"error retrieving peer frames")}return{}},Fe=function(a,b){return Ee(a)[b]};
X.prototype.connect=function(){if(!this.S&&De(this.a)){P(J.b,"transport connect called");if(!this.V){P(J.b,"initializing...");var a=Be(this);this.Ia=Ge(this,a);this.$b=this.f().frames[a];a=Ce(this);this.za=Ge(this,a);this.Hb=this.f().frames[a];this.V=!0}if(He(this,Be(this))&&He(this,Ce(this)))P(J.b,"foreign frames present"),this.Mc=new Ie(this,Fe(this,Be(this)),w(this.Gd,this)),this.nc=new Ie(this,Fe(this,Ce(this)),w(this.Fd,this)),this.xc();else{L("foreign frames not (yet) present");if(1==W(this.a))this.Xc||
0<this.Ed--||(L("Inner peer reconnect triggered."),re(this.a,qe()),L("switching channels: "+this.a.name),Je(this),this.V=!1,this.Xc=Ge(this,"googlexpc_reconnect_"+this.a.name));else if(0==W(this.a)){L("outerPeerReconnect called");for(var a=Ee(this),b=a.length,c=0;c<b;c++){var d;try{a[c]&&a[c].name&&(d=a[c].name)}catch(f){}if(d){var e=d.split("_");if(3==e.length&&"googlexpc"==e[0]&&"reconnect"==e[1]){this.a.name=e[2];Je(this);this.V=!1;break}}}}this.f().setTimeout(w(this.connect,this),100)}}};
var Ge=function(a,b){L("constructing sender frame: "+b);var c;c=document.createElement("IFRAME");var d=c.style;d.position="absolute";d.top="-10px";d.left="10px";d.width="1px";d.height="1px";c.id=c.name=b;c.src=a.hc+"#INITIAL";a.f().document.body.appendChild(c);return c},Je=function(a){L("deconstructSenderFrames called");a.Ia&&(a.Ia.parentNode.removeChild(a.Ia),a.Ia=null,a.$b=null);a.za&&(a.za.parentNode.removeChild(a.za),a.za=null,a.Hb=null)},He=function(a,b){L("checking for receive frame: "+b);try{var c=
Fe(a,b);if(!c||0!=c.location.href.indexOf(a.Id))return!1}catch(d){return!1}return!0};X.prototype.xc=function(){var a=Ee(this);a[Ce(this)]&&a[Be(this)]?(this.Nc=new Ke(this.hc,this.$b),this.cb=new Ke(this.hc,this.Hb),P(J.b,"local frames ready"),this.f().setTimeout(w(function(){this.Nc.send("SETUP");this.Oa=!0;P(J.b,"SETUP sent")},this),100)):(this.wc||(this.wc=w(this.xc,this)),this.f().setTimeout(this.wc,100),P(J.b,"local frames not (yet) present"))};
var Le=function(a){if(a.ic&&a.Vc){if(xe(a.a),a.Ca){P(J.b,"delivering queued messages ("+a.Ca.length+")");for(var b=0,c;b<a.Ca.length;b++)c=a.Ca[b],a.a.R(c.Za,c.ua);delete a.Ca}}else L("checking if connected: ack sent:"+a.ic+", ack rcvd: "+a.Vc)};
X.prototype.Gd=function(a){L("msg received: "+a);if("SETUP"==a)this.cb&&(this.cb.send("SETUP_ACK"),L("SETUP_ACK sent"),this.ic=!0,Le(this));else if(this.a.L()||this.ic){var b=a.indexOf("|"),c=a.substring(0,b);a=a.substring(b+1);b=c.indexOf(",");if(-1==b){var d;this.cb.send("ACK:"+c);Me(this,a)}else d=c.substring(0,b),this.cb.send("ACK:"+d),c=c.substring(b+1).split("/"),b=parseInt(c[0],10),c=parseInt(c[1],10),1==b&&(this.dc=[]),this.dc.push(a),b==c&&(Me(this,this.dc.join("")),delete this.dc)}else N(J.b,
"received msg, but channel is not connected")};X.prototype.Fd=function(a){L("ack received: "+a);"SETUP_ACK"==a?(this.Oa=!1,this.Vc=!0,Le(this)):this.a.L()?this.Oa?parseInt(a.split(":")[1],10)==this.fa?(this.Oa=!1,Ne(this)):N(J.b,"got ack with wrong sequence"):N(J.b,"got unexpected ack"):N(J.b,"received ack, but channel not connected")};
var Ne=function(a){if(!a.Oa&&a.wb.length){var b=a.wb.shift();++a.fa;a.Nc.send(a.fa+b);L("msg sent: "+a.fa+b);a.Oa=!0}},Me=function(a,b){var c=b.indexOf(":"),d=b.substr(0,c),c=b.substring(c+1);a.a.L()?a.a.R(d,c):((a.Ca||(a.Ca=[])).push({Za:d,ua:c}),L("queued delivery"))};X.prototype.bb=3800;
X.prototype.send=function(a,b){var c=a+":"+b;if(!F||b.length<=this.bb)this.wb.push("|"+c);else for(var d=b.length,e=Math.ceil(d/this.bb),f=0,g=1;f<d;)this.wb.push(","+g+"/"+e+"|"+c.substr(f,this.bb)),g++,f+=this.bb;Ne(this)};X.prototype.g=function(){X.D.g.call(this);var a=Oe;Ja(a,this.Mc);Ja(a,this.nc);this.Mc=this.nc=null;Wd(this.Ia);Wd(this.za);this.$b=this.Hb=this.Ia=this.za=null};
var Oe=[],Pe=w(function(){var a=Oe,b,c=!1;try{for(var d=0;b=a[d];d++){var e;if(!(e=c)){var f=b,g=f.Uc.location.href;if(g!=f.Ac){f.Ac=g;var l=g.split("#")[1];l&&(l=l.substr(1),f.nd(decodeURIComponent(l)));e=!0}else e=!1}c=e}}catch(k){if(O("receive_() failed: "+k),b=b.u.a,O("Transport Error"),b.close(),!a.length)return}a=x();c&&(ze=a);Ae=window.setTimeout(Pe,1E3>a-ze?10:100)},X),Qe=function(){P(J.b,"starting receive-timer");ze=x();Ae&&window.clearTimeout(Ae);Ae=window.setTimeout(Pe,10)},Ke=function(a,
b){if(!/^https?:\/\//.test(a))throw Error("URL "+a+" is invalid");this.Kd=a;this.ad=b;this.Mb=0};Ke.prototype.send=function(a){this.Mb=++this.Mb%2;a=this.Kd+"#"+this.Mb+encodeURIComponent(a);try{G?this.ad.location.href=a:this.ad.location.replace(a)}catch(b){M(J.b,"sending failed",b)}Qe()};var Ie=function(a,b,c){this.u=a;this.Uc=b;this.nd=c;this.Ac=this.Uc.location.href.split("#")[0]+"#INITIAL";Oe.push(this);Qe()};var Se=function(a,b){V.call(this,b);this.a=a;this.Dd=this.a.l.pru;this.Tc=this.a.l.ifrid;G&&Re()};y(Se,V);if(G)var Te=[],Ue=0,Re=function(){Ue||(Ue=window.setTimeout(function(){Ve()},1E3))},Ve=function(a){var b=x();for(a=a||3E3;Te.length&&b-Te[0].timestamp>=a;){var c=Te.shift().xd;Wd(c);L("iframe removed")}Ue=window.setTimeout(We,1E3)},We=function(){Ve()};var Xe={};Se.prototype.wa=3;Se.prototype.connect=function(){this.f().xpcRelay||(this.f().xpcRelay=Ye);this.send("tp","SETUP")};
var Ye=function(a,b){var c=b.indexOf(":"),d=b.substr(0,c),e=b.substr(c+1);if(F&&-1!=(c=d.indexOf("|"))){var f=d.substr(0,c),d=d.substr(c+1),c=d.indexOf("+"),g=d.substr(0,c),c=parseInt(d.substr(c+1),10),l=Xe[g];l||(l=Xe[g]={Hc:[],Wc:0,Gc:0});-1!=d.indexOf("++")&&(l.Gc=c+1);l.Hc[c]=e;l.Wc++;if(l.Wc!=l.Gc)return;e=l.Hc.join("");delete Xe[g]}else var f=d;U[a].R(f,decodeURIComponent(e))};Se.prototype.Ab=function(a){"SETUP"==a?(this.send("tp","SETUP_ACK"),xe(this.a)):"SETUP_ACK"==a&&xe(this.a)};
Se.prototype.send=function(a,b){var c=encodeURIComponent(b),d=c.length;if(F&&1800<d)for(var e=Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^x()).toString(36),f=0,g=0;f<d;g++){var l=c.substr(f,1800),f=f+1800;Ze(this,a,l,e+(f>=d?"++":"+")+g)}else Ze(this,a,c)};
var Ze=function(a,b,c,d){if(F){var e=a.f().document.createElement("DIV"),f;f=new $b;f.yb="this.xpcOnload()";var g={onload:f,sandbox:null},l={src:null,srcdoc:null},k={sandbox:""};f={};for(var r in l)B(r.toLowerCase()==r,"Must be lower case"),f[r]=l[r];for(r in k)B(r.toLowerCase()==r,"Must be lower case"),f[r]=k[r];for(r in g){var v=r.toLowerCase();if(v in l)throw Error('Cannot override "'+v+'" attribute, got "'+r+'" with value "'+g[r]+'"');v in k&&delete f[v];f[r]=g[r]}r=null;var A,g="";if(f)for(A in f){if(!oc.test(A))throw Error('Invalid attribute name "'+
A+'".');k=f[A];if(null!=k){l=A;if(k instanceof $b)k=ac(k);else if("style"==l.toLowerCase()){if(!ga(k))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof k+" given: "+k);if(!(k instanceof cc)){var v="",Qa=void 0;for(Qa in k){if(!/^[-_a-zA-Z0-9]+$/.test(Qa))throw Error("Name allows only [-_a-zA-Z0-9], got: "+Qa);var K=k[Qa];if(null!=K){if(K instanceof $b)K=ac(K),B(!/[{;}]/.test(K),"Value does not allow [{;}].");else if(ec.test(K)){for(var sb=!0,tb=!0,
qc=0;qc<K.length;qc++){var $d=K.charAt(qc);"'"==$d&&tb?sb=!sb:'"'==$d&&sb&&(tb=!tb)}sb&&tb||(Ba("String value requires balanced quotes, got: "+K),K="zClosurez")}else Ba("String value allows only [-,.\"'%_!# a-zA-Z0-9], rgb() and rgba(), got: "+K),K="zClosurez";v+=Qa+":"+K+";"}}v?(B(!/[<>]/.test(v),"Forbidden characters in style string: "+v),k=(new cc).ob(v)):k=dc}v=void 0;k instanceof cc&&k.constructor===cc&&k.ed===bc?v=k.sb:(Ba("expected object of type SafeStyle, got '"+k+"' of type "+p(k)),v="type_error:SafeStyle");
k=v}else{if(/^on/i.test(l))throw Error('Attribute "'+l+'" requires goog.string.Const value, "'+k+'" given.');if(l.toLowerCase()in pc)if(k instanceof kc)k instanceof kc&&k.constructor===kc&&k.hd===jc?k=k.fc:(Ba("expected object of type TrustedResourceUrl, got '"+k+"' of type "+p(k)),k="type_error:TrustedResourceUrl");else if(k instanceof gc)k instanceof gc&&k.constructor===gc&&k.fd===fc?k=k.da:(Ba("expected object of type SafeUrl, got '"+k+"' of type "+p(k)),k="type_error:SafeUrl");else if(t(k))k instanceof
gc||(k=k.qa?k.ia():String(k),hc.test(k)||(k="about:invalid#zClosurez"),k=ic(k)),k=k.ia();else throw Error('Attribute "'+l+'" on tag "iframe" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+k+'" given.');}k.qa&&(k=k.ia());B(t(k)||fa(k),"String or number value expected, got "+typeof k+" with value: "+k);l=l+'="'+xa(String(k))+'"';g+=" "+l}}A="<iframe"+g;g=void 0;null!=g?q(g)||(g=[g]):g=[];!0===Yb.iframe?(B(!g.length,"Void tag <iframe> does not allow content."),A+=">"):(r=sc(g),A+=
">"+nc(r)+"</iframe>",r=r.Qa());(f=f&&f.dir)&&(r=/^(ltr|rtl|auto)$/i.test(f)?0:null);f=rc(A,r);e.innerHTML=nc(f);e=e.childNodes[0];e.xpcOnload=$e}else e=a.f().document.createElement("IFRAME"),G?Te.push({timestamp:x(),xd:e}):Bb(e,"load",$e);f=e.style;f.visibility="hidden";f.width=e.style.height="0px";f.position="absolute";f=a.Dd;f+="#"+a.a.name;a.Tc&&(f+=","+a.Tc);f+="|"+b;d&&(f+="|"+d);f+=":"+c;e.src=f;a.f().document.body.appendChild(e);L("msg sent: "+f)},$e=function(){L("iframe-load");Wd(this)};
Se.prototype.g=function(){Se.D.g.call(this);G&&Ve(0)};var Y=function(a,b,c,d,e){V.call(this,c);this.a=a;this.P=e||2;B(1<=this.P);B(2>=this.P);this.Sc=b||"*";this.Da=new S(this);this.X=new gd(100,this.f());this.rb=!!d;this.A=new T;this.B=new T;this.o=new T;this.Pb=qe();this.ka=null;this.rb?1==W(this.a)?je(this.o,this.A):je(this.o,this.B):(je(this.o,this.A),2==this.P&&je(this.o,this.B));ie(this.o,this.ac,this);this.o.H(!0);this.Da.Ua(this.X,"tick",this.Va);O("NativeMessagingTransport created.  protocolVersion="+this.P+", oneSidedHandshake="+this.rb+", role="+
W(this.a))};y(Y,V);Y.prototype.C=null;Y.prototype.V=!1;Y.prototype.wa=1;var af={};Y.prototype.Ya=0;
var cf=function(a){var b=a.kb.data;if(!t(b))return!1;var c=b.indexOf("|"),d=b.indexOf(":");if(-1==c||-1==d)return!1;var e=b.substring(0,c),c=b.substring(c+1,d),b=b.substring(d+1);P(J.b,"messageReceived: channel="+e+", service="+c+", payload="+b);if(d=U[e])return d.R(c,b,a.kb.origin),!0;a=bf(b)[0];for(var f in U)if(d=U[f],1==W(d)&&!d.L()&&"tp"==c&&("SETUP"==a||"SETUP_NTPV2"==a))return re(d,e),d.R(c,b),!0;O('channel name mismatch; message ignored"');return!1};
Y.prototype.Ab=function(a){var b=bf(a);a=b[1];switch(b[0]){case "SETUP_ACK":df(this,1);this.A.J||this.A.H(!0);break;case "SETUP_ACK_NTPV2":2==this.P&&(df(this,2),this.A.J||this.A.H(!0));break;case "SETUP":df(this,1);this.xb(1);break;case "SETUP_NTPV2":2==this.P&&(b=this.C,df(this,2),this.xb(2),1!=b&&null==this.ka||this.ka==a||(O("Sending SETUP and changing peer ID to: "+a),this.Xa()),this.ka=a)}};
Y.prototype.Xa=function(){B(!(1==this.P&&2==this.C));2!=this.P||null!=this.C&&2!=this.C||this.send("tp","SETUP_NTPV2,"+this.Pb);null!=this.C&&1!=this.C||this.send("tp","SETUP")};Y.prototype.xb=function(a){B(1!=this.P||2!=a,"Shouldn't try to send a v2 setup ack in v1 mode.");if(2!=this.P||null!=this.C&&2!=this.C||2!=a){if(null!=this.C&&1!=this.C||1!=a)return;this.send("tp","SETUP_ACK")}else this.send("tp","SETUP_ACK_NTPV2");this.B.J||this.B.H(!0)};
var df=function(a,b){b>a.C&&(a.C=b);1==a.C&&(a.B.J||a.rb||a.B.H(!0),a.ka=null)};h=Y.prototype;h.connect=function(){var a=this.f(),b=ja(a),c=af[b];fa(c)||(c=0);0==c&&Bb(a.postMessage?a:a.document,"message",cf,!1,Y);af[b]=c+1;this.V=!0;this.Va()};h.Va=function(){var a=0==W(this.a);this.rb&&a||this.a.L()||this.S?this.X.stop():(this.X.start(),this.Xa())};
h.send=function(a,b){var c=this.a.F;c?(this.send=function(a,b){var f=this,g=this.a.name;this.Ya=hd(function(){f.Ya=0;try{var l=c.postMessage?c:c.document;l.postMessage?(l.postMessage(g+"|"+a+":"+b,f.Sc),P(J.b,"send(): service="+a+" payload="+b+" to hostname="+f.Sc)):N(J.b,"Peer window had no postMessage function.")}catch(k){N(J.b,"Error performing postMessage, ignoring.",k)}},0)},this.send(a,b)):P(J.b,"send(): window not ready")};h.ac=function(){xe(this.a,1==this.P||1==this.C?200:void 0)};
h.g=function(){if(this.V){var a=this.f(),b=ja(a),c=af[b];af[b]=c-1;1==c&&Jb(a.postMessage?a:a.document,"message",cf,!1,Y)}this.Ya&&(m.clearTimeout(this.Ya),this.Ya=0);D(this.Da);delete this.Da;D(this.X);delete this.X;this.A.cancel();delete this.A;this.B.cancel();delete this.B;this.o.cancel();delete this.o;delete this.send;Y.D.g.call(this)};var bf=function(a){a=a.split(",");a[1]=a[1]||null;return a};var ef=function(a,b){V.call(this,b);this.a=a;this.sc=a.at||"";this.Yc=a.rat||"";var c=this.f();if(!c.nix_setup_complete)try{c.execScript("Class GCXPC____NIXVBS_wrapper\n Private m_Transport\nPrivate m_Auth\nPublic Sub SetTransport(transport)\nIf isEmpty(m_Transport) Then\nSet m_Transport = transport\nEnd If\nEnd Sub\nPublic Sub SetAuth(auth)\nIf isEmpty(m_Auth) Then\nm_Auth = auth\nEnd If\nEnd Sub\nPublic Function GetAuthToken()\n GetAuthToken = m_Auth\nEnd Function\nPublic Sub SendMessage(service, payload)\n Call m_Transport.GCXPC____NIXJS_handle_message(service, payload)\nEnd Sub\nPublic Sub CreateChannel(channel)\n Call m_Transport.GCXPC____NIXJS_create_channel(channel)\nEnd Sub\nPublic Sub GCXPC____NIXVBS_container()\n End Sub\nEnd Class\n Function GCXPC____NIXVBS_get_wrapper(transport, auth)\nDim wrap\nSet wrap = New GCXPC____NIXVBS_wrapper\nwrap.SetTransport transport\nwrap.SetAuth auth\nSet GCXPC____NIXVBS_get_wrapper = wrap\nEnd Function",
"vbscript"),c.nix_setup_complete=!0}catch(d){M(J.b,"exception caught while attempting global setup: "+d)}this.GCXPC____NIXJS_handle_message=this.wd;this.GCXPC____NIXJS_create_channel=this.pd};y(ef,V);h=ef.prototype;h.wa=6;h.Ha=!1;h.ja=null;h.connect=function(){0==W(this.a)?this.pc():this.oc()};
h.pc=function(){if(!this.Ha){var a=this.a.Fa;try{a.contentWindow.opener=(0,this.f().GCXPC____NIXVBS_get_wrapper)(this,this.sc),this.Ha=!0}catch(b){M(J.b,"exception caught while attempting setup: "+b)}this.Ha||this.f().setTimeout(w(this.pc,this),100)}};
h.oc=function(){if(!this.Ha){try{var a=this.f().opener;if(a&&"GCXPC____NIXVBS_container"in a){this.ja=a;if(this.ja.GetAuthToken()!=this.Yc){M(J.b,"Invalid auth token from other party");return}this.ja.CreateChannel((0,this.f().GCXPC____NIXVBS_get_wrapper)(this,this.sc));this.Ha=!0;xe(this.a)}}catch(b){M(J.b,"exception caught while attempting setup: "+b);return}this.Ha||this.f().setTimeout(w(this.oc,this),100)}};
h.pd=function(a){"unknown"==typeof a&&"GCXPC____NIXVBS_container"in a||M(J.b,"Invalid NIX channel given to createChannel_");this.ja=a;this.ja.GetAuthToken()!=this.Yc?M(J.b,"Invalid auth token from other party"):xe(this.a)};h.wd=function(a,b){this.f().setTimeout(w(function(){this.a.R(a,b)},this),1)};h.send=function(a,b){"unknown"!==typeof this.ja&&M(J.b,"NIX channel not connected");this.ja.SendMessage(a,b)};h.g=function(){ef.D.g.call(this);this.ja=null};var Z=function(a,b){ae.call(this);for(var c=0,d;d=oe[c];c++)if(d in a&&!/^https?:\/\//.test(a[d]))throw Error("URI "+a[d]+" is invalid for field "+d);this.l=a;this.name=this.l.cn||qe();this.T=b||na||(na=new Xd);this.ib=[];this.ec=new S(this);a.lpu=a.lpu||jd(this.T.f().location.href)+"/robots.txt";a.ppu=a.ppu||jd(a.pu||"")+"/robots.txt";U[this.name]=this;Lb(window,"unload",ff)||Ib(window,"unload",ff);O("CrossPageChannel created: "+this.name)};y(Z,ae);var gf=/^%*tp$/,hf=/^%+tp$/;h=Z.prototype;
h.ha=null;h.va=null;h.u=null;h.j=1;h.L=function(){return 2==this.j};h.F=null;h.Fa=null;var De=function(a){try{return!!a.F&&!a.F.closed}catch(b){return!1}};Z.prototype.connect=function(a){this.Lb=a||da;3==this.j&&(this.j=1);this.va?ie(this.va,this.yc):this.yc()};
Z.prototype.yc=function(){O("continueConnection_()");this.va=null;if(this.l.ifrid){var a=this.l.ifrid;this.Fa=t(a)?this.T.Ob.getElementById(a):a}this.Fa&&((a=this.Fa.contentWindow)||(a=window.frames[this.l.ifrid]),this.F=a);if(!this.F){if(window==window.top)throw Error("CrossPageChannel: Can't connect, peer window-object not set.");this.F=window.parent}if(!this.u){if(!this.l.tp){var a=this.l,b;if(u(document.postMessage)||u(window.postMessage)||F&&window.postMessage)b=1;else if(bb)b=2;else if(F&&this.l.pru)b=
3;else{var c;if(c=F){c=!1;try{b=window.opener,window.opener={},c=Wa(window,"opener"),window.opener=b}catch(d){}}b=c?6:4}a.tp=b}switch(this.l.tp){case 1:this.u=new Y(this,this.l.ph,this.T,!!this.l.osh,this.l.nativeProtocolVersion||2);break;case 6:this.u=new ef(this,this.T);break;case 2:this.u=new ye(this,this.T);break;case 3:this.u=new Se(this,this.T);break;case 4:this.u=new X(this,this.T);break;case 7:if(a=this.F)try{a=window.document.domain==this.F.document.domain}catch(d){a=!1}a?this.u=new se(this,
this.T):O("DirectTransport not supported for this window, peer window in different security context or not set yet.")}if(this.u)O("Transport created: "+this.u.getName());else throw Error("CrossPageChannel: No suitable transport found!");}for(this.u.connect();0<this.ib.length;)this.ib.shift()()};Z.prototype.close=function(){this.va&&(this.va.cancel(),this.va=null);this.ib.length=0;this.ec.ub();this.j=3;D(this.u);this.Lb=this.u=null;D(this.ha);this.ha=null;O('Channel "'+this.name+'" closed')};
var xe=function(a,b){a.L()||a.ha&&a.ha.Wb()||(a.j=2,O('Channel "'+a.name+'" connected'),D(a.ha),n(b)?(a.ha=new Vd(a.Lb,b),a.ha.start()):(a.ha=null,a.Lb()))};Z.prototype.send=function(a,b){this.L()?De(this)?(ga(b)&&(b=Ub(b)),this.u.send(jf(a),b)):(M(J.b,"Peer has disappeared."),this.close()):M(J.b,"Can't send. Channel not connected.")};
Z.prototype.R=function(a,b,c){if(this.va)this.ib.push(w(this.R,this,a,b,c));else{var d=this.l.ph;if(/^[\s\xa0]*$/.test(null==c?"":String(c))||/^[\s\xa0]*$/.test(null==d?"":String(d))||c==this.l.ph)if(this.S||3==this.j)N(J.b,"CrossPageChannel::xpcDeliver(): Channel closed.");else if(a&&"tp"!=a)if(this.L()){if(a=a.replace(/%[0-9a-f]{2}/gi,decodeURIComponent),a=hf.test(a)?a.substring(1):a,c=this.jc[a],c||(this.Cc?c={H:ma(this.Cc,a),Oc:ga(b)}:(N(this.b,'Unknown service name "'+a+'"'),c=null)),c){var e;
a:{if((d=c.Oc)&&t(b))try{e=Rb(b);break a}catch(f){N(this.b,"Expected JSON payload for "+a+', was "'+b+'"');e=null;break a}else if(!d&&!t(b)){e=Ub(b);break a}e=b}null!=e&&c.H(e)}}else O("CrossPageChannel::xpcDeliver(): Not connected.");else this.u.Ab(b);else N(J.b,'Message received from unapproved origin "'+c+'" - rejected.')}};
var jf=function(a){gf.test(a)&&(a="%"+a);return a.replace(/[%:|]/g,encodeURIComponent)},W=function(a){var b=a.l.role;return fa(b)?b:window.parent==a.F?1:0},re=function(a,b){P(J.b,"changing channel name to "+b);delete U[a.name];a.name=b;U[b]=a};Z.prototype.g=function(){this.close();this.Fa=this.F=null;delete U[this.name];D(this.ec);delete this.ec;Z.D.g.call(this)};var ff=function(){for(var a in U)D(U[a])};var kf=function(a,b,c,d){this.vd=new Ud(a,b,c,this);a=(new Fd(d||window.location.href)).G.get("xpc");this.Rd=Rb(a);this.na=null};kf.prototype.Vb=function(){this.na=new Z(this.Rd);var a=w(kf.prototype.send,this);this.na.jc.s={H:a,Oc:!0};this.na.connect()};kf.prototype.send=function(a){this.vd.send(a[0],a[1],a[2])};kf.prototype.Ic=function(a,b){var c=b.target;Cd(c)?this.na.send("ss",[a]):this.na.send("sf",[a,Ed(c)])};kf.prototype.init=kf.prototype.Vb;ba("invalidation.XpcSenderServer",kf,void 0);
