(function() {var h,aa=aa||{},l=this,m=function(a){return void 0!==a},ba=function(){},ca=function(){throw Error("unimplemented abstract method");},da=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},ea=function(a){return null!=a},n=function(a){return"array"==da(a)},fa=function(a){var b=da(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"== da(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},ga="closure_uid_"+(1E9*Math.random()>>>0),ha=0,ia=function(a,b,c){return a.call.apply(a.bind,arguments)},ja=function(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(ua,">"));-1!=a.indexOf('"')&&(a=a.replace(va,"""));-1!=a.indexOf("'")&& (a=a.replace(wa,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(xa,"�"));return a},sa=/&/g,ta=//g,va=/"/g,wa=/'/g,xa=/\x00/g,ra=/[\x00&<>"']/,za=function(a,b){return ab?1:0};var Aa=function(a,b){b.unshift(a);na.call(this,pa.apply(null,b));b.shift()};x(Aa,na);Aa.prototype.name="AssertionError"; var Ba=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 Aa(""+e,f||[]);},z=function(a,b,c){a||Ba("",null,b,Array.prototype.slice.call(arguments,2));return a},Ca=function(a,b){throw new Aa("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Da=function(a,b,c){q(a)||Ba("Expected number but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2));return a},Ea=function(a,b,c){r(a)||Ba("Expected function but got %s: %s.",[da(a), a],b,Array.prototype.slice.call(arguments,2))},Fa=function(a,b,c){t(a)||Ba("Expected object but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2))},Ga=function(a,b,c){n(a)||Ba("Expected array but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2))};var Ha=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},Ia=function(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c},Ja=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d},Ka=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},La=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},Ma=function(a){for(var b in a)return!1;return!0},Na=function(a,b){b in a&&delete a[b]},Oa=function(a){var b={},c;for(c in a)b[c]=a[c];return b},Pa=function(a){var b= da(a);if("object"==b||"array"==b){if(r(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=Pa(a[c]);return b}return a},Qa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Ra=function(a,b){for(var c,d,e=1;ec?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},Xa=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]},db=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},fb=function(a,b){var c=Va(a,b),d;(d=0<=c)&&eb(a,c);return d},eb=function(a,b){z(null!=a.length); Array.prototype.splice.call(a,b,1)},gb=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)},hb=function(a){var b=a.length;if(0=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a, b,c)},kb=function(a){for(var b={},c=0,d=0;dparseFloat(vb)){ub=String(xb);break a}}ub=vb} var yb=ub,Ta={},zb=function(a){return Ua(a,function(){for(var b=0,c=qa(String(yb)).split("."),d=qa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Fb="closure_listenable_"+(1E6*Math.random()|0),Gb=function(a){return!(!a||!a[Fb])},Hb=0;var Ib=function(a,b,c,d,e){this.listener=a;this.vb=null;this.src=b;this.type=c;this.bb=!!d;this.nb=e;this.key=++Hb;this.Aa=this.ab=!1},Jb=function(a){a.Aa=!0;a.listener=null;a.vb=null;a.src=null;a.nb=null};var Kb=function(a){this.src=a;this.D={};this.Wa=0};Kb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.D[f];a||(a=this.D[f]=[],this.Wa++);var g=Lb(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(v){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,g=e.length-1;!c.za&&0<=g;g--){c.currentTarget=e[g];var k=ac(e[g],f,!0,c),d=d&&k}for(g=0;!c.za&&g>>0),Rb=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[bc]||(a[bc]=function(b){return a.handleEvent(b)});return a[bc]};var cc=function(){y.call(this);this.P=new Kb(this);this.Ad=this;this.jc=null};x(cc,y);cc.prototype[Fb]=!0;h=cc.prototype;h.addEventListener=function(a,b,c,d){Qb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Yb(this,a,b,c,d)}; h.dispatchEvent=function(a){dc(this);var b,c=this.jc;if(c){b=[];for(var d=1;c;c=c.jc)b.push(c),z(1E3>++d,"infinite loop")}c=this.Ad;d=a.type||a;if(p(a))a=new ma(a,c);else if(a instanceof ma)a.target=a.target||c;else{var e=a;a=new ma(d,c);Ra(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.za&&0<=g;g--)f=a.currentTarget=b[g],e=ec(f,d,!0,a)&&e;a.za||(f=a.currentTarget=c,e=ec(f,d,!0,a)&&e,a.za||(e=ec(f,d,!1,a)&&e));if(b)for(g=0;!a.za&&g=a.length)throw gc;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},jc=function(a,b){if(fa(a))try{Xa(a,b,void 0)}catch(c){if(c!==gc)throw c;}else{a=ic(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==gc)throw c;}}};var kc=function(a,b){this.o={};this.h=[];this.Xa=this.f=0;var c=arguments.length;if(12*this.f&&lc(this),!0):!1};var lc=function(a){if(a.f!=a.h.length){for(var b=0,c=0;b=d.h.length)throw gc;var e=d.h[b++];return a?e:d.o[e]};return e};var mc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var nc=function(a){if(a.s&&"function"==typeof a.s)return a.s();if(p(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;de&&(e+=d);return[a.Ud,c,e,b.y].join("/")},vc=function(a){ma.call(this,"tileevent");this.count=a};x(vc,ma);var wc=function(a,b,c){this.Sd=c;this.Jd=a;this.ce=b;this.tb=0;this.ob=null};wc.prototype.get=function(){var a;0");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):rd(c,d));2=b.Ob&&b.cancel())}this.jd?this.jd.call(this.Ec,this):this.nc=!0;this.ua||Ad(this,new Bd)}};zd.prototype.Bc=function(a,b){this.Nb=!1;Cd(this,a,b)}; var Cd=function(a,b,c){a.ua=!0;a.Y=c;a.Na=!b;Dd(a)},Fd=function(a){if(a.ua){if(!a.nc)throw new Ed;a.nc=!1}};zd.prototype.Pb=function(a){Fd(this);Gd(a);Cd(this,!0,a)};var Ad=function(a,b){Fd(a);Gd(b);Cd(a,!1,b)},Gd=function(a){z(!(a instanceof zd),"An execution sequence may not be initiated with a blocking Deferred.")},Hd=function(a,b,c){z(!a.yc,"Blocking Deferreds can not be re-used");a.yb.push([b,c,void 0]);a.ua&&Dd(a)}; zd.prototype.then=function(a,b,c){var d,e,f=new Nc(function(a,b){d=a;e=b});Hd(this,d,function(a){a instanceof Bd?f.cancel():e(a)});return f.then(a,b,c)};Jc(zd); var Id=function(a){return $a(a.yb,function(a){return r(a[1])})},Dd=function(a){if(a.Fb&&a.ua&&Id(a)){var b=a.Fb,c=Jd[b];c&&(l.clearTimeout(c.W),delete Jd[b]);a.Fb=0}a.j&&(a.j.Ob--,delete a.j);for(var b=a.Y,d=c=!1;a.yb.length&&!a.Nb;){var e=a.yb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Na?g:f)try{var k=f.call(e||a.Ec,b);m(k)&&(a.Na=a.Na&&(k==b||k instanceof Error),a.Y=b=k);if(Kc(b)||"function"===typeof l.Promise&&b instanceof l.Promise)d=!0,a.Nb=!0}catch(v){b=v,a.Na=!0,Id(a)||(c=!0)}}a.Y=b;d&&(k=u(a.Bc, a,!0),d=u(a.Bc,a,!1),b instanceof zd?(Hd(b,k,d),b.yc=!0):b.then(k,d));c&&(b=new Kd(b),Jd[b.W]=b,a.Fb=b.W)},Ed=function(){na.call(this)};x(Ed,na);Ed.prototype.message="Deferred has already fired";Ed.prototype.name="AlreadyCalledError";var Bd=function(){na.call(this)};x(Bd,na);Bd.prototype.message="Deferred was canceled";Bd.prototype.name="CanceledError";var Kd=function(a){this.W=l.setTimeout(u(this.fe,this),0);this.hb=a}; Kd.prototype.fe=function(){z(Jd[this.W],"Cannot throw an error that is not scheduled.");delete Jd[this.W];throw this.hb;};var Jd={};var Md=function(a){var b=new nd;b.kc=a;Ld(b)},Ld=function(a){var b={},c=b.document||document,d;a instanceof nd&&a.constructor===nd&&a.zd===md?d=a.kc:(Ca("expected object of type TrustedResourceUrl, got '"+a+"' of type "+da(a)),d="type_error:TrustedResourceUrl");var e=document.createElement("SCRIPT");a={sd:e,Va:void 0};var f=new zd(Nd,a),g=null,k=null!=b.timeout?b.timeout:5E3;0=Yd(this).value)for(r(b)&&(b=b()),a=new Rd(a,String(b),this.Xd),c&&(a.Ic=c),c="log:"+a.Wd,l.console&&(l.console.timeStamp?l.console.timeStamp(c):l.console.markTimeline&&l.console.markTimeline(c)),l.msWriteProfilerMark&&l.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.Sc)for(var e=0,f;f=b.Sc[e];e++)f(d);c=c.getParent()}}; var Zd={},$d=null,ae=function(a){$d||($d=new Td(""),Zd[""]=$d,$d.ud(Wd));var b;if(!(b=Zd[a])){b=new Td(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=ae(a.substr(0,c));c.Oc()[d]=b;b.j=c;Zd[a]=b}return b};var be=function(a,b){a&&a.log(Xd,b,void 0)};var ce=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,de=function(a,b){if(a)for(var c=a.split("&"),d=0;db)throw Error("Bad port number "+b);a.xa=b}else a.xa=null};xe.prototype.getPath=function(){return this.wa};xe.prototype.setPath=function(a,b){ze(this);this.wa=b?Ce(a,!0):a;return this};var Be=function(a,b,c){ze(a);b instanceof De?(a.T=b,a.T.mc(a.I)):(c||(b=Ee(b,Je)),a.T=new De(b,0,a.I))},ze=function(a){if(a.Rd)throw Error("Tried to modify a read-only Uri");}; xe.prototype.mc=function(a){this.I=a;this.T&&this.T.mc(a);return this}; var Ke=function(a){return a instanceof xe?a.clone():new xe(a,void 0)},Ce=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ee=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,Le),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Le=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},Fe=/[#\/\?@]/g,He=/[\#\?:]/g,Ge=/[\#\?]/g,Je=/[\#\?@]/g,Ie=/#/g,De=function(a,b,c){this.f=this.i=null;this.G=a||null;this.I=!!c},Me=function(a){a.i|| (a.i=new kc,a.f=0,a.G&&de(a.G,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=De.prototype;h.B=function(){Me(this);return this.f};h.add=function(a,b){Me(this);this.G=null;a=Ne(this,a);var c=this.i.get(a);c||this.i.set(a,c=[]);c.push(b);this.f=Da(this.f)+1;return this};h.remove=function(a){Me(this);a=Ne(this,a);return this.i.$(a)?(this.G=null,this.f=Da(this.f)-this.i.get(a).length,this.i.remove(a)):!1};h.clear=function(){this.i=this.G=null;this.f=0}; h.isEmpty=function(){Me(this);return 0==this.f};h.$=function(a){Me(this);a=Ne(this,a);return this.i.$(a)};h.L=function(){Me(this);for(var a=this.i.s(),b=this.i.L(),c=[],d=0;db&&(b+=e);return[ff,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};w("ee.data.getTileUrl",qf); var rf=function(a,b){a=Oa(a);return D("/value",E(a),b)};w("ee.data.getValue",rf);var sf=function(a,b){a=Oa(a);n(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));var c=E(a).add("getid","1");return D("/thumb",c,b)};w("ee.data.getThumbId",sf);var tf=function(a){return ff+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};w("ee.data.makeThumbUrl",tf);var uf=function(a,b){a=Oa(a);return D("/download",E(a),b)};w("ee.data.getDownloadId",uf); var vf=function(a){return ff+"/api/download?docid="+a.docid+"&token="+a.token};w("ee.data.makeDownloadUrl",vf);var wf=function(a,b){a=Oa(a);return D("/table",E(a),b)};w("ee.data.getTableDownloadId",wf);var xf=function(a){return ff+"/api/table?docid="+a.docid+"&token="+a.token};w("ee.data.makeTableDownloadUrl",xf);var zf=function(a,b,c){var d=yf;try{return yf=a,b.call(c)}finally{yf=d}};w("ee.data.withProfiling",zf); w("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return D("/newtaskid",E(c),b)});w("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 D("/taskstatus?q="+a.join(),null,b,"GET")});w("ee.data.getTaskList",function(a){return D("/tasklist",null,a,"GET")});w("ee.data.cancelTask",function(a,b){return Af(a,"CANCEL",b)}); var Af=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.");var d;a:{d=Bf;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return D("/updatetask",E({id:a,action:b}),c,"POST")};w("ee.data.updateTask",Af);w("ee.data.startProcessing",function(a,b,c){b=Oa(b);b.id=a;return D("/processingrequest",E(b),c)}); w("ee.data.startIngestion",function(a,b,c){a={id:a,request:hd(b)};return D("/ingestionrequest",E(a),c)});w("ee.data.startTableIngestion",function(a,b,c){a={id:a,tableRequest:hd(b)};return D("/ingestionrequest",E(a),c)});var Cf=function(a,b){return D("/info",(new De).add("id",a),b)};w("ee.data.getInfo",Cf);var Df=function(a,b){var c=E(a);return D("/list",c,b)};w("ee.data.getList",Df);w("ee.data.getAssetRoots",function(a){return D("/buckets",null,a,"GET")}); w("ee.data.createAssetHome",function(a,b){var c=E({id:a});D("/createbucket",c,b)});w("ee.data.createAsset",function(a,b,c,d){p(a)||(a=hd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return D("/create",E(a),d)});w("ee.data.createFolder",function(a,b,c){return D("/createfolder",E({id:a,force:b||!1}),c)});w("ee.data.renameAsset",function(a,b,c){D("/rename",E({sourceId:a,destinationId:b}),c)});w("ee.data.copyAsset",function(a,b,c){D("/copy",E({sourceId:a,destinationId:b}),c)}); w("ee.data.deleteAsset",function(a,b){D("/delete",E({id:a}),b)});w("ee.data.getAssetAcl",function(a,b){return D("/getacl",E({id:a}),b,"GET")});w("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:hd(b)};D("/setacl",E(a),c)});w("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:hd(b)};D("/setproperties",E(a),c)});w("ee.data.getAssetRootQuota",function(a,b){return D("/quota",E({id:a}),b,"GET")}); var Bf={ke:"CANCEL",ne:"UPDATE"},D=function(a,b,c,d){hf();var e=yf,f={"Content-Type":"application/x-www-form-urlencoded"},g=af();if(null!=g)f.Authorization=g;else if(c&&Xe&&Oe)return Se(function(){zf(e,function(){D(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new De;e&&b.add("profiling","1");b=lf(b,a);null!=gf&&(f["X-XSRF-Token"]=gf);var k=function(a,b,c,d){var f=b("X-Earth-Engine-Computation-Profile");f&&e&&e(f);var g,k,v;b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"== b||"text/json"==b)try{g=fd(c),k=g.data}catch(R){v="Invalid JSON: "+c}else v="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error?v=g.error.message:"data"in g||(v="Malformed response: "+c);else if(0===a)v="Failed to contact Earth Engine servers. Please check your connection, firewall, or browser extension settings.";else if(200>a||300<=a)v="Server returned HTTP code: "+a;if(d)return d(k,v),null;if(!v)return k;throw Error(v);},v=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(v)|| (a+=-1!=a.indexOf("?")?"&":"?",a+=v,v=null);var R=df+a;if(c)return Ef.push({url:R,Pb:function(a){a=a.target;var b=a.getStatus(),d=u(a.getResponseHeader,a),e;try{e=a.a?a.a.responseText:""}catch(f){be(a.F,"Can not get responseText: "+f.message),e=""}return k(b,d,e,c)},method:g,content:v,headers:f}),Ff.Lc(),null;var S=B();S.open(g,R,!1);Ha(f,function(a,b){S.setRequestHeader(b,a)});S.send(v);return k(S.status,function(a){try{return S.getResponseHeader(a)}catch(b){return null}},S.responseText,null)},Re= function(a){var b=function(){l.gapi.config.update("client/cors",!0);Xe||(Xe=l.gapi.auth.authorize);a()};if(t(l.gapi)&&t(l.gapi.auth)&&r(l.gapi.auth.authorize))b();else{for(var c=la().toString(36);c in l;)c+="_";l[c]=function(){delete l[c];b()};Md("https://apis.google.com/js/client.js?onload="+c)}},Ve=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(Se,.9*c),Ze=la()+c),Qe=b,a&&a()):b&&b(c.error||"Unknown error.")},E=function(a){var b= new De,c;for(c in a)b.set(c,a[c]);return b},Ef=[],Ff=new bd(function(){var a=Ef.shift();if(a){var b=a.url,c=a.Pb,d=a.method,e=a.content,a=a.headers,f=jf,g=new C;ne.push(g);c&&g.Sa("complete",c);g.rb("ready",g.Gd);f&&(g.Ea=Math.max(0,f));g.send(b,d,e,a)}0==Ef.length||Ff.Lc()},350),df=null,ff=null,gf=null,lf=fc,Qe=null,Ze=null,Oe=null,Pe=[],Xe=null,ef=!1,jf=0,yf=null;var Gf=function(){};Gf.prototype.encode=ca;var Hf=function(){this.Z=-1};Hf.prototype.reset=ca;Hf.prototype.update=ca;Hf.prototype.digest=ca;var If=function(){this.Z=64;this.A=Array(4);this.Cd=Array(this.Z);this.Db=this.Ha=0;this.reset()};x(If,Hf);If.prototype.reset=function(){this.A[0]=1732584193;this.A[1]=4023233417;this.A[2]=2562383102;this.A[3]=271733878;this.Db=this.Ha=0}; var Jf=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],g;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}; If.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.Z,d=this.Cd,e=this.Ha,f=0;fthis.Ha?this.Z:2*this.Z)-this.Ha);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 Kf=function(a){this.Ya="__ee_hash__";this.dc=!1!==a;this.Ca=[];this.ta={};this.uc=[]};w("ee.Serializer",Kf);var Lf=new gd,Mf=new If,Of=function(a,b){return Nf(new Kf(m(b)?b:!0),a)};w("ee.Serializer.encode",Of);var Pf=function(a){return Lf.u(Of(a))};w("ee.Serializer.toJSON",Pf);var Qf=function(a){a=Nf(new Kf(!1),a);return"JSON"in l?l.JSON.stringify(a,null," "):Lf.u(a)};w("ee.Serializer.toReadableJSON",Qf); var Nf=function(a,b){var c=a.gb(b);a.dc&&(c=t(c)&&"ValueRef"==c.type&&1==a.Ca.length?a.Ca[0][1]:{type:"CompoundValue",scope:a.Ca,value:c},a.Ca=[],Xa(a.uc,u(function(a){delete a[this.Ya]},a)),a.uc=[],a.ta={});return c}; Kf.prototype.gb=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b,c=t(a)?a[this.Ya]:null;if(this.dc&&null!=c&&this.ta[c])return{type:"ValueRef",value:this.ta[c]};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 Gf){if(b=a.encode(u(this.gb,this)),!(n(b)||t(b)&&"ArgumentRef"!=b.type))return b}else if(n(a))b=Za(a,function(a){return this.gb(a)}, this);else if(t(a)&&!r(a))b=Ja(a,function(a){if(!r(a))return this.gb(a)},this),Na(b,this.Ya),b={type:"Dictionary",value:b};else throw Error("Can't encode object: "+a);if(this.dc){Mf.reset();Mf.update(Lf.u(b));var c=Mf.digest().toString(),d;this.ta[c]?d=this.ta[c]:(d=String(this.Ca.length),this.Ca.push([d,b]),this.ta[c]=d);a[this.Ya]=c;this.uc.push(a);return{type:"ValueRef",value:d}}return b};var F=function(a,b,c){if(!(this instanceof F))return G(F,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.c=a;this.m=b;this.v=c||null};x(F,Gf);w("ee.ComputedObject",F);F.prototype.evaluate=function(a){if(!a||!r(a))throw Error("evaluate() requires a callback function.");rf({json:this.u()},a)};F.prototype.evaluate=F.prototype.evaluate; F.prototype.S=function(a){return rf({json:this.u()},a)};F.prototype.getInfo=F.prototype.S;F.prototype.encode=function(a){if(null===this.c&&null===this.m)return{type:"ArgumentRef",value:this.v};var b={},c;for(c in this.m)m(this.m[c])&&(b[c]=a(this.m[c]));b={type:"Invocation",arguments:b};a=a(this.c);b[p(a)?"functionName":"function"]=a;return b};F.prototype.u=function(){return Pf(this)};F.prototype.serialize=F.prototype.u;F.prototype.toString=function(){return"ee."+this.name()+"("+Qf(this)+")"}; w("ee.ComputedObject.prototype.toString",F.prototype.toString);F.prototype.name=function(){return"ComputedObject"};F.prototype.wc=function(a,b){var c=hb(arguments);c[0]=this;a.apply(l,c);return this};F.prototype.aside=F.prototype.wc;var Rf=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;c=new c;c.c=b.c;c.m=b.m;c.v=b.v;return c},G=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Sf={},Tf=function(a){return a.prototype instanceof F?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Uf=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}},Vf=function(a){return q(a)|| a instanceof F&&"Number"==a.name()},Wf=function(a){return p(a)||a instanceof F&&"String"==a.name()},Xf=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var H=function(){if(!(this instanceof H))return new H};x(H,Gf);w("ee.Function",H);var Yf=fc;H.prototype.C=ca;H.prototype.call=function(a){return this.apply(Zf(this,Array.prototype.slice.call(arguments,0)))};H.prototype.call=H.prototype.call;H.prototype.apply=function(a){a=new F(this,$f(this,a));return Yf(a,this.C().returns)};H.prototype.apply=H.prototype.apply; var ag=function(a,b,c){var d=m(b),e=a.C(),f=!1;if(1==c.length&&Xf(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=Oa(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=Zf(a,d?[b].concat(c):c);return a.apply(c)},$f=function(a,b){for(var c=a.C().args,d={},e={},f=0;f/,"");for(var c=0;c/,"");return new I(b,a)}),a&&a())};a?D("/algorithms",null,c,"GET"):c(D("/algorithms",null,void 0,"GET"))}},K=function(a,b,c,d){fg();var e=d||"";Ha(dg,function(d,g){var k=g.split(".");if(2==k.length&&k[0]==b){var k=e+k[1],v=d.C();eg[g]=!0;var R=!1;if(v.args.length)var S= v.args[0].type,R="Object"!=S&&Uf(S,c);S=R?a.prototype:a;k in S&&!S[k].signature||(S[k]=function(a){return ag(d,R?this:void 0,Array.prototype.slice.call(arguments,0))},S[k].toString=u(d.toString,d,k,R),S[k].signature=v)}})},L=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 M=function(a,b){var c=jg(a),d=Za(c,function(a){return a.replace(/^opt_/,"")}),e=l.Ga?l.Ga[a.toString()].name.split(".").pop()+"()":null,e=e?" to function "+e:"",f={},g=b[0],k=t(g)&&!r(g)&&!n(g)&&!(g instanceof F);if(1d.length)throw Error("Received too many arguments"+e+". Expected at most "+d.length+" but got "+b.length+".");for(g=0;g=arguments.length){var c=arguments[0];if(b=Xf(c))a:{b=La(c);var d=["properties"];if(fa(b)&&fa(d)&&b.length==d.length){for(var e=b.length,f=0;fc||4/,"");c[e]=!0}var f=l.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=ai(g),Vh.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,eg[g]=!0):f[g].signature={});Sf=f;bi()}catch(k){Th(k);return}Ph="ready";for(Qh=[];0this.sb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.R=new li;this.ca=new pc;this.Sb=0;this.ec=null;this.Za()};x(mi,y);h=mi.prototype;h.kb=function(){var a=la();if(!(null!=this.ec&&a-this.ecthis.sb&&0=this.B()){for(var c=this.M,d=0;d>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=oi.prototype; h.remove=function(){var a=this.M,b=a.length,c=a[0];if(!(0>=b)){if(1==b)db(a);else{a[0]=a.pop();for(var a=0,b=this.M,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.tc}};h.s=function(){for(var a=this.M,b=[],c=a.length,d=0;da.Vd)return!1;a.xc++;ki(a.ba,a.W);setTimeout(u(a.de,a),0);return!0}; ti.prototype.de=function(){if(!this.ra){var a=u(function(a){this.ra||((a=p(a)?a:a.src)&&(this.ba.Pa[this.W]={src:a,Cc:m(void 0)?void 0:null}),Xb(this.ba,wi,u(this.Od,this)),this.ba.start())},this),b=this.getUrl();if(Ke(b).T.$("profiling")){var c=new C;c.Ua="blob";c.Sa("complete",u(function(){this.od=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;var d;if(200<=c.getStatus()&&300>c.getStatus())try{d=URL.createObjectURL(we(c))}catch(e){}a(d||b)},this));c.rb("ready",u(c.O,c));c.send(b, "GET")}else a(b)}};var xi=function(){this.J=!1};x(xi,y);xi.prototype.setActive=function(a){this.J=a};xi.prototype.Xc=function(){return this.J};var si=function(a,b){ri.call(this,a,b)};x(si,ri);si.prototype.Rb=function(){return new xi};si.prototype.eb=function(a){a.O()};si.prototype.hc=function(a){return!a.aa&&!a.Xc()};var Z=function(a,b,c,d,e){tc.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.Yc=m(d.Yc)?d.Yc:!0;this.name=d.name;this.qc=new pc;this.ic=1;this.ya=e||null};x(Z,tc);w("ee.MapLayerOverlay",Z);Z.prototype.Bd=function(a){return Qb(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.Bd;Z.prototype.be=function(a){Zb(a)}; Z.prototype.removeTileCallback=Z.prototype.be;Z.prototype.Ja=function(){this.dispatchEvent(new vc(this.na.length))}; Z.prototype.getTile=function(a,b,c){if(ba.y||a.y>=1<