Matt Hancher a7e9927b79 v0.1.149
2018-09-20 11:42:25 -07:00

262 lines
137 KiB
JavaScript

(function(){var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ca=function(){ca=function(){};ba.Symbol||(ba.Symbol=da)},da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(),fa=function(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&
aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ea(this)}});fa=function(){}},ea=function(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})},ha=function(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a},ia=function(a){fa();var b=a[Symbol.iterator];return b?b.call(a):ea(a)},ja=function(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);
b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}};ja("Array.prototype.find",function(a){return a?a:function(a,c){a:{var b=this;b instanceof String&&(b=String(b));for(var e=b.length,f=0;f<e;f++){var g=b[f];if(a.call(c,g,f,b)){a=g;break a}}a=void 0}return a}});var ka=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};ja("Object.entries",function(a){return a?a:function(a){var b=[],d;for(d in a)ka(a,d)&&b.push([d,a[d]]);return b}});
var la="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)ka(d,e)&&(a[e]=d[e])}return a};ja("Object.assign",function(a){return a||la});ja("Object.is",function(a){return a?a:function(a,c){return a===c?0!==a||1/a===1/c:a!==a&&c!==c}});
ja("Array.prototype.includes",function(a){return a?a:function(a,c){var b=this;b instanceof String&&(b=String(b));var e=b.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=b[c];if(f===a||Object.is(f,a))return!0}return!1}});
ja("WeakMap",function(a){function b(a){ka(a,d)||aa(a,d,{value:{}})}function c(a){var c=Object[a];c&&(Object[a]=function(a){b(a);return c(a)})}if(function(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(P){return!1}}())return a;var d="$jscomp_hidden_"+Math.random();c("freeze");c("preventExtensions");c("seal");var e=0,f=function(a){this.H=(e+=Math.random()+
1).toString();if(a){ca();fa();a=ia(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};f.prototype.set=function(a,c){b(a);if(!ka(a,d))throw Error("WeakMap key fail: "+a);a[d][this.H]=c;return this};f.prototype.get=function(a){return ka(a,d)?a[d][this.H]:void 0};f.prototype.has=function(a){return ka(a,d)&&ka(a[d],this.H)};f.prototype["delete"]=function(a){return ka(a,d)&&ka(a[d],this.H)?delete a[d][this.H]:!1};return f});
ja("Map",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a(ia([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(Y){return!1}}())return a;ca();fa();var b=new WeakMap,c=function(a){this.Za=
{};this.K=f();this.size=0;if(a){a=ia(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){a=0===a?0:a;var c=d(this,a);c.list||(c.list=this.Za[c.id]=[]);c.G?c.G.value=b:(c.G={next:this.K,ia:this.K.ia,head:this.K,key:a,value:b},c.list.push(c.G),this.K.ia.next=c.G,this.K.ia=c.G,this.size++);return this};c.prototype["delete"]=function(a){a=d(this,a);return a.G&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.Za[a.id],a.G.ia.next=a.G.next,a.G.next.ia=
a.G.ia,a.G.head=null,this.size--,!0):!1};c.prototype.clear=function(){this.Za={};this.K=this.K.ia=f();this.size=0};c.prototype.has=function(a){return!!d(this,a).G};c.prototype.get=function(a){return(a=d(this,a).G)&&a.value};c.prototype.entries=function(){return e(this,function(a){return[a.key,a.value]})};c.prototype.keys=function(){return e(this,function(a){return a.key})};c.prototype.values=function(){return e(this,function(a){return a.value})};c.prototype.forEach=function(a,b){for(var c=this.entries(),
d;!(d=c.next()).done;)d=d.value,a.call(b,d[1],d[0],this)};c.prototype[Symbol.iterator]=c.prototype.entries;var d=function(a,c){var d=c&&typeof c;"object"==d||"function"==d?b.has(c)?d=b.get(c):(d=""+ ++g,b.set(c,d)):d="p_"+c;var e=a.Za[d];if(e&&ka(a.Za,d))for(a=0;a<e.length;a++){var f=e[a];if(c!==c&&f.key!==f.key||c===f.key)return{id:d,list:e,index:a,G:f}}return{id:d,list:e,index:-1,G:void 0}},e=function(a,b){var c=a.K;return ha(function(){if(c){for(;c.head!=a.K;)c=c.ia;for(;c.next!=c.head;)return c=
c.next,{done:!1,value:b(c)};c=null}return{done:!0,value:void 0}})},f=function(){var a={};return a.ia=a.next=a.head=a},g=0;return c});
var ma=ma||{},k=this,m=function(a){return void 0!==a},n=function(a){return"string"==typeof a},na=function(a){return"number"==typeof a},oa=/^[\w+/_-]+[=]{0,2}$/,pa=null,qa=function(){},ra=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},ta=function(a){return null!=a},p=function(a){return"array"==ra(a)},va=function(a){var b=ra(a);return"array"==b||"object"==b&&"number"==typeof a.length},q=function(a){return"function"==ra(a)},r=function(a){var b=typeof a;
return"object"==b&&null!=a||"function"==b},wa="closure_uid_"+(1E9*Math.random()>>>0),xa=0,ya=function(a,b,c){return a.call.apply(a.bind,arguments)},za=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)}},t=function(a,b,c){t=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?
ya:za;return t.apply(null,arguments)},Aa=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)}},Ba=Date.now||function(){return+new Date},u=function(a,b){a=a.split(".");var c=k;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&m(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}},w=function(a,b){function c(){}c.prototype=b.prototype;a.l=
b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Pe=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};var x=function(){this.aa=this.aa;this.Mb=this.Mb};x.prototype.aa=!1;x.prototype.$=function(){this.aa||(this.aa=!0,this.f())};x.prototype.f=function(){if(this.Mb)for(;this.Mb.length;)this.Mb.shift()()};var Ca=function(a){a&&"function"==typeof a.$&&a.$()};var y=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.Aa=!1;this.Rd=!0};y.prototype.stopPropagation=function(){this.Aa=!0};y.prototype.preventDefault=function(){this.defaultPrevented=!0;this.Rd=!1};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))};w(z,Error);z.prototype.name="CustomError";var Da;var Ea=function(a,b){a=a.split("%s");for(var c="",d=a.length-1,e=0;e<d;e++)c+=a[e]+(e<b.length?b[e]:"%s");z.call(this,c+a[d])};w(Ea,z);Ea.prototype.name="AssertionError";
var Fa=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);throw new Ea(""+e,f||[]);},A=function(a,b,c){a||Fa("",null,b,Array.prototype.slice.call(arguments,2));return a},Ga=function(a,b){throw new Ea("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Ha=function(a,b,c){na(a)||Fa("Expected number but got %s: %s.",[ra(a),a],b,Array.prototype.slice.call(arguments,2));return a},Ia=function(a,b,c){n(a)||Fa("Expected string but got %s: %s.",[ra(a),
a],b,Array.prototype.slice.call(arguments,2))},Ja=function(a,b,c){q(a)||Fa("Expected function but got %s: %s.",[ra(a),a],b,Array.prototype.slice.call(arguments,2))};var Ka=Array.prototype.indexOf?function(a,b){A(null!=a.length);return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(n(a))return n(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},La=Array.prototype.lastIndexOf?function(a,b){A(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,a.length-1)}:function(a,b){var c=a.length-1;0>c&&(c=Math.max(0,a.length+c));if(n(a))return n(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in
a&&a[c]===b)return c;return-1},Ma=Array.prototype.forEach?function(a,b,c){A(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=n(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},Na=Array.prototype.filter?function(a,b){A(null!=a.length);return Array.prototype.filter.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=[],e=0,f=n(a)?a.split(""):a,g=0;g<c;g++)if(g in f){var l=f[g];b.call(void 0,l,g,a)&&(d[e++]=l)}return d},Oa=Array.prototype.map?function(a,
b,c){A(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=n(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Pa=Array.prototype.some?function(a,b){A(null!=a.length);return Array.prototype.some.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=n(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a))return!0;return!1},Qa=Array.prototype.every?function(a,b,c){A(null!=a.length);return Array.prototype.every.call(a,
b,c)}:function(a,b,c){for(var d=a.length,e=n(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0},Ra=function(a,b){var c=0;Ma(a,function(a,e,f){b.call(void 0,a,e,f)&&++c},void 0);return c},Ta=function(a){a:{var b=Sa;for(var c=a.length,d=n(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:n(a)?a.charAt(b):a[b]},Ua=function(a,b){return 0<=Ka(a,b)},Va=function(a){if(!p(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},Xa=
function(a,b){b=Ka(a,b);var c;(c=0<=b)&&Wa(a,b);return c},Wa=function(a,b){A(null!=a.length);Array.prototype.splice.call(a,b,1)},Ya=function(a){return Array.prototype.concat.apply([],arguments)},Za=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[]},$a=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(va(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}},ab=function(a,b,c){A(null!=a.length);
return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)},bb=function(a){for(var b={},c=0,d=0;d<a.length;){var e=a[d++];var f=e;f=r(f)?"o"+(f[wa]||(f[wa]=++xa)):(typeof f).charAt(0)+f;Object.prototype.hasOwnProperty.call(b,f)||(b[f]=!0,a[c++]=e)}a.length=c};var cb=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")},db=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]},lb=function(a){if(!eb.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(fb,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(gb,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(hb,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(ib,"&quot;"));-1!=
a.indexOf("'")&&(a=a.replace(jb,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(kb,"&#0;"));return a},fb=/&/g,gb=/</g,hb=/>/g,ib=/"/g,jb=/'/g,kb=/\x00/g,eb=/[\x00&<>"']/,mb=function(a,b){return a<b?-1:a>b?1:0};var nb;a:{var ob=k.navigator;if(ob){var pb=ob.userAgent;if(pb){nb=pb;break a}}nb=""}var qb=function(a){return-1!=nb.indexOf(a)};var rb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},sb=function(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c},tb=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d},ub=function(a,b){for(var c in a)if(b.call(void 0,a[c],c,a))return!0;return!1},vb=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},wb=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},xb=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1},zb=function(a){var b=
yb,c;for(c in b)if(a.call(void 0,b[c],c,b))return c},Ab=function(a){for(var b in a)return!1;return!0},Bb=function(a,b){b in a&&delete a[b]},Cb=function(a){var b={},c;for(c in a)b[c]=a[c];return b},Db=function(a){var b=ra(a);if("object"==b||"array"==b){if(q(a.clone))return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=Db(a[c]);return b}return a},Eb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Fb=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<Eb.length;f++)c=Eb[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};var Gb=function(a){Gb[" "](a);return a};Gb[" "]=qa;var Ib=function(a,b){var c=Hb;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var Jb=qb("Opera"),Kb=qb("Trident")||qb("MSIE"),Lb=qb("Edge"),Mb=qb("Gecko")&&!(-1!=nb.toLowerCase().indexOf("webkit")&&!qb("Edge"))&&!(qb("Trident")||qb("MSIE"))&&!qb("Edge"),Nb=-1!=nb.toLowerCase().indexOf("webkit")&&!qb("Edge"),Ob=function(){var a=k.document;return a?a.documentMode:void 0},Pb;
a:{var Qb="",Rb=function(){var a=nb;if(Mb)return/rv:([^\);]+)(\)|;)/.exec(a);if(Lb)return/Edge\/([\d\.]+)/.exec(a);if(Kb)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Nb)return/WebKit\/(\S+)/.exec(a);if(Jb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();Rb&&(Qb=Rb?Rb[1]:"");if(Kb){var Sb=Ob();if(null!=Sb&&Sb>parseFloat(Qb)){Pb=String(Sb);break a}}Pb=Qb}
var Tb=Pb,Hb={},Ub=function(a){return Ib(a,function(){for(var b=0,c=db(String(Tb)).split("."),d=db(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",l=d[f]||"";do{g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];l=/(\d*)(\D*)(.*)/.exec(l)||["","","",""];if(0==g[0].length&&0==l[0].length)break;b=mb(0==g[1].length?0:parseInt(g[1],10),0==l[1].length?0:parseInt(l[1],10))||mb(0==g[2].length,0==l[2].length)||mb(g[2],l[2]);g=g[3];l=l[3]}while(0==b)}return 0<=b})},Vb;var Wb=k.document;
Vb=Wb&&Kb?Ob()||("CSS1Compat"==Wb.compatMode?parseInt(Tb,10):5):void 0;var Xb=Object.freeze||function(a){return a};var Yb=!Kb||9<=Number(Vb),Zb=Kb&&!Ub("9"),$b=function(){if(!k.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{k.addEventListener("test",qa,b),k.removeEventListener("test",qa,b)}catch(c){}return a}();var bc=function(a,b){y.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.W=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;if(b=a.relatedTarget){if(Mb){a:{try{Gb(b.nodeName);
var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.offsetX=Nb||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=Nb||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.key=a.key||"";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.pointerId=a.pointerId||0;this.pointerType=n(a.pointerType)?a.pointerType:ac[a.pointerType]||"";this.state=a.state;this.W=a;a.defaultPrevented&&this.preventDefault()}};w(bc,y);var ac=Xb({2:"touch",3:"pen",4:"mouse"});
bc.prototype.stopPropagation=function(){bc.l.stopPropagation.call(this);this.W.stopPropagation?this.W.stopPropagation():this.W.cancelBubble=!0};bc.prototype.preventDefault=function(){bc.l.preventDefault.call(this);var a=this.W;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Zb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var cc="closure_listenable_"+(1E6*Math.random()|0),dc=function(a){return!(!a||!a[cc])},ec=0;var fc=function(a,b,c,d,e){this.listener=a;this.Ob=null;this.src=b;this.type=c;this.capture=!!d;this.ga=e;this.key=++ec;this.Pa=this.vb=!1},gc=function(a){a.Pa=!0;a.listener=null;a.Ob=null;a.src=null;a.ga=null};var hc=function(a){this.src=a;this.D={};this.qb=0};hc.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.D[f];a||(a=this.D[f]=[],this.qb++);var g=ic(a,b,d,e);-1<g?(b=a[g],c||(b.vb=!1)):(b=new fc(b,this.src,f,!!d,e),b.vb=c,a.push(b));return b};hc.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.D))return!1;var e=this.D[a];b=ic(e,b,c,d);return-1<b?(gc(e[b]),Wa(e,b),0==e.length&&(delete this.D[a],this.qb--),!0):!1};
var jc=function(a,b){var c=b.type;c in a.D&&Xa(a.D[c],b)&&(gc(b),0==a.D[c].length&&(delete a.D[c],a.qb--))};hc.prototype.mb=function(a){a=a&&a.toString();var b=0,c;for(c in this.D)if(!a||c==a){for(var d=this.D[c],e=0;e<d.length;e++)++b,gc(d[e]);delete this.D[c];this.qb--}};hc.prototype.bb=function(a,b,c,d){a=this.D[a.toString()];var e=-1;a&&(e=ic(a,b,c,d));return-1<e?a[e]:null};
hc.prototype.hasListener=function(a,b){var c=m(a),d=c?a.toString():"",e=m(b);return ub(this.D,function(a){for(var f=0;f<a.length;++f)if(!(c&&a[f].type!=d||e&&a[f].capture!=b))return!0;return!1})};var ic=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.Pa&&f.listener==b&&f.capture==!!c&&f.ga==d)return e}return-1};var kc="closure_lm_"+(1E6*Math.random()|0),lc={},mc=0,oc=function(a,b,c,d,e){if(d&&d.once)return nc(a,b,c,d,e);if(p(b)){for(var f=0;f<b.length;f++)oc(a,b[f],c,d,e);return null}c=pc(c);return dc(a)?a.da(b,c,r(d)?!!d.capture:!!d,e):qc(a,b,c,!1,d,e)},qc=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=r(e)?!!e.capture:!!e,l=rc(a);l||(a[kc]=l=new hc(a));c=l.add(b,c,d,g,f);if(c.Ob)return c;d=sc();c.Ob=d;d.src=a;d.listener=c;if(a.addEventListener)$b||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),
d,e);else if(a.attachEvent)a.attachEvent(tc(b.toString()),d);else if(a.addListener&&a.removeListener)A("change"===b,"MediaQueryList only has a change event"),a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");mc++;return c},sc=function(){var a=uc,b=Yb?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},nc=function(a,b,c,d,e){if(p(b)){for(var f=0;f<b.length;f++)nc(a,b[f],c,d,e);return null}c=pc(c);return dc(a)?
a.kb(b,c,r(d)?!!d.capture:!!d,e):qc(a,b,c,!0,d,e)},vc=function(a,b,c,d,e){if(p(b))for(var f=0;f<b.length;f++)vc(a,b[f],c,d,e);else d=r(d)?!!d.capture:!!d,c=pc(c),dc(a)?a.$b(b,c,d,e):a&&(a=rc(a))&&(b=a.bb(b,c,d,e))&&wc(b)},wc=function(a){if(!na(a)&&a&&!a.Pa){var b=a.src;if(dc(b))jc(b.V,a);else{var c=a.type,d=a.Ob;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(tc(c),d):b.addListener&&b.removeListener&&b.removeListener(d);mc--;(c=rc(b))?(jc(c,a),0==c.qb&&(c.src=
null,b[kc]=null)):gc(a)}}},tc=function(a){return a in lc?lc[a]:lc[a]="on"+a},yc=function(a,b,c,d){var e=!0;if(a=rc(a))if(b=a.D[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.Pa&&(f=xc(f,d),e=e&&!1!==f)}return e},xc=function(a,b){var c=a.listener,d=a.ga||a.src;a.vb&&wc(a);return c.call(d,b)},uc=function(a,b){if(a.Pa)return!0;if(!Yb){if(!b)a:{b=["window","event"];for(var c=k,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new bc(d,this);c=!0;if(!(0>
d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.currentTarget;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;!b.Aa&&0<=e;e--){b.currentTarget=d[e];var f=yc(d[e],a,!0,b);c=c&&f}for(e=0;!b.Aa&&e<d.length;e++)b.currentTarget=d[e],f=yc(d[e],a,!1,b),c=c&&f}return c}return xc(a,new bc(b,this))},rc=function(a){a=a[kc];return a instanceof hc?a:null},zc="__closure_events_fn_"+(1E9*Math.random()>>>
0),pc=function(a){A(a,"Listener can not be null.");if(q(a))return a;A(a.handleEvent,"An object listener must have handleEvent method.");a[zc]||(a[zc]=function(b){return a.handleEvent(b)});return a[zc]};var B=function(){x.call(this);this.V=new hc(this);this.$d=this;this.Lc=null};w(B,x);B.prototype[cc]=!0;h=B.prototype;h.addEventListener=function(a,b,c,d){oc(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){vc(this,a,b,c,d)};
h.dispatchEvent=function(a){Ac(this);var b=this.Lc;if(b){var c=[];for(var d=1;b;b=b.Lc)c.push(b),A(1E3>++d,"infinite loop")}b=this.$d;d=a.type||a;if(n(a))a=new y(a,b);else if(a instanceof y)a.target=a.target||b;else{var e=a;a=new y(d,b);Fb(a,e)}e=!0;if(c)for(var f=c.length-1;!a.Aa&&0<=f;f--){var g=a.currentTarget=c[f];e=Bc(g,d,!0,a)&&e}a.Aa||(g=a.currentTarget=b,e=Bc(g,d,!0,a)&&e,a.Aa||(e=Bc(g,d,!1,a)&&e));if(c)for(f=0;!a.Aa&&f<c.length;f++)g=a.currentTarget=c[f],e=Bc(g,d,!1,a)&&e;return e};
h.f=function(){B.l.f.call(this);this.V&&this.V.mb(void 0);this.Lc=null};h.da=function(a,b,c,d){Ac(this);return this.V.add(String(a),b,!1,c,d)};h.kb=function(a,b,c,d){return this.V.add(String(a),b,!0,c,d)};h.$b=function(a,b,c,d){this.V.remove(String(a),b,c,d)};var Bc=function(a,b,c,d){b=a.V.D[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.Pa&&g.capture==c){var l=g.listener,v=g.ga||g.src;g.vb&&jc(a.V,g);e=!1!==l.call(v,d)&&e}}return e&&0!=d.Rd};
B.prototype.bb=function(a,b,c,d){return this.V.bb(String(a),b,c,d)};B.prototype.hasListener=function(a,b){return this.V.hasListener(m(a)?String(a):void 0,b)};var Ac=function(a){A(a.V,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};var Cc=function(a){return a};var Dc="StopIteration"in k?k.StopIteration:{message:"StopIteration",stack:""},Ec=function(){};Ec.prototype.next=function(){throw Dc;};Ec.prototype.Fa=function(){return this};
var Fc=function(a){if(a instanceof Ec)return a;if("function"==typeof a.Fa)return a.Fa(!1);if(va(a)){var b=0,c=new Ec;c.next=function(){for(;;){if(b>=a.length)throw Dc;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},Gc=function(a,b){if(va(a))try{Ma(a,b,void 0)}catch(c){if(c!==Dc)throw c;}else{a=Fc(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==Dc)throw c;}}};var C=function(a,b){this.s={};this.h=[];this.rb=this.j=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)};h=C.prototype;h.m=function(){return this.j};h.w=function(){Hc(this);for(var a=[],b=0;b<this.h.length;b++)a.push(this.s[this.h[b]]);return a};h.Y=function(){Hc(this);return this.h.concat()};h.ma=function(a){return Ic(this.s,a)};
h.Ya=function(a){for(var b=0;b<this.h.length;b++){var c=this.h[b];if(Ic(this.s,c)&&this.s[c]==a)return!0}return!1};h.equals=function(a,b){if(this===a)return!0;if(this.j!=a.m())return!1;b=b||Jc;Hc(this);for(var c,d=0;c=this.h[d];d++)if(!b(this.get(c),a.get(c)))return!1;return!0};var Jc=function(a,b){return a===b};C.prototype.isEmpty=function(){return 0==this.j};C.prototype.clear=function(){this.s={};this.rb=this.j=this.h.length=0};
C.prototype.remove=function(a){return Ic(this.s,a)?(delete this.s[a],this.j--,this.rb++,this.h.length>2*this.j&&Hc(this),!0):!1};var Hc=function(a){if(a.j!=a.h.length){for(var b=0,c=0;b<a.h.length;){var d=a.h[b];Ic(a.s,d)&&(a.h[c++]=d);b++}a.h.length=c}if(a.j!=a.h.length){var e={};for(c=b=0;b<a.h.length;)d=a.h[b],Ic(e,d)||(a.h[c++]=d,e[d]=1),b++;a.h.length=c}};h=C.prototype;h.get=function(a,b){return Ic(this.s,a)?this.s[a]:b};
h.set=function(a,b){Ic(this.s,a)||(this.j++,this.h.push(a),this.rb++);this.s[a]=b};h.addAll=function(a){if(a instanceof C)for(var b=a.Y(),c=0;c<b.length;c++)this.set(b[c],a.get(b[c]));else for(b in a)this.set(b,a[b])};h.forEach=function(a,b){for(var c=this.Y(),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 C(this)};
h.Fa=function(a){Hc(this);var b=0,c=this.rb,d=this,e=new Ec;e.next=function(){if(c!=d.rb)throw Error("The map has changed since the iterator was created");if(b>=d.h.length)throw Dc;var e=d.h[b++];return a?e:d.s[e]};return e};var Ic=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Kc=function(a){if(a.m&&"function"==typeof a.m)a=a.m();else if(va(a)||n(a))a=a.length;else{var b=0,c;for(c in a)b++;a=b}return a},Lc=function(a){if(a.w&&"function"==typeof a.w)return a.w();if(n(a))return a.split("");if(va(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return vb(a)},Mc=function(a){if(a.Y&&"function"==typeof a.Y)return a.Y();if(!a.w||"function"!=typeof a.w){if(va(a)||n(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return wb(a)}},Nc=function(a,b,c){if(a.forEach&&
"function"==typeof a.forEach)a.forEach(b,c);else if(va(a)||n(a))Ma(a,b,c);else for(var d=Mc(a),e=Lc(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)},Oc=function(a,b){if("function"==typeof a.every)return a.every(b,void 0);if(va(a)||n(a))return Qa(a,b,void 0);for(var c=Mc(a),d=Lc(a),e=d.length,f=0;f<e;f++)if(!b.call(void 0,d[f],c&&c[f],a))return!1;return!0};var D=function(a){this.s=new C;a&&this.addAll(a)},Pc=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+(a[wa]||(a[wa]=++xa)):b.substr(0,1)+a};h=D.prototype;h.m=function(){return this.s.m()};h.add=function(a){this.s.set(Pc(a),a)};h.addAll=function(a){a=Lc(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};h.mb=function(a){a=Lc(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};h.remove=function(a){return this.s.remove(Pc(a))};h.clear=function(){this.s.clear()};h.isEmpty=function(){return this.s.isEmpty()};
h.contains=function(a){return this.s.ma(Pc(a))};var Qc=function(a,b){var c=new D;b=Lc(b);for(var d=0;d<b.length;d++){var e=b[d];a.contains(e)&&c.add(e)}return c},Rc=function(a,b){a=a.clone();a.mb(b);return a};D.prototype.w=function(){return this.s.w()};D.prototype.clone=function(){return new D(this)};D.prototype.equals=function(a){return this.m()==Kc(a)&&Sc(this,a)};
var Sc=function(a,b){var c=Kc(b);if(a.m()>c)return!1;!(b instanceof D)&&5<c&&(b=new D(b));return Oc(a,function(a){var c=b;return c.contains&&"function"==typeof c.contains?c.contains(a):c.Ya&&"function"==typeof c.Ya?c.Ya(a):va(c)||n(c)?Ua(c,a):xb(c,a)})};D.prototype.Fa=function(){return this.s.Fa(!1)};var Tc=function(a,b,c){B.call(this);this.we=b;this.token=c;this.ta=[];this.Vc=new D;this.ra=0;this.url=a};w(Tc,B);u("ee.AbstractOverlay",Tc);var Uc=function(a,b,c){var d=1<<c,e=b.x%d;0>e&&(e+=d);return[a.we,c,e,b.y].join("/")};Tc.prototype.xc=function(){return this.ta.length};var Vc=function(a){y.call(this,"tileevent");this.count=a};w(Vc,y);var Wc=function(a,b){this.te=100;this.ke=a;this.Ee=b;this.Lb=0;this.K=null};Wc.prototype.get=function(){if(0<this.Lb){this.Lb--;var a=this.K;this.K=a.next;a.next=null}else a=this.ke();return a};Wc.prototype.put=function(a){this.Ee(a);this.Lb<this.te&&(this.Lb++,a.next=this.K,this.K=a)};var Xc=function(a){k.setTimeout(function(){throw a;},0)},Yc,Zc=function(){var a=k.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!qb("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=t(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&&!qb("Trident")&&!qb("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(m(c.next)){c=c.next;var a=c.gd;c.gd=null;a()}};return function(a){d.next={gd: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){k.setTimeout(a,0)}};var $c=function(){this.cc=this.Ea=null},bd=new Wc(function(){return new ad},function(a){a.reset()});$c.prototype.add=function(a,b){var c=bd.get();c.set(a,b);this.cc?this.cc.next=c:(A(!this.Ea),this.Ea=c);this.cc=c};$c.prototype.remove=function(){var a=null;this.Ea&&(a=this.Ea,this.Ea=this.Ea.next,this.Ea||(this.cc=null),a.next=null);return a};var ad=function(){this.next=this.scope=this.wc=null};ad.prototype.set=function(a,b){this.wc=a;this.scope=b;this.next=null};
ad.prototype.reset=function(){this.next=this.scope=this.wc=null};var gd=function(a,b){cd||dd();ed||(cd(),ed=!0);fd.add(a,b)},cd,dd=function(){if(k.Promise&&k.Promise.resolve){var a=k.Promise.resolve(void 0);cd=function(){a.then(hd)}}else cd=function(){var a=hd;!q(k.setImmediate)||k.Window&&k.Window.prototype&&!qb("Edge")&&k.Window.prototype.setImmediate==k.setImmediate?(Yc||(Yc=Zc()),Yc(a)):k.setImmediate(a)}},ed=!1,fd=new $c,hd=function(){for(var a;a=fd.remove();){try{a.wc.call(a.scope)}catch(b){Xc(b)}bd.put(a)}ed=!1};var id=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0},jd=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var md=function(a,b){this.P=0;this.ja=void 0;this.Ha=this.ea=this.u=null;this.Db=this.rc=!1;if(a!=qa)try{var c=this;a.call(b,function(a){kd(c,2,a)},function(a){if(!(a instanceof ld))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}kd(c,3,a)})}catch(d){kd(this,3,d)}},nd=function(){this.next=this.context=this.Na=this.za=this.ua=null;this.ub=!1};nd.prototype.reset=function(){this.context=this.Na=this.za=this.ua=null;this.ub=!1};
var od=new Wc(function(){return new nd},function(a){a.reset()}),pd=function(a,b,c){var d=od.get();d.za=a;d.Na=b;d.context=c;return d};md.prototype.then=function(a,b,c){null!=a&&Ja(a,"opt_onFulfilled should be a function.");null!=b&&Ja(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");return qd(this,q(a)?a:null,q(b)?b:null,c)};id(md);md.prototype.cancel=function(a){0==this.P&&gd(function(){var b=new ld(a);rd(this,b)},this)};
var rd=function(a,b){if(0==a.P)if(a.u){var c=a.u;if(c.ea){for(var d=0,e=null,f=null,g=c.ea;g&&(g.ub||(d++,g.ua==a&&(e=g),!(e&&1<d)));g=g.next)e||(f=g);e&&(0==c.P&&1==d?rd(c,b):(f?(d=f,A(c.ea),A(null!=d),d.next==c.Ha&&(c.Ha=d),d.next=d.next.next):sd(c),td(c,e,3,b)))}a.u=null}else kd(a,3,b)},vd=function(a,b){a.ea||2!=a.P&&3!=a.P||ud(a);A(null!=b.za);a.Ha?a.Ha.next=b:a.ea=b;a.Ha=b},qd=function(a,b,c,d){var e=pd(null,null,null);e.ua=new md(function(a,g){e.za=b?function(c){try{var e=b.call(d,c);a(e)}catch(P){g(P)}}:
a;e.Na=c?function(b){try{var e=c.call(d,b);!m(e)&&b instanceof ld?g(b):a(e)}catch(P){g(P)}}:g});e.ua.u=a;vd(a,e);return e.ua};md.prototype.Ie=function(a){A(1==this.P);this.P=0;kd(this,2,a)};md.prototype.Je=function(a){A(1==this.P);this.P=0;kd(this,3,a)};
var kd=function(a,b,c){if(0==a.P){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.P=1;a:{var d=c,e=a.Ie,f=a.Je;if(d instanceof md){null!=e&&Ja(e,"opt_onFulfilled should be a function.");null!=f&&Ja(f,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");vd(d,pd(e||qa,f||null,a));var g=!0}else if(jd(d))d.then(e,f,a),g=!0;else{if(r(d))try{var l=d.then;if(q(l)){wd(d,l,e,f,a);g=!0;break a}}catch(v){f.call(a,v);g=!0;break a}g=!1}}g||
(a.ja=c,a.P=b,a.u=null,ud(a),3!=b||c instanceof ld||xd(a,c))}},wd=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(v){l(v)}},ud=function(a){a.rc||(a.rc=!0,gd(a.me,a))},sd=function(a){var b=null;a.ea&&(b=a.ea,a.ea=b.next,b.next=null);a.ea||(a.Ha=null);null!=b&&A(null!=b.za);return b};md.prototype.me=function(){for(var a;a=sd(this);)td(this,a,this.P,this.ja);this.rc=!1};
var td=function(a,b,c,d){if(3==c&&b.Na&&!b.ub)for(;a&&a.Db;a=a.u)a.Db=!1;if(b.ua)b.ua.u=null,yd(b,c,d);else try{b.ub?b.za.call(b.context):yd(b,c,d)}catch(e){zd.call(null,e)}od.put(b)},yd=function(a,b,c){2==b?a.za.call(a.context,c):a.Na&&a.Na.call(a.context,c)},xd=function(a,b){a.Db=!0;gd(function(){a.Db&&zd.call(null,b)})},zd=Xc,ld=function(a){z.call(this,a)};w(ld,z);ld.prototype.name="cancel";var Ad=function(a,b,c){if(q(a))c&&(a=t(a,c));else if(a&&"function"==typeof a.handleEvent)a=t(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(b)?-1:k.setTimeout(a,b||0)};var Bd=function(a,b,c){x.call(this);this.ue=null!=c?t(a,c):a;this.re=b;this.fe=t(this.Ae,this);this.hc=[]};w(Bd,x);h=Bd.prototype;h.Ta=!1;h.lb=0;h.Ca=null;h.vc=function(a){this.hc=arguments;this.Ca||this.lb?this.Ta=!0:Cd(this)};h.stop=function(){this.Ca&&(k.clearTimeout(this.Ca),this.Ca=null,this.Ta=!1,this.hc=[])};h.pause=function(){this.lb++};h.resume=function(){this.lb--;this.lb||!this.Ta||this.Ca||(this.Ta=!1,Cd(this))};h.f=function(){Bd.l.f.call(this);this.stop()};
h.Ae=function(){this.Ca=null;this.Ta&&!this.lb&&(this.Ta=!1,Cd(this))};var Cd=function(a){a.Ca=Ad(a.fe,a.re);a.ue.apply(null,a.hc)};var Fd=function(a,b){this.Rc=a===Dd&&b||"";this.Yd=Ed};Fd.prototype.Ad=!0;Fd.prototype.vd=function(){return this.Rc};Fd.prototype.toString=function(){return"Const{"+this.Rc+"}"};var Gd=function(a){if(a instanceof Fd&&a.constructor===Fd&&a.Yd===Ed)return a.Rc;Ga("expected object of type Const, got '"+a+"'");return"type_error:Const"},Ed={},Dd={};var Id=function(){this.Nb="";this.Zd=Hd};Id.prototype.Ad=!0;Id.prototype.vd=function(){return this.Nb};Id.prototype.toString=function(){return"TrustedResourceUrl{"+this.Nb+"}"};
var Jd=function(a){if(a instanceof Id&&a.constructor===Id&&a.Zd===Hd)return a.Nb;Ga("expected object of type TrustedResourceUrl, got '"+a+"' of type "+ra(a));return"type_error:TrustedResourceUrl"},Od=function(a){var b=Gd(Kd);if(!Ld.test(b))throw Error("Invalid TrustedResourceUrl format: "+b);var c=b.replace(Md,function(c,e){if(!Object.prototype.hasOwnProperty.call(a,e))throw Error('Found marker, "'+e+'", in format string, "'+b+'", but no valid label mapping found in args: '+JSON.stringify(a));c=a[e];
return c instanceof Fd?Gd(c):encodeURIComponent(String(c))});return Nd(c)},Md=/%{(\w+)}/g,Ld=/^(?:https:)?\/\/[0-9a-z.:[\]-]+\/|^\/[^\/\\]|^about:blank#/i,Hd={},Nd=function(a){var b=new Id;b.Nb=a;return b};var Qd=function(a){return(new Pd(void 0)).A(a)},Pd=function(a){this.Qb=a};Pd.prototype.A=function(a){var b=[];Rd(this,a,b);return b.join("")};
var Rd=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(p(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],Rd(a,a.Qb?a.Qb.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),Sd(d,c),c.push(":"),Rd(a,a.Qb?a.Qb.call(b,d,e):e,c),f=","));c.push("}");return}}switch(typeof b){case "string":Sd(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);}}},Td={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},Ud=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g,Sd=function(a,b){b.push('"',a.replace(Ud,function(a){var b=Td[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),
Td[a]=b);return b}),'"')};var Vd=!Kb||9<=Number(Vb),Wd=!Mb&&!Kb||Kb&&9<=Number(Vb)||Mb&&Ub("1.9.1");var Xd=function(a,b){var c=(c=a&&a.ownerDocument)&&(c.defaultView||c.parentWindow)||k;if("undefined"!=typeof c.HTMLScriptElement&&"undefined"!=typeof c.Location&&"undefined"!=typeof c.Element){c=a&&(a instanceof c.HTMLScriptElement||!(a instanceof c.Location||a instanceof c.Element));var d=r(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?"undefined":null===a?"null":typeof a;A(c,"Argument is not a %s (or a non-Element, non-Location mock); got: %s","HTMLScriptElement",
d)}a.src=Jd(b);if(null===pa){a:{b=k.document;if((b=b.querySelector&&b.querySelector("script[nonce]"))&&(b=b.nonce||b.getAttribute("nonce"))&&oa.test(b))break a;b=null}pa=b||""}(b=pa)&&a.setAttribute("nonce",b)};var Zd=function(a,b){rb(b,function(b,d){b&&"object"==typeof b&&b.Ad&&(b=b.vd());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:Yd.hasOwnProperty(d)?a.setAttribute(Yd[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})},Yd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",
width:"width"},ae=function(a,b,c){return $d(document,arguments)},$d=function(a,b){var c=String(b[0]),d=b[1];if(!Vd&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',lb(d.name),'"');if(d.type){c.push(' type="',lb(d.type),'"');var e={};Fb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(n(d)?c.className=d:p(d)?c.className=d.join(" "):Zd(c,d));2<b.length&&be(a,c,b,2);return c},be=function(a,b,c,d){function e(c){c&&b.appendChild(n(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=
c[d];!va(f)||r(f)&&0<f.nodeType?e(f):Ma(ce(f)?Za(f):f,e)}},de=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null},fe=function(a){for(;a&&1!=a.nodeType;)a=a.nextSibling;return a},ge=function(a){A(a,"Node cannot be null or undefined.");return 9==a.nodeType?a:a.ownerDocument||a.document},ce=function(a){if(a&&"number"==typeof a.length){if(r(a))return"function"==typeof a.item||"string"==typeof a.item;if(q(a))return"function"==typeof a.item}return!1},he=function(a){this.xb=a||k.document||
document};h=he.prototype;h.getElementsByTagName=function(a,b){return(b||this.xb).getElementsByTagName(String(a))};h.je=function(a,b,c){return $d(this.xb,arguments)};h.createElement=function(a){return this.xb.createElement(String(a))};h.createTextNode=function(a){return this.xb.createTextNode(String(a))};h.appendChild=function(a,b){a.appendChild(b)};h.append=function(a,b){be(ge(a),a,arguments,1)};h.canHaveChildren=function(a){if(1!=a.nodeType)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0};
h.removeNode=de;h.td=function(){return Wd&&void 0!=(void 0).children?(void 0).children:Na((void 0).childNodes,function(a){return 1==a.nodeType})};h.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};/*
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 ie=function(a,b){this.Sb=[];this.Jd=a;this.ld=b||null;this.fb=this.La=!1;this.ja=void 0;this.Pc=this.cd=this.ic=!1;this.Zb=0;this.u=null;this.jc=0};ie.prototype.cancel=function(a){if(this.La)this.ja instanceof ie&&this.ja.cancel();else{if(this.u){var b=this.u;delete this.u;a?b.cancel(a):(b.jc--,0>=b.jc&&b.cancel())}this.Jd?this.Jd.call(this.ld,this):this.Pc=!0;this.La||je(this,new ke(this))}};ie.prototype.hd=function(a,b){this.ic=!1;le(this,a,b)};
var le=function(a,b,c){a.La=!0;a.ja=c;a.fb=!b;me(a)},oe=function(a){if(a.La){if(!a.Pc)throw new ne(a);a.Pc=!1}};ie.prototype.kc=function(a){oe(this);pe(a);le(this,!0,a)};var je=function(a,b){oe(a);pe(b);le(a,!1,b)},pe=function(a){A(!(a instanceof ie),"An execution sequence may not be initiated with a blocking Deferred.")},qe=function(a,b,c){A(!a.cd,"Blocking Deferreds can not be re-used");a.Sb.push([b,c,void 0]);a.La&&me(a)};
ie.prototype.then=function(a,b,c){var d,e,f=new md(function(a,b){d=a;e=b});qe(this,d,function(a){a instanceof ke?f.cancel():e(a)});return f.then(a,b,c)};id(ie);
var re=function(a){return Pa(a.Sb,function(a){return q(a[1])})},me=function(a){if(a.Zb&&a.La&&re(a)){var b=a.Zb,c=se[b];c&&(k.clearTimeout(c.H),delete se[b]);a.Zb=0}a.u&&(a.u.jc--,delete a.u);b=a.ja;for(var d=c=!1;a.Sb.length&&!a.ic;){var e=a.Sb.shift(),f=e[0],g=e[1];e=e[2];if(f=a.fb?g:f)try{var l=f.call(e||a.ld,b);m(l)&&(a.fb=a.fb&&(l==b||l instanceof Error),a.ja=b=l);if(jd(b)||"function"===typeof k.Promise&&b instanceof k.Promise)d=!0,a.ic=!0}catch(v){b=v,a.fb=!0,re(a)||(c=!0)}}a.ja=b;d&&(l=t(a.hd,
a,!0),d=t(a.hd,a,!1),b instanceof ie?(qe(b,l,d),b.cd=!0):b.then(l,d));c&&(b=new te(b),se[b.H]=b,a.Zb=b.H)},ne=function(){z.call(this)};w(ne,z);ne.prototype.message="Deferred has already fired";ne.prototype.name="AlreadyCalledError";var ke=function(){z.call(this)};w(ke,z);ke.prototype.message="Deferred was canceled";ke.prototype.name="CanceledError";var te=function(a){this.H=k.setTimeout(t(this.He,this),0);this.zb=a};
te.prototype.He=function(){A(se[this.H],"Cannot throw an error that is not scheduled.");delete se[this.H];throw this.zb;};var se={};var ye=function(a){var b={},c=b.document||document,d=Jd(a),e=document.createElement("SCRIPT"),f={Sd:e,ob:void 0},g=new ie(ue,f),l=null,v=null!=b.timeout?b.timeout:5E3;0<v&&(l=window.setTimeout(function(){ve(e,!0);je(g,new we(1,"Timeout reached for loading script "+d))},v),f.ob=l);e.onload=e.onreadystatechange=function(){e.readyState&&"loaded"!=e.readyState&&"complete"!=e.readyState||(ve(e,b.Qe||!1,l),g.kc(null))};e.onerror=function(){ve(e,!0,l);je(g,new we(0,"Error while loading script "+d))};f=b.attributes||
{};Fb(f,{type:"text/javascript",charset:"UTF-8"});Zd(e,f);Xd(e,a);xe(c).appendChild(e)},xe=function(a){var b;return(b=(a||document).getElementsByTagName("HEAD"))&&0!=b.length?b[0]:a.documentElement},ue=function(){if(this&&this.Sd){var a=this.Sd;a&&"SCRIPT"==a.tagName&&ve(a,!0,this.ob)}},ve=function(a,b,c){null!=c&&k.clearTimeout(c);a.onload=qa;a.onerror=qa;a.onreadystatechange=qa;b&&window.setTimeout(function(){de(a)},0)},we=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);z.call(this,
c);this.code=a};w(we,z);var ze=function(a,b,c){this.reset(a,b,c,void 0,void 0)};ze.prototype.od=null;var Ae=0;ze.prototype.reset=function(a,b,c,d,e){"number"==typeof e||Ae++;d||Ba();this.jb=a;delete this.od};ze.prototype.Ud=function(a){this.jb=a};var Be=function(a){this.Id=a;this.xd=this.lc=this.jb=this.u=null},Ce=function(a,b){this.name=a;this.value=b};Ce.prototype.toString=function(){return this.name};var De=new Ce("SEVERE",1E3),Ee=new Ce("INFO",800),Fe=new Ce("CONFIG",700),Ge=new Ce("FINE",500);Be.prototype.getName=function(){return this.Id};Be.prototype.getParent=function(){return this.u};Be.prototype.td=function(){this.lc||(this.lc={});return this.lc};Be.prototype.Ud=function(a){this.jb=a};
var He=function(a){if(a.jb)return a.jb;if(a.u)return He(a.u);Ga("Root logger has no level set.");return null};Be.prototype.log=function(a,b,c){if(a.value>=He(this).value)for(q(b)&&(b=b()),a=new ze(a,String(b),this.Id),c&&(a.od=c),c=this;c;){var d=c,e=a;if(d.xd)for(var f=0;b=d.xd[f];f++)b(e);c=c.getParent()}};Be.prototype.info=function(a,b){this.log(Ee,a,b)};
var Ie={},Je=null,Ke=function(a){Je||(Je=new Be(""),Ie[""]=Je,Je.Ud(Fe));var b;if(!(b=Ie[a])){b=new Be(a);var c=a.lastIndexOf("."),d=a.substr(c+1);c=Ke(a.substr(0,c));c.td()[d]=b;b.u=c;Ie[a]=b}return b};var Le=function(a,b){a&&a.log(Ge,b,void 0)};var Me=function(a){switch(a){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:return!0;default:return!1}};var Ne=function(){};Ne.prototype.fd=null;Ne.prototype.eb=function(){var a;(a=this.fd)||(a={},Oe(this)&&(a[0]=!0,a[1]=!0),a=this.fd=a);return a};var Pe=function(a,b){this.Ke=a;this.Be=b};w(Pe,Ne);Pe.prototype.nc=function(){return this.Ke()};Pe.prototype.eb=function(){return this.Be()};var Qe=function(){return Qe.pd.nc()};Qe.Xd=!1;Qe.eb=function(){return Qe.pd.eb()};Qe.Re=function(a,b){Qe.Td(new Pe(A(a),A(b)))};Qe.Td=function(a){Qe.pd=a};var Re=function(){};w(Re,Ne);Re.prototype.nc=function(){var a=Oe(this);return a?new ActiveXObject(a):new XMLHttpRequest};
var Oe=function(a){if(Qe.Xd)return"";if(!a.yd&&"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.yd=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.yd};Qe.Td(new Re);var Se=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,Te=function(a,b){if(a){a=a.split("&");for(var c=0;c<a.length;c++){var d=a[c].indexOf("="),e=null;if(0<=d){var f=a[c].substring(0,d);e=a[c].substring(d+1)}else f=a[c];b(f,e?decodeURIComponent(e.replace(/\+/g," ")):"")}}};var E=function(a){B.call(this);this.headers=new C;this.ec=a||null;this.U=!1;this.dc=this.a=null;this.ib=this.Ed=this.Hb="";this.ya=this.Bc=this.Gb=this.qc=!1;this.Va=0;this.Vb=null;this.Ra="";this.ac=this.Ce=this.Wd=!1};w(E,B);var Ue=E.prototype,Ve=Ke("goog.net.XhrIo");Ue.L=Ve;var We=/^https?$/i,Xe=["POST","PUT"],Ye=[];E.prototype.he=function(){this.$();Xa(Ye,this)};
E.prototype.send=function(a,b,c,d){if(this.a)throw Error("[goog.net.XhrIo] Object is active with another request="+this.Hb+"; newUri="+a);b=b?b.toUpperCase():"GET";this.Hb=a;this.ib="";this.Ed=b;this.qc=!1;this.U=!0;this.a=this.ec?this.ec.nc():Qe();this.dc=this.ec?this.ec.eb():Qe.eb();this.a.onreadystatechange=t(this.Md,this);this.Ce&&"onprogress"in this.a&&(this.a.onprogress=t(function(a){this.Ld(a,!0)},this),this.a.upload&&(this.a.upload.onprogress=t(this.Ld,this)));try{Le(this.L,Ze(this,"Opening Xhr")),
this.Bc=!0,this.a.open(b,String(a),!0),this.Bc=!1}catch(f){Le(this.L,Ze(this,"Error opening Xhr: "+f.message));this.zb(5,f);return}a=c||"";var e=this.headers.clone();d&&Nc(d,function(a,b){e.set(b,a)});d=Ta(e.Y());c=k.FormData&&a instanceof k.FormData;!Ua(Xe,b)||d||c||e.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");e.forEach(function(a,b){this.a.setRequestHeader(b,a)},this);this.Ra&&(this.a.responseType=this.Ra);"withCredentials"in this.a&&this.a.withCredentials!==this.Wd&&
(this.a.withCredentials=this.Wd);try{$e(this),0<this.Va&&(this.ac=af(this.a),Le(this.L,Ze(this,"Will abort after "+this.Va+"ms if incomplete, xhr2 "+this.ac)),this.ac?(this.a.timeout=this.Va,this.a.ontimeout=t(this.ob,this)):this.Vb=Ad(this.ob,this.Va,this)),Le(this.L,Ze(this,"Sending request")),this.Gb=!0,this.a.send(a),this.Gb=!1}catch(f){Le(this.L,Ze(this,"Send error: "+f.message)),this.zb(5,f)}};
var af=function(a){return Kb&&Ub(9)&&na(a.timeout)&&m(a.ontimeout)},Sa=function(a){return"content-type"==a.toLowerCase()};E.prototype.ob=function(){"undefined"!=typeof ma&&this.a&&(this.ib="Timed out after "+this.Va+"ms, aborting",Le(this.L,Ze(this,this.ib)),this.dispatchEvent("timeout"),this.abort(8))};E.prototype.zb=function(a,b){this.U=!1;this.a&&(this.ya=!0,this.a.abort(),this.ya=!1);this.ib=b;bf(this);cf(this)};var bf=function(a){a.qc||(a.qc=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))};
E.prototype.abort=function(){this.a&&this.U&&(Le(this.L,Ze(this,"Aborting")),this.U=!1,this.ya=!0,this.a.abort(),this.ya=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),cf(this))};E.prototype.f=function(){this.a&&(this.U&&(this.U=!1,this.ya=!0,this.a.abort(),this.ya=!1),cf(this,!0));E.l.f.call(this)};E.prototype.Md=function(){this.aa||(this.Bc||this.Gb||this.ya?df(this):this.ze())};E.prototype.ze=function(){df(this)};
var df=function(a){if(a.U&&"undefined"!=typeof ma)if(a.dc[1]&&4==a.na()&&2==a.getStatus())Le(a.L,Ze(a,"Local request error detected and ignored"));else if(a.Gb&&4==a.na())Ad(a.Md,0,a);else if(a.dispatchEvent("readystatechange"),4==a.na()){Le(a.L,Ze(a,"Request complete"));a.U=!1;try{var b=a.getStatus(),c;if(!(c=Me(b))){var d;if(d=0===b){var e=String(a.Hb).match(Se)[1]||null;if(!e&&k.self&&k.self.location){var f=k.self.location.protocol;e=f.substr(0,f.length-1)}d=!We.test(e?e.toLowerCase():"")}c=d}if(c)a.dispatchEvent("complete"),
a.dispatchEvent("success");else{try{var g=2<a.na()?a.a.statusText:""}catch(l){Le(a.L,"Can not get status: "+l.message),g=""}a.ib=g+" ["+a.getStatus()+"]";bf(a)}}finally{cf(a)}}};E.prototype.Ld=function(a,b){A("progress"===a.type,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(ef(a,"progress"));this.dispatchEvent(ef(a,b?"downloadprogress":"uploadprogress"))};
var ef=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}},cf=function(a,b){if(a.a){$e(a);var c=a.a,d=a.dc[0]?qa:null;a.a=null;a.dc=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){(a=a.L)&&a.log(De,"Problem encountered resetting onreadystatechange: "+e.message,void 0)}}},$e=function(a){a.a&&a.ac&&(a.a.ontimeout=null);a.Vb&&(k.clearTimeout(a.Vb),a.Vb=null)};E.prototype.Bd=function(){return!!this.a};
E.prototype.na=function(){return this.a?this.a.readyState:0};E.prototype.getStatus=function(){try{return 2<this.na()?this.a.status:-1}catch(a){return-1}};
var ff=function(a){try{if(!a.a)return null;if("response"in a.a)return a.a.response;switch(a.Ra){case "":case "text":return a.a.responseText;case "arraybuffer":if("mozResponseArrayBuffer"in a.a)return a.a.mozResponseArrayBuffer}var b=a.L;b&&b.log(De,"Response type "+a.Ra+" is not supported on this browser",void 0);return null}catch(c){return Le(a.L,"Can not get response: "+c.message),null}};
E.prototype.getResponseHeader=function(a){if(this.a&&4==this.na())return a=this.a.getResponseHeader(a),null===a?void 0:a};E.prototype.getAllResponseHeaders=function(){return this.a&&4==this.na()?this.a.getAllResponseHeaders()||"":""};
var gf=function(a){var b={};a=a.getAllResponseHeaders().split("\r\n");for(var c=0;c<a.length;c++)if(!/^[\s\xa0]*$/.test(a[c])){var d=2;for(var e=a[c].split(": "),f=[];0<d&&e.length;)f.push(e.shift()),d--;e.length&&f.push(e.join(": "));d=f;b[d[0]]=b[d[0]]?b[d[0]]+(", "+d[1]):d[1]}return b},Ze=function(a,b){return b+" ["+a.Ed+" "+a.Hb+" "+a.getStatus()+"]"};var hf=function(a,b){this.fa=this.Da=this.pa="";this.Oa=null;this.va=this.ha="";this.R=this.se=!1;if(a instanceof hf){this.R=m(b)?b:a.R;jf(this,a.pa);var c=a.Da;kf(this);this.Da=c;c=a.fa;kf(this);this.fa=c;lf(this,a.Oa);this.setPath(a.getPath());mf(this,a.T.clone());a=a.va;kf(this);this.va=a}else a&&(c=String(a).match(Se))?(this.R=!!b,jf(this,c[1]||"",!0),a=c[2]||"",kf(this),this.Da=nf(a),a=c[3]||"",kf(this),this.fa=nf(a,!0),lf(this,c[4]),this.setPath(c[5]||"",!0),mf(this,c[6]||"",!0),a=c[7]||"",
kf(this),this.va=nf(a)):(this.R=!!b,this.T=new of(null,this.R))};
hf.prototype.toString=function(){var a=[],b=this.pa;b&&a.push(pf(b,qf,!0),":");var c=this.fa;if(c||"file"==b)a.push("//"),(b=this.Da)&&a.push(pf(b,qf,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.Oa,null!=c&&a.push(":",String(c));if(c=this.getPath())this.fa&&"/"!=c.charAt(0)&&a.push("/"),a.push(pf(c,"/"==c.charAt(0)?rf:sf,!0));(c=this.T.toString())&&a.push("?",c);(c=this.va)&&a.push("#",pf(c,tf));return a.join("")};
hf.prototype.resolve=function(a){var b=this.clone(),c=!!a.pa;c?jf(b,a.pa):c=!!a.Da;if(c){var d=a.Da;kf(b);b.Da=d}else c=!!a.fa;c?(d=a.fa,kf(b),b.fa=d):c=null!=a.Oa;d=a.getPath();if(c)lf(b,a.Oa);else if(c=!!a.ha){if("/"!=d.charAt(0))if(this.fa&&!this.ha)d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){d=0==e.lastIndexOf("/",0);e=e.split("/");for(var 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?b.setPath(d):c=""!==a.T.toString();c?mf(b,a.T.clone()):c=!!a.va;c&&(a=a.va,kf(b),b.va=a);return b};hf.prototype.clone=function(){return new hf(this)};var jf=function(a,b,c){kf(a);a.pa=c?nf(b,!0):b;a.pa&&(a.pa=a.pa.replace(/:$/,""))},lf=function(a,b){kf(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.Oa=b}else a.Oa=null};
hf.prototype.getPath=function(){return this.ha};hf.prototype.setPath=function(a,b){kf(this);this.ha=b?nf(a,!0):a;return this};var mf=function(a,b,c){kf(a);b instanceof of?(a.T=b,a.T.Oc(a.R)):(c||(b=pf(b,uf)),a.T=new of(b,a.R))};hf.prototype.getQuery=function(){return this.T.toString()};hf.prototype.removeParameter=function(a){kf(this);this.T.remove(a);return this};var kf=function(a){if(a.se)throw Error("Tried to modify a read-only Uri");};hf.prototype.Oc=function(a){this.R=a;this.T&&this.T.Oc(a)};
var vf=function(a){return a instanceof hf?a.clone():new hf(a,void 0)},nf=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},pf=function(a,b,c){return n(a)?(a=encodeURI(a).replace(b,wf),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},wf=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},qf=/[#\/\?@]/g,sf=/[#\?:]/g,rf=/[#\?]/g,uf=/[#\?@]/g,tf=/#/g,of=function(a,b){this.j=this.o=null;this.N=a||null;this.R=!!b},xf=function(a){a.o||
(a.o=new C,a.j=0,a.N&&Te(a.N,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=of.prototype;h.m=function(){xf(this);return this.j};h.add=function(a,b){xf(this);this.N=null;a=yf(this,a);var c=this.o.get(a);c||this.o.set(a,c=[]);c.push(b);this.j=Ha(this.j)+1;return this};h.remove=function(a){xf(this);a=yf(this,a);return this.o.ma(a)?(this.N=null,this.j=Ha(this.j)-this.o.get(a).length,this.o.remove(a)):!1};h.clear=function(){this.o=this.N=null;this.j=0};
h.isEmpty=function(){xf(this);return 0==this.j};h.ma=function(a){xf(this);a=yf(this,a);return this.o.ma(a)};h.Ya=function(a){var b=this.w();return Ua(b,a)};h.forEach=function(a,b){xf(this);this.o.forEach(function(c,d){Ma(c,function(c){a.call(b,c,d,this)},this)},this)};h.Y=function(){xf(this);for(var a=this.o.w(),b=this.o.Y(),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.w=function(a){xf(this);var b=[];if(n(a))this.ma(a)&&(b=Ya(b,this.o.get(yf(this,a))));else{a=this.o.w();for(var c=0;c<a.length;c++)b=Ya(b,a[c])}return b};h.set=function(a,b){xf(this);this.N=null;a=yf(this,a);this.ma(a)&&(this.j=Ha(this.j)-this.o.get(a).length);this.o.set(a,[b]);this.j=Ha(this.j)+1;return this};h.get=function(a,b){if(!a)return b;a=this.w(a);return 0<a.length?String(a[0]):b};
h.setValues=function(a,b){this.remove(a);0<b.length&&(this.N=null,this.o.set(yf(this,a),Za(b)),this.j=Ha(this.j)+b.length)};h.toString=function(){if(this.N)return this.N;if(!this.o)return"";for(var a=[],b=this.o.Y(),c=0;c<b.length;c++){var d=b[c],e=encodeURIComponent(String(d));d=this.w(d);for(var f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}}return this.N=a.join("&")};
h.clone=function(){var a=new of;a.N=this.N;this.o&&(a.o=this.o.clone(),a.j=this.j);return a};var yf=function(a,b){b=String(b);a.R&&(b=b.toLowerCase());return b};of.prototype.Oc=function(a){a&&!this.R&&(xf(this),this.N=null,this.o.forEach(function(a,c){var b=c.toLowerCase();c!=b&&(this.remove(c),this.setValues(b,a))},this));this.R=a};of.prototype.extend=function(a){for(var b=0;b<arguments.length;b++)Nc(arguments[b],function(a,b){this.add(b,a)},this)};var Ff=function(a,b,c,d,e){var f=["https://www.googleapis.com/auth/earthengine"];d&&($a(f,d),bb(f));zf=a;Af=f;null===a?Bf=null:Cf(function(){Df(b,c,e||Aa(Ef,b,c))})};u("ee.data.authenticateViaOauth",Ff);var Gf=function(a,b,c,d,e){Ff(a,b,c,d,e)};u("ee.data.authenticate",Gf);var Ef=function(a,b){k.gapi.auth.authorize({client_id:zf,immediate:!1,scope:Af.join(" ")},Aa(Hf,a,b))};u("ee.data.authenticateViaPopup",Ef);
var Jf=function(a,b,c,d){if("undefined"===typeof process)throw Error("Use of private key authentication in the browser is insecure. Consider using OAuth, instead.");var e=["https://www.googleapis.com/auth/earthengine","https://www.googleapis.com/auth/devstorage.read_write"];d&&($a(e,d),bb(e));zf=a.client_email;Af=e;var f=new googleapis.auth.JWT(a.client_email,null,a.private_key,e,null);If=function(a,b){f.authorize(function(a,c){a?b({error:a}):b({access_token:c.access_token,token_type:c.token_type,
expires_in:(c.expiry_date-Date.now())/1E3})})};Df(b,c)};u("ee.data.authenticateViaPrivateKey",Jf);var Lf=function(a){Kf=a};u("ee.data.setApiKey",Lf);var Mf=function(a,b,c,d,e,f,g){var l=["https://www.googleapis.com/auth/earthengine"];e&&($a(l,e),bb(l));zf=a;Af=l;var v={token_type:b,access_token:c,state:l.join(" "),expires_in:d};Hf(void 0,void 0,v);!1===g?f&&f():Cf(function(){k.gapi.auth.setToken(v);f&&f()})};u("ee.data.setAuthToken",Mf);
var Df=function(a,b,c){If&&zf&&If({client_id:String(zf),immediate:!0,scope:Af.join(" ")},function(d){"immediate_failed"==d.error&&c?c():Hf(a,b,d)})},Nf=function(a){If=a};u("ee.data.setAuthTokenRefresher",Nf);var Qf=function(){Of&&0<=Ba()-Of&&Pf();return Bf};u("ee.data.getAuthToken",Qf);var Pf=function(){Of=Bf=null};u("ee.data.clearAuthToken",Pf);var Rf=function(){return zf};u("ee.data.getAuthClientId",Rf);var Sf=function(){return Af};u("ee.data.getAuthScopes",Sf);
var Xf=function(a,b,c){null!=a?Tf=a:Uf||(Tf="https://earthengine.googleapis.com/api");null!=b?Vf=b:Uf||(Vf="https://earthengine.googleapis.com");m(c)&&(Wf=c);Uf=!0},Zf=function(a){Yf=a};u("ee.data.setDeadline",Zf);u("ee.data.setParamAugmenter",function(a){$f=a||Cc});var ag=function(){return Tf};u("ee.data.getApiBaseUrl",ag);var bg=function(){return Vf};u("ee.data.getTileBaseUrl",bg);var cg=function(){return Wf};u("ee.data.getXsrfToken",cg);
var dg=function(a){var b=F("/algorithms",null,a,"GET");return a?null:b},eg=function(a,b){a=Cb(a);return F("/mapid",G(a),b)};u("ee.data.getMapId",eg);var fg=function(a,b,c,d){var e=Math.pow(2,d);b%=e;0>b&&(b+=e);return[Vf,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};u("ee.data.getTileUrl",fg);var gg=function(a,b){a=Cb(a);return F("/value",G(a),b)};u("ee.data.getValue",gg);
var hg=function(a,b){a=Cb(a);p(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));a=G(a).add("getid","1");return F("/thumb",a,b)};u("ee.data.getThumbId",hg);var ig=function(a){return Vf+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};u("ee.data.makeThumbUrl",ig);var jg=function(a,b){a=Cb(a);return F("/download",G(a),b)};u("ee.data.getDownloadId",jg);var kg=function(a){return Vf+"/api/download?docid="+a.docid+"&token="+a.token};u("ee.data.makeDownloadUrl",kg);
var lg=function(a,b){a=Cb(a);return F("/table",G(a),b)};u("ee.data.getTableDownloadId",lg);var mg=function(a){return Vf+"/api/table?docid="+a.docid+"&token="+a.token};u("ee.data.makeTableDownloadUrl",mg);var og=function(a,b,c){var d=ng;try{return ng=a,b.call(c)}finally{ng=d}};u("ee.data.withProfiling",og);var pg=function(a,b){var c={};na(a)&&(c.count=a);return F("/newtaskid",G(c),b)};u("ee.data.newTaskId",pg);
u("ee.data.getTaskStatus",function(a,b){if(n(a))a=[a];else if(!p(a))throw Error("Invalid taskId: expected a string or an array of strings.");return F("/taskstatus?q="+a.join(),null,b,"GET")});u("ee.data.getTaskList",function(a){return qg(void 0,a)});
var qg=function(a,b){function c(b){var c={pagesize:500};a&&(c.pagesize=Math.min(c.pagesize,a-e.tasks.length));b&&(c.pagetoken=b);return c}function d(b,f){F("/tasklist",G(c(f)),function(c,f){f?b(e,f):($a(e.tasks,c.tasks),!c.next_page_token||a&&e.tasks.length>=a?b(e):d(b,c.next_page_token))},"GET")}var e={tasks:[]};if(b)return d(b),null;for(b="";;){var f=F("/tasklist",G(c(b)),void 0,"GET");$a(e.tasks,f.tasks);b=f.next_page_token;if(!f.next_page_token||a&&e.tasks.length>=a)break}return e};
u("ee.data.getTaskListWithLimit",qg);u("ee.data.cancelTask",function(a,b){return rg(a,"CANCEL",b)});var rg=function(a,b,c){if(n(a))a=[a];else if(!p(a))throw Error("Invalid taskId: expected a string or an array of strings.");if(!xb(sg,b))throw Error("Invalid action: "+b);return F("/updatetask",G({id:a,action:b}),c,"POST")};u("ee.data.updateTask",rg);var tg=function(a,b,c){b=Cb(b);b.id=a;return F("/processingrequest",G(b),c)};u("ee.data.startProcessing",tg);
u("ee.data.startIngestion",function(a,b,c){a={id:a,request:Qd(b)};return F("/ingestionrequest",G(a),c)});u("ee.data.startTableIngestion",function(a,b,c){a={id:a,tableRequest:Qd(b)};return F("/ingestionrequest",G(a),c)});var ug=function(a,b){return F("/info",(new of).add("id",a),b)};u("ee.data.getInfo",ug);var vg=function(a,b){a=G(a);return F("/list",a,b)};u("ee.data.getList",vg);u("ee.data.getAssetRoots",function(a){return F("/buckets",null,a,"GET")});
u("ee.data.createAssetHome",function(a,b){a=G({id:a});F("/createbucket",a,b)});u("ee.data.createAsset",function(a,b,c,d,e){n(a)||(a=Qd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;void 0!=d&&(a.properties=Qd(d));return F("/create",G(a),e)});u("ee.data.createFolder",function(a,b,c){return F("/createfolder",G({id:a,force:b||!1}),c)});u("ee.data.renameAsset",function(a,b,c){F("/rename",G({sourceId:a,destinationId:b}),c)});
u("ee.data.copyAsset",function(a,b,c){F("/copy",G({sourceId:a,destinationId:b}),c)});u("ee.data.deleteAsset",function(a,b){F("/delete",G({id:a}),b)});u("ee.data.getAssetAcl",function(a,b){return F("/getacl",G({id:a}),b,"GET")});u("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:Qd(b)};F("/setacl",G(a),c)});u("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:Qd(b)};F("/setproperties",G(a),c)});u("ee.data.getAssetRootQuota",function(a,b){return F("/quota",G({id:a}),b,"GET")});
var sg={Le:"CANCEL",Oe:"UPDATE"},F=function(a,b,c,d){Xf();var e=ng,f={"Content-Type":"application/x-www-form-urlencoded"},g=Qf();if(null!=g)f.Authorization=g;else if(c&&If&&zf)return Df(function(){og(e,function(){F(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new of;e&&b.add("profiling","1");null!=Kf&&b.add("key",Kf);b=$f(b,a);null!=Wf&&(f["X-XSRF-Token"]=Wf);var l=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(l)||(a+=-1!=a.indexOf("?")?"&":"?",a+=l,l=null);var v=Tf+a;if(c)return wg.push(xg(v,c,g,
l,f)),yg.vc(),null;for(var P=function(a,b){this.setRequestHeader&&this.setRequestHeader(b,a)},R,Y=0;;){R=Qe();R.open(g,v,!1);rb(f,P,R);R.send(l);if(429!=R.status||5<Y)break;Y++}return zg(R.status,function(a){try{return R.getResponseHeader(a)}catch(rh){return null}},R.responseText,e)},xg=function(a,b,c,d,e){var f=0,g={url:a,method:c,content:d,headers:e},l=ng;g.kc=function(a){a=a.target;if(429==a.getStatus()&&10>f)return f++,setTimeout(function(){wg.push(g);yg.vc()},Math.min(12E4,1E3*Math.pow(2,f))),
null;var c=a.getStatus(),d=t(a.getResponseHeader,a);try{var e=a.a?a.a.responseText:""}catch(sa){Le(a.L,"Can not get responseText: "+sa.message),e=""}return zg(c,d,e,l,b)};return g},zg=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(P){var v="Invalid JSON: "+c}else v="Response was unexpectedly not JSON, but "+b;if(r(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(e)return e(l,v),null;if(!v)return l;throw Error(v);},Cf=function(a){var b=function(){k.gapi.config.update("client/cors",!0);If||(If=k.gapi.auth.authorize);a()};if(r(k.gapi)&&r(k.gapi.auth)&&q(k.gapi.auth.authorize))b();else{for(var c=
Ba().toString(36);c in k;)c+="_";k[c]=function(){delete k[c];b()};ye(Od({onload:c}))}},Hf=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(Df,.9*c),Of=Ba()+c),Bf=b,a&&a()):b&&b(c.error||"Unknown error.")},G=function(a){var b=new of;a=ia(Object.entries(a));for(var c=a.next();!c.done;c=a.next()){var d=ia(c.value);c=d.next().value;d=d.next().value;b.set(c,d)}return b},wg=[],yg=new Bd(function(){var a=wg.shift();if(a){var b=a.url,
c=a.kc,d=a.method,e=a.content;a=a.headers;var f=Yf,g=new E;Ye.push(g);c&&g.da("complete",c);g.kb("ready",g.he);f&&(g.Va=Math.max(0,f));g.send(b,d,e,a)}0==wg.length||yg.vc()},350),Tf=null,Vf=null,Wf=null,$f=Cc,Bf=null,Of=null,zf=null,Af=[],If=null,Kd=new Fd(Dd,"https://apis.google.com/js/client.js?onload=%{onload}"),Kf=null,Uf=!1,Yf=0,ng=null;var Ag=function(){};var Bg=function(){this.la=-1};var Cg=function(){this.la=64;this.C=Array(4);this.be=Array(this.la);this.Xb=this.Wa=0;this.reset()};w(Cg,Bg);Cg.prototype.reset=function(){this.C[0]=1732584193;this.C[1]=4023233417;this.C[2]=2562383102;this.C[3]=271733878;this.Xb=this.Wa=0};
var Dg=function(a,b,c){c||(c=0);var d=Array(16);if(n(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.C[0];c=a.C[1];e=a.C[2];var f=a.C[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.C[0]=a.C[0]+b&4294967295;a.C[1]=a.C[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.C[2]=a.C[2]+e&4294967295;a.C[3]=a.C[3]+f&4294967295};
Cg.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.la,d=this.be,e=this.Wa,f=0;f<b;){if(0==e)for(;f<=c;)Dg(this,a,f),f+=this.la;if(n(a))for(;f<b;){if(d[e++]=a.charCodeAt(f++),e==this.la){Dg(this,d);e=0;break}}else for(;f<b;)if(d[e++]=a[f++],e==this.la){Dg(this,d);e=0;break}}this.Wa=e;this.Xb+=b};
Cg.prototype.digest=function(){var a=Array((56>this.Wa?this.la:2*this.la)-this.Wa);a[0]=128;for(var b=1;b<a.length-8;++b)a[b]=0;var c=8*this.Xb;for(b=a.length-8;b<a.length;++b)a[b]=c&255,c/=256;this.update(a);a=Array(16);for(b=c=0;4>b;++b)for(var d=0;32>d;d+=8)a[c++]=this.C[b]>>>d&255;return a};var Eg=function(a){this.sb="__ee_hash__";this.Ec=!1!==a;this.Sa=[];this.Ka={};this.$c=[]};u("ee.Serializer",Eg);var Fg=new Pd,Gg=new Cg,Ig=function(a,b){return Hg(new Eg(m(b)?b:!0),a)};u("ee.Serializer.encode",Ig);var Jg=function(a){return Fg.A(Ig(a))};u("ee.Serializer.toJSON",Jg);var Kg=function(a){a=Hg(new Eg(!1),a);return"JSON"in k?k.JSON.stringify(a,null," "):Fg.A(a)};u("ee.Serializer.toReadableJSON",Kg);
var Hg=function(a,b){b=a.yb(b);a.Ec&&(b=r(b)&&"ValueRef"==b.type&&1==a.Sa.length?a.Sa[0][1]:{type:"CompoundValue",scope:a.Sa,value:b},a.Sa=[],Ma(a.$c,t(function(a){delete a[this.sb]},a)),a.$c=[],a.Ka={});return b};
Eg.prototype.yb=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b=r(a)?a[this.sb]:null;if(this.Ec&&null!=b&&this.Ka[b])return{type:"ValueRef",value:this.Ka[b]};if(null===a||"boolean"==typeof a||na(a)||n(a))return a;if(r(a)&&"function"==typeof a.getFullYear)return{type:"Invocation",functionName:"Date",arguments:{value:Math.floor(a.getTime())}};if(a instanceof Ag){var c=a.encode(t(this.yb,this));if(!(p(c)||r(c)&&"ArgumentRef"!=c.type))return c}else if(p(a))c=Oa(a,function(a){return this.yb(a)},
this);else if(r(a)&&!q(a))c=tb(a,function(a){if(!q(a))return this.yb(a)},this),Bb(c,this.sb),c={type:"Dictionary",value:c};else throw Error("Can't encode object: "+a);if(this.Ec){Gg.reset();Gg.update(Fg.A(c));b=Gg.digest().toString();if(this.Ka[b])var d=this.Ka[b];else d=String(this.Sa.length),this.Sa.push([d,c]),this.Ka[b]=d;a[this.sb]=b;this.$c.push(a);return{type:"ValueRef",value:d}}return c};var H=function(a,b,c){if(!(this instanceof H))return Lg(H,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.i=a;this.args=b;this.B=c||null};w(H,Ag);u("ee.ComputedObject",H);H.prototype.evaluate=function(a){if(!a||!q(a))throw Error("evaluate() requires a callback function.");gg({json:this.A()},a)};H.prototype.evaluate=H.prototype.evaluate;
H.prototype.ca=function(a){return gg({json:this.A()},a)};H.prototype.getInfo=H.prototype.ca;H.prototype.encode=function(a){if(null===this.i&&null===this.args)return{type:"ArgumentRef",value:this.B};var b={},c;for(c in this.args)m(this.args[c])&&(b[c]=a(this.args[c]));b={type:"Invocation",arguments:b};a=a(this.i);b[n(a)?"functionName":"function"]=a;return b};H.prototype.A=function(){return Jg(this)};H.prototype.serialize=H.prototype.A;
H.prototype.toString=function(){return"ee."+this.name()+"("+Kg(this)+")"};u("ee.ComputedObject.prototype.toString",H.prototype.toString);H.prototype.name=function(){return"ComputedObject"};H.prototype.ad=function(a,b){var c=Za(arguments);c[0]=this;a.apply(k,c);return this};H.prototype.aside=H.prototype.ad;
var Mg=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;a=new c;a.i=b.i;a.args=b.args;a.B=b.B;return a},Lg=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Ng={},Og=function(a){return a.prototype instanceof H?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Pg=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}},Qg=function(a){return na(a)||
a instanceof H&&"Number"==a.name()},Rg=function(a){return n(a)||a instanceof H&&"String"==a.name()},Sg=function(a){return r(a)&&!q(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var I=function(){if(!(this instanceof I))return new I};w(I,Ag);u("ee.Function",I);var Tg=Cc;I.prototype.call=function(a){return this.apply(Ug(this,Array.prototype.slice.call(arguments,0)))};I.prototype.call=I.prototype.call;I.prototype.apply=function(a){a=new H(this,Vg(this,a));return Tg(a,this.J().returns)};I.prototype.apply=I.prototype.apply;
var Wg=function(a,b,c){var d=m(b),e=a.J(),f=!1;if(1==c.length&&Sg(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=Cb(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=Ug(a,d?[b].concat(c):c);return a.apply(c)},Vg=function(a,b){for(var c=a.J().args,d={},e={},f=0;f<c.length;f++){var g=c[f].name;if(g in b&&m(b[g]))d[g]=Tg(b[g],c[f].type);else if(!c[f].optional)throw Error("Required argument ("+
g+") missing to function: "+a);e[g]=!0}c=[];for(var l in b)e[l]||c.push(l);if(0<c.length)throw Error("Unrecognized arguments ("+c+") to function: "+a);return d},Ug=function(a,b){var c=a.J().args;if(c.length<b.length)throw Error("Too many ("+b.length+") arguments to function: "+a);a={};for(var d=0;d<b.length;d++)a[c[d].name]=b[d];return a};
I.prototype.toString=function(a,b){var c=this.J(),d=[];d.push(a||c.name);d.push("(");d.push(Oa(c.args.slice(b?1:0),function(a){return a.name}).join(", "));d.push(")\n");d.push("\n");c.description?d.push(c.description):d.push("Undocumented.");d.push("\n");if(c.args.length)for(d.push("\nArgs:\n"),a=0;a<c.args.length;a++){b&&0==a?d.push(" this:"):d.push("\n ");var e=c.args[a];d.push(e.name);d.push(" (");d.push(e.type);e.optional&&d.push(", optional");d.push("): ");e.description?d.push(e.description):
d.push("Undocumented.")}return d.join("")};I.prototype.A=function(){return Jg(this)};var J=function(a,b){if(!m(b))return Xg(a);if(!(this instanceof J))return Lg(J,arguments);this.qa=Db(b);this.qa.name=a};w(J,I);u("ee.ApiFunction",J);var K=function(a,b){return I.prototype.call.apply(Xg(a),Array.prototype.slice.call(arguments,1))};u("ee.ApiFunction._call",K);var Yg=function(a,b){return Xg(a).apply(b)};u("ee.ApiFunction._apply",Yg);J.prototype.encode=function(){return this.qa.name};J.prototype.J=function(){return this.qa};
var Zg=null,$g={},bh=function(){ah();return tb(Zg,function(a){return a.J()})},ch=function(){ah();return sb(Zg,function(a,b){return!$g[b]})},Xg=function(a){var b=dh(a);if(!b)throw Error("Unknown built-in function name: "+a);return b};u("ee.ApiFunction.lookup",Xg);
var dh=function(a){ah();return Zg[a]||null},ah=function(a,b){if(Zg)a&&a();else{var c=function(c,e){e?b&&b(Error(e)):(Zg=tb(c,function(a,b){a.returns=a.returns.replace(/<.*>/,"");for(var c=0;c<a.args.length;c++)a.args[c].type=a.args[c].type.replace(/<.*>/,"");return new J(b,a)}),a&&a())};a?dg(c):c(dg())}},L=function(a,b,c,d){ah();var e=d||"";rb(Zg,function(d,g){var f=g.split(".");if(2==f.length&&f[0]==b){f=e+f[1];var v=d.J();$g[g]=!0;var P=!1;v.args.length&&(g=v.args[0].type,P="Object"!=g&&Pg(g,c));
g=P?a.prototype:a;f in g&&!g[f].signature||(g[f]=function(a){return Wg(d,P?this:void 0,Array.prototype.slice.call(arguments,0))},g[f].toString=t(d.toString,d,f,P),g[f].signature=v)}})},eh=function(a){var b=function(a){for(var b in a)q(a[b])&&a[b].signature&&delete a[b]};b(a);b(a.prototype)};var M=function(a,b){var c=fh(a),d=Oa(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=r(f)&&!q(f)&&!p(f)&&!(f instanceof H);if(1<b.length||!g){if(b.length>d.length)throw Error("Received too many arguments"+a+". Expected at most "+d.length+" but got "+b.length+".");for(f=0;f<b.length;f++)e[d[f]]=b[f]}else{g=new D(wb(f));var l=new D(d);if(Qc(l,g).isEmpty())e[d[0]]=b[0];else{b=
Rc(g,l);if(!b.isEmpty())throw Error("Unexpected arguments"+a+": "+b.w().join(", "));e=Cb(f)}}b=new D(wb(e));c=Rc(new D(Na(c,function(a){return 0!=a.lastIndexOf("opt_",0)})),b);if(!c.isEmpty())throw Error("Missing required arguments"+a+": "+c.w().join(", "));return e},fh=function(a){var b=gh,c=[];k.EXPORTED_FN_INFO?(a=k.EXPORTED_FN_INFO[a.toString()],r(a)||hh(),c=a.paramNames,p(c)||hh()):(a=a.toString().replace(ih,"").match(b),null===a&&hh(),c=(a[1].split(",")||[]).map(function(a){return a.replace(jh,
"")}));return c},hh=function(){throw Error("Failed to locate function parameters.");},ih=/((\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s))/mg,gh=/^function[^\(]*\(([^\)]*)\)/m,jh=/=.*$/;var N=function(a,b,c){H.call(this,a,b,c);kh()};w(N,H);u("ee.Element",N);var lh=!1,kh=function(){lh||(L(N,"Element","Element"),lh=!0)};N.prototype.name=function(){return"Element"};
N.prototype.set=function(a){var b;if(1>=arguments.length){var c=arguments[0];if(b=Sg(c))a:{b=wb(c);var d=["properties"];if(va(b)&&va(d)&&b.length==d.length){for(var e=b.length,f=0;f<e;f++)if(b[f]!==d[f]){b=!1;break a}b=!0}else b=!1}b&&r(c.properties)&&(c=c.properties);if(Sg(c)){b=this;for(var g in c)d=c[g],b=K("Element.set",b,g,d)}else if(c instanceof H&&dh("Element.setMulti"))b=K("Element.setMulti",this,c);else throw Error("When Element.set() is passed one argument, it must be a dictionary.");}else{if(0!=
arguments.length%2)throw Error("When Element.set() is passed multiple arguments, there must be an even number of them.");b=this;for(c=0;c<arguments.length;c+=2)g=arguments[c],d=arguments[c+1],b=K("Element.set",b,g,d)}return Mg(this,b)};N.prototype.set=N.prototype.set;var O=function(a,b,c,d){if(!(this instanceof O))return Lg(O,arguments);if(!("type"in a)){var e=M(O,arguments);a=e.geoJson;b=e.proj;c=e.geodesic;d=e.evenOdd}mh();e=null!=b||null!=c||null!=d;if(a instanceof H&&!(a instanceof O&&a.Yb)){if(e)throw Error("Setting the CRS, geodesic, or evenOdd flag on a computed Geometry is not supported. Use Geometry.transform().");H.call(this,a.i,a.args,a.B)}else{a instanceof O&&(a=a.encode());if(!nh(a))throw Error("Invalid GeoJSON geometry: "+JSON.stringify(a));H.call(this,
null,null);this.Yb=a.type;this.ie=null!=a.coordinates?Db(a.coordinates):null;this.ne=a.geometries||null;if(null!=b)this.Mc=b;else if("crs"in a)if(r(a.crs)&&"name"==a.crs.type&&r(a.crs.properties)&&n(a.crs.properties.name))this.Mc=a.crs.properties.name;else throw Error("Invalid CRS declaration in GeoJSON: "+(new Pd).A(a.crs));this.Bb=c;!m(this.Bb)&&"geodesic"in a&&(this.Bb=!!a.geodesic);this.Ab=d;!m(this.Ab)&&"evenOdd"in a&&(this.Ab=!!a.evenOdd)}};w(O,H);u("ee.Geometry",O);
var oh=!1,mh=function(){oh||(L(O,"Geometry","Geometry"),oh=!0)},ph=function(a,b){if(!(this instanceof ph))return qh(ph,arguments);var c=sh(ph,"Point",1,arguments);if(!(c instanceof H)){var d=c.coordinates;if(!p(d)||2!=d.length)throw Error("The Geometry.Point constructor requires 2 coordinates.");}O.call(this,c)};w(ph,O);O.Point=ph;var th=function(a,b){if(!(this instanceof th))return qh(th,arguments);O.call(this,sh(th,"MultiPoint",2,arguments))};w(th,O);O.MultiPoint=th;
var uh=function(a,b,c,d){if(!(this instanceof uh))return qh(uh,arguments);var e=sh(uh,"Rectangle",2,arguments);if(!(e instanceof H)){var f=e.coordinates;if(2!=f.length)throw Error("The Geometry.Rectangle constructor requires 2 points or 4 coordinates.");var g=f[0][0],l=f[0][1],v=f[1][0];f=f[1][1];e.coordinates=[[[g,f],[g,l],[v,l],[v,f]]];e.type="Polygon"}O.call(this,e)};w(uh,O);O.Rectangle=uh;
var vh=function(a,b,c,d){if(!(this instanceof vh))return qh(vh,arguments);O.call(this,sh(vh,"LineString",2,arguments))};w(vh,O);O.LineString=vh;var wh=function(a,b,c,d){if(!(this instanceof wh))return qh(wh,arguments);O.call(this,sh(wh,"LinearRing",2,arguments))};w(wh,O);O.LinearRing=wh;var xh=function(a,b,c,d){if(!(this instanceof xh))return qh(xh,arguments);O.call(this,sh(xh,"MultiLineString",3,arguments))};w(xh,O);O.MultiLineString=xh;
var yh=function(a,b,c,d,e){if(!(this instanceof yh))return qh(yh,arguments);O.call(this,sh(yh,"Polygon",3,arguments))};w(yh,O);O.Polygon=yh;var zh=function(a,b,c,d,e){if(!(this instanceof zh))return qh(zh,arguments);O.call(this,sh(zh,"MultiPolygon",4,arguments))};w(zh,O);O.MultiPolygon=zh;
O.prototype.encode=function(a){if(!this.Yb){if(!a)throw Error("Must specify an encode function when encoding a computed geometry.");return H.prototype.encode.call(this,a)}a={type:this.Yb};"GeometryCollection"==this.Yb?a.geometries=this.ne:a.coordinates=this.ie;null!=this.Mc&&(a.crs={type:"name",properties:{name:this.Mc}});null!=this.Bb&&(a.geodesic=this.Bb);null!=this.Ab&&(a.evenOdd=this.Ab);return a};
O.prototype.Xc=function(){if(this.i)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return this.encode()};O.prototype.toGeoJSON=O.prototype.Xc;O.prototype.Yc=function(){if(this.i)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return(new Pd).A(this.Xc())};O.prototype.toGeoJSONString=O.prototype.Yc;O.prototype.A=function(){return Jg(this)};O.prototype.serialize=O.prototype.A;
O.prototype.toString=function(){return"ee.Geometry("+this.Yc()+")"};
var nh=function(a){var b=a.type;if("GeometryCollection"==b){b=a.geometries;if(!p(b))return!1;for(a=0;a<b.length;a++)if(!nh(b[a]))return!1;return!0}a=a.coordinates;var c=Ah(a);return"Point"==b&&1==c||"MultiPoint"==b&&(2==c||0==a.length)||"LineString"==b&&2==c||"LinearRing"==b&&2==c||"MultiLineString"==b&&(3==c||0==a.length)||"Polygon"==b&&3==c||"MultiPolygon"==b&&(4==c||0==a.length)},Ah=function(a){if(!p(a))return-1;if(p(a[0])){for(var b=Ah(a[0]),c=1;c<a.length;c++)if(Ah(a[c])!=b)return-1;return b+
1}for(c=0;c<a.length;c++)if(!na(a[c]))return-1;return 0==a.length%2?1:-1},sh=function(a,b,c,d){Qa(d,Qg)?a={coordinates:Za(d)}:(a=M(a,d),a.coordinates=a.coords,delete a.coords,a.crs=a.proj,delete a.proj,a=sb(a,ta));if(Bh(a.coordinates)||null!=a.crs||null!=a.maxError)return(new J("GeometryConstructors."+b)).apply(a);a.type=b;d=a.coordinates;if(1>c||4<c)throw Error("Unexpected nesting level.");if(Qa(d,na)&&na(d[0])&&2!=d.length){if(0!=d.length%2)throw Error("Invalid number of coordinates: "+d.length);
for(var e=[],f=0;f<d.length;f+=2)e.push([d[f],d[f+1]]);d=e}e=d;for(f=0;p(e);)e=e[0],f++;for(;f<c;)d=[d],f++;if(Ah(d)!=c)throw Error("Invalid geometry");for(e=d;p(e)&&1==e.length;)e=e[0];c=p(e)&&0==e.length?[]:d;a.coordinates=c;(b=Ua(["Polygon","Rectangle","MultiPolygon"],b))&&null==a.evenOdd&&(a.evenOdd=!0);if(b&&!1===a.geodesic&&!1===a.evenOdd)throw Error("Planar interiors must be even/odd.");return a},Bh=function(a){return p(a)?Pa(a,Bh):a instanceof H},qh=function(a,b){var c=function(){};c.prototype=
a.prototype;c=new c;a=a.apply(c,b);return void 0!==a?a:c};O.prototype.name=function(){return"Geometry"};var Ch=function(a){this.mc=a;this.id=null},Eh=function(a,b){var c=function(b){return b in a},d=Dh.find(c);A(1===Ra(Dh,c));c=a[d];delete a[d];b={json:c.A(),type:b};Object.assign(b,a);b=sb(b,ta);return new Ch(b)};
Ch.prototype.start=function(a,b){var c=this;A(this.mc,"Task config must be specified for tasks to be started.");if(a){var d=function(){Ia(c.id);tg(c.id,c.mc,function(c,d){d?b(d):a()})};this.id?d():pg(1,function(a){(a=a&&a[0])?(c.id=a,d()):b("Failed to obtain task ID.")})}else this.id=this.id||pg(1)[0],Ia(this.id,"Failed to obtain task ID."),tg(this.id,this.mc)};Ch.prototype.start=Ch.prototype.start;var Fh=function(a,b,c,d,e,f,g,l,v,P){var R=M(Fh,arguments);R=Gh(R,"ASSET");return Eh(R,"EXPORT_IMAGE")};
u("ee.batch.Export.image.toAsset",Fh);var Hh=function(a,b,c,d,e,f,g,l,v,P,R,Y,sa,rh,Uj){var ua=M(Hh,arguments);ua=Gh(ua,"GOOGLE_CLOUD_STORAGE");ua=Ih(ua);return Eh(ua,"EXPORT_IMAGE")};u("ee.batch.Export.image.toCloudStorage",Hh);var Jh=function(a,b,c,d,e,f,g,l,v,P,R,Y,sa,rh,Uj){var ua=M(Jh,arguments);ua=Gh(ua,"DRIVE");ua=Ih(ua);return Eh(ua,"EXPORT_IMAGE")};u("ee.batch.Export.image.toDrive",Jh);
var Kh=function(a,b,c,d,e,f,g,l,v,P,R){var Y=M(Kh,arguments);Y=Gh(Y,"GOOGLE_CLOUD_STORAGE");return Eh(Y,"EXPORT_TILES")};u("ee.batch.Export.map.toCloudStorage",Kh);var Lh=function(a,b,c,d,e,f){var g=M(Lh,arguments);g=Gh(g,"GOOGLE_CLOUD_STORAGE");return Eh(g,"EXPORT_FEATURES")};u("ee.batch.Export.table.toCloudStorage",Lh);var Mh=function(a,b,c,d,e,f){var g=M(Mh,arguments);g=Gh(g,"DRIVE");return Eh(g,"EXPORT_FEATURES")};u("ee.batch.Export.table.toDrive",Mh);
var Nh=function(a,b,c){var d=M(Nh,arguments);d=Gh(d,"ASSET");return Eh(d,"EXPORT_FEATURES")};u("ee.batch.Export.table.toAsset",Nh);var Oh=function(a,b,c,d,e,f,g,l,v,P,R,Y){var sa=M(Oh,arguments);sa=Gh(sa,"GOOGLE_CLOUD_STORAGE");return Eh(sa,"EXPORT_VIDEO")};u("ee.batch.Export.video.toCloudStorage",Oh);var Ph=function(a,b,c,d,e,f,g,l,v,P,R,Y){var sa=M(Ph,arguments);sa=Gh(sa,"DRIVE");return Eh(sa,"EXPORT_VIDEO")};u("ee.batch.Export.video.toDrive",Ph);
var Qh=function(a,b,c,d,e,f,g,l,v,P,R){var Y=M(Qh,arguments);Y=Gh(Y,"GOOGLE_CLOUD_STORAGE");return Eh(Y,"EXPORT_VIDEO_MAP")};u("ee.batch.Export.videoMap.toCloudStorage",Qh);
var Gh=function(a,b){var c={};Object.assign(c,a);null!=c.crsTransform&&(c.crs_transform=c.crsTransform,delete c.crsTransform);"array"==ra(c.fileDimensions)&&(c.fileDimensions=c.fileDimensions.join());"array"==ra(c.selectors)&&(c.selectors=c.selectors.join());switch(b){case "GOOGLE_CLOUD_STORAGE":c.outputBucket=c.bucket||"";c.outputPrefix=c.fileNamePrefix||c.path||"";delete c.bucket;delete c.fileNamePrefix;break;case "ASSET":c.assetId=c.assetId||"";break;case "DRIVE":if(a=ra(c.folder),!Ua(["string",
"undefined"],a))throw Error('Error: toDrive "folder" parameter must be a string, but is of type '+a+".");default:c.driveFolder=c.folder||"",c.driveFileNamePrefix=c.fileNamePrefix||"",delete c.folder,delete c.fileNamePrefix}return c},Rh="tiffCloudOptimized tiffFileDimensions tfrecordPatchDimensions tfrecordKernelSize tfrecordCompressed tfrecordMaxFileSize tfrecordDefaultValue tfrecordTensorDepths tfrecordSequenceData tfrecordCollapseBands tfrecordMaskedThreshold".split(" "),Sh={GEOTIFF:"tiff",TFRECORD:"tfrecord"},
Ih=function(a){var b="GEOTIFF";null!=a.fileFormat&&(b=a.fileFormat.toUpperCase());if(!(b in Sh))throw a=Object.keys(Sh).join(", "),Error("Invalid file format. Supported formats are: "+a+".");var c=a;null!=a.formatOptions&&"object"==ra(a.formatOptions)&&(c=a.formatOptions,delete a.formatOptions,c=Th(a,c,b));a=c;null!=a.tiffFileDimensions&&(a.tiffFileDimensions=a.tiffFileDimensions.join());null!=a.tfrecordPatchDimensions&&(a.tfrecordPatchDimensions=a.tfrecordPatchDimensions.join());null!=a.tfrecordKernelSize&&
(a.tfrecordKernelSize=a.tfrecordKernelSize.join());null!=a.tfrecordTensorDepths&&(a.tfrecordTensorDepths=a.tfrecordTensorDepths.join());return a},Th=function(a,b,c){if(Object.keys(a).some(function(a){return a in b}))throw Error("Parameter specified at least twice: once in config, and once in config format options.");for(var d=Sh[c],e=ia(Object.entries(b)),f=e.next();!f.done;f=e.next()){var g=ia(f.value);f=g.next().value;g=g.next().value;var l=d+f[0].toUpperCase()+f.slice(1);if(!Rh.includes(l))throw Error("'"+
f+"' is not a valid option for '"+c+"'.");a[l]=g}return a},Dh=["image","collection"];var Q=function(a){if(!(this instanceof Q))return Lg(Q,arguments);if(a instanceof Q)return a;Uh();if(p(a)){if(0==a.length)throw Error("Empty list specified for ee.Filter().");if(1==a.length)return new Q(a[0]);H.call(this,new J("Filter.and"),{filters:a})}else if(a instanceof H)H.call(this,a.i,a.args,a.B);else{if(m(a))throw Error("Invalid argument specified for ee.Filter(): "+a);H.call(this,null,null)}};w(Q,H);u("ee.Filter",Q);
var Vh=!1,Uh=function(){Vh||(L(Q,"Filter","Filter"),Vh=!0)},Wh={equals:"equals",less_than:"lessThan",greater_than:"greaterThan",contains:"stringContains",starts_with:"stringStartsWith",ends_with:"stringEndsWith"};Q.prototype.Ma=function(){return K("Filter.not",this)};Q.prototype.not=Q.prototype.Ma;var Xh=function(a,b){var c=M(Xh,arguments);return K("Filter.equals",c.name,c.value)};Q.eq=Xh;var Yh=function(a,b){var c=M(Yh,arguments);return Xh(c.name,c.value).Ma()};Q.neq=Yh;
var Zh=function(a,b){var c=M(Zh,arguments);return K("Filter.lessThan",c.name,c.value)};Q.lt=Zh;var $h=function(a,b){var c=M($h,arguments);return Zh(c.name,c.value).Ma()};Q.gte=$h;var ai=function(a,b){var c=M(ai,arguments);return K("Filter.greaterThan",c.name,c.value)};Q.gt=ai;var bi=function(a,b){var c=M(bi,arguments);return ai(c.name,c.value).Ma()};Q.lte=bi;var ci=function(a){return K("Filter.and",Array.prototype.slice.call(arguments))};Q.and=ci;var di=function(a){return K("Filter.or",Array.prototype.slice.call(arguments))};
Q.or=di;var ei=function(a,b){var c=M(ei,arguments);c=K("DateRange",c.start,c.end);return Yg("Filter.dateRangeContains",{leftValue:c,rightField:"system:time_start"})};Q.date=ei;var fi=function(a,b,c,d){var e=M(fi,arguments);return Yg("Filter.listContains",{leftField:e.rightField,rightValue:e.leftValue,rightField:e.leftField,leftValue:e.rightValue})};Q.inList=fi;var gi=function(a,b){return Yg("Filter.intersects",{leftField:".all",rightValue:K("Feature",a),maxError:b})};Q.bounds=gi;
Q.prototype.name=function(){return"Filter"};var hi=function(a,b,c){b=b.toLowerCase();var d=!1;0==b.lastIndexOf("not_",0)&&(d=!0,b=b.substring(4));if(!(b in Wh))throw Error("Unknown filtering operator: "+b);a=K("Filter."+Wh[b],a,c);return d?a.Ma():a};Q.metadata=hi;var S=function(a,b,c){N.call(this,a,b,c);ii()};w(S,N);u("ee.Collection",S);var ji=!1,ii=function(){ji||(L(S,"Collection","Collection"),L(S,"AggregateFeatureCollection","Collection","aggregate_"),ji=!0)};S.prototype.filter=function(a){a=M(S.prototype.filter,arguments).filter;if(!a)throw Error("Empty filters.");return Mg(this,K("Collection.filter",this,a))};S.prototype.filter=S.prototype.filter;
S.prototype.uc=function(a,b,c){var d=M(S.prototype.uc,arguments);return this.filter(hi(d.name,d.operator,d.value))};S.prototype.filterMetadata=S.prototype.uc;S.prototype.qd=function(a){return this.filter(gi(a))};S.prototype.filterBounds=S.prototype.qd;S.prototype.tc=function(a,b){var c=M(S.prototype.tc,arguments);return this.filter(ei(c.start,c.end))};S.prototype.filterDate=S.prototype.tc;
S.prototype.limit=function(a,b,c){var d=M(S.prototype.limit,arguments);return Mg(this,K("Collection.limit",this,d.max,d.property,d.ascending))};S.prototype.limit=S.prototype.limit;S.prototype.sort=function(a,b){var c=M(S.prototype.sort,arguments);return Mg(this,K("Collection.limit",this,void 0,c.property,c.ascending))};S.prototype.sort=S.prototype.sort;S.prototype.name=function(){return"Collection"};S.prototype.elementType=function(){return N};
S.prototype.map=function(a,b){var c=this.elementType();return Mg(this,K("Collection.map",this,function(b){return a(new c(b))},b))};S.prototype.map=S.prototype.map;S.prototype.Cd=function(a,b){b=m(b)?b:null;var c=this.elementType();return K("Collection.iterate",this,function(b,e){return a(new c(b),e)},b)};S.prototype.iterate=S.prototype.Cd;var ki=function(a){if(!(this instanceof ki))return Lg(ki,arguments);if(a instanceof ki)return a;li();if(na(a))H.call(this,null,null),this.Ic=a;else if(a instanceof H)H.call(this,a.i,a.args,a.B),this.Ic=null;else throw Error("Invalid argument specified for ee.Number(): "+a);};w(ki,H);u("ee.Number",ki);var mi=!1,li=function(){mi||(L(ki,"Number","Number"),mi=!0)};ki.prototype.encode=function(a){return na(this.Ic)?this.Ic:ki.l.encode.call(this,a)};ki.prototype.name=function(){return"Number"};var ni=function(a){if(!(this instanceof ni))return Lg(ni,arguments);if(a instanceof ni)return a;oi();if(n(a))H.call(this,null,null),this.Sc=a;else if(a instanceof H)this.Sc=null,a.i&&"String"==a.i.J().returns?H.call(this,a.i,a.args,a.B):H.call(this,new J("String"),{input:a},null);else throw Error("Invalid argument specified for ee.String(): "+a);};w(ni,H);u("ee.String",ni);var pi=!1,oi=function(){pi||(L(ni,"String","String"),pi=!0)};
ni.prototype.encode=function(a){return n(this.Sc)?this.Sc:ni.l.encode.call(this,a)};ni.prototype.name=function(){return"String"};var qi=function(a,b){if(!(this instanceof qi))return Lg(qi,arguments);for(var c=[],d=a.args,e=0;e<d.length;e++){var f=d[e],g=f.type;c.push(ri(g in Ng?Ng[g]:null,f.name))}if(!m(b.apply(null,c)))throw Error("User-defined methods must return a value.");this.qa=si(a,c,b);this.ce=b.apply(null,c)};w(qi,I);u("ee.CustomFunction",qi);qi.prototype.encode=function(a){return{type:"Function",argumentNames:Oa(this.qa.args,function(a){return a.name}),body:a(this.ce)}};qi.prototype.J=function(){return this.qa};
var ri=function(a,b){a=a||Object;if(!(a.prototype instanceof H))if(a&&a!=Object)if(a==String)a=ni;else if(a==Number)a=ki;else if(a==Array)a=k.ee.List;else throw Error("Variables must be of an EE type, e.g. ee.Image or ee.Number.");else a=H;var c=function(){};c.prototype=a.prototype;a=new c;a.i=null;a.args=null;a.B=b;return a},ti=function(a,b){b=Oa(b,function(a){return{name:null,type:n(a)?a:Og(a)}});b={name:"",returns:n("Object")?"Object":Og("Object"),args:b};return new qi(b,a)},si=function(a,b,c){for(var d=
[],e=0;e<b.length;e++)null===b[e].B&&d.push(e);if(0==d.length)return a;var f=function(a){var b=0;r(a)&&!q(a)&&("Function"==a.type&&b++,rb(a,function(a){b+=f(a)}));return b};e=Ig(c.apply(null,b));c="_MAPPING_VAR_"+f(e)+"_";for(e=0;e<d.length;e++){var g=d[e],l=c+e;b[g].B=l;a.args[g].name=l}return a};var ui=function(a,b){if(!(this instanceof ui))return Lg(ui,arguments);if(a instanceof ui)return a;vi();var c=M(ui,arguments);a=c.date;c=c.tz;var d=new J("Date"),e={},f=null;if(Rg(a)){if(e.value=a,c)if(Rg(c))e.timeZone=c;else throw Error("Invalid argument specified for ee.Date(..., opt_tz): "+c);}else if(Qg(a))e.value=a;else if(r(a)&&"function"==typeof a.getFullYear)e.value=Math.floor(a.getTime());else if(a instanceof H)a.i&&"Date"==a.i.J().returns?(d=a.i,e=a.args,f=a.B):e.value=a;else throw Error("Invalid argument specified for ee.Date(): "+
a);H.call(this,d,e,f)};w(ui,H);u("ee.Date",ui);var wi=!1,vi=function(){wi||(L(ui,"Date","Date"),wi=!0)};ui.prototype.name=function(){return"Date"};u("ee.Deserializer",function(){});var yi=function(a){return xi(JSON.parse(a))};u("ee.Deserializer.fromJSON",yi);var xi=function(a){var b={};if(r(a)&&"CompoundValue"==a.type){for(var c=a.scope,d=0;d<c.length;d++){var e=c[d][0],f=c[d][1];if(e in b)throw Error('Duplicate scope key "'+e+'" in scope #'+d+".");b[e]=zi(f,b)}a=a.value}return zi(a,b)};u("ee.Deserializer.decode",xi);
var zi=function(a,b){if(null===a||na(a)||"boolean"==typeof a||n(a))return a;if(p(a))return Oa(a,function(a){return zi(a,b)});if(!r(a)||q(a))throw Error("Cannot decode object: "+a);var c=a.type;switch(c){case "ValueRef":if(a.value in b)return b[a.value];throw Error("Unknown ValueRef: "+a);case "ArgumentRef":c=a.value;if(!n(c))throw Error("Invalid variable name: "+c);return ri(Object,c);case "Date":c=a.value;if(!na(c))throw Error("Invalid date value: "+c);return new ui(c/1E3);case "Bytes":return c=
new Ag,c.encode=function(){return a},c;case "Invocation":c="functionName"in a?Xg(a.functionName):zi(a["function"],b);var d=tb(a.arguments,function(a){return zi(a,b)});if(c instanceof I)return c.apply(d);if(c instanceof H)return new H(c,d);throw Error("Invalid function value: "+a["function"]);case "Dictionary":return tb(a.value,function(a){return zi(a,b)});case "Function":var e=zi(a.body,b);c={name:"",args:Oa(a.argumentNames,function(a){return{name:a,type:"Object",optional:!1}}),returns:"Object"};
return new qi(c,function(){return e});case "Point":case "MultiPoint":case "LineString":case "MultiLineString":case "Polygon":case "MultiPolygon":case "LinearRing":case "GeometryCollection":return new O(a);case "CompoundValue":throw Error("Nested CompoundValues are disallowed.");default:throw Error("Unknown encoded object type: "+c);}};var Ai=function(a){if(!(this instanceof Ai))return Lg(Ai,arguments);if(a instanceof Ai)return a;Bi();Sg(a)?(H.call(this,null,null),this.pc=a):(a instanceof H&&a.i&&"Dictionary"==a.i.J().returns?H.call(this,a.i,a.args,a.B):H.call(this,new J("Dictionary"),{input:a},null),this.pc=null)};w(Ai,H);u("ee.Dictionary",Ai);var Ci=!1,Bi=function(){Ci||(L(Ai,"Dictionary","Dictionary"),Ci=!0)};Ai.prototype.encode=function(a){return null===this.pc?Ai.l.encode.call(this,a):a(this.pc)};Ai.prototype.name=function(){return"Dictionary"};var T=function(a,b){if(!(this instanceof T))return Lg(T,arguments);if(a instanceof T){if(b)throw Error("Can't create Feature out of a Feature and properties.");return a}if(2<arguments.length)throw Error("The Feature constructor takes at most 2 arguments ("+arguments.length+" given)");Di();if(a instanceof O||null===a)N.call(this,new J("Feature"),{geometry:a,metadata:b||null});else if(a instanceof H)N.call(this,a.i,a.args,a.B);else if("Feature"==a.type){var c=a.properties||{};if("id"in a){if("system:index"in
c)throw Error('Can\'t specify both "id" and "system:index".');c=Cb(c);c["system:index"]=a.id}N.call(this,new J("Feature"),{geometry:new O(a.geometry),metadata:c})}else N.call(this,new J("Feature"),{geometry:new O(a),metadata:b||null})};w(T,N);u("ee.Feature",T);var Ei=!1,Di=function(){Ei||(L(T,"Feature","Feature"),Ei=!0)};T.prototype.getInfo=T.prototype.ca;T.prototype.getMap=function(a,b){var c=M(T.prototype.getMap,arguments);return K("Collection",[this]).getMap(c.visParams,c.callback)};
T.prototype.getMap=T.prototype.getMap;T.prototype.name=function(){return"Feature"};var Fi=function(a){if(this instanceof Fi){if(1<arguments.length)throw Error("ee.List() only accepts 1 argument.");if(a instanceof Fi)return a}else return Lg(Fi,arguments);Gi();if(p(a))H.call(this,null,null),this.Hc=a;else if(a instanceof H)H.call(this,a.i,a.args,a.B),this.Hc=null;else throw Error("Invalid argument specified for ee.List(): "+a);};w(Fi,H);u("ee.List",Fi);var Hi=!1,Gi=function(){Hi||(L(Fi,"List","List"),Hi=!0)};
Fi.prototype.encode=function(a){return p(this.Hc)?Oa(this.Hc,function(b){return a(b)}):Fi.l.encode.call(this,a)};Fi.prototype.name=function(){return"List"};var U=function(a,b){if(!(this instanceof U))return Lg(U,arguments);if(a instanceof U)return a;if(2<arguments.length)throw Error("The FeatureCollection constructor takes at most 2 arguments ("+arguments.length+" given)");Ii();a instanceof O&&(a=new T(a));a instanceof T&&(a=[a]);if(Rg(a)){var c={tableId:a};b&&(c.geometryColumn=b);S.call(this,new J("Collection.loadTable"),c)}else if(p(a))S.call(this,new J("Collection"),{features:Oa(a,function(a){return new T(a)})});else if(a instanceof Fi)S.call(this,
new J("Collection"),{features:a});else if(a instanceof H)S.call(this,a.i,a.args,a.B);else throw Error("Unrecognized argument type to convert to a FeatureCollection: "+a);};w(U,S);u("ee.FeatureCollection",U);var Ji=!1,Ii=function(){Ji||(L(U,"FeatureCollection","FeatureCollection"),Ji=!0)};U.prototype.getMap=function(a,b){var c=M(U.prototype.getMap,arguments),d=Yg("Collection.draw",{collection:this,color:(c.visParams||{}).color||"000000"});if(c.callback)d.getMap(null,c.callback);else return d.getMap()};
U.prototype.getMap=U.prototype.getMap;U.prototype.getInfo=U.prototype.ca;U.prototype.wa=function(a,b,c,d){var e=M(U.prototype.wa,arguments),f={};f.table=this.A();e.format&&(f.format=e.format.toUpperCase());e.filename&&(f.filename=e.filename);if(e.selectors){var g=e.selectors;va(g)&&(g=g.join(","));f.selectors=g}if(e.callback)lg(f,function(a,b){a?e.callback(mg(a)):e.callback(null,b)});else return mg(lg(f))};U.prototype.getDownloadURL=U.prototype.wa;
U.prototype.select=function(a,b,c){if(Rg(a)){var d=Array.prototype.slice.call(arguments);return this.map(function(a){return a.select(d)})}var e=M(U.prototype.select,arguments);return this.map(function(a){return a.select(e)})};U.prototype.select=U.prototype.select;U.prototype.name=function(){return"FeatureCollection"};U.prototype.elementType=function(){return T};var V=function(a){if(!(this instanceof V))return Lg(V,arguments);if(a instanceof V)return a;Ki();var b=arguments.length;if(0==b||1==b&&!m(a))N.call(this,new J("Image.mask"),{image:new V(0),mask:new V(0)});else if(1==b)if(Qg(a))N.call(this,new J("Image.constant"),{value:a});else if(Rg(a))N.call(this,new J("Image.load"),{id:a});else{if(p(a))return Li(Oa(a,function(a){return new V(a)}));if(a instanceof H)"Array"==a.name()?N.call(this,new J("Image.constant"),{value:a}):N.call(this,a.i,a.args,a.B);else throw Error("Unrecognized argument type to convert to an Image: "+
a);}else if(2==b){b=arguments[0];var c=arguments[1];if(Rg(b)&&Qg(c))N.call(this,new J("Image.load"),{id:b,version:c});else throw Error("Unrecognized argument types to convert to an Image: "+arguments);}else throw Error("The Image constructor takes at most 2 arguments ("+b+" given)");};w(V,N);u("ee.Image",V);var Mi=!1,Ki=function(){Mi||(L(V,"Image","Image"),L(V,"Window","Image","focal_"),Mi=!0)};V.prototype.getInfo=V.prototype.ca;
V.prototype.getMap=function(a,b){var c=this,d=M(V.prototype.getMap,arguments),e=Ni(this,d.visParams);if(d.callback){var f=d.callback;eg(e,function(a,b){a=a?Object.assign(a,{image:c}):void 0;f(a,b)})}else return d=eg(e),d.image=this,d};V.prototype.getMap=V.prototype.getMap;var Ni=function(a,b){var c="bands gain bias min max gamma palette opacity forceRgbOutput".split(" "),d={},e={};rb(b,function(a,b){Ua(c,b)?e[b]=a:d[b]=a});Ab(e)||(e.image=a,a=Yg("Image.visualize",e));d.image=a.A();return d};
V.prototype.wa=function(a,b){var c=M(V.prototype.wa,arguments),d=c.params?Cb(c.params):{};d.image=this.A();if(c.callback){var e=c.callback;jg(d,function(a,b){a?e(kg(a)):e(null,b)})}else return kg(jg(d))};V.prototype.getDownloadURL=V.prototype.wa;
V.prototype.yc=function(a,b){var c=M(V.prototype.yc,arguments),d=Ni(this,c.params);if(d.region)if(p(d.region)||Sg(d.region))d.region=Qd(d.region);else if(!n(d.region))throw Error("The region parameter must be an array or a GeoJSON object.");if(c.callback)hg(d,function(a,b){var d="";if(!m(b))try{d=ig(a)}catch(l){b=String(l.message)}c.callback(d,b)});else return ig(hg(d))};V.prototype.getThumbURL=V.prototype.yc;
var Oi=function(a,b,c){var d=M(Oi,arguments);return Li([d.r,d.g,d.b],["vis-red","vis-green","vis-blue"])};V.rgb=Oi;var Pi=function(a){return Li(Array.prototype.slice.call(arguments),null)};V.cat=Pi;var Li=function(a,b){if(0==a.length)return K("Image.constant",[]);for(var c=new V(a[0]),d=1;d<a.length;d++)c=K("Image.addBands",c,a[d]);b&&(c=c.select([".*"],b));return c};
V.prototype.select=function(a){var b=Array.prototype.slice.call(arguments),c={input:this,bandSelectors:b[0]||[]};if(2<b.length||Rg(b[0])||Qg(b[0])){for(var d=0;d<b.length;d++)if(!(Rg(b[d])||Qg(b[d])||b[d]instanceof H))throw Error("Illegal argument to select(): "+b[d]);c.bandSelectors=b}else b[1]&&(c.newNames=b[1]);return Yg("Image.select",c)};V.prototype.select=V.prototype.select;
V.prototype.sc=function(a,b){var c=M(V.prototype.sc,arguments),d=["DEFAULT_EXPRESSION_IMAGE"],e={DEFAULT_EXPRESSION_IMAGE:this};if(c.map){var f=c.map,g;for(g in f)d.push(g),e[g]=new V(f[g])}var l=K("Image.parseExpression",c.expression,"DEFAULT_EXPRESSION_IMAGE",d);c=new I;c.encode=function(a){return l.encode(a)};c.J=function(){return{name:"",args:Oa(d,function(a){return{name:a,type:"Image",optional:!1}},this),returns:"Image"}};return c.apply(e)};V.prototype.expression=V.prototype.sc;
V.prototype.clip=function(a){try{a=new O(a)}catch(b){}return K("Image.clip",this,a)};V.prototype.clip=V.prototype.clip;V.prototype.Pd=function(a){var b=1!=arguments.length||Rg(arguments[0])?Za(arguments):arguments[0];return K("Image.rename",this,b)};V.prototype.rename=V.prototype.Pd;V.prototype.name=function(){return"Image"};var W=function(a){if(!(this instanceof W))return Lg(W,arguments);if(a instanceof W)return a;if(1!=arguments.length)throw Error("The ImageCollection constructor takes exactly 1 argument ("+arguments.length+" given)");Qi();a instanceof V&&(a=[a]);if(Rg(a))S.call(this,new J("ImageCollection.load"),{id:a});else if(p(a))S.call(this,new J("ImageCollection.fromImages"),{images:Oa(a,function(a){return new V(a)})});else if(a instanceof Fi)S.call(this,new J("ImageCollection.fromImages"),{images:a});else if(a instanceof
H)S.call(this,a.i,a.args,a.B);else throw Error("Unrecognized argument type to convert to an ImageCollection: "+a);};w(W,S);u("ee.ImageCollection",W);var Ri=!1,Qi=function(){Ri||(L(W,"ImageCollection","ImageCollection"),L(W,"reduce","ImageCollection"),Ri=!0)};W.prototype.getMap=function(a,b){var c=M(W.prototype.getMap,arguments),d=K("ImageCollection.mosaic",this);if(c.callback)d.getMap(c.visParams,c.callback);else return d.getMap(c.visParams)};W.prototype.getMap=W.prototype.getMap;
W.prototype.getInfo=W.prototype.ca;W.prototype.select=function(a,b){var c=arguments;return this.map(function(a){return a.select.apply(a,c)})};W.prototype.select=W.prototype.select;W.prototype.first=function(){return new V(K("Collection.first",this))};W.prototype.first=W.prototype.first;W.prototype.name=function(){return"ImageCollection"};W.prototype.elementType=function(){return V};var Si={};u("ee.Terrain",Si);Si.Cc=!1;Si.qe=function(){Si.Cc||(L(Si,"Terrain","Terrain"),Si.Cc=!0)};Si.reset=function(){eh(Si);Si.Cc=!1};var Yi=function(a,b,c,d,e){if("ready"!=Ti||a||b){var f=null!=c;if(d)if(f)Ui.push(d);else throw Error("Can't pass an error callback without a success callback.");if("loading"==Ti&&f)Vi.push(c);else if(Ti="loading",Xf(a,b,e),f)Vi.push(c),ah(Wi,Xi);else try{ah(),Wi()}catch(g){throw Xi(g),g;}}else c&&c()};u("ee.initialize",Yi);
var aj=function(){Ti="not_ready";Wf=Vf=Tf=null;Uf=!1;Zg=null;$g={};eh(ui);wi=!1;eh(Ai);Ci=!1;eh(N);lh=!1;eh(V);Mi=!1;eh(T);Ei=!1;eh(S);ji=!1;eh(W);Ri=!1;eh(U);Ji=!1;eh(Q);Vh=!1;eh(O);oh=!1;eh(Fi);Hi=!1;eh(ki);mi=!1;eh(ni);pi=!1;Si.reset();for(var a=k.ee,b=0;b<Zi.length;b++){var c=Zi[b];eh(a[c]);delete a[c]}Zi=[];Ng=a;a=$i;for(var d in a)delete a[d]};u("ee.reset",aj);var bj={Me:"not_ready",LOADING:"loading",Ne:"ready"};u("ee.InitState",bj);u("ee.InitState.NOT_READY","not_ready");
u("ee.InitState.LOADING","loading");u("ee.InitState.READY","ready");var Ti="not_ready",Vi=[],Ui=[];u("ee.TILE_SIZE",256);var Zi=[],$i={};u("ee.Algorithms",$i);var cj=function(a,b){n(a)&&(a=new J(a));return I.prototype.call.apply(a,Array.prototype.slice.call(arguments,1))};u("ee.call",cj);var dj=function(a,b){n(a)&&(a=new J(a));return a.apply(b)};u("ee.apply",dj);
var Wi=function(){if("loading"==Ti){try{vi();Bi();kh();Ki();Di();ii();Qi();Ii();Uh();mh();Gi();li();oi();Si.qe();var a=bh(),b={},c={},d;for(d in a){b[-1!=d.indexOf(".")?d.slice(0,d.indexOf(".")):d]=!0;var e=a[d].returns.replace(/<.*>/,"");c[e]=!0}var f=k.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=ej(g),Zi.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,$g[g]=!0):f[g].signature={});Ng=f;fj()}catch(l){Xi(l);return}Ti="ready";for(Ui=[];0<Vi.length;)Vi.shift()()}},Xi=function(a){if("loading"==
Ti)for(Ti="not_ready",Vi=[];0<Ui.length;)Ui.shift()(a)},fj=function(){var a=ch();wb(a).sort().forEach(function(b){var c=a[b],d=c.J();if(!d.hidden){b=b.split(".");var e=$i;for(e.signature={};1<b.length;){var f=b[0];f in e||(e[f]={signature:{}});e=e[f];b=ab(b,1)}f=function(a){return Wg(c,void 0,Array.prototype.slice.call(arguments,0))};f.signature=d;f.toString=t(c.toString,c);e[b[0]]=f}})},ej=function(a){var b=function(b){var c=k.ee[a],e=Array.prototype.slice.call(arguments),f=1==e.length;if(f&&e[0]instanceof
c)return e[0];if(!(this instanceof c))return Lg(c,e);c=dh(a);var g=!(e[0]instanceof H),l=!1;c&&(f?g?l=!0:e[0].i!=c&&(l=!0):l=!0);if(l)H.call(this,c,Vg(c,Ug(c,e)));else{if(!f)throw Error("Too many arguments for ee."+a+"(): "+e);if(g)throw Error("Invalid argument for ee."+a+"(): "+e+". Must be a ComputedObject.");e=e[0];H.call(this,e.i,e.args,e.B)}};w(b,H);b.prototype.name=function(){return a};L(b,a,a);return b};
Tg=function(a,b){if(null===a)return null;if(m(a)){var c=k.ee;switch(b){case "Image":return new V(a);case "Feature":return a instanceof S?K("Feature",K("Collection.geometry",a)):new T(a);case "Element":if(a instanceof N)return a;if(a instanceof O)return new T(a);if(a instanceof H)return new N(a.i,a.args,a.B);throw Error("Cannot convert "+a+" to Element.");case "Geometry":return a instanceof U?K("Collection.geometry",a):new O(a);case "FeatureCollection":case "Collection":return a instanceof S?a:new U(a);
case "ImageCollection":return new W(a);case "Filter":return new Q(a);case "Algorithm":if(n(a))return new J(a);if(q(a)){b=a.length;c=[];for(var d=0;d<b;d++)c[d]="Object";return ti(a,c)}if(a instanceof Ag)return a;throw Error("Argument is not a function: "+a);case "String":return Rg(a)||a instanceof ni||a instanceof H?new ni(a):a;case "Dictionary":return Sg(a)?a:new Ai(a);case "List":return new Fi(a);case "Number":case "Float":case "Long":case "Integer":case "Short":case "Byte":return new ki(a);default:if(b in
c){d=dh(b);if(a instanceof c[b])return a;if(d)return new c[b](a);if(n(a)){if(a in c[b])return c[b][a].call();throw Error("Unknown algorithm: "+b+"."+a);}return new c[b](a)}return a}}};var gj=function(a,b,c){Tc.call(this,a,b,c);this.tileSize=new google.maps.Size(256,256);this.sd=new C;this.rd=new C};w(gj,Tc);u("ee.FloatTileOverlay",gj);gj.prototype.getTile=function(a,b){var c=Uc(this,a,b);b=[this.url,c].join("/")+"?token="+this.token;c=[c,this.ra,this.token].join("/");this.ta.push(c);this.ra+=1;var d=ae("DIV");hj(this,b,a,c,d);ij(this);return d};
var hj=function(a,b,c,d,e){var f=Qe();f.open("GET",b,!0);f.responseType="arraybuffer";f.onreadystatechange=t(function(){if(f.readyState===XMLHttpRequest.DONE&&200===f.status){var a=f.response;if(a)a=new Float32Array(a),this.sd.set(c,a),this.rd.set(c,e),Xa(this.ta,d),ij(this);else throw this.Vc.add(d),Error("Unable to request floating point array buffers.");}},a);f.send()},ij=function(a){a.dispatchEvent(new Vc(a.ta.length))};gj.prototype.f=function(){this.rd=this.sd=null;gj.l.f.call(this)};var jj=function(){this.Ub=new Map};jj.prototype.clear=function(){this.Ub.clear()};var kj=function(a,b){a.Ub.has(b)||a.Ub.set(b,{throttleCount:0,errorCount:0,tileLatencies:[]});return a.Ub.get(b)};var lj=function(a){x.call(this);this.xa=a;this.h={}};w(lj,x);var mj=[];lj.prototype.da=function(a,b,c,d){p(b)||(b&&(mj[0]=b.toString()),b=mj);for(var e=0;e<b.length;e++){var f=oc(a,b[e],c||this.handleEvent,d||!1,this.xa||this);if(!f)break;this.h[f.key]=f}return this};lj.prototype.kb=function(a,b,c,d){return nj(this,a,b,c,d)};var nj=function(a,b,c,d,e,f){if(p(c))for(var g=0;g<c.length;g++)nj(a,b,c[g],d,e,f);else{b=nc(b,c,d||a.handleEvent,e,f||a.xa||a);if(!b)return a;a.h[b.key]=b}return a};
lj.prototype.$b=function(a,b,c,d,e){if(p(b))for(var f=0;f<b.length;f++)this.$b(a,b[f],c,d,e);else c=c||this.handleEvent,d=r(d)?!!d.capture:!!d,e=e||this.xa||this,c=pc(c),d=!!d,b=dc(a)?a.bb(b,c,d,e):a?(a=rc(a))?a.bb(b,c,d,e):null:null,b&&(wc(b),delete this.h[b.key])};lj.prototype.mb=function(){rb(this.h,function(a,b){this.h.hasOwnProperty(b)&&wc(a)},this);this.h={}};lj.prototype.f=function(){lj.l.f.call(this);this.mb()};
lj.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};var pj=function(a,b){m(a.name)?(this.name=a.name,this.code=yb[a.name]):(this.code=Ha(a.code),this.name=oj(a.code));z.call(this,cb("%s %s",this.name,b))};w(pj,z);var oj=function(a){var b=zb(function(b){return a==b});if(!m(b))throw Error("Invalid code: "+a);return b},yb={AbortError:3,EncodingError:5,InvalidModificationError:9,InvalidStateError:7,NotFoundError:1,NotReadableError:4,NoModificationAllowedError:6,PathExistsError:12,QuotaExceededError:10,SecurityError:2,SyntaxError:8,TypeMismatchError:11};var qj=function(a,b){y.call(this,a.type,b);this.W=a};w(qj,y);var rj=function(){B.call(this);this.F=new FileReader;this.F.onloadstart=t(this.Ja,this);this.F.onprogress=t(this.Ja,this);this.F.onload=t(this.Ja,this);this.F.onabort=t(this.Ja,this);this.F.onerror=t(this.Ja,this);this.F.onloadend=t(this.Ja,this)};w(rj,B);h=rj.prototype;h.abort=function(){try{this.F.abort()}catch(a){throw new pj(a,"aborting read");}};h.na=function(){return this.F.readyState};h.getError=function(){return this.F.error&&new pj(this.F.error,"reading file")};
h.Ja=function(a){this.dispatchEvent(new qj(a,this))};h.f=function(){rj.l.f.call(this);delete this.F};h.readAsBinaryString=function(a){this.F.readAsBinaryString(a)};h.readAsArrayBuffer=function(a){this.F.readAsArrayBuffer(a)};h.readAsText=function(a,b){this.F.readAsText(a,b)};var sj=function(a,b){A(a);a=a.style;"opacity"in a?a.opacity=b:"MozOpacity"in a?a.MozOpacity=b:"filter"in a&&(a.filter=""===b?"":"alpha(opacity="+100*Number(b)+")")};var tj=function(a,b){B.call(this);b=b||{};this.minZoom=b.minZoom||0;this.maxZoom=b.maxZoom||20;if(!window.google||!window.google.maps)throw Error("Google Maps API hasn't been initialized.");this.tileSize=b.tileSize||new google.maps.Size(256,256);this.name=b.name;this.opacity="opacity"in b?b.opacity:1;this.Tb=new jj;this.sa=new C;this.ra=0;this.Uc=a;this.ga=new lj(this);this.alt=this.radius=this.projection=void 0};w(tj,B);u("ee.layers.AbstractOverlay",tj);
tj.prototype.gc=function(a){return oc(this,"tile-load",a)};tj.prototype.addTileCallback=tj.prototype.gc;tj.prototype.Nc=function(a){wc(a)};tj.prototype.removeTileCallback=tj.prototype.Nc;h=tj.prototype;h.xc=function(){return uj(this,"throttled")+uj(this,"loading")+uj(this,"new")};h.setOpacity=function(a){this.opacity=a;this.sa.forEach(function(a){sj(a.M,this.opacity)},this)};h.getStats=function(){return this.Tb};
h.getTile=function(a,b,c){var d=1<<b;if(b<this.minZoom||0>a.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.ra++].join("-"),this.Uc.wd()].join("-");b=this.kd(d,b,c,a);b.tileSize=this.tileSize;sj(b.M,this.opacity);this.sa.set(a,b);vj(this,b);this.Uc.Fd(b,(new Date).getTime()/1E3);return b.M};h.releaseTile=function(a){var b=this.sa.get(a.id);this.sa.remove(a.id);b&&(b.abort(),Ca(b))};
var vj=function(a,b){a.ga.da(b,"status-changed",function(){switch(b.getStatus()){case "loaded":var a=b.ve,d=(new Date).getTime();kj(this.Tb,b.zoom).tileLatencies.push(d-a);this.dispatchEvent(new wj(this.xc()));break;case "throttled":kj(this.Tb,b.zoom).throttleCount++;this.dispatchEvent(new xj(b.Ua));break;case "failed":kj(this.Tb,b.zoom).errorCount++,this.dispatchEvent(new yj(b.Ua,b.le))}})};
tj.prototype.f=function(){tj.l.f.call(this);this.sa.forEach(Ca);this.sa.clear();this.sa=null;Ca(this.ga);this.Uc=this.ga=null};var uj=function(a,b){return Ra(a.sa.w(),function(a){return a.getStatus()==b})},wj=function(){y.call(this,"tile-load")};w(wj,y);var xj=function(){y.call(this,"tile-throttle")};w(xj,y);var yj=function(a,b){y.call(this,"tile-fail");this.errorMessage=b};w(yj,y);
var zj=function(a,b,c,d){B.call(this);this.Ia=a;this.zoom=b;this.M=c.createElement("div");this.M.id=d;this.xe=5;this.Pb=function(){};this.Qc="new";this.Qd=0;this.Fc=!1};w(zj,B);
var Bj=function(a){if(!a.Fc&&"loading"==a.getStatus())throw Error("startLoad() can only be invoked once. Use retryLoad() after the first attempt.");Aj(a,"loading");a.ve=(new Date).getTime();a.ka=new E;a.ka.Ra="blob";a.ka.da("complete",function(){var a=ff(this.ka),c=this.ka.getStatus();429==c&&Aj(this,"throttled");if(Me(c)){var d={};rb(gf(this.ka),function(a,b){d[b.toLowerCase()]=a});this.Fe=d;this.Vd=a;this.ab()}else if(a){var e=new rj;e.da("loadend",function(){this.nb(e.F.result)},void 0,this);e.readAsText(a)}else this.nb("Failed to load tile.")},
!1,a);a.ka.kb("ready",Aa(Ca,a.ka));a.ka.send(a.Ua,"GET")};h=zj.prototype;h.ab=function(){this.Pb(this);Aj(this,"loaded")};h.Xa=function(){Ca(this.ka)};h.nb=function(a){var b=function(a){try{if(a=JSON.parse(a),a.error&&a.error.message)return a.error.message}catch(d){}return a};this.Qd>=this.xe?(this.le=b(a),Aj(this,"failed")):(this.Xa(),setTimeout(t(function(){this.aa||(this.Fc=!0,Bj(this),this.Fc=!1)},this),1E3*Math.pow(2,this.Qd++)))};h.abort=function(){this.Xa();Aj(this,"aborted")};
h.getStatus=function(){return this.Qc};var Aj=function(a,b){a.Qc=b;a.dispatchEvent("status-changed")},Cj={aborted:!0,failed:!0,loaded:!0};zj.prototype.f=function(){zj.l.f.call(this);this.Xa();this.M.remove();this.Pb=null};var Dj=function(){x.call(this)};w(Dj,x);var Ej=function(a,b){tj.call(this,a,b);this.ed=new C;this.nd=new C};w(Ej,tj);u("ee.layers.BinaryOverlay",Ej);Ej.prototype.kd=function(a,b,c,d){var e=new Fj(a,b,c,d);this.ga.da(e,"status-changed",function(){"loaded"==e.getStatus()&&(this.ed.set(a,new Float32Array(e.de)),this.nd.set(a,e.M))});return e};Ej.prototype.f=function(){Ej.l.f.call(this);this.nd=this.ed=null};var Fj=function(a,b,c,d){zj.call(this,a,b,c,d)};w(Fj,zj);
Fj.prototype.ab=function(){var a=new rj;a.da("loadend",function(){this.de=a.F.result;zj.prototype.ab.call(this)},void 0,this);a.readAsArrayBuffer(this.Vd)};var Gj=function(a){for(var b=arguments[0],c=1;c<arguments.length;c++){var d=arguments[c];if(0==d.lastIndexOf("/",0))b=d;else{var e;(e=""==b)||(e=b.length-1,e=0<=e&&b.indexOf("/",e)==e);b=e?b+d:b+("/"+d)}}return b};var Hj=function(a,b,c,d){x.call(this);this.dd=a;this.ha=b;this.Tc=d||"";this.Jb=c};w(Hj,Dj);u("ee.layers.CloudStorageTileSource",Hj);Hj.prototype.Fd=function(a){if(a.zoom<=this.Jb)a.Ua=this.Cb(a.Ia,a.zoom);else{var b=a.zoom-this.Jb,c=Math.pow(2,b);c=new google.maps.Point(Math.floor(a.Ia.x/c),Math.floor(a.Ia.y/c));a.Ua=this.Cb(c,a.zoom-b);a.Pb=Aa(Ij,this.Jb)}var d=t(a.nb,a);a.nb=t(function(b){b&&-1!=b.indexOf("The specified key does not exist.")?Aj(a,"loaded"):d(b)},a);Bj(a)};
Hj.prototype.wd=function(){return[this.dd,this.ha,this.Jb,this.Tc].join("-")};Hj.prototype.Cb=function(a,b){a=Gj("https://storage.googleapis.com",this.dd,this.ha,String(b),String(a.x),String(a.y));this.Tc&&(a+=this.Tc);return a};
var Ij=function(a,b){if(!b.Fb)throw Error("Tile must have an image element to be rendered.");a=Math.pow(2,b.zoom-a);var c=b.tileSize.width,d=b.M.ownerDocument.createElement("canvas");d.setAttribute("width",c);d.setAttribute("height",c);b.M.appendChild(d);d=d.getContext("2d");d.imageSmoothingEnabled=!1;d.mozImageSmoothingEnabled=!1;d.webkitImageSmoothingEnabled=!1;d.drawImage(b.Fb,c/a*(b.Ia.x%a),c/a*(b.Ia.y%a),c/a,c/a,0,0,c,c)};var Jj=function(){this.X=[];this.Z=[]};h=Jj.prototype;h.enqueue=function(a){this.Z.push(a)};h.$a=function(){0==this.X.length&&(this.X=this.Z,this.X.reverse(),this.Z=[]);return this.X.pop()};h.m=function(){return this.X.length+this.Z.length};h.isEmpty=function(){return 0==this.X.length&&0==this.Z.length};h.clear=function(){this.X=[];this.Z=[]};h.contains=function(a){return Ua(this.X,a)||Ua(this.Z,a)};h.remove=function(a){var b=this.X;var c=La(b,a);0<=c?(Wa(b,c),b=!0):b=!1;return b||Xa(this.Z,a)};
h.w=function(){for(var a=[],b=this.X.length-1;0<=b;--b)a.push(this.X[b]);var c=this.Z.length;for(b=0;b<c;++b)a.push(this.Z[b]);return a};var Kj=function(a,b){x.call(this);this.Hd=a||0;this.Ib=b||10;if(this.Hd>this.Ib)throw Error("[goog.structs.Pool] Min can not be greater than max");this.ba=new Jj;this.oa=new D;this.delay=0;this.Gc=null;this.tb()};w(Kj,x);Kj.prototype.cb=function(){var a=Ba();if(!(null!=this.Gc&&a-this.Gc<this.delay)){for(var b;0<this.ba.m()&&(b=this.ba.$a(),!this.Jc(b));)this.tb();!b&&this.m()<this.Ib&&(b=this.oc());b&&(this.Gc=a,this.oa.add(b));return b}};var Lj=function(a,b){return a.oa.remove(b)?(a.fc(b),!0):!1};
h=Kj.prototype;h.fc=function(a){this.oa.remove(a);this.Jc(a)&&this.m()<this.Ib?this.ba.enqueue(a):this.wb(a)};h.tb=function(){for(var a=this.ba;this.m()<this.Hd;)a.enqueue(this.oc());for(;this.m()>this.Ib&&0<this.ba.m();)this.wb(a.$a())};h.oc=function(){return{}};h.wb=function(a){if("function"==typeof a.$)a.$();else for(var b in a)a[b]=null};h.Jc=function(a){return"function"==typeof a.ge?a.ge():!0};h.contains=function(a){return this.ba.contains(a)||this.oa.contains(a)};
h.m=function(){return this.ba.m()+this.oa.m()};h.isEmpty=function(){return this.ba.isEmpty()&&this.oa.isEmpty()};h.f=function(){Kj.l.f.call(this);if(0<this.oa.m())throw Error("[goog.structs.Pool] Objects not released");delete this.oa;for(var a=this.ba;!a.isEmpty();)this.wb(a.$a());delete this.ba};var Mj=function(a,b){this.Dd=a;this.bc=b};Mj.prototype.getKey=function(){return this.Dd};Mj.prototype.clone=function(){return new Mj(this.Dd,this.bc)};var Nj=function(a){this.S=[];if(a)a:{if(a instanceof Nj){var b=a.Y();a=a.w();if(0>=this.m()){for(var c=this.S,d=0;d<b.length;d++)c.push(new Mj(b[d],a[d]));break a}}else b=wb(a),a=vb(a);for(d=0;d<b.length;d++)Oj(this,b[d],a[d])}},Oj=function(a,b,c){var d=a.S;d.push(new Mj(b,c));b=d.length-1;a=a.S;for(c=a[b];0<b;)if(d=b-1>>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=Nj.prototype;
h.remove=function(){var a=this.S,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Va(a);else{a[0]=a.pop();a=0;b=this.S;for(var d=b.length,e=b[a];a<d>>1;){var f=2*a+1,g=2*a+2;f=g<d&&b[g].getKey()<b[f].getKey()?g:f;if(b[f].getKey()>e.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.bc}};h.w=function(){for(var a=this.S,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].bc);return b};h.Y=function(){for(var a=this.S,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};
h.Ya=function(a){return Pa(this.S,function(b){return b.bc==a})};h.ma=function(a){return Pa(this.S,function(b){return b.getKey()==a})};h.clone=function(){return new Nj(this)};h.m=function(){return this.S.length};h.isEmpty=function(){return 0==this.S.length};h.clear=function(){Va(this.S)};var Pj=function(){Nj.call(this)};w(Pj,Nj);Pj.prototype.enqueue=function(a,b){Oj(this,a,b)};Pj.prototype.$a=function(){return this.remove()};var Qj=function(a,b){this.md=void 0;this.Rb=new Pj;Kj.call(this,a,b)};w(Qj,Kj);h=Qj.prototype;h.cb=function(a,b){if(!a)return(a=Qj.l.cb.call(this))&&this.delay&&(this.md=k.setTimeout(t(this.Eb,this),this.delay)),a;this.Rb.enqueue(m(b)?b:100,a);this.Eb()};h.Eb=function(){for(var a=this.Rb;0<a.m();){var b=this.cb();if(b)a.$a().apply(this,[b]);else break}};h.fc=function(a){Qj.l.fc.call(this,a);this.Eb()};h.tb=function(){Qj.l.tb.call(this);this.Eb()};
h.f=function(){Qj.l.f.call(this);k.clearTimeout(this.md);this.Rb.clear();this.Rb=null};var Rj=function(a,b,c,d){x.call(this);this.Zc=a;this.Gd=b;this.pb=c;this.O=d||null};w(Rj,Dj);u("ee.layers.EarthEngineTileSource",Rj);Rj.prototype.Fd=function(a,b){var c=oc(a,"status-changed",function(){switch(a.getStatus()){case "loaded":var b=a.Fe["x-earth-engine-computation-profile"];this.O&&b&&this.O.ae(a.M.id,b);break;case "failed":case "aborted":this.O&&""!==a.M.id&&this.O.De(a.M.id),wc(c)}},void 0,this);a.Ua=this.Cb(a.Ia,a.zoom);var d=t(this.zc,this,a);Sj().cb(d,b)};
Rj.prototype.wd=function(){return[this.Gd,this.pb].join("-")};Rj.prototype.zc=function(a,b){var c=Sj();if(a.aa||"aborted"==a.getStatus())Lj(c,b);else{var d=oc(a,"status-changed",function(){a.Qc in Cj&&(wc(d),Lj(c,b))});Bj(a)}};Rj.prototype.Cb=function(a,b){a=[this.Zc,this.Gd,b,a.x,a.y].join("/");a+="?token="+this.pb;this.O&&this.O.isEnabled()&&(a+="&profiling=1");return a};var Sj=function(){Tj||(Tj=new Qj(0,4));return Tj},Tj=null;var Vj=function(a){B.call(this);this.hb={};this.gb={};this.xa=new lj(this);this.u=a};w(Vj,B);var Wj=[Kb&&!Ub("11")?"readystatechange":"load","abort","error"],Xj=function(a,b,c){(c=n(c)?c:c.src)&&(a.hb[b]={src:c,jd:m(void 0)?void 0:null})},Yj=function(a,b){delete a.hb[b];var c=a.gb[b];c&&(delete a.gb[b],a.xa.$b(c,Wj,a.Kd),Ab(a.gb)&&Ab(a.hb)&&a.dispatchEvent("complete"))};
Vj.prototype.start=function(){var a=this.hb;Ma(wb(a),function(b){var c=a[b];if(c&&(delete a[b],!this.aa)){if(this.u){var d=this.u;d=(d?new he(ge(d)):Da||(Da=new he)).je("IMG")}else d=new Image;c.jd&&(d.crossOrigin=c.jd);this.xa.da(d,Wj,this.Kd);this.gb[b]=d;d.id=b;d.src=c.src}},this)};
Vj.prototype.Kd=function(a){var b=a.currentTarget;if(b){if("readystatechange"==a.type)if("complete"==b.readyState)a.type="load";else return;"undefined"==typeof b.naturalWidth&&("load"==a.type?(b.naturalWidth=b.width,b.naturalHeight=b.height):(b.naturalWidth=0,b.naturalHeight=0));this.dispatchEvent({type:a.type,target:b});this.aa||Yj(this,b.id)}};Vj.prototype.f=function(){delete this.hb;delete this.gb;Ca(this.xa);Vj.l.f.call(this)};var Zj=function(a,b){tj.call(this,a,b)};w(Zj,tj);u("ee.layers.ImageOverlay",Zj);Zj.prototype.kd=function(a,b,c,d){return new ak(a,b,c,d)};var ak=function(a,b,c,d){zj.call(this,a,b,c,d);this.Pb=bk;this.zd=this.I=this.Fb=null;this.Kb=""};w(ak,zj);
ak.prototype.ab=function(){try{var a=this.Kb=URL.createObjectURL(this.Vd)}catch(b){a=this.Ua}this.I=new Vj;Xj(this.I,this.M.id+"-image",a);this.zd=nc(this.I,ck,function(a){"load"==a.type?(this.Fb=a.target,zj.prototype.ab.call(this)):this.nb()},void 0,this);this.I.start()};ak.prototype.Xa=function(){ak.l.Xa.call(this);this.I&&(wc(this.zd),Ca(this.I))};ak.prototype.f=function(){ak.l.f.call(this);this.Kb&&URL.revokeObjectURL(this.Kb)};var ck=["load","abort","error"],bk=function(a){a.M.appendChild(a.Fb)};var X=function(){B.call(this);this.Wb=new dk(0,60);this.Qa=new C};w(X,B);u("ee.MapTileManager",X);X.Dc=void 0;X.ud=function(){return X.Dc?X.Dc:X.Dc=new X};X.prototype.send=function(a,b,c,d,e){if(this.Qa.get(a))throw Error("[ee.MapTileManager] ID in use");b=new ek(a,b,d,t(this.Od,this),m(e)?e:1);this.Qa.set(a,b);a=t(this.zc,this,b);this.Wb.cb(a,c);return b};X.prototype.abort=function(a){if(a=this.Qa.get(a))a.Ga||(a.Ga=!0,a.W=new y("abort")),this.Od(a)};
X.prototype.zc=function(a,b){if(a.I||a.Ga)fk(this,b);else if(a.pb=b,b.setActive(!0),b=new Vj,a.I=b,!gk(a))throw Error("Cannot dispatch first request!");};X.prototype.Od=function(a){this.Qa.remove(a.getId());a.I&&(fk(this,a.pb),a.I.$());a.Ac&&a.Ac(a.W,a.Nd)};var fk=function(a,b){b.setActive(!1);if(!Lj(a.Wb,b))throw Error("Object not released");};X.prototype.f=function(){X.l.f.call(this);this.Wb.$();this.Wb=null;var a=this.Qa;Ma(a.w(),function(a){a.$()});a.clear();this.Qa=null};
var ek=function(a,b,c,d,e){x.call(this);this.H=a;this.Zc=b;this.ye=m(e)?e:1;this.Ac=c;this.Ba=d};w(ek,x);h=ek.prototype;h.bd=0;h.Ga=!1;h.I=null;h.pb=null;h.W=null;h.Nd=null;var hk=["load","abort","error"];ek.prototype.getId=function(){return this.H};ek.prototype.getUrl=function(){return this.Zc};ek.prototype.pe=function(a){if(this.Ga)this.Ba&&this.Ba(this);else switch(a.type){case "load":this.W=a;this.Ba&&this.Ba(this);break;case "error":case "abort":gk(this)||(this.W=a,this.Ba&&this.Ba(this))}};
ek.prototype.f=function(){ek.l.f.call(this);delete this.Ac;delete this.Ba};var gk=function(a){if(a.bd>a.ye)return!1;a.bd++;Yj(a.I,a.H);setTimeout(t(a.Ge,a),0);return!0};
ek.prototype.Ge=function(){if(!this.Ga){var a=t(function(a){this.Ga||(Xj(this.I,this.H,a),nc(this.I,hk,t(this.pe,this)),this.I.start())},this),b=this.getUrl();if(vf(b).T.ma("profiling")){var c=new E;c.Ra="blob";c.da("complete",t(function(){this.Nd=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;if(200<=c.getStatus()&&300>c.getStatus())try{var d=URL.createObjectURL(ff(c))}catch(e){}a(d||b)},this));c.kb("ready",t(c.$,c));c.send(b,"GET")}else a(b)}};var ik=function(){this.U=!1};
w(ik,x);ik.prototype.setActive=function(a){this.U=a};ik.prototype.Bd=function(){return this.U};var dk=function(a,b){Qj.call(this,a,b)};w(dk,Qj);dk.prototype.oc=function(){return new ik};dk.prototype.wb=function(a){a.$()};dk.prototype.Jc=function(a){return!a.aa&&!a.Bd()};var Z=function(a,b,c,d,e){Tc.call(this,a,b,c,d,e);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.name=d.name;this.Wc=new D;this.Kc=1;this.O=e||null};w(Z,Tc);u("ee.MapLayerOverlay",Z);Z.prototype.gc=function(a){return oc(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.gc;Z.prototype.Nc=function(a){wc(a)};
Z.prototype.removeTileCallback=Z.prototype.Nc;Z.prototype.getTile=function(a,b,c){if(b<this.minZoom||0>a.y||a.y>=1<<b)return a=c.createElement("IMG"),a.style.width="0px",a.style.height="0px",a;b=Uc(this,a,b);a=[this.url,b].join("/")+"?token="+this.token;this.O&&this.O.isEnabled()&&(a+="&profiling=1");b=[b,this.ra,this.token].join("/");this.ra+=1;c=ae("DIV",{id:b});var d=(new Date).getTime()/1E3;this.ta.push(b);X.ud().send(b,a,d,t(this.oe,this,c,b));ij(this);return c};Z.prototype.xc=function(){return this.ta.length};
Z.prototype.releaseTile=function(a){X.ud().abort(a.id);this.Wc.remove(m(a.firstElementChild)?a.firstElementChild:fe(a.firstChild));""!==a.id&&(this.Vc.remove(a.id),this.O&&this.O.De(a.id))};Z.prototype.setOpacity=function(a){this.Kc=a;var b=this.Wc.Fa();Gc(b,function(b){sj(b,a)})};Z.prototype.getTile=Z.prototype.getTile;Z.prototype.setOpacity=Z.prototype.setOpacity;Z.prototype.releaseTile=Z.prototype.releaseTile;
Z.prototype.oe=function(a,b,c,d){"error"==c.type?(Xa(this.ta,b),this.Vc.add(b),this.dispatchEvent(c)):(Xa(this.ta,b),c.target&&"load"==c.type&&(c=c.target,this.Wc.add(c),1!=this.Kc&&sj(c,this.Kc),a.appendChild(c)),ij(this));this.O&&null!==d&&this.O.ae(b,d)};var jk=function(a,b){if(!(this instanceof jk))return new jk(a,b);this.ha=a;this.qa=b};w(jk,I);u("ee.SavedFunction",jk);jk.prototype.encode=function(a){return K("LoadAlgorithmById",this.ha).encode(a)};jk.prototype.J=function(){return this.qa};(function(){var a={},b="ee.data.clearAuthToken ee.TILE_SIZE ee.data.authenticateViaPopup ee.Filter.prototype.not ee.Filter ee.Element.prototype.set ee.Image ee.FeatureCollection.prototype.getInfo ee.batch.Export.table.toAsset ee.data.makeTableDownloadUrl ee.ApiFunction._call ee.Collection.prototype.filterDate ee.Geometry.MultiPolygon ee.Image.rgb ee.batch.Export.image.toCloudStorage ee.Filter.date ee.data.setAuthToken ee.Collection.prototype.map ee.Filter.gte ee.Geometry.prototype.toGeoJSONString ee.data.getTileUrl ee.InitState ee.data.getAuthClientId ee.FeatureCollection ee.Image.prototype.rename ee.Geometry.Polygon ee.Function.prototype.call ee.Deserializer.decode ee.data.authenticateViaPrivateKey ee.Feature ee.Collection.prototype.filter ee.ApiFunction._apply ee.initialize ee.Geometry.Point ee.Image.prototype.expression ee.Image.prototype.getDownloadURL ee.FeatureCollection.prototype.getMap ee.Collection.prototype.filterBounds ee.Terrain ee.data.setAuthTokenRefresher ee.Image.prototype.select ee.Number ee.data.setDeadline ee.Geometry.LineString ee.batch.Export.videoMap.toCloudStorage ee.Feature.prototype.getInfo ee.data.makeThumbUrl ee.data.getApiBaseUrl ee.Filter.or ee.ComputedObject.prototype.aside ee.Image.prototype.getMap ee.Image.prototype.getInfo ee.ApiFunction.lookup ee.batch.Export.table.toCloudStorage ee.Geometry.prototype.serialize ee.batch.Export.image.toDrive ee.ComputedObject.prototype.getInfo ee.ImageCollection.prototype.getMap ee.data.getXsrfToken ee.Geometry ee.Collection.prototype.sort ee.reset ee.data.getDownloadId ee.Serializer.toReadableJSON ee.data.getList ee.apply ee.ComputedObject.prototype.evaluate ee.data.getTableDownloadId ee.Feature.prototype.getMap ee.FeatureCollection.prototype.getDownloadURL ee.data.getValue ee.Deserializer.fromJSON ee.Function.prototype.apply ee.data.authenticateViaOauth ee.Filter.neq ee.batch.Export.video.toDrive ee.Geometry.prototype.toGeoJSON ee.List ee.ComputedObject.prototype.serialize ee.Filter.lt ee.Filter.gt ee.data.getAuthScopes ee.data.makeDownloadUrl ee.batch.Export.video.toCloudStorage ee.batch.Export.table.toDrive ee.Geometry.Rectangle ee.Image.prototype.clip ee.data.getThumbId ee.data.authenticate ee.Filter.metadata ee.Serializer.encode ee.Serializer.toJSON ee.data.setApiKey ee.batch.Export.image.toAsset ee.Filter.and ee.batch.Export.map.toCloudStorage ee.Geometry.MultiPoint ee.Collection.prototype.filterMetadata ee.ImageCollection.prototype.getInfo ee.data.getInfo ee.Geometry.MultiLineString ee.Filter.eq ee.data.getTileBaseUrl ee.Dictionary ee.Filter.bounds ee.Filter.inList ee.FeatureCollection.prototype.select ee.String ee.Date ee.Filter.lte ee.call ee.Image.cat ee.ImageCollection ee.data.getAuthToken ee.data.getMapId ee.Collection.prototype.limit ee.ImageCollection.prototype.select ee.Collection.prototype.iterate ee.Algorithms ee.ImageCollection.prototype.first ee.Geometry.LinearRing ee.Image.prototype.getThumbURL".split(" "),
c=[[],[],["opt_success","opt_error"],[],["opt_filter"],["var_args"],["opt_args"],["opt_callback"],["collection","opt_description","opt_assetId"],["id"],["name","var_args"],["start","opt_end"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["r","g","b"],"image opt_description opt_bucket opt_fileNamePrefix opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_shardSize opt_fileDimensions opt_skipEmptyTiles opt_fileFormat opt_formatOptions".split(" "),["start",
"opt_end"],"clientId tokenType accessToken expiresIn opt_extraScopes opt_callback opt_updateAuthLibrary".split(" "),["algorithm","opt_dropNulls"],["name","value"],[],["mapid","x","y","z"],[],[],["args","opt_column"],["var_args"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["var_args"],["json"],["privateKey","opt_success","opt_error","opt_extraScopes"],["geometry","opt_properties"],["filter"],["name","namedArgs"],["opt_baseurl","opt_tileurl","opt_successCallback","opt_errorCallback",
"opt_xsrfToken"],["coords","opt_proj"],["expression","opt_map"],["params","opt_callback"],["opt_visParams","opt_callback"],["geometry"],[],["refresher"],["var_args"],["number"],["milliseconds"],["coords","opt_proj","opt_geodesic","opt_maxError"],"collection opt_description opt_bucket opt_fileNamePrefix opt_framesPerSecond opt_writePublicTiles opt_minZoom opt_maxZoom opt_scale opt_region opt_skipEmptyTiles".split(" "),["opt_callback"],["id"],[],["var_args"],["func","var_args"],["opt_visParams","opt_callback"],
["opt_callback"],["name"],"collection opt_description opt_bucket opt_fileNamePrefix opt_fileFormat opt_selectors".split(" "),[],"image opt_description opt_folder opt_fileNamePrefix opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_shardSize opt_fileDimensions opt_skipEmptyTiles opt_fileFormat opt_formatOptions".split(" "),["opt_callback"],["opt_visParams","opt_callback"],[],["geoJson","opt_proj","opt_geodesic","opt_evenOdd"],["property","opt_ascending"],[],["params","opt_callback"],
["obj"],["params","opt_callback"],["func","namedArgs"],["callback"],["params","opt_callback"],["opt_visParams","opt_callback"],["opt_format","opt_selectors","opt_filename","opt_callback"],["params","opt_callback"],["json"],["namedArgs"],["clientId","success","opt_error","opt_extraScopes","opt_onImmediateFailed"],["name","value"],"collection opt_description opt_folder opt_fileNamePrefix opt_framesPerSecond opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_maxFrames".split(" "),
[],["list"],[],["name","value"],["name","value"],[],["id"],"collection opt_description opt_bucket opt_fileNamePrefix opt_framesPerSecond opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_maxFrames".split(" "),"collection opt_description opt_folder opt_fileNamePrefix opt_fileFormat opt_selectors".split(" "),["coords","opt_proj","opt_geodesic","opt_evenOdd"],["geometry"],["params","opt_callback"],["clientId","success","opt_error","opt_extraScopes","opt_onImmediateFailed"],
["name","operator","value"],["obj","opt_isCompound"],["obj"],["apiKey"],"image opt_description opt_assetId opt_pyramidingPolicy opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels".split(" "),["var_args"],"image opt_description opt_bucket opt_fileFormat opt_path opt_writePublicTiles opt_scale opt_maxZoom opt_minZoom opt_region opt_skipEmptyTiles".split(" "),["coords","opt_proj"],["name","operator","value"],["opt_callback"],["id","opt_callback"],["coords","opt_proj","opt_geodesic",
"opt_maxError"],["name","value"],[],["opt_dict"],["geometry","opt_errorMargin"],["opt_leftField","opt_rightValue","opt_rightField","opt_leftValue"],["propertySelectors","opt_newProperties","opt_retainGeometry"],["string"],["date","opt_tz"],["name","value"],["func","var_args"],["var_args"],["args"],[],["params","opt_callback"],["max","opt_property","opt_ascending"],["selectors","opt_names"],["algorithm","opt_first"],[],[],["coords","opt_proj","opt_geodesic","opt_maxError"],["params","opt_callback"]];
[Pf,256,Ef,Q.prototype.Ma,Q,N.prototype.set,V,U.prototype.ca,Nh,mg,K,S.prototype.tc,zh,Oi,Hh,ei,Mf,S.prototype.map,$h,O.prototype.Yc,fg,bj,Rf,U,V.prototype.Pd,yh,I.prototype.call,xi,Jf,T,S.prototype.filter,Yg,Yi,ph,V.prototype.sc,V.prototype.wa,U.prototype.getMap,S.prototype.qd,Si,Nf,V.prototype.select,ki,Zf,vh,Qh,T.prototype.ca,ig,ag,di,H.prototype.ad,V.prototype.getMap,V.prototype.ca,Xg,Lh,O.prototype.A,Jh,H.prototype.ca,W.prototype.getMap,cg,O,S.prototype.sort,aj,jg,Kg,vg,dj,H.prototype.evaluate,
lg,T.prototype.getMap,U.prototype.wa,gg,yi,I.prototype.apply,Ff,Yh,Ph,O.prototype.Xc,Fi,H.prototype.A,Zh,ai,Sf,kg,Oh,Mh,uh,V.prototype.clip,hg,Gf,hi,Ig,Jg,Lf,Fh,ci,Kh,th,S.prototype.uc,W.prototype.ca,ug,xh,Xh,bg,Ai,gi,fi,U.prototype.select,ni,ui,bi,cj,Pi,W,Qf,eg,S.prototype.limit,W.prototype.select,S.prototype.Cd,$i,W.prototype.first,wh,V.prototype.yc].forEach(function(d,e){d&&(a[d.toString()]={name:b[e],paramNames:c[e]})});k.EXPORTED_FN_INFO=a})();}).call(this);