(function(){var h,aa=aa||{},k=this,m=function(a){return void 0!==a},ba=function(){},ca=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},da=function(a){return null!=a},n=function(a){return"array"==ca(a)},ea=function(a){var b=ca(a);return"array"==b||"object"==b&&"number"==typeof a.length},p=function(a){return"string"==typeof a},q=function(a){return"number"==typeof a},r=function(a){return"function"==ca(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a|| "function"==b},fa="closure_uid_"+(1E9*Math.random()>>>0),ga=0,ha=function(a,b,c){return a.call.apply(a.bind,arguments)},ia=function(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(sa,">"));-1!=a.indexOf('"')&&(a=a.replace(ta,"""));-1!=a.indexOf("'")&& (a=a.replace(ua,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(va,"�"));return a},qa=/&/g,ra=//g,ta=/"/g,ua=/'/g,va=/\x00/g,pa=/[\x00&<>"']/,xa=function(a,b){return ab?1:0};var ya=function(a,b){b.unshift(a);y.call(this,ma.apply(null,b));b.shift()};x(ya,y);ya.prototype.name="AssertionError"; var za=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);throw new ya(""+e,f||[]);},z=function(a,b,c){a||za("",null,b,Array.prototype.slice.call(arguments,2));return a},Aa=function(a,b){throw new ya("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Ba=function(a,b,c){q(a)||za("Expected number but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2));return a},Ca=function(a,b,c){r(a)||za("Expected function but got %s: %s.",[ca(a), a],b,Array.prototype.slice.call(arguments,2))},Da=function(a,b,c){t(a)||za("Expected object but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))},Ea=function(a,b,c){n(a)||za("Expected array but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))};var Fa=Array.prototype.indexOf?function(a,b,c){z(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(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc&&(c=Math.max(0,a.length+c));if(p(a))return p(b)&&1== b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1},Ia=Array.prototype.forEach?function(a,b,c){z(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;fb?null:p(a)?a.charAt(b):a[b]},Qa=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},Sa= function(a,b){b=Fa(a,b);var c;(c=0<=b)&&Ra(a,b);return c},Ra=function(a,b){z(null!=a.length);Array.prototype.splice.call(a,b,1)},Ta=function(a){return Array.prototype.concat.apply([],arguments)},Ua=function(a){var b=a.length;if(0=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)},Xa=function(a){for(var b={},c=0,d=0;dparseFloat(yb)){xb=String(Ab);break a}}xb=yb} var Bb=xb,pb={},Cb=function(a){return qb(a,function(){for(var b=0,c=na(String(Bb)).split("."),d=na(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Ib="closure_listenable_"+(1E6*Math.random()|0),Jb=function(a){return!(!a||!a[Ib])},Kb=0;var Lb=function(a,b,c,d,e){this.listener=a;this.Hb=null;this.src=b;this.type=c;this.capture=!!d;this.ba=e;this.key=++Kb;this.Ka=this.mb=!1},Mb=function(a){a.Ka=!0;a.listener=null;a.Hb=null;a.src=null;a.ba=null};var Nb=function(a){this.src=a;this.D={};this.hb=0};Nb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.D[f];a||(a=this.D[f]=[],this.hb++);var g=Ob(a,b,d,e);-1c.keyCode||void 0!=c.returnValue)){a:{var e=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==c.returnValue)c.returnValue=!0}c=[];for(e=b.currentTarget;e;e=e.parentNode)c.push(e);a=a.type;for(var f=c.length-1;!b.Ja&&0<=f;f--)b.currentTarget=c[f],e=dc(c[f],a,!0,b),d=d&&e;for(f=0;!b.Ja&&f>>0),Ub=function(a){z(a,"Listener can not be null.");if(r(a))return a;z(a.handleEvent,"An object listener must have handleEvent method.");a[ec]||(a[ec]=function(b){return a.handleEvent(b)});return a[ec]};var fc=function(a){A.call(this);this.ta=a;this.i={}};x(fc,A);var gc=[];fc.prototype.Y=function(a,b,c,d){n(b)||(b&&(gc[0]=b.toString()),b=gc);for(var e=0;e++d,"infinite loop")}b=this.Qd;d=a.type||a;if(p(a))a=new B(a,b);else if(a instanceof B)a.target=a.target||b;else{var e=a;a=new B(d,b);nb(a,e)}var e=!0;if(c)for(var f=c.length-1;!a.Ja&&0<=f;f--){var g=a.currentTarget=c[f];e=jc(g,d,!0,a)&&e}a.Ja||(g=a.currentTarget=b,e=jc(g,d,!0,a)&&e,a.Ja||(e=jc(g,d,!1,a)&&e));if(c)for(f=0;!a.Ja&&f=b.cc&&b.cancel())}this.zd?this.zd.call(this.dd,this):this.Ic=!0;this.Fa||Uc(this,new Vc)}};Tc.prototype.ad=function(a,b){this.bc=!1;Wc(this,a,b)}; var Wc=function(a,b,c){a.Fa=!0;a.ea=c;a.Xa=!b;Xc(a)},Zc=function(a){if(a.Fa){if(!a.Ic)throw new Yc;a.Ic=!1}};Tc.prototype.dc=function(a){Zc(this);$c(a);Wc(this,!0,a)};var Uc=function(a,b){Zc(a);$c(b);Wc(a,!1,b)},$c=function(a){z(!(a instanceof Tc),"An execution sequence may not be initiated with a blocking Deferred.")},ad=function(a,b,c){z(!a.Wc,"Blocking Deferreds can not be re-used");a.Lb.push([b,c,void 0]);a.Fa&&Xc(a)}; Tc.prototype.then=function(a,b,c){var d,e,f=new Fc(function(a,b){d=a;e=b});ad(this,d,function(a){a instanceof Vc?f.cancel():e(a)});return f.then(a,b,c)};Bc(Tc); var bd=function(a){return La(a.Lb,function(a){return r(a[1])})},Xc=function(a){if(a.Tb&&a.Fa&&bd(a)){var b=a.Tb,c=cd[b];c&&(k.clearTimeout(c.ca),delete cd[b]);a.Tb=0}a.m&&(a.m.cc--,delete a.m);for(var b=a.ea,d=c=!1;a.Lb.length&&!a.bc;){var e=a.Lb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Xa?g:f)try{var l=f.call(e||a.dd,b);m(l)&&(a.Xa=a.Xa&&(l==b||l instanceof Error),a.ea=b=l);if(Cc(b)||"function"===typeof k.Promise&&b instanceof k.Promise)d=!0,a.bc=!0}catch(w){b=w,a.Xa=!0,bd(a)||(c=!0)}}a.ea=b;d&&(l=u(a.ad, a,!0),d=u(a.ad,a,!1),b instanceof Tc?(ad(b,l,d),b.Wc=!0):b.then(l,d));c&&(b=new dd(b),cd[b.ca]=b,a.Tb=b.ca)},Yc=function(){y.call(this)};x(Yc,y);Yc.prototype.message="Deferred has already fired";Yc.prototype.name="AlreadyCalledError";var Vc=function(){y.call(this)};x(Vc,y);Vc.prototype.message="Deferred was canceled";Vc.prototype.name="CanceledError";var dd=function(a){this.ca=k.setTimeout(u(this.ye,this),0);this.qb=a}; dd.prototype.ye=function(){z(cd[this.ca],"Cannot throw an error that is not scheduled.");delete cd[this.ca];throw this.qb;};var cd={};var ed=function(){D.call(this);this.K=new FileReader;this.K.onloadstart=u(this.Da,this);this.K.onprogress=u(this.Da,this);this.K.onload=u(this.Da,this);this.K.onabort=u(this.Da,this);this.K.onerror=u(this.Da,this);this.K.onloadend=u(this.Da,this)};x(ed,D);h=ed.prototype;h.abort=function(){try{this.K.abort()}catch(a){throw new zc(a,"aborting read");}};h.ja=function(){return this.K.readyState};h.Da=function(a){this.dispatchEvent(new Ac(a,this))};h.c=function(){ed.j.c.call(this);delete this.K}; h.readAsArrayBuffer=function(a){this.K.readAsArrayBuffer(a)};h.readAsText=function(a,b){this.K.readAsText(a,b)};var fd=function(a,b,c,d,e){this.reset(a,b,c,d,e)};fd.prototype.gd=null;var gd=0;fd.prototype.reset=function(a,b,c,d,e){"number"==typeof e||gd++;d||ka();this.ab=a;this.oe=b;delete this.gd};fd.prototype.Ld=function(a){this.ab=a};var hd=function(a){this.pe=a;this.pd=this.ec=this.ab=this.m=null},id=function(a,b){this.name=a;this.value=b};id.prototype.toString=function(){return this.name};var jd=new id("SEVERE",1E3),kd=new id("CONFIG",700),ld=new id("FINE",500);hd.prototype.getParent=function(){return this.m};hd.prototype.md=function(){this.ec||(this.ec={});return this.ec};hd.prototype.Ld=function(a){this.ab=a};var md=function(a){if(a.ab)return a.ab;if(a.m)return md(a.m);Aa("Root logger has no level set.");return null}; hd.prototype.log=function(a,b,c){if(a.value>=md(this).value)for(r(b)&&(b=b()),a=new fd(a,String(b),this.pe),c&&(a.gd=c),c="log:"+a.oe,k.console&&(k.console.timeStamp?k.console.timeStamp(c):k.console.markTimeline&&k.console.markTimeline(c)),k.msWriteProfilerMark&&k.msWriteProfilerMark(c),c=this;c;){var d=c,e=a;if(d.pd)for(var f=0;b=d.pd[f];f++)b(e);c=c.getParent()}}; var nd={},od=null,pd=function(a){od||(od=new hd(""),nd[""]=od,od.Ld(kd));var b;if(!(b=nd[a])){b=new hd(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=pd(a.substr(0,c));c.md()[d]=b;b.m=c;nd[a]=b}return b};var qd="StopIteration"in k?k.StopIteration:{message:"StopIteration",stack:""},rd=function(){};rd.prototype.next=function(){throw qd;};rd.prototype.za=function(){return this}; var sd=function(a){if(a instanceof rd)return a;if("function"==typeof a.za)return a.za(!1);if(ea(a)){var b=0,c=new rd;c.next=function(){for(;;){if(b>=a.length)throw qd;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},td=function(a,b){if(ea(a))try{Ia(a,b,void 0)}catch(c){if(c!==qd)throw c;}else{a=sd(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==qd)throw c;}}};var ud=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\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,""))},vd=function(a){a=String(a);if(ud(a))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);},xd=function(a){return(new wd(void 0)).v(a)},wd=function(a){this.Jb=a}; wd.prototype.v=function(a){var b=[];yd(this,a,b);return b.join("")}; var yd=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(n(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f2*this.h&&Id(this),!0):!1};var Id=function(a){var b,c;if(a.h!=a.i.length){for(b=c=0;c=d.i.length)throw qd;var e=d.i[b++];return a?e:d.u[e]};return e};var Jd=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Kd=function(a){if(a.s&&"function"==typeof a.s)return a.s();if(p(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;d");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):ie(c,d));2a.y||a.y>=d)return c.createElement("div");var e=a.x%d;0>e&&(e+=d);d=new google.maps.Point(e,a.y);a=[[a.x,a.y,b,this.na].join("-"),this.Mc.od()].join("-");var f=this.cd(d,b,c,a);f.tileSize=this.tileSize;qe(f.H,this.opacity);this.oa.set(a,f);this.ba.Y(f,"status-changed",function(){switch(f.getStatus()){case "loaded":this.dispatchEvent(new te(this.qc()));break;case "throttled":this.dispatchEvent(new ue);break;case "failed":this.dispatchEvent(new ve)}}); this.Mc.wd(f,(new Date).getTime()/1E3);return f.H};h.releaseTile=function(a){var b=this.oa.get(a.id);this.oa.remove(a.id);b&&(b.abort(),Ya(b))};h.c=function(){re.j.c.call(this);this.oa.forEach(Ya);this.oa.clear();this.oa=null;Ya(this.ba);this.Mc=this.ba=null};var se=function(a,b){return Na(a.oa.s(),function(a){return a.getStatus()==b})},te=function(){B.call(this,"tile-load")};x(te,B);var ue=function(){B.call(this,"tile-throttle")};x(ue,B);var ve=function(){B.call(this,"tile-fail")};x(ve,B); var we=function(a,b,c,d){D.call(this);this.Ca=a;this.zoom=b;this.H=c.createElement("div");this.H.id=d;this.me=5;this.Ib=function(){};this.Jc="new";this.Hd=0;this.yc=!1};x(we,D); var ye=function(a){if(!a.yc&&"loading"==a.getStatus())throw Error("startLoad() can only be invoked once. Use retryLoad() after the first attempt.");xe(a,"loading");a.fa=new F;a.fa.Ma="blob";a.fa.Y("complete",function(){var a=ae(this.fa),c=this.fa.getStatus();429==c&&xe(this,"throttled");if(200<=c&&300>c)this.we=be(this.fa),this.Md=a,this.Ta();else if(a){var d=new ed;d.Y("loadend",function(){this.eb(d.K.result)},void 0,this);d.readAsText(a)}else this.eb("Failed to load tile.")},!1,a);a.fa.bb("ready", ja(Ya,a.fa));a.fa.send(a.Nb,"GET")};h=we.prototype;h.Ta=function(){this.Ib(this);xe(this,"loaded")};h.Ra=function(){Ya(this.fa)};h.eb=function(a){if(this.Hd>=this.me){try{JSON.parse(a)}catch(b){}xe(this,"failed")}else this.Ra(),setTimeout(u(function(){this.U||(this.yc=!0,ye(this),this.yc=!1)},this),1E3*Math.pow(2,this.Hd++))};h.abort=function(){this.Ra();xe(this,"aborted")};h.getStatus=function(){return this.Jc}; var xe=function(a,b){a.Jc=b;a.dispatchEvent("status-changed")},ze={aborted:!0,failed:!0,loaded:!0};we.prototype.c=function(){we.j.c.call(this);this.Ra();this.H.remove();this.Ib=null};var Ae=function(){A.call(this)};x(Ae,A);var Be=function(a,b){re.call(this,a,b);this.Yc=new Hd;this.fd=new Hd};x(Be,re);v("ee.layers.BinaryOverlay",Be);Be.prototype.cd=function(a,b,c,d){var e=new Ce(a,b,c,d);this.ba.Y(e,"status-changed",function(){"loaded"==e.getStatus()&&(this.Yc.set(a,new Float32Array(e.Ud)),this.fd.set(a,e.H))});return e};Be.prototype.c=function(){Be.j.c.call(this);this.fd=this.Yc=null};var Ce=function(a,b,c,d){we.call(this,a,b,c,d)};x(Ce,we); Ce.prototype.Ta=function(){var a=new ed;a.Y("loadend",function(){this.Ud=a.K.result;we.prototype.Ta.call(this)},void 0,this);a.readAsArrayBuffer(this.Md)};var De=function(a){for(var b=arguments[0],c=1;cb)throw Error("Bad port number "+b);a.Ia=b}else a.Ia=null}; Oe.prototype.getPath=function(){return this.da};Oe.prototype.setPath=function(a,b){Qe(this);this.da=b?Te(a,!0):a;return this};var Se=function(a,b,c){Qe(a);b instanceof Ue?(a.Z=b,a.Z.Hc(a.M)):(c||(b=Ve(b,$e)),a.Z=new Ue(b,0,a.M))},Qe=function(a){if(a.ie)throw Error("Tried to modify a read-only Uri");};Oe.prototype.Hc=function(a){this.M=a;this.Z&&this.Z.Hc(a);return this}; var af=function(a){return a instanceof Oe?a.clone():new Oe(a,void 0)},Te=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ve=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,bf),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},bf=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},We=/[#\/\?@]/g,Ye=/[\#\?:]/g,Xe=/[\#\?]/g,$e=/[\#\?@]/g,Ze=/#/g,Ue=function(a,b,c){this.h=this.l=null;this.I=a||null;this.M=!!c},cf=function(a){a.l|| (a.l=new Hd,a.h=0,a.I&&Od(a.I,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=Ue.prototype;h.B=function(){cf(this);return this.h};h.add=function(a,b){cf(this);this.I=null;a=df(this,a);var c=this.l.get(a);c||this.l.set(a,c=[]);c.push(b);this.h=Ba(this.h)+1;return this};h.remove=function(a){cf(this);a=df(this,a);return this.l.ha(a)?(this.I=null,this.h=Ba(this.h)-this.l.get(a).length,this.l.remove(a)):!1};h.clear=function(){this.l=this.I=null;this.h=0}; h.isEmpty=function(){cf(this);return 0==this.h};h.ha=function(a){cf(this);a=df(this,a);return this.l.ha(a)};h.P=function(){cf(this);for(var a=this.l.s(),b=this.l.P(),c=[],d=0;db&&(b+=e);return[xf,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};v("ee.data.getTileUrl",Hf); var If=function(a,b){a=kb(a);return G("/value",H(a),b)};v("ee.data.getValue",If);var Jf=function(a,b){a=kb(a);n(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));a=H(a).add("getid","1");return G("/thumb",a,b)};v("ee.data.getThumbId",Jf);var Kf=function(a){return xf+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};v("ee.data.makeThumbUrl",Kf);var Lf=function(a,b){a=kb(a);return G("/download",H(a),b)};v("ee.data.getDownloadId",Lf); var Mf=function(a){return xf+"/api/download?docid="+a.docid+"&token="+a.token};v("ee.data.makeDownloadUrl",Mf);var Nf=function(a,b){a=kb(a);return G("/table",H(a),b)};v("ee.data.getTableDownloadId",Nf);var Of=function(a){return xf+"/api/table?docid="+a.docid+"&token="+a.token};v("ee.data.makeTableDownloadUrl",Of);var Qf=function(a,b,c){var d=Pf;try{return Pf=a,b.call(c)}finally{Pf=d}};v("ee.data.withProfiling",Qf); v("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return G("/newtaskid",H(c),b)});v("ee.data.getTaskStatus",function(a,b){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");return G("/taskstatus?q="+a.join(),null,b,"GET")});v("ee.data.getTaskList",function(a){return G("/tasklist",null,a,"GET")});v("ee.data.cancelTask",function(a,b){return Rf(a,"CANCEL",b)}); var Rf=function(a,b,c){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");a:{var d=Sf;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return G("/updatetask",H({id:a,action:b}),c,"POST")};v("ee.data.updateTask",Rf);v("ee.data.startProcessing",function(a,b,c){b=kb(b);b.id=a;return G("/processingrequest",H(b),c)});v("ee.data.startIngestion",function(a,b,c){a={id:a,request:xd(b)};return G("/ingestionrequest",H(a),c)}); v("ee.data.startTableIngestion",function(a,b,c){a={id:a,tableRequest:xd(b)};return G("/ingestionrequest",H(a),c)});var Tf=function(a,b){return G("/info",(new Ue).add("id",a),b)};v("ee.data.getInfo",Tf);var Uf=function(a,b){a=H(a);return G("/list",a,b)};v("ee.data.getList",Uf);v("ee.data.getAssetRoots",function(a){return G("/buckets",null,a,"GET")});v("ee.data.createAssetHome",function(a,b){a=H({id:a});G("/createbucket",a,b)}); v("ee.data.createAsset",function(a,b,c,d){p(a)||(a=xd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return G("/create",H(a),d)});v("ee.data.createFolder",function(a,b,c){return G("/createfolder",H({id:a,force:b||!1}),c)});v("ee.data.renameAsset",function(a,b,c){G("/rename",H({sourceId:a,destinationId:b}),c)});v("ee.data.copyAsset",function(a,b,c){G("/copy",H({sourceId:a,destinationId:b}),c)});v("ee.data.deleteAsset",function(a,b){G("/delete",H({id:a}),b)}); v("ee.data.getAssetAcl",function(a,b){return G("/getacl",H({id:a}),b,"GET")});v("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:xd(b)};G("/setacl",H(a),c)});v("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:xd(b)};G("/setproperties",H(a),c)});v("ee.data.getAssetRootQuota",function(a,b){return G("/quota",H({id:a}),b,"GET")}); var Sf={Ce:"CANCEL",Fe:"UPDATE"},G=function(a,b,c,d){zf();var e=Pf,f={"Content-Type":"application/x-www-form-urlencoded"},g=sf();if(null!=g)f.Authorization=g;else if(c&&of&&ef)return jf(function(){Qf(e,function(){G(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new Ue;e&&b.add("profiling","1");b=Cf(b,a);null!=yf&&(f["X-XSRF-Token"]=yf);var l=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(l)||(a+=-1!=a.indexOf("?")?"&":"?",a+=l,l=null);var w=vf+a;if(c)return f=Vf(w,c,g,l,f),Wf.push(f),Xf.oc(),null;for(var oa= function(a,b){this.setRequestHeader&&this.setRequestHeader(b,a)},Ga,ug=0;;){Ga=E();Ga.open(g,w,!1);bb(f,oa,Ga);Ga.send(l);if(429!=Ga.status||5f)return f++,setTimeout(function(){Wf.push(g);Xf.oc()},Math.min(12E4,1E3*Math.pow(2,f))),null;var c=a.getStatus(), d=u(a.getResponseHeader,a);try{var e=a.a?a.a.responseText:""}catch(Ci){Cd(a.G,"Can not get responseText: "+Ci.message),e=""}return Yf(c,d,e,l,b)};return g},Yf=function(a,b,c,d,e){var f=b("X-Earth-Engine-Computation-Profile");f&&d&&d(f);b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"==b||"text/json"==b)try{var g=JSON.parse(c);var l=g.data}catch(oa){var w="Invalid JSON: "+c}else w="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error? w=g.error.message:"data"in g||(w="Malformed response: "+c);else if(0===a)w="Failed to contact Earth Engine servers. Please check your connection, firewall, or browser extension settings.";else if(200>a||300<=a)w="Server returned HTTP code: "+a;if(e)return e(l,w),null;if(!w)return l;throw Error(w);},hf=function(a){var b=function(){k.gapi.config.update("client/cors",!0);of||(of=k.gapi.auth.authorize);a()};if(t(k.gapi)&&t(k.gapi.auth)&&r(k.gapi.auth.authorize))b();else{for(var c=ka().toString(36);c in k;)c+="_";k[c]=function(){delete k[c];b()};Je("https://apis.google.com/js/client.js?onload="+c)}},mf=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(jf,.9*c),qf=ka()+c),gf=b,a&&a()):b&&b(c.error||"Unknown error.")},H=function(a){var b=new Ue,c;for(c in a)b.set(c,a[c]);return b},Wf=[],Xf=new Ge(function(){var a=Wf.shift();if(a){var b=a.url,c=a.dc,d=a.method,e=a.content,a=a.headers,f=Af,g=new F;Td.push(g);c&&g.Y("complete",c); g.bb("ready",g.Xd);f&&(g.Oa=Math.max(0,f));g.send(b,d,e,a)}0==Wf.length||Xf.oc()},350),vf=null,xf=null,yf=null,Cf=lc,gf=null,qf=null,ef=null,ff=[],of=null,wf=!1,Af=0,Pf=null;var Zf=function(a,b){this.ud=a;this.Sc=b};Zf.prototype.getKey=function(){return this.ud};Zf.prototype.clone=function(){return new Zf(this.ud,this.Sc)};var $f=function(a){this.R=[];if(a)a:{if(a instanceof $f){var b=a.P();a=a.s();if(0>=this.B()){for(var c=this.R,d=0;d>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=$f.prototype; h.remove=function(){var a=this.R,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Qa(a);else{a[0]=a.pop();for(var a=0,b=this.R,d=b.length,e=b[a];a>1;){var f=2*a+1,g=2*a+2,f=ge.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.Sc}};h.s=function(){for(var a=this.R,b=[],c=a.length,d=0;dthis.Bb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.W=new bg;this.ka=new cg;this.hc=0;this.zc=null;this.kb()};x(gg,A);gg.prototype.Va=function(){var a=ka();if(!(null!=this.zc&&a-this.zcthis.Bb&&0e&&(e+=d);return[a.le,c,e,b.y].join("/")};wg.prototype.qc=function(){return this.pa.length};var yg=function(a){B.call(this,"tileevent");this.count=a};x(yg,B);var zg=function(){};var Ag=function(){this.ga=-1};var Bg=function(){this.ga=64;this.A=Array(4);this.Sd=Array(this.ga);this.Rb=this.Qa=0;this.reset()};x(Bg,Ag);Bg.prototype.reset=function(){this.A[0]=1732584193;this.A[1]=4023233417;this.A[2]=2562383102;this.A[3]=271733878;this.Rb=this.Qa=0}; var Cg=function(a,b,c){c||(c=0);var d=Array(16);if(p(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.A[0];c=a.A[1];var e=a.A[2],f=a.A[3];var g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e& (f^b))+d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g= e+(c^f&(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295| g>>>27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295| g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295| g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^ b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295; f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+ (g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295; c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.A[0]=a.A[0]+b&4294967295;a.A[1]=a.A[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.A[2]=a.A[2]+e&4294967295;a.A[3]=a.A[3]+f&4294967295}; Bg.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.ga,d=this.Sd,e=this.Qa,f=0;fthis.Qa?this.ga:2*this.ga)-this.Qa);a[0]=128;for(var b=1;bb;++b)for(var d=0;32>d;d+=8)a[c++]=this.A[b]>>>d&255;return a};var Dg=function(a){this.jb="__ee_hash__";this.xc=!1!==a;this.Na=[];this.Ea={};this.Tc=[]};v("ee.Serializer",Dg);var Eg=new wd,Fg=new Bg,Hg=function(a,b){return Gg(new Dg(m(b)?b:!0),a)};v("ee.Serializer.encode",Hg);var Ig=function(a){return Eg.v(Hg(a))};v("ee.Serializer.toJSON",Ig);var Jg=function(a){a=Gg(new Dg(!1),a);return"JSON"in k?k.JSON.stringify(a,null," "):Eg.v(a)};v("ee.Serializer.toReadableJSON",Jg); var Gg=function(a,b){b=a.pb(b);a.xc&&(b=t(b)&&"ValueRef"==b.type&&1==a.Na.length?a.Na[0][1]:{type:"CompoundValue",scope:a.Na,value:b},a.Na=[],Ia(a.Tc,u(function(a){delete a[this.jb]},a)),a.Tc=[],a.Ea={});return b}; Dg.prototype.pb=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b=t(a)?a[this.jb]:null;if(this.xc&&null!=b&&this.Ea[b])return{type:"ValueRef",value:this.Ea[b]};if(null===a||"boolean"==typeof a||q(a)||p(a))return a;if(t(a)&&"function"==typeof a.getFullYear)return{type:"Invocation",functionName:"Date",arguments:{value:Math.floor(a.getTime())}};if(a instanceof zg){var c=a.encode(u(this.pb,this));if(!(n(c)||t(c)&&"ArgumentRef"!=c.type))return c}else if(n(a))c=Ka(a,function(a){return this.pb(a)}, this);else if(t(a)&&!r(a))c=db(a,function(a){if(!r(a))return this.pb(a)},this),jb(c,this.jb),c={type:"Dictionary",value:c};else throw Error("Can't encode object: "+a);if(this.xc){Fg.reset();Fg.update(Eg.v(c));var b=Fg.digest().toString();if(this.Ea[b])var d=this.Ea[b];else d=String(this.Na.length),this.Na.push([d,c]),this.Ea[b]=d;a[this.jb]=b;this.Tc.push(a);return{type:"ValueRef",value:d}}return c};var I=function(a,b,c){if(!(this instanceof I))return J(I,arguments);if(c&&(a||b))throw Error('When "opt_varName" is specified, "func" and "args" must be null.');if(a&&!b)throw Error('When "func" is specified, "args" must not be null.');this.f=a;this.o=b;this.w=c||null};x(I,zg);v("ee.ComputedObject",I);I.prototype.evaluate=function(a){if(!a||!r(a))throw Error("evaluate() requires a callback function.");If({json:this.v()},a)};I.prototype.evaluate=I.prototype.evaluate; I.prototype.X=function(a){return If({json:this.v()},a)};I.prototype.getInfo=I.prototype.X;I.prototype.encode=function(a){if(null===this.f&&null===this.o)return{type:"ArgumentRef",value:this.w};var b={},c;for(c in this.o)m(this.o[c])&&(b[c]=a(this.o[c]));b={type:"Invocation",arguments:b};a=a(this.f);b[p(a)?"functionName":"function"]=a;return b};I.prototype.v=function(){return Ig(this)};I.prototype.serialize=I.prototype.v;I.prototype.toString=function(){return"ee."+this.name()+"("+Jg(this)+")"}; v("ee.ComputedObject.prototype.toString",I.prototype.toString);I.prototype.name=function(){return"ComputedObject"};I.prototype.Uc=function(a,b){var c=Ua(arguments);c[0]=this;a.apply(k,c);return this};I.prototype.aside=I.prototype.Uc;var Kg=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;a=new c;a.f=b.f;a.o=b.o;a.w=b.w;return a},J=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Lg={},Mg=function(a){return a.prototype instanceof I?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Ng=function(a,b){if(b==a)return!0;switch(a){case "Element":return"Element"==b||"Image"==b||"Feature"==b||"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "FeatureCollection":case "Collection":return"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "Object":return!0;default:return!1}},Og=function(a){return q(a)|| a instanceof I&&"Number"==a.name()},Pg=function(a){return p(a)||a instanceof I&&"String"==a.name()},Qg=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var K=function(){if(!(this instanceof K))return new K};x(K,zg);v("ee.Function",K);var Rg=lc;K.prototype.call=function(a){return this.apply(Sg(this,Array.prototype.slice.call(arguments,0)))};K.prototype.call=K.prototype.call;K.prototype.apply=function(a){a=new I(this,Tg(this,a));return Rg(a,this.F().returns)};K.prototype.apply=K.prototype.apply; var Ug=function(a,b,c){var d=m(b),e=a.F(),f=!1;if(1==c.length&&Qg(c[0])){var g=e.args;d&&(g=g.slice(1));g.length&&(f=!((1==g.length||g[1].optional)&&"Dictionary"==g[0].type))}if(f){if(c=kb(c[0]),d){d=e.args[0].name;if(d in c)throw Error("Named args for "+e.name+" can't contain keyword "+d);c[d]=b}}else c=Sg(a,d?[b].concat(c):c);return a.apply(c)},Tg=function(a,b){for(var c=a.F().args,d={},e={},f=0;f/,"");for(var c=0;c/,"");return new L(b,a)}),a&&a())};a?G("/algorithms",null,c,"GET"):c(G("/algorithms",null,void 0,"GET"))}},N=function(a,b,c,d){Zg();var e=d||"";bb(Xg,function(d,g){var f=g.split(".");if(2==f.length&&f[0]==b){var f=e+f[1],w=d.F();Yg[g]=!0;var oa=!1; w.args.length&&(g=w.args[0].type,oa="Object"!=g&&Ng(g,c));g=oa?a.prototype:a;f in g&&!g[f].signature||(g[f]=function(a){return Ug(d,oa?this:void 0,Array.prototype.slice.call(arguments,0))},g[f].toString=u(d.toString,d,f,oa),g[f].signature=w)}})},O=function(a){var b=function(a){for(var b in a)r(a[b])&&a[b].signature&&delete a[b]};b(a);b(a.prototype)};var P=function(a,b){var c=ch(a),d=Ka(c,function(a){return a.replace(/^opt_/,"")});a=(a=k.EXPORTED_FN_INFO?k.EXPORTED_FN_INFO[a.toString()].name.split(".").pop()+"()":null)?" to function "+a:"";var e={},f=b[0],g=t(f)&&!r(f)&&!n(f)&&!(f instanceof I);if(1d.length)throw Error("Received too many arguments"+a+". Expected at most "+d.length+" but got "+b.length+".");for(f=0;f=arguments.length){var c=arguments[0];if(b=Qg(c))a:{b=fb(c);var d=["properties"];if(ea(b)&&ea(d)&&b.length==d.length){for(var e=b.length,f=0;fc||4/,"");c[e]=!0}var f=k.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=Hi(g),Ai.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,Yg[g]=!0):f[g].signature={});Lg=f;Ii()}catch(l){yi(l);return}ui="ready";for(vi=[];0a.ne)return!1;a.Vc++;qg(a.C,a.ca);setTimeout(u(a.xe,a),0);return!0}; Ni.prototype.xe=function(){if(!this.Aa){var a=u(function(a){this.Aa||(pg(this.C,this.ca,a),$b(this.C,Qi,u(this.de,this)),this.C.start())},this),b=this.getUrl();if(af(b).Z.ha("profiling")){var c=new F;c.Ma="blob";c.Y("complete",u(function(){this.Ed=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;if(200<=c.getStatus()&&300>c.getStatus())try{var d=URL.createObjectURL(ae(c))}catch(e){}a(d||b)},this));c.bb("ready",u(c.T,c));c.send(b,"GET")}else a(b)}};var Ri=function(){this.N=!1}; x(Ri,A);Ri.prototype.setActive=function(a){this.N=a};Ri.prototype.sd=function(){return this.N};var Mi=function(a,b){jg.call(this,a,b)};x(Mi,jg);Mi.prototype.gc=function(){return new Ri};Mi.prototype.nb=function(a){a.T()};Mi.prototype.Cc=function(a){return!a.U&&!a.sd()};var Z=function(a,b,c,d,e){wg.call(this,a,b,c);this.minZoom=d.minZoom||0;this.maxZoom=d.maxZoom||20;if(!window.google||!window.google.maps)throw Error("Google Maps API hasn't been initialized.");this.tileSize=d.tileSize||new google.maps.Size(256,256);this.zb=m(d.zb)?d.zb:!0;this.name=d.name;this.Oc=new cg;this.Dc=1;this.J=e||null};x(Z,wg);v("ee.MapLayerOverlay",Z);Z.prototype.$b=function(a){return Tb(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.$b;Z.prototype.Gc=function(a){bc(a)}; Z.prototype.removeTileCallback=Z.prototype.Gc;Z.prototype.getTile=function(a,b,c){if(ba.y||a.y>=1<