Skip to content

Instantly share code, notes, and snippets.

@thejeshgn
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thejeshgn/fe9853115b2b7cbc7d50 to your computer and use it in GitHub Desktop.
Save thejeshgn/fe9853115b2b7cbc7d50 to your computer and use it in GitHub Desktop.
[
{
"id": "16954016022074178217-07321328812910646410-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM25eNrId1vUCInJJfaac4PJYauAK2QkqSMDaslqaYldqQvn0Sem6dUjJf0a3JwtO_KMFh6KvYh4sodrgluf",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "ASSEMBLY BOUNDARIES",
"viewport": {
"lat_lon_alt_box": {
"north": 28.883497190628383,
"south": 28.40424318739862,
"east": 77.34747636105568,
"west": 76.83877608293157,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.883497190628383,
"south": 28.40424318739862,
"east": 77.34747636105568,
"west": 76.83877608293157,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-00066770394780962938-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM1mDA5j3Q8YybDV9bURkHpuIQutgNCU3sUkGdRwy8p04FuiRY_ok9L1RmYtiSccM3wb0SfRg57RWBxPf6ay",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON DUSIB LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.735822293393785,
"south": 28.505872762676752,
"east": 77.33074399978702,
"west": 77.06603006370462,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.735822293393785,
"south": 28.505872762676752,
"east": 77.33074399978702,
"west": 77.06603006370462,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-05672249879554957785-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM2u4NH1Kh2Phf07LpeqYuXaSX0jJM4mptHfGYAIc5G9yrITDVE7v-ycFKFa2HJWtGOxwnr1snLjsJM80sCS",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON DDA LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.74842076139966,
"south": 28.49376041521341,
"east": 77.33486436612812,
"west": 77.06109936181934,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.74842076139966,
"south": 28.49376041521341,
"east": 77.33486436612812,
"west": 77.06109936181934,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-10559428504955428209-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM1tAJseq9TjDlMzkCF1tr-BF16pebpx4JZT-Isx5nvZpp_JEFlZyFQ5tGBFebX8wyNwu7qEk7ua0b_j5flU",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON MCD LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.745056162476757,
"south": 28.532226372942972,
"east": 77.30307805612158,
"west": 77.06690641933773,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.745056162476757,
"south": 28.532226372942972,
"east": 77.30307805612158,
"west": 77.06690641933773,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-02250638340526429730-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM0xR7fxLN9f8QgH2mgoJCeBnYLMDFGEJwxM6sCrnvC_mM4CJgroKczp6ZCtV28HOxu4X233c4wKdLLHN0tV",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON RLY LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.706009985957788,
"south": 28.49911120760457,
"east": 77.2993352851285,
"west": 77.07040216628593,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.706009985957788,
"south": 28.49911120760457,
"east": 77.2993352851285,
"west": 77.07040216628593,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-11059938081504763055-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM0RRjHnxx9kH7ykOgQoWqRIue6hA7bAmlvWB34CH0t5YHHrkR7OKq1Qn3o0NU9vVhGMxuk_5AYDb_48hKBx",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON L&DO LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.708140461517008,
"south": 28.549170157370074,
"east": 77.2282162501403,
"west": 77.16549822681328,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.708140461517008,
"south": 28.549170157370074,
"east": 77.2282162501403,
"west": 77.16549822681328,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-15814808351002136958-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM2z8QJLWAGDwdYz-w7CcY99MImFLMEQaRvV_9-LzUcNZlNIV5KsZXDain1O2PZ9JhOjvXuNO7-aCm4T6KIG",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON FOREST LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.603636334586124,
"south": 28.425830440169783,
"east": 77.23300342002838,
"west": 77.10147827826152,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.603636334586124,
"south": 28.425830440169783,
"east": 77.23300342002838,
"west": 77.10147827826152,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-05283184157846355143-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM0acOyLxc3oB7FJ3mXlfQChBJ5D15N4vX3RTQH10-yzzuQdEyWAo8SFDIhUIOFqwAf-WsFohDvaTSvY_3M4",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON CPWD LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.706570129781344,
"south": 28.562531284340206,
"east": 77.23757980889236,
"west": 77.1948168683183,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.706570129781344,
"south": 28.562531284340206,
"east": 77.23757980889236,
"west": 77.1948168683183,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-17684923510499887976-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM3tdn-09XiUQ-9ntUsrfFbgxv0GtgKDpnt0hxK4NVX4GBgPphEybaHblLL-ScKC6VwgX5BEiQpcCcFUF_I9",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON PWD LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.728735808617472,
"south": 28.565283579948748,
"east": 77.33215106779491,
"west": 77.1439411694893,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.728735808617472,
"south": 28.565283579948748,
"east": 77.33215106779491,
"west": 77.1439411694893,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-13584681123402671005-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM3680mQJHN6QGbG_OpkoY6wdAKXqVUBlLCehB_hsBOe3RK7sZ6mJknbR1BTqAeUqt48s6ODqcJsfIiSdMQS",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON NDMC LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.6081889738975,
"south": 28.572925374901327,
"east": 77.22985091693523,
"west": 77.20182130369521,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.6081889738975,
"south": 28.572925374901327,
"east": 77.22985091693523,
"west": 77.20182130369521,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-09738046941629979352-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM2Qpqp89_X3qbf2SW4SiDeQ9YXCYaoRZmXoZZDimLvwV4nuY8f3HtIXeB87dIOMDL9ngI-DEz_Hl-1JNlki",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON GRAM SABHA LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.74984582547257,
"south": 28.46700302813913,
"east": 77.20668898226279,
"west": 77.02066947669739,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.74984582547257,
"south": 28.46700302813913,
"east": 77.20668898226279,
"west": 77.02066947669739,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-04837184006656219688-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM2QU0YonkIp8u9FNnxFoM0XQDMN9dEVVg6JL5Qett50hIGjfixrg-kuA9UJwRF6sjkKIptDEKwscXmKdgQ_",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON CANTT BOARD LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.627631906729185,
"south": 28.580523994031722,
"east": 77.1436021181405,
"west": 77.11960511481506,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.627631906729185,
"south": 28.580523994031722,
"east": 77.1436021181405,
"west": 77.11960511481506,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-01677512005004143246-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM0iXTqLFMXEk8pLWQaZM97111fNxJjQbeAI-N8Pxl2RoWuj3mx4IyUqE4LMSnpCqHSsnkMUphx-evhZImQD",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON LNJP HOSPITAL LAND",
"viewport": {
"lat_lon_alt_box": {
"north": 28.640262357337274,
"south": 28.63964744469031,
"east": 77.23835911304421,
"west": 77.2360996678631,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.640262357337274,
"south": 28.63964744469031,
"east": 77.23835911304421,
"west": 77.2360996678631,
"min_altitude": 0,
"max_altitude": 0
}
}
},
{
"id": "16954016022074178217-18217876338472823932-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM1ZA5K70gtU8q8j0USOo5jK4YuQdcpz3bnWld2l2M88STe5neT6Ji3yyeWUbs-9Pk80v01pL1uuPao9CyRj",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "EWS FLATS UNDER JNNURM",
"viewport": {
"lat_lon_alt_box": {
"north": 28.831507506070828,
"south": 28.601975329064587,
"east": 77.16805861033993,
"west": 76.97293236157815
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.831507506070828,
"south": 28.601975329064587,
"east": 77.16805861033993,
"west": 76.97293236157815
}
}
},
{
"id": "16954016022074178217-17643117795501624396-4",
"type": "GOOGLE_MAPS_ENGINE",
"source": {
"google_maps_engine": {
"sub_type": "VECTOR",
"vector_layer": {
"vector_layer_id": "o:ANVwnM2aH_VECohiepa57ylqBdVRCYQMAr3Lcu5fMO2ry7R6-RCkopuR1SoZG1jCJ9Fh_Tzk6W5zSTzK9tukTXZY",
"layer_parameters": [
{
"key": "um",
"value": "1"
}
]
}
}
},
"title": "CLUSTERS ON OTHER DEPTT LANDS",
"viewport": {
"lat_lon_alt_box": {
"north": 28.705725641086005,
"south": 28.48360144827503,
"east": 77.3140883622569,
"west": 77.15686818073432,
"min_altitude": 0,
"max_altitude": 0
},
"display_bounds": false
},
"visibility": "DEFAULT_ON",
"full_extent": {
"lat_lon_alt_box": {
"north": 28.705725641086005,
"south": 28.48360144827503,
"east": 77.3140883622569,
"west": 77.15686818073432,
"min_altitude": 0,
"max_altitude": 0
}
}
}
]
var h, aa = aa || {},
l = this,
da = function (a) {
a = a.split(".");
for (var b = l, c; c = a.shift();)
if (null != b[c]) b = b[c];
else return null;
return b
},
ea = function () {},
fa = function (a) {
a.dc = function () {
return a.$m ? a.$m : a.$m = new a
}
},
ha = 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
},
n = function (a) {
return void 0 !== a
},
q = function (a) {
return "array" == ha(a)
},
ia = function (a) {
var b = ha(a);
return "array" == b || "object" == b && "number" == typeof a.length
},
u = function (a) {
return "string" == typeof a
},
ja = function (a) {
return "number" ==
typeof a
},
ka = function (a) {
return "function" == ha(a)
},
la = function (a) {
var b = typeof a;
return "object" == b && null != a || "function" == b
},
pa = function (a) {
return a[ma] || (a[ma] = ++na)
},
ma = "closure_uid_" + (1E9 * Math.random() >>> 0),
na = 0,
qa = function (a, b, c) {
return a.call.apply(a.bind, arguments)
},
ra = 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)
}
},
v = function (a, b, c) {
v = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? qa : ra;
return v.apply(null, arguments)
},
sa = 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)
}
},
y = Date.now || function () {
return +new Date
},
ta = function (a, b) {
var c = a.split("."),
d = l;
c[0] in d || !d.execScript || d.execScript("var " + c[0]);
for (var e; c.length && (e = c.shift());) c.length || void 0 === b ? d = d[e] ? d[e] :
d[e] = {} : d[e] = b
},
z = function (a, b) {
function c() {}
c.prototype = b.prototype;
a.l = b.prototype;
a.prototype = new c;
a.prototype.constructor = a;
a.Qr = function (a, c, f) {
return b.prototype[c].apply(a, Array.prototype.slice.call(arguments, 2))
}
};
Function.prototype.bind = Function.prototype.bind || function (a, b) {
if (1 < arguments.length) {
var c = Array.prototype.slice.call(arguments, 1);
c.unshift(this, a);
return v.apply(null, c)
}
return v(this, a)
};
var ua = function (a) {
if (Error.captureStackTrace) Error.captureStackTrace(this, ua);
else {
var b = Error().stack;
b && (this.stack = b)
}
a && (this.message = String(a))
};
z(ua, Error);
ua.prototype.name = "CustomError";
var wa;
var xa = function (a) {
return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "")
},
Ea = function (a) {
if (!ya.test(a)) return a; - 1 != a.indexOf("&") && (a = a.replace(za, "&amp;")); - 1 != a.indexOf("<") && (a = a.replace(Aa, "&lt;")); - 1 != a.indexOf(">") && (a = a.replace(Ba, "&gt;")); - 1 != a.indexOf('"') && (a = a.replace(Ca, "&quot;")); - 1 != a.indexOf("'") && (a = a.replace(Da, "&#39;"));
return a
},
za = /&/g,
Aa = /</g,
Ba = />/g,
Ca = /"/g,
Da = /'/g,
ya = /[&<>"']/,
Ja = function (a) {
return -1 != a.indexOf("&") ? "document" in l ? Fa(a) : Ia(a) : a
},
Fa = function (a) {
var b = {
"&amp;": "&",
"&lt;": "<",
"&gt;": ">",
"&quot;": '"'
},
c;
c = document.createElement("div");
return a.replace(Ka, function (a, e) {
var f = b[a];
if (f) return f;
if ("#" == e.charAt(0)) {
var g = Number("0" + e.substr(1));
isNaN(g) || (f = String.fromCharCode(g))
}
f || (c.innerHTML = a + " ", f = c.firstChild.nodeValue.slice(0, -1));
return b[a] = f
})
},
Ia = function (a) {
return a.replace(/&([^;]+);/g, function (a, c) {
switch (c) {
case "amp":
return "&";
case "lt":
return "<";
case "gt":
return ">";
case "quot":
return '"';
default:
if ("#" == c.charAt(0)) {
var d = Number("0" + c.substr(1));
if (!isNaN(d)) return String.fromCharCode(d)
}
return a
}
})
},
Ka = /&([^;\s<&]+);?/g,
La = function (a, b) {
var c = n(void 0) ? a.toFixed(void 0) : String(a),
d = c.indexOf("."); - 1 == d && (d = c.length);
d = Math.max(0, b - d);
return Array(d + 1).join("0") + c
},
Ma = function (a, b) {
return a < b ? -1 : a > b ? 1 : 0
},
Na = function () {
return "transform".replace(/\-([a-z])/g, function (a, b) {
return b.toUpperCase()
})
},
Oa = function () {
var a = u(void 0) ? "undefined".replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") : "\\s";
return "transform".replace(new RegExp("(^" +
(a ? "|[" + a + "]+" : "") + ")([a-z])", "g"), function (a, c, d) {
return c + d.toUpperCase()
})
};
var Pa = Array.prototype,
Qa = Pa.indexOf ? function (a, b, c) {
return Pa.indexOf.call(a, b, c)
} : function (a, b, c) {
c = null == c ? 0 : 0 > c ? Math.max(0, a.length + c) : c;
if (u(a)) return u(b) && 1 == b.length ? a.indexOf(b, c) : -1;
for (; c < a.length; c++)
if (c in a && a[c] === b) return c;
return -1
},
B = Pa.forEach ? function (a, b, c) {
Pa.forEach.call(a, b, c)
} : function (a, b, c) {
for (var d = a.length, e = u(a) ? a.split("") : a, f = 0; f < d; f++) f in e && b.call(c, e[f], f, a)
},
Ra = Pa.filter ? function (a, b, c) {
return Pa.filter.call(a, b, c)
} : function (a, b, c) {
for (var d = a.length, e = [], f =
0, g = u(a) ? a.split("") : a, k = 0; k < d; k++)
if (k in g) {
var m = g[k];
b.call(c, m, k, a) && (e[f++] = m)
}
return e
},
Sa = Pa.map ? function (a, b, c) {
return Pa.map.call(a, b, c)
} : function (a, b, c) {
for (var d = a.length, e = Array(d), f = u(a) ? a.split("") : a, g = 0; g < d; g++) g in f && (e[g] = b.call(c, f[g], g, a));
return e
},
Ta = Pa.reduce ? function (a, b, c, d) {
d && (b = v(b, d));
return Pa.reduce.call(a, b, c)
} : function (a, b, c, d) {
var e = c;
B(a, function (c, g) {
e = b.call(d, e, c, g, a)
});
return e
},
Va = Pa.some ? function (a, b, c) {
return Pa.some.call(a, b, c)
} : function (a, b, c) {
for (var d =
a.length, e = u(a) ? a.split("") : a, f = 0; f < d; f++)
if (f in e && b.call(c, e[f], f, a)) return !0;
return !1
},
Wa = Pa.every ? function (a, b, c) {
return Pa.every.call(a, b, c)
} : function (a, b, c) {
for (var d = a.length, e = u(a) ? a.split("") : a, f = 0; f < d; f++)
if (f in e && !b.call(c, e[f], f, a)) return !1;
return !0
},
Ya = function (a) {
var b;
t: {
b = Xa;
for (var c = a.length, d = u(a) ? a.split("") : a, e = 0; e < c; e++)
if (e in d && b.call(void 0, d[e], e, a)) {
b = e;
break t
}
b = -1
}
return 0 > b ? null : u(a) ? a.charAt(b) : a[b]
},
C = function (a, b) {
return 0 <= Qa(a, b)
},
Za = function (a) {
return 0 == a.length
},
$a = function (a) {
if (!q(a))
for (var b = a.length - 1; 0 <= b; b--) delete a[b];
a.length = 0
},
ab = function (a, b) {
var c = Qa(a, b),
d;
(d = 0 <= c) && Pa.splice.call(a, c, 1);
return d
},
bb = function (a) {
return Pa.concat.apply(Pa, arguments)
},
cb = 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 []
},
db = function (a, b) {
for (var c = 1; c < arguments.length; c++) {
var d = arguments[c],
e;
if (q(d) || (e = ia(d)) && Object.prototype.hasOwnProperty.call(d, "callee")) a.push.apply(a, d);
else if (e)
for (var f = a.length, g = d.length,
k = 0; k < g; k++) a[f + k] = d[k];
else a.push(d)
}
},
fb = function (a, b, c, d) {
Pa.splice.apply(a, eb(arguments, 1))
},
eb = function (a, b, c) {
return 2 >= arguments.length ? Pa.slice.call(a, b) : Pa.slice.call(a, b, c)
},
hb = function (a, b) {
a.sort(b || gb)
},
gb = function (a, b) {
return a > b ? 1 : a < b ? -1 : 0
};
var ib = function (a, b, c) {
return Math.min(Math.max(a, b), c)
};
var jb = {
Qq: {
1E3: {
other: "0K"
},
1E4: {
other: "00K"
},
1E5: {
other: "000K"
},
1E6: {
other: "0M"
},
1E7: {
other: "00M"
},
1E8: {
other: "000M"
},
1E9: {
other: "0B"
},
1E10: {
other: "00B"
},
1E11: {
other: "000B"
},
1E12: {
other: "0T"
},
1E13: {
other: "00T"
},
1E14: {
other: "000T"
}
},
Pq: {
1E3: {
other: "0 thousand"
},
1E4: {
other: "00 thousand"
},
1E5: {
other: "000 thousand"
},
1E6: {
other: "0 million"
},
1E7: {
other: "00 million"
},
1E8: {
other: "000 million"
},
1E9: {
other: "0 billion"
},
1E10: {
other: "00 billion"
},
1E11: {
other: "000 billion"
},
1E12: {
other: "0 trillion"
},
1E13: {
other: "00 trillion"
},
1E14: {
other: "000 trillion"
}
}
},
kb = jb,
kb = jb;
var mb = function (a) {
var b = D.gr,
c = ["0"];
a = lb[a][0] & 7;
if (0 < a) {
c.push(".");
for (var d = 0; d < a; d++) c.push("0")
}
return b.replace(/0.00/g, c.join(""))
},
lb = {
AED: [2, "dh", "\u062f.\u0625.", "DH"],
ALL: [0, "Lek", "Lek"],
AUD: [2, "$", "AU$"],
BDT: [2, "\u09f3", "Tk"],
BGN: [2, "lev", "lev"],
BRL: [2, "R$", "R$"],
CAD: [2, "$", "C$"],
CDF: [2, "FrCD", "CDF"],
CHF: [2, "CHF", "CHF"],
CLP: [0, "$", "CL$"],
CNY: [2, "\u00a5", "RMB\u00a5"],
COP: [0, "$", "COL$"],
CRC: [0, "\u20a1", "CR\u20a1"],
CZK: [50, "K\u010d", "K\u010d"],
DKK: [18, "kr", "kr"],
DOP: [2, "$", "RD$"],
EGP: [2,
"\u00a3", "LE"
],
ETB: [2, "Birr", "Birr"],
EUR: [2, "\u20ac", "\u20ac"],
GBP: [2, "\u00a3", "GB\u00a3"],
HKD: [2, "$", "HK$"],
HRK: [2, "kn", "kn"],
HUF: [0, "Ft", "Ft"],
IDR: [0, "Rp", "Rp"],
ILS: [2, "\u20aa", "IL\u20aa"],
INR: [2, "\u20b9", "Rs"],
IRR: [0, "Rial", "IRR"],
ISK: [0, "kr", "kr"],
JMD: [2, "$", "JA$"],
JPY: [0, "\u00a5", "JP\u00a5"],
KRW: [0, "\u20a9", "KR\u20a9"],
LKR: [2, "Rs", "SLRs"],
LTL: [2, "Lt", "Lt"],
LVL: [2, "Ls", "Ls"],
MNT: [0, "\u20ae", "MN\u20ae"],
MXN: [2, "$", "Mex$"],
MYR: [2, "RM", "RM"],
NOK: [50, "kr", "NOkr"],
PAB: [2, "B/.", "B/."],
PEN: [2, "S/.",
"S/."
],
PHP: [2, "\u20b1", "Php"],
PKR: [0, "Rs", "PKRs."],
PLN: [50, "z\u0142", "z\u0142"],
RON: [2, "RON", "RON"],
RSD: [0, "din", "RSD"],
RUB: [50, "\u0440\u0443\u0431.", "\u0440\u0443\u0431."],
SAR: [2, "Rial", "Rial"],
SEK: [2, "kr", "kr"],
SGD: [2, "$", "S$"],
THB: [2, "\u0e3f", "THB"],
TRY: [2, "TL", "YTL"],
TWD: [2, "NT$", "NT$"],
TZS: [0, "TSh", "TSh"],
UAH: [2, "\u20b4", "UAH"],
USD: [2, "$", "US$"],
UYU: [2, "$", "$U"],
VND: [0, "\u20ab", "VN\u20ab"],
YER: [0, "Rial", "Rial"],
ZAR: [2, "R", "ZAR"]
};
var nb = {
Dl: ".",
El: ",",
dm: "%",
qj: "0",
Lq: "+",
Kq: "-",
$l: "E",
fm: "\u2030",
Wi: "\u221e",
rp: "NaN",
vm: "#,##0.###",
Hq: "#E0",
Gq: "#,##0%",
gr: "\u00a4#,##0.00",
Ro: "USD"
},
D = nb,
D = nb;
var ob = function (a, b, c) {
this.Me = b || D.Ro;
this.Po = c || 0;
this.$f = 40;
this.Db = 1;
this.Hd = 0;
this.$c = 3;
this.gg = this.cc = 0;
this.Zk = this.Yk = !1;
this.De = this.Uc = "";
this.qc = "-";
this.Fd = "";
this.Je = 1;
this.Gi = 3;
this.ag = this.Rk = !1;
this.Ce = 0;
this.Xk = null;
"number" == typeof a ? this.Zf(a) : this.bc(a)
};
ob.prototype.bc = function (a) {
a.replace(/ /g, "\u00a0");
var b = [0];
this.Uc = pb(this, a, b);
for (var c = b[0], d = -1, e = 0, f = 0, g = 0, k = -1, m = a.length, p = !0; b[0] < m && p; b[0]++) switch (a.charAt(b[0])) {
case "#":
0 < f ? g++ : e++;
0 <= k && 0 > d && k++;
break;
case "0":
if (0 < g) throw Error('Unexpected "0" in pattern "' + a + '"');
f++;
0 <= k && 0 > d && k++;
break;
case ",":
k = 0;
break;
case ".":
if (0 <= d) throw Error('Multiple decimal separators in pattern "' + a + '"');
d = e + f + g;
break;
case "E":
if (this.ag) throw Error('Multiple exponential symbols in pattern "' + a + '"');
this.ag = !0;
this.gg = 0;
b[0] + 1 < m && "+" == a.charAt(b[0] + 1) && (b[0]++, this.Yk = !0);
for (; b[0] + 1 < m && "0" == a.charAt(b[0] + 1);) b[0]++, this.gg++;
if (1 > e + f || 1 > this.gg) throw Error('Malformed exponential pattern "' + a + '"');
p = !1;
break;
default:
b[0]--, p = !1
}
0 == f && 0 < e && 0 <= d && (f = d, 0 == f && f++, g = e - f, e = f - 1, f = 1);
if (0 > d && 0 < g || 0 <= d && (d < e || d > e + f) || 0 == k) throw Error('Malformed pattern "' + a + '"');
g = e + f + g;
this.$c = 0 <= d ? g - d : 0;
0 <= d && (this.cc = e + f - d, 0 > this.cc && (this.cc = 0));
this.Db = (0 <= d ? d : g) - e;
this.ag && (this.$f = e + this.Db, 0 == this.$c && 0 == this.Db &&
(this.Db = 1));
this.Gi = Math.max(0, k);
this.Rk = 0 == d || d == g;
c = b[0] - c;
this.De = pb(this, a, b);
b[0] < a.length && ";" == a.charAt(b[0]) ? (b[0]++, this.qc = pb(this, a, b), b[0] += c, this.Fd = pb(this, a, b)) : (this.qc = this.Uc + this.qc, this.Fd += this.De)
};
ob.prototype.Zf = function (a) {
switch (a) {
case 1:
this.bc(D.vm);
break;
case 2:
this.bc(D.Hq);
break;
case 3:
this.bc(D.Gq);
break;
case 4:
this.bc(mb(this.Me));
break;
case 5:
qb(this, 1);
break;
case 6:
qb(this, 2);
break;
default:
throw Error("Unsupported pattern type.");
}
};
var qb = function (a, b) {
a.Ce = b;
a.bc(D.vm);
a.cc = 0;
a.$c = 2;
if (0 < a.cc) throw Error("Can't combine significant digits and minimum fraction digits");
a.Hd = 2
};
ob.prototype.parse = function (a, b) {
var c = b || [0];
if (0 != this.Ce) throw Error("Parsing of compact numbers is unimplemented");
var d = NaN;
a = a.replace(/ /g, "\u00a0");
var e = a.indexOf(this.Uc, c[0]) == c[0],
f = a.indexOf(this.qc, c[0]) == c[0];
e && f && (this.Uc.length > this.qc.length ? f = !1 : this.Uc.length < this.qc.length && (e = !1));
e ? c[0] += this.Uc.length : f && (c[0] += this.qc.length);
if (a.indexOf(D.Wi, c[0]) == c[0]) c[0] += D.Wi.length, d = Infinity;
else {
var d = a,
g = !1,
k = !1,
m = !1,
p = 1,
s = D.Dl,
t = D.El,
w = D.$l;
if (0 != this.Ce) throw Error("Parsing of compact style numbers is not implemented");
for (var A = ""; c[0] < d.length; c[0]++) {
var r = d.charAt(c[0]),
va = rb(r);
if (0 <= va && 9 >= va) A += va, m = !0;
else if (r == s.charAt(0)) {
if (g || k) break;
A += ".";
g = !0
} else if (r == t.charAt(0) && ("\u00a0" != t.charAt(0) || c[0] + 1 < d.length && 0 <= rb(d.charAt(c[0] + 1)))) {
if (g || k) break
} else if (r == w.charAt(0)) {
if (k) break;
A += "E";
k = !0
} else if ("+" == r || "-" == r) A += r;
else if (r == D.dm.charAt(0)) {
if (1 != p) break;
p = 100;
if (m) {
c[0]++;
break
}
} else if (r == D.fm.charAt(0)) {
if (1 != p) break;
p = 1E3;
if (m) {
c[0]++;
break
}
} else break
}
d = parseFloat(A) / p
} if (e) {
if (a.indexOf(this.De,
c[0]) != c[0]) return NaN;
c[0] += this.De.length
} else if (f) {
if (a.indexOf(this.Fd, c[0]) != c[0]) return NaN;
c[0] += this.Fd.length
}
return f ? -d : d
};
ob.prototype.format = function (a) {
if (isNaN(a)) return D.rp;
var b = [],
c;
var d = null === this.Xk ? a : this.Xk,
e = a;
0 == this.Ce ? c = sb : (d = Math.abs(d), e = Math.abs(e), c = tb(this, 1 >= d ? 0 : ub(d)).gj, vb(this, e / Math.pow(10, c)), d = vb(this, d / Math.pow(10, c)), c = tb(this, c + ub(d.rl)));
a /= Math.pow(10, c.gj);
b.push(c.prefix);
d = 0 > a || 0 == a && 0 > 1 / a;
b.push(d ? this.qc : this.Uc);
if (isFinite(a))
if (a = a * (d ? -1 : 1) * this.Je, this.ag)
if (0 == a) wb(this, a, this.Db, b), xb(this, 0, b);
else {
e = Math.log(a) / Math.log(10);
e = Math.floor(e + 2E-15);
a /= Math.pow(10, e);
var f =
this.Db;
if (1 < this.$f && this.$f > this.Db) {
for (; 0 != e % this.$f;) a *= 10, e--;
f = 1
} else 1 > this.Db ? (e++, a /= 10) : (e -= this.Db - 1, a *= Math.pow(10, this.Db - 1));
wb(this, a, f, b);
xb(this, e, b)
} else wb(this, a, this.Db, b);
else b.push(D.Wi);
b.push(d ? this.Fd : this.De);
b.push(c.Nl);
return b.join("")
};
var vb = function (a, b) {
var c = Math.pow(10, a.$c),
d = 0 >= a.Hd ? Math.round(b * c) : Math.floor(yb(b * c, a.Hd, a.$c)),
e;
isFinite(d) ? (e = Math.floor(d / c), c = Math.floor(d - e * c)) : (e = b, c = 0);
return {
rl: e,
kq: c
}
},
wb = function (a, b, c, d) {
if (a.cc > a.$c) throw Error("Min value must be less than max value");
b = vb(a, b);
var e = Math.pow(10, a.$c),
f = b.rl,
g = b.kq,
k = 0 == f ? 0 : ub(f) + 1,
m = 0 < a.cc || 0 < g || a.Zk && k < a.Hd;
b = a.cc;
m && (b = a.Zk && 0 < a.Hd ? a.Hd - k : a.cc);
for (var p = "", k = f; 1E20 < k;) p = "0" + p, k = Math.round(k / 10);
var p = k + p,
s = D.Dl,
t = D.El,
k = D.qj.charCodeAt(0),
w =
p.length;
if (0 < f || 0 < c) {
for (f = w; f < c; f++) d.push(String.fromCharCode(k));
for (f = 0; f < w; f++) d.push(String.fromCharCode(k + 1 * p.charAt(f))), 1 < w - f && 0 < a.Gi && 1 == (w - f) % a.Gi && d.push(t)
} else m || d.push(String.fromCharCode(k));
(a.Rk || m) && d.push(s);
a = "" + (g + e);
for (c = a.length;
"0" == a.charAt(c - 1) && c > b + 1;) c--;
for (f = 1; f < c; f++) d.push(String.fromCharCode(k + 1 * a.charAt(f)))
},
xb = function (a, b, c) {
c.push(D.$l);
0 > b ? (b = -b, c.push(D.Kq)) : a.Yk && c.push(D.Lq);
b = "" + b;
for (var d = D.qj, e = b.length; e < a.gg; e++) c.push(d);
c.push(b)
},
rb = function (a) {
a =
a.charCodeAt(0);
if (48 <= a && 58 > a) return a - 48;
var b = D.qj.charCodeAt(0);
return b <= a && a < b + 10 ? a - b : -1
},
pb = function (a, b, c) {
for (var d = "", e = !1, f = b.length; c[0] < f; c[0]++) {
var g = b.charAt(c[0]);
if ("'" == g) c[0] + 1 < f && "'" == b.charAt(c[0] + 1) ? (c[0]++, d += "'") : e = !e;
else if (e) d += g;
else switch (g) {
case "#":
case "0":
case ",":
case ".":
case ";":
return d;
case "\u00a4":
if (c[0] + 1 < f && "\u00a4" == b.charAt(c[0] + 1)) c[0]++, d += a.Me;
else switch (a.Po) {
case 0:
d += lb[a.Me][1];
break;
case 2:
var g = a.Me,
k = lb[g],
d = d + (g == k[1] ? g : g + " " + k[1]);
break;
case 1:
d += lb[a.Me][2]
}
break;
case "%":
if (1 != a.Je) throw Error("Too many percent/permill");
a.Je = 100;
d += D.dm;
break;
case "\u2030":
if (1 != a.Je) throw Error("Too many percent/permill");
a.Je = 1E3;
d += D.fm;
break;
default:
d += g
}
}
return d
},
sb = {
prefix: "",
Nl: "",
gj: 0
},
tb = function (a, b) {
var c = 1 == a.Ce ? kb.Qq : kb.Pq;
if (3 > b) return sb;
b = Math.min(14, b);
c = c[Math.pow(10, b)];
if (!c) return sb;
c = c.other;
return c && "0" != c ? (c = /([^0]*)(0+)(.*)/.exec(c)) ? {
prefix: c[1],
Nl: c[3],
gj: b - (c[2].length - 1)
} : sb : sb
},
ub = function (a) {
for (var b = 0; 1 <= (a /=
10);) b++;
return b
},
yb = function (a, b, c) {
if (!a) return a;
b = b - ub(a) - 1;
if (b < -c) return c = Math.pow(10, c), Math.round(a / c) * c;
c = Math.pow(10, b);
return Math.round(a * c) / c
};
var zb = function (a) {
return 1 == a % 10 && 11 != a % 100 ? "one" : 2 == a % 10 && 12 != a % 100 ? "two" : 3 == a % 10 && 13 != a % 100 ? "few" : "other"
},
Ab = zb,
Ab = zb;
var Bb = function (a, b) {
var c = a | 0,
d;
if (void 0 === b) {
d = a + "";
var e = d.indexOf(".");
d = Math.min(-1 == e ? 0 : d.length - e - 1, 3)
} else d = b;
return 1 == c && 0 == d ? "one" : "other"
},
Cb = Bb,
Cb = Bb;
var Fb = function (a) {
this.Td = [];
this.Jj = [];
this.Fj = new ob(1);
a && (a = Db(this, a), this.Jj = Eb(this, a))
},
Gb = RegExp("'([{}#].*?)'", "g"),
Hb = RegExp("''", "g");
Fb.prototype.format = function (a) {
if (0 == this.Jj.length) a = "";
else {
var b = [];
Ib(this, this.Jj, a, !1, b);
for (a = b.join(""); 0 < this.Td.length;) a = a.replace(this.Ij(this.Td), this.Td.pop())
}
return a
};
var Ib = function (a, b, c, d, e) {
for (var f = 0; f < b.length; f++) switch (b[f].type) {
case 4:
e.push(b[f].value);
break;
case 3:
var g = b[f].value,
k = a,
m = e,
p = c[g];
n(p) ? (k.Td.push(p), m.push(k.Ij(k.Td))) : m.push("Undefined parameter - " + g);
break;
case 2:
g = b[f].value;
k = e;
m = g.ih;
n(c[m]) ? (m = g[c[m]], n(m) || (m = g.other), Ib(a, m, c, d, k)) : k.push("Undefined parameter - " + m);
break;
case 0:
g = b[f].value;
Jb(a, g, c, Cb, d, e);
break;
case 1:
g = b[f].value, Jb(a, g, c, Ab, d, e)
}
},
Jb = function (a, b, c, d, e, f) {
var g = b.ih,
k = b.Wm,
m = +c[g];
isNaN(m) ? f.push("Undefined or invalid parameter - " +
g) : (k = m - k, g = b[c[g]], n(g) || (d = a.Fj.Sq ? d(k, a.Fj.Sq()) : d(k), g = b[d], n(g) || (g = b.other)), b = [], Ib(a, g, c, e, b), c = b.join(""), e ? f.push(c) : (a = a.Fj.format(k), f.push(c.replace(/#/g, a))))
},
Db = function (a, b) {
var c = a.Td,
d = v(a.Ij, a);
b = b.replace(Hb, function () {
c.push("'");
return d(c)
});
return b = b.replace(Gb, function (a, b) {
c.push(b);
return d(c)
})
},
Kb = function (a) {
var b = 0,
c = [],
d = [],
e = /[{}]/g;
e.lastIndex = 0;
for (var f; f = e.exec(a);) {
var g = f.index;
"}" == f[0] ? (c.pop(), 0 == c.length && (f = {
type: 1
}, f.value = a.substring(b, g), d.push(f),
b = g + 1)) : (0 == c.length && (b = a.substring(b, g), "" != b && d.push({
type: 0,
value: b
}), b = g + 1), c.push("{"))
}
b = a.substring(b);
"" != b && d.push({
type: 0,
value: b
});
return d
},
Lb = /^\s*(\w+)\s*,\s*plural\s*,(?:\s*offset:(\d+))?/,
Mb = /^\s*(\w+)\s*,\s*selectordinal\s*,/,
Nb = /^\s*(\w+)\s*,\s*select\s*,/,
Eb = function (a, b) {
for (var c = [], d = Kb(b), e = 0; e < d.length; e++) {
var f = {};
if (0 == d[e].type) f.type = 4, f.value = d[e].value;
else if (1 == d[e].type) {
var g = d[e].value;
switch (Lb.test(g) ? 0 : Mb.test(g) ? 1 : Nb.test(g) ? 2 : /^\s*\w+\s*/.test(g) ? 3 : 5) {
case 2:
f.type =
2;
f.value = Ob(a, d[e].value);
break;
case 0:
f.type = 0;
f.value = Rb(a, d[e].value);
break;
case 1:
f.type = 1;
f.value = Sb(a, d[e].value);
break;
case 3:
f.type = 3, f.value = d[e].value
}
}
c.push(f)
}
return c
},
Ob = function (a, b) {
var c = "";
b = b.replace(Nb, function (a, b) {
c = b;
return ""
});
var d = {};
d.ih = c;
for (var e = Kb(b), f = 0; f < e.length;) {
var g = e[f].value;
f++;
if (1 == e[f].type) var k = Eb(a, e[f].value);
d[g.replace(/\s/g, "")] = k;
f++
}
return d
},
Rb = function (a, b) {
var c = "",
d = 0;
b = b.replace(Lb, function (a, b, e) {
c = b;
e && (d = parseInt(e, 10));
return ""
});
var e = {};
e.ih = c;
e.Wm = d;
for (var f = Kb(b), g = 0; g < f.length;) {
var k = f[g].value;
g++;
if (1 == f[g].type) var m = Eb(a, f[g].value);
e[k.replace(/\s*(?:=)?(\w+)\s*/, "$1")] = m;
g++
}
return e
},
Sb = function (a, b) {
var c = "";
b = b.replace(Mb, function (a, b) {
c = b;
return ""
});
var d = {};
d.ih = c;
d.Wm = 0;
for (var e = Kb(b), f = 0; f < e.length;) {
var g = e[f].value;
f++;
if (1 == e[f].type) var k = Eb(a, e[f].value);
d[g.replace(/\s*(?:=)?(\w+)\s*/, "$1")] = k;
f++
}
return d
};
Fb.prototype.Ij = function (a) {
return "\ufddf_" + (a.length - 1).toString(10) + "_"
};
var F = {};
var Tb = {
COUNTRY: {
AD: "Andorra",
AE: "\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629",
AF: "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646",
AG: "Antigua and Barbuda",
AI: "Anguilla",
AL: "Shqip\u00ebria",
AM: "\u0540\u0561\u0575\u0561\u057d\u057f\u0561\u0576\u056b \u0540\u0561\u0576\u0580\u0561\u057a\u0565\u057f\u0578\u0582\u0569\u056b\u0582\u0576",
AN: "Nederlandse Antillen",
AO: "Angola",
AQ: "Antarctica",
AR: "Argentina",
AS: "American Samoa",
AT: "\u00d6sterreich",
AU: "Australia",
AW: "Aruba",
AX: "\u00c5land",
AZ: "Az\u0259rbaycan",
BA: "Bosna i Hercegovina",
BB: "Barbados",
BD: "\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6",
BE: "Belgi\u00eb",
BF: "Burkina Faso",
BG: "\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f",
BH: "\u0627\u0644\u0628\u062d\u0631\u064a\u0646",
BI: "Burundi",
BJ: "B\u00e9nin",
BM: "Bermuda",
BN: "Brunei",
BO: "Bolivia",
BR: "Brasil",
BS: "Bahamas",
BT: "\u092d\u0942\u091f\u093e\u0928",
BV: "Bouvet Island",
BW: "Botswana",
BY: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",
BZ: "Belize",
CA: "Canada",
CC: "Cocos (Keeling) Islands",
CD: "R\u00e9publique d\u00e9mocratique du Congo",
CF: "R\u00e9publique centrafricaine",
CG: "Congo",
CH: "Schweiz",
CI: "C\u00f4te d\u2019Ivoire",
CK: "Cook Islands",
CL: "Chile",
CM: "Cameroun",
CN: "\u4e2d\u56fd",
CO: "Colombia",
CR: "Costa Rica",
CS: "Serbia and Montenegro",
CU: "Cuba",
CV: "Cabo Verde",
CX: "Christmas Island",
CY: "\u039a\u03cd\u03c0\u03c1\u03bf\u03c2",
CZ: "\u010cesk\u00e1 republika",
DD: "East Germany",
DE: "Deutschland",
DJ: "Jabuuti",
DK: "Danmark",
DM: "Dominica",
DO: "Rep\u00fablica Dominicana",
DZ: "\u0627\u0644\u062c\u0632\u0627\u0626\u0631",
EC: "Ecuador",
EE: "Eesti",
EG: "\u0645\u0635\u0631",
EH: "\u0627\u0644\u0635\u062d\u0631\u0627\u0621 \u0627\u0644\u063a\u0631\u0628\u064a\u0629",
ER: "\u0627\u0631\u064a\u062a\u0631\u064a\u0627",
ES: "Espa\u00f1a",
ET: "\u12a2\u1275\u12ee\u1335\u12eb",
FI: "Suomi",
FJ: "\u092b\u093f\u091c\u0940",
FK: "Falkland Islands",
FM: "Micronesia",
FO: "F\u00f8royar",
FR: "France",
FX: "Metropolitan France",
GA: "Gabon",
GB: "United Kingdom",
GD: "Grenada",
GE: "\u10e1\u10d0\u10e5\u10d0\u10e0\u10d7\u10d5\u10d4\u10da\u10dd",
GF: "Guyane fran\u00e7aise",
GG: "Guernsey",
GH: "Ghana",
GI: "Gibraltar",
GL: "Kalaallit Nunaat",
GM: "Gambia",
GN: "Guin\u00e9e",
GP: "Guadeloupe",
GQ: "Guin\u00e9e \u00e9quatoriale",
GR: "\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
GS: "South Georgia and the South Sandwich Islands",
GT: "Guatemala",
GU: "Guam",
GW: "Guin\u00e9 Bissau",
GY: "Guyana",
HK: "\u9999\u6e2f",
HM: "Heard Island and McDonald Islands",
HN: "Honduras",
HR: "Hrvatska",
HT: "Ha\u00efti",
HU: "Magyarorsz\u00e1g",
ID: "Indonesia",
IE: "Ireland",
IL: "\u05d9\u05e9\u05e8\u05d0\u05dc",
IM: "Isle of Man",
IN: "\u092d\u093e\u0930\u0924",
IO: "British Indian Ocean Territory",
IQ: "\u0627\u0644\u0639\u0631\u0627\u0642",
IR: "\u0627\u06cc\u0631\u0627\u0646",
IS: "\u00cdsland",
IT: "Italia",
JE: "Jersey",
JM: "Jamaica",
JO: "\u0627\u0644\u0623\u0631\u062f\u0646",
JP: "\u65e5\u672c",
KE: "Kenya",
KG: "\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d",
KH: "\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6",
KI: "Kiribati",
KM: "\u062c\u0632\u0631 \u0627\u0644\u0642\u0645\u0631",
KN: "Saint Kitts and Nevis",
KP: "\uc870\uc120 \ubbfc\uc8fc\uc8fc\uc758 \uc778\ubbfc \uacf5\ud654\uad6d",
KR: "\ub300\ud55c\ubbfc\uad6d",
KW: "\u0627\u0644\u0643\u0648\u064a\u062a",
KY: "Cayman Islands",
KZ: "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",
LA: "\u0e25\u0e32\u0e27",
LB: "\u0644\u0628\u0646\u0627\u0646",
LC: "Saint Lucia",
LI: "Liechtenstein",
LK: "\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8",
LR: "Liberia",
LS: "Lesotho",
LT: "Lietuva",
LU: "Luxembourg",
LV: "Latvija",
LY: "\u0644\u064a\u0628\u064a\u0627",
MA: "\u0627\u0644\u0645\u063a\u0631\u0628",
MC: "Monaco",
MD: "Moldova, Republica",
ME: "\u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430",
MG: "Madagascar",
MH: "Marshall Islands",
MK: "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0438\u0458\u0430",
ML: "\u0645\u0627\u0644\u064a",
MM: "Myanmar",
MN: "\u8499\u53e4",
MO: "\u6fb3\u95e8",
MP: "Northern Mariana Islands",
MQ: "Martinique",
MR: "\u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627",
MS: "Montserrat",
MT: "Malta",
MU: "Mauritius",
MV: "Maldives",
MW: "Malawi",
MX: "M\u00e9xico",
MY: "Malaysia",
MZ: "Mo\u00e7ambique",
NA: "Namibia",
NC: "Nouvelle-Cal\u00e9donie",
NE: "Niger",
NF: "Norfolk Island",
NG: "Nigeria",
NI: "Nicaragua",
NL: "Nederland",
NO: "Norge",
NP: "\u0928\u0947\u092a\u093e\u0932",
NR: "Nauru",
NT: "Neutral Zone",
NU: "Niue",
NZ: "New Zealand",
OM: "\u0639\u0645\u0627\u0646",
PA: "Panam\u00e1",
PE: "Per\u00fa",
PF: "Polyn\u00e9sie fran\u00e7aise",
PG: "Papua New Guinea",
PH: "Philippines",
PK: "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646",
PL: "Polska",
PM: "Saint-Pierre-et-Miquelon",
PN: "Pitcairn",
PR: "Puerto Rico",
PS: "\u0641\u0644\u0633\u0637\u064a\u0646",
PT: "Portugal",
PW: "Palau",
PY: "Paraguay",
QA: "\u0642\u0637\u0631",
QO: "Outlying Oceania",
QU: "European Union",
RE: "R\u00e9union",
RO: "Rom\u00e2nia",
RS: "\u0421\u0440\u0431\u0438\u0458\u0430",
RU: "\u0420\u043e\u0441\u0441\u0438\u044f",
RW: "Rwanda",
SA: "\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629",
SB: "Solomon Islands",
SC: "Seychelles",
SD: "\u0627\u0644\u0633\u0648\u062f\u0627\u0646",
SE: "Sverige",
SG: "\u65b0\u52a0\u5761",
SH: "Saint Helena",
SI: "Slovenija",
SJ: "Svalbard og Jan Mayen",
SK: "Slovensk\u00e1 republika",
SL: "Sierra Leone",
SM: "San Marino",
SN: "S\u00e9n\u00e9gal",
SO: "Somali",
SR: "Suriname",
ST: "S\u00e3o Tom\u00e9 e Pr\u00edncipe",
SU: "Union of Soviet Socialist Republics",
SV: "El Salvador",
SY: "\u0633\u0648\u0631\u064a\u0627",
SZ: "Swaziland",
TC: "Turks and Caicos Islands",
TD: "\u062a\u0634\u0627\u062f",
TF: "French Southern Territories",
TG: "Togo",
TH: "\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",
TJ: "\u062a\u0627\u062c\u06cc\u06a9\u0633\u062a\u0627\u0646",
TK: "Tokelau",
TL: "Timor Leste",
TM: "\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0438\u0441\u0442\u0430\u043d",
TN: "\u062a\u0648\u0646\u0633",
TO: "Tonga",
TR: "T\u00fcrkiye",
TT: "Trinidad y Tobago",
TV: "Tuvalu",
TW: "\u53f0\u6e7e",
TZ: "Tanzania",
UA: "\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
UG: "Uganda",
UM: "United States Minor Outlying Islands",
US: "United States",
UY: "Uruguay",
UZ: "\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d",
VA: "Vaticano",
VC: "Saint Vincent and the Grenadines",
VE: "Venezuela",
VG: "British Virgin Islands",
VI: "U.S. Virgin Islands",
VN: "Vi\u1ec7t Nam",
VU: "Vanuatu",
WF: "Wallis-et-Futuna",
WS: "Samoa",
YD: "People's Democratic Republic of Yemen",
YE: "\u0627\u0644\u064a\u0645\u0646",
YT: "Mayotte",
ZA: "South Africa",
ZM: "Zambia",
ZW: "Zimbabwe",
ZZ: "Unknown or Invalid Region",
aa_DJ: "Jabuuti",
aa_ER: "\u00c9rythr\u00e9e",
aa_ER_SAAHO: "\u00c9rythr\u00e9e",
aa_ET: "Itoophiyaa",
af_NA: "Namibi\u00eb",
af_ZA: "Suid-Afrika",
ak_GH: "Ghana",
am_ET: "\u12a2\u1275\u12ee\u1335\u12eb",
ar_AE: "\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629",
ar_BH: "\u0627\u0644\u0628\u062d\u0631\u064a\u0646",
ar_DJ: "\u062c\u064a\u0628\u0648\u062a\u064a",
ar_DZ: "\u0627\u0644\u062c\u0632\u0627\u0626\u0631",
ar_EG: "\u0645\u0635\u0631",
ar_EH: "\u0627\u0644\u0635\u062d\u0631\u0627\u0621 \u0627\u0644\u063a\u0631\u0628\u064a\u0629",
ar_ER: "\u0627\u0631\u064a\u062a\u0631\u064a\u0627",
ar_IL: "\u0627\u0633\u0631\u0627\u0626\u064a\u0644",
ar_IQ: "\u0627\u0644\u0639\u0631\u0627\u0642",
ar_JO: "\u0627\u0644\u0623\u0631\u062f\u0646",
ar_KM: "\u062c\u0632\u0631 \u0627\u0644\u0642\u0645\u0631",
ar_KW: "\u0627\u0644\u0643\u0648\u064a\u062a",
ar_LB: "\u0644\u0628\u0646\u0627\u0646",
ar_LY: "\u0644\u064a\u0628\u064a\u0627",
ar_MA: "\u0627\u0644\u0645\u063a\u0631\u0628",
ar_MR: "\u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627",
ar_OM: "\u0639\u0645\u0627\u0646",
ar_PS: "\u0641\u0644\u0633\u0637\u064a\u0646",
ar_QA: "\u0642\u0637\u0631",
ar_SA: "\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629",
ar_SD: "\u0627\u0644\u0633\u0648\u062f\u0627\u0646",
ar_SY: "\u0633\u0648\u0631\u064a\u0627",
ar_TD: "\u062a\u0634\u0627\u062f",
ar_TN: "\u062a\u0648\u0646\u0633",
ar_YE: "\u0627\u0644\u064a\u0645\u0646",
as_IN: "\u09ad\u09be\u09f0\u09a4",
ay_BO: "Bolivia",
az_AZ: "Az\u0259rbaycan",
az_Cyrl_AZ: "\u0410\u0437\u04d9\u0440\u0431\u0430\u0458\u04b9\u0430\u043d",
az_Latn_AZ: "Azerbaycan",
be_BY: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",
bg_BG: "\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f",
bi_VU: "Vanuatu",
bn_BD: "\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6",
bn_IN: "\u09ad\u09be\u09b0\u09a4",
bo_CN: "\u0f62\u0f92\u0fb1\u0f0b\u0f53\u0f42",
bo_IN: "\u0f62\u0f92\u0fb1\u0f0b\u0f42\u0f62\u0f0b",
bs_BA: "Bosna i Hercegovina",
byn_ER: "\u12a4\u122d\u1275\u122b",
ca_AD: "Andorra",
ca_ES: "Espanya",
cch_NG: "Nigeria",
ch_GU: "Guam",
chk_FM: "Micronesia",
cop_Arab_EG: "\u0645\u0635\u0631",
cop_Arab_US: "\u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a\u0629",
cop_EG: "\u0645\u0635\u0631",
cop_US: "\u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a\u0629",
cs_CZ: "\u010cesk\u00e1 republika",
cy_GB: "Prydain Fawr",
da_DK: "Danmark",
da_GL: "Gr\u00f8nland",
de_AT: "\u00d6sterreich",
de_BE: "Belgien",
de_CH: "Schweiz",
de_DE: "Deutschland",
de_LI: "Liechtenstein",
de_LU: "Luxemburg",
dv_MV: "Maldives",
dz_BT: "Bhutan",
ee_GH: "Ghana",
ee_TG: "Togo",
efi_NG: "Nigeria",
el_CY: "\u039a\u03cd\u03c0\u03c1\u03bf\u03c2",
el_GR: "\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
en_AG: "Antigua and Barbuda",
en_AI: "Anguilla",
en_AS: "American Samoa",
en_AU: "Australia",
en_BB: "Barbados",
en_BE: "Belgium",
en_BM: "Bermuda",
en_BS: "Bahamas",
en_BW: "Botswana",
en_BZ: "Belize",
en_CA: "Canada",
en_CC: "Cocos Islands",
en_CK: "Cook Islands",
en_CM: "Cameroon",
en_CX: "Christmas Island",
en_DM: "Dominica",
en_FJ: "Fiji",
en_FK: "Falkland Islands",
en_FM: "Micronesia",
en_GB: "United Kingdom",
en_GD: "Grenada",
en_GG: "Guernsey",
en_GH: "Ghana",
en_GI: "Gibraltar",
en_GM: "Gambia",
en_GU: "Guam",
en_GY: "Guyana",
en_HK: "Hong Kong",
en_HN: "Honduras",
en_IE: "Ireland",
en_IM: "Isle of Man",
en_IN: "India",
en_JE: "Jersey",
en_JM: "Jamaica",
en_KE: "Kenya",
en_KI: "Kiribati",
en_KN: "Saint Kitts and Nevis",
en_KY: "Cayman Islands",
en_LC: "Saint Lucia",
en_LR: "Liberia",
en_LS: "Lesotho",
en_MH: "Marshall Islands",
en_MP: "Northern Mariana Islands",
en_MS: "Montserrat",
en_MT: "Malta",
en_MU: "Mauritius",
en_MW: "Malawi",
en_NA: "Namibia",
en_NF: "Norfolk Island",
en_NG: "Nigeria",
en_NR: "Nauru",
en_NU: "Niue",
en_NZ: "New Zealand",
en_PG: "Papua New Guinea",
en_PH: "Philippines",
en_PK: "Pakistan",
en_PN: "Pitcairn",
en_PR: "Puerto Rico",
en_RW: "Rwanda",
en_SB: "Solomon Islands",
en_SC: "Seychelles",
en_SG: "Singapore",
en_SH: "Saint Helena",
en_SL: "Sierra Leone",
en_SZ: "Swaziland",
en_TC: "Turks and Caicos Islands",
en_TK: "Tokelau",
en_TO: "Tonga",
en_TT: "Trinidad and Tobago",
en_TV: "Tuvalu",
en_TZ: "Tanzania",
en_UG: "Uganda",
en_UM: "United States Minor Outlying Islands",
en_US: "United States",
en_US_POSIX: "United States",
en_VC: "Saint Vincent and the Grenadines",
en_VG: "British Virgin Islands",
en_VI: "U.S. Virgin Islands",
en_VU: "Vanuatu",
en_WS: "Samoa",
en_ZA: "South Africa",
en_ZM: "Zambia",
en_ZW: "Zimbabwe",
es_AR: "Argentina",
es_BO: "Bolivia",
es_CL: "Chile",
es_CO: "Colombia",
es_CR: "Costa Rica",
es_CU: "Cuba",
es_DO: "Rep\u00fablica Dominicana",
es_EC: "Ecuador",
es_ES: "Espa\u00f1a",
es_GQ: "Guinea Ecuatorial",
es_GT: "Guatemala",
es_HN: "Honduras",
es_MX: "M\u00e9xico",
es_NI: "Nicaragua",
es_PA: "Panam\u00e1",
es_PE: "Per\u00fa",
es_PH: "Filipinas",
es_PR: "Puerto Rico",
es_PY: "Paraguay",
es_SV: "El Salvador",
es_US: "Estados Unidos",
es_UY: "Uruguay",
es_VE: "Venezuela",
et_EE: "Eesti",
eu_ES: "Espainia",
fa_AF: "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646",
fa_IR: "\u0627\u06cc\u0631\u0627\u0646",
fi_FI: "Suomi",
fil_PH: "Philippines",
fj_FJ: "Fiji",
fo_FO: "F\u00f8royar",
fr_BE: "Belgique",
fr_BF: "Burkina Faso",
fr_BI: "Burundi",
fr_BJ: "B\u00e9nin",
fr_CA: "Canada",
fr_CD: "R\u00e9publique d\u00e9mocratique du Congo",
fr_CF: "R\u00e9publique centrafricaine",
fr_CG: "Congo",
fr_CH: "Suisse",
fr_CI: "C\u00f4te d\u2019Ivoire",
fr_CM: "Cameroun",
fr_DJ: "Djibouti",
fr_DZ: "Alg\u00e9rie",
fr_FR: "France",
fr_GA: "Gabon",
fr_GF: "Guyane fran\u00e7aise",
fr_GN: "Guin\u00e9e",
fr_GP: "Guadeloupe",
fr_GQ: "Guin\u00e9e \u00e9quatoriale",
fr_HT: "Ha\u00efti",
fr_KM: "Comores",
fr_LU: "Luxembourg",
fr_MA: "Maroc",
fr_MC: "Monaco",
fr_MG: "Madagascar",
fr_ML: "Mali",
fr_MQ: "Martinique",
fr_MU: "Maurice",
fr_NC: "Nouvelle-Cal\u00e9donie",
fr_NE: "Niger",
fr_PF: "Polyn\u00e9sie fran\u00e7aise",
fr_PM: "Saint-Pierre-et-Miquelon",
fr_RE: "R\u00e9union",
fr_RW: "Rwanda",
fr_SC: "Seychelles",
fr_SN: "S\u00e9n\u00e9gal",
fr_SY: "Syrie",
fr_TD: "Tchad",
fr_TG: "Togo",
fr_TN: "Tunisie",
fr_VU: "Vanuatu",
fr_WF: "Wallis-et-Futuna",
fr_YT: "Mayotte",
fur_IT: "Italia",
ga_IE: "\u00c9ire",
gaa_GH: "Ghana",
gez_ER: "\u12a4\u122d\u1275\u122b",
gez_ET: "\u12a2\u1275\u12ee\u1335\u12eb",
gil_KI: "Kiribati",
gl_ES: "Espa\u00f1a",
gn_PY: "Paraguay",
gu_IN: "\u0aad\u0abe\u0ab0\u0aa4",
gv_GB: "Rywvaneth Unys",
ha_Arab_NG: "\u0646\u064a\u062c\u064a\u0631\u064a\u0627",
ha_GH: "\u063a\u0627\u0646\u0627",
ha_Latn_GH: "Ghana",
ha_Latn_NE: "Niger",
ha_Latn_NG: "Nig\u00e9ria",
ha_NE: "\u0627\u0644\u0646\u064a\u062c\u0631",
ha_NG: "\u0646\u064a\u062c\u064a\u0631\u064a\u0627",
haw_US: "\u02bbAmelika Hui P\u016b \u02bbIa",
he_IL: "\u05d9\u05e9\u05e8\u05d0\u05dc",
hi_IN: "\u092d\u093e\u0930\u0924",
ho_PG: "Papua New Guinea",
hr_BA: "Bosna i Hercegovina",
hr_HR: "Hrvatska",
ht_HT: "Ha\u00efti",
hu_HU: "Magyarorsz\u00e1g",
hy_AM: "\u0540\u0561\u0575\u0561\u057d\u057f\u0561\u0576\u056b \u0540\u0561\u0576\u0580\u0561\u057a\u0565\u057f\u0578\u0582\u0569\u056b\u0582\u0576",
hy_AM_REVISED: "\u0540\u0561\u0575\u0561\u057d\u057f\u0561\u0576\u056b \u0540\u0561\u0576\u0580\u0561\u057a\u0565\u057f\u0578\u0582\u0569\u056b\u0582\u0576",
id_ID: "Indonesia",
ig_NG: "Nigeria",
ii_CN: "\ua34f\ua1e9",
is_IS: "\u00cdsland",
it_CH: "Svizzera",
it_IT: "Italia",
it_SM: "San Marino",
ja_JP: "\u65e5\u672c",
ka_GE: "\u10e1\u10d0\u10e5\u10d0\u10e0\u10d7\u10d5\u10d4\u10da\u10dd",
kaj_NG: "Nigeria",
kam_KE: "Kenya",
kcg_NG: "Nigeria",
kfo_NG: "Nig\u00e9ria",
kk_KZ: "\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d",
kl_GL: "Kalaallit Nunaat",
km_KH: "\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6",
kn_IN: "\u0cad\u0cbe\u0cb0\u0ca4",
ko_KP: "\uc870\uc120 \ubbfc\uc8fc\uc8fc\uc758 \uc778\ubbfc \uacf5\ud654\uad6d",
ko_KR: "\ub300\ud55c\ubbfc\uad6d",
kok_IN: "\u092d\u093e\u0930\u0924",
kos_FM: "Micronesia",
kpe_GN: "Guin\u00e9e",
kpe_LR: "Lib\u00e9ria",
ks_IN: "\u092d\u093e\u0930\u0924",
ku_IQ: "Irak",
ku_IR: "\u0130ran",
ku_Latn_IQ: "Irak",
ku_Latn_IR: "\u0130ran",
ku_Latn_SY: "Suriye",
ku_Latn_TR: "T\u00fcrkiye",
ku_SY: "Suriye",
ku_TR: "T\u00fcrkiye",
kw_GB: "Rywvaneth Unys",
ky_Cyrl_KG: "\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d",
ky_KG: "K\u0131rg\u0131zistan",
la_VA: "Vaticano",
lb_LU: "Luxembourg",
ln_CD: "R\u00e9publique d\u00e9mocratique du Congo",
ln_CG: "Kongo",
lo_LA: "Laos",
lt_LT: "Lietuva",
lv_LV: "Latvija",
mg_MG: "Madagascar",
mh_MH: "Marshall Islands",
mi_NZ: "New Zealand",
mk_MK: "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0438\u0458\u0430",
ml_IN: "\u0d07\u0d28\u0d4d\u0d24\u0d4d\u0d2f",
mn_Cyrl_MN: "\u041c\u043e\u043d\u0433\u043e\u043b\u0438\u044f",
mn_MN: "\u041c\u043e\u043d\u0433\u043e\u043b\u0438\u044f",
mr_IN: "\u092d\u093e\u0930\u0924",
ms_BN: "Brunei",
ms_MY: "Malaysia",
ms_SG: "Singapura",
mt_MT: "Malta",
my_MM: "Myanmar",
na_NR: "Nauru",
nb_NO: "Norge",
nb_SJ: "Svalbard og Jan Mayen",
ne_NP: "\u0928\u0947\u092a\u093e\u0932",
niu_NU: "Niue",
nl_AN: "Nederlandse Antillen",
nl_AW: "Aruba",
nl_BE: "Belgi\u00eb",
nl_NL: "Nederland",
nl_SR: "Suriname",
nn_NO: "Noreg",
nr_ZA: "South Africa",
nso_ZA: "South Africa",
ny_MW: "Malawi",
om_ET: "Itoophiyaa",
om_KE: "Keeniyaa",
or_IN: "\u0b2d\u0b3e\u0b30\u0b24",
pa_Arab_PK: "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646",
pa_Guru_IN: "\u0a2d\u0a3e\u0a30\u0a24",
pa_IN: "\u0a2d\u0a3e\u0a30\u0a24",
pa_PK: "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646",
pap_AN: "Nederlandse Antillen",
pau_PW: "Palau",
pl_PL: "Polska",
pon_FM: "Micronesia",
ps_AF: "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646",
pt_AO: "Angola",
pt_BR: "Brasil",
pt_CV: "Cabo Verde",
pt_GW: "Guin\u00e9 Bissau",
pt_MZ: "Mo\u00e7ambique",
pt_PT: "Portugal",
pt_ST: "S\u00e3o Tom\u00e9 e Pr\u00edncipe",
pt_TL: "Timor Leste",
qu_BO: "Bolivia",
qu_PE: "Per\u00fa",
rm_CH: "Schweiz",
rn_BI: "Burundi",
ro_MD: "Moldova, Republica",
ro_RO: "Rom\u00e2nia",
ru_BY: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",
ru_KG: "\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d",
ru_KZ: "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",
ru_RU: "\u0420\u043e\u0441\u0441\u0438\u044f",
ru_UA: "\u0423\u043a\u0440\u0430\u0438\u043d\u0430",
rw_RW: "Rwanda",
sa_IN: "\u092d\u093e\u0930\u0924",
sd_Deva_IN: "\u092d\u093e\u0930\u0924",
sd_IN: "\u092d\u093e\u0930\u0924",
se_FI: "Finland",
se_NO: "Norge",
sg_CF: "R\u00e9publique centrafricaine",
sh_BA: "Bosnia and Herzegovina",
sh_CS: "Serbia and Montenegro",
si_LK: "Sri Lanka",
sid_ET: "Itoophiyaa",
sk_SK: "Slovensk\u00e1 republika",
sl_SI: "Slovenija",
sm_AS: "American Samoa",
sm_WS: "Samoa",
so_DJ: "Jabuuti",
so_ET: "Itoobiya",
so_KE: "Kiiniya",
so_SO: "Soomaaliya",
sq_AL: "Shqip\u00ebria",
sr_BA: "\u0411\u043e\u0441\u043d\u0430 \u0438 \u0425\u0435\u0440\u0446\u0435\u0433\u043e\u0432\u0438\u043d\u0430",
sr_CS: "\u0421\u0440\u0431\u0438\u0458\u0430 \u0438 \u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430",
sr_Cyrl_BA: "\u0411\u043e\u0441\u043d\u0438\u044f",
sr_Cyrl_CS: "\u0421\u0435\u0440\u0431\u0438\u044f \u0438 \u0427\u0435\u0440\u043d\u043e\u0433\u043e\u0440\u0438\u044f",
sr_Cyrl_ME: "\u0427\u0435\u0440\u043d\u043e\u0433\u043e\u0440\u0438\u044f",
sr_Cyrl_RS: "\u0421\u0435\u0440\u0431\u0438\u044f",
sr_Latn_BA: "Bosna i Hercegovina",
sr_Latn_CS: "Srbija i Crna Gora",
sr_Latn_ME: "Crna Gora",
sr_Latn_RS: "Srbija",
sr_ME: "\u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430",
sr_RS: "\u0421\u0440\u0431\u0438\u0458\u0430",
ss_SZ: "Swaziland",
ss_ZA: "South Africa",
st_LS: "Lesotho",
st_ZA: "South Africa",
su_ID: "Indonesia",
sv_AX: "\u00c5land",
sv_FI: "Finland",
sv_SE: "Sverige",
sw_KE: "Kenya",
sw_TZ: "Tanzania",
sw_UG: "Uganda",
swb_KM: "\u062c\u0632\u0631 \u0627\u0644\u0642\u0645\u0631",
syr_SY: "Syria",
ta_IN: "\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe",
ta_LK: "\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8",
ta_SG: "\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd",
te_IN: "\u0c2d\u0c3e\u0c30\u0c24 \u0c26\u0c47\u0c33\u0c02",
tet_TL: "Timor Leste",
tg_Cyrl_TJ: "\u0422\u0430\u0434\u0436\u0438\u043a\u0438\u0441\u0442\u0430\u043d",
tg_TJ: "\u062a\u0627\u062c\u06a9\u0633\u062a\u0627\u0646",
th_TH: "\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",
ti_ER: "\u12a4\u122d\u1275\u122b",
ti_ET: "\u12a2\u1275\u12ee\u1335\u12eb",
tig_ER: "\u12a4\u122d\u1275\u122b",
tk_TM: "\u062a\u0631\u06a9\u0645\u0646\u0633\u062a\u0627\u0646",
tkl_TK: "Tokelau",
tn_BW: "Botswana",
tn_ZA: "South Africa",
to_TO: "Tonga",
tpi_PG: "Papua New Guinea",
tr_CY: "G\u00fcney K\u0131br\u0131s Rum Kesimi",
tr_TR: "T\u00fcrkiye",
ts_ZA: "South Africa",
tt_RU: "\u0420\u043e\u0441\u0441\u0438\u044f",
tvl_TV: "Tuvalu",
ty_PF: "Polyn\u00e9sie fran\u00e7aise",
uk_UA: "\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
uli_FM: "Micronesia",
und_ZZ: "Unknown or Invalid Region",
ur_IN: "\u0628\u06be\u0627\u0631\u062a",
ur_PK: "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646",
uz_AF: "Afganistan",
uz_Arab_AF: "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646",
uz_Cyrl_UZ: "\u0423\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u0430\u043d",
uz_Latn_UZ: "O\u02bfzbekiston",
uz_UZ: "\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d",
ve_ZA: "South Africa",
vi_VN: "Vi\u1ec7t Nam",
wal_ET: "\u12a2\u1275\u12ee\u1335\u12eb",
wo_Arab_SN: "\u0627\u0644\u0633\u0646\u063a\u0627\u0644",
wo_Latn_SN: "S\u00e9n\u00e9gal",
wo_SN: "S\u00e9n\u00e9gal",
xh_ZA: "South Africa",
yap_FM: "Micronesia",
yo_NG: "Nigeria",
zh_CN: "\u4e2d\u56fd",
zh_HK: "\u9999\u6e2f",
zh_Hans_CN: "\u4e2d\u56fd",
zh_Hans_SG: "\u65b0\u52a0\u5761",
zh_Hant_HK: "\u4e2d\u83ef\u4eba\u6c11\u5171\u548c\u570b\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340",
zh_Hant_MO: "\u6fb3\u9580",
zh_Hant_TW: "\u81fa\u7063",
zh_MO: "\u6fb3\u95e8",
zh_SG: "\u65b0\u52a0\u5761",
zh_TW: "\u53f0\u6e7e",
zu_ZA: "South Africa"
},
LANGUAGE: {
aa: "afar",
ab: "\u0430\u0431\u0445\u0430\u0437\u0441\u043a\u0438\u0439",
ace: "Aceh",
ach: "Acoli",
ada: "Adangme",
ady: "\u0430\u0434\u044b\u0433\u0435\u0439\u0441\u043a\u0438\u0439",
ae: "Avestan",
af: "Afrikaans",
afa: "Afro-Asiatic Language",
afh: "Afrihili",
ain: "Ainu",
ak: "Akan",
akk: "Akkadian",
ale: "Aleut",
alg: "Algonquian Language",
alt: "Southern Altai",
am: "\u12a0\u121b\u122d\u129b",
an: "Aragonese",
ang: "Old English",
anp: "Angika",
apa: "Apache Language",
ar: "\u0627\u0644\u0639\u0631\u0628\u064a\u0629",
arc: "Aramaic",
arn: "Araucanian",
arp: "Arapaho",
art: "Artificial Language",
arw: "Arawak",
as: "\u0985\u09b8\u09ae\u09c0\u09af\u09bc\u09be",
ast: "asturiano",
ath: "Athapascan Language",
aus: "Australian Language",
av: "\u0430\u0432\u0430\u0440\u0441\u043a\u0438\u0439",
awa: "Awadhi",
ay: "aimara",
az: "az\u0259rbaycanca",
az_Arab: "\u062a\u0631\u06a9\u06cc \u0622\u0630\u0631\u0628\u0627\u06cc\u062c\u0627\u0646\u06cc",
az_Cyrl: "\u0410\u0437\u04d9\u0440\u0431\u0430\u0458\u04b9\u0430\u043d",
az_Latn: "Azerice",
ba: "\u0431\u0430\u0448\u043a\u0438\u0440\u0441\u043a\u0438\u0439",
bad: "Banda",
bai: "Bamileke Language",
bal: "\u0628\u0644\u0648\u0686\u06cc",
ban: "Balin",
bas: "Basa",
bat: "Baltic Language",
be: "\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",
bej: "Beja",
bem: "Bemba",
ber: "Berber",
bg: "\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",
bh: "\u092c\u093f\u0939\u093e\u0930\u0940",
bho: "Bhojpuri",
bi: "bichelamar ; bislama",
bik: "Bikol",
bin: "Bini",
bla: "Siksika",
bm: "bambara",
bn: "\u09ac\u09be\u0982\u09b2\u09be",
bnt: "Bantu",
bo: "\u0f54\u0f7c\u0f51\u0f0b\u0f66\u0f90\u0f51\u0f0b",
br: "breton",
bra: "Braj",
bs: "Bosanski",
btk: "Batak",
bua: "Buriat",
bug: "Bugis",
byn: "\u1265\u120a\u1295",
ca: "catal\u00e0",
cad: "Caddo",
cai: "Central American Indian Language",
car: "Carib",
cau: "Caucasian Language",
cch: "Atsam",
ce: "\u0447\u0435\u0447\u0435\u043d\u0441\u043a\u0438\u0439",
ceb: "Cebuano",
cel: "Celtic Language",
ch: "Chamorro",
chb: "Chibcha",
chg: "Chagatai",
chk: "Chuukese",
chm: "\u043c\u0430\u0440\u0438\u0439\u0441\u043a\u0438\u0439 (\u0447\u0435\u0440\u0435\u043c\u0438\u0441\u0441\u043a\u0438\u0439)",
chn: "Chinook Jargon",
cho: "Choctaw",
chp: "Chipewyan",
chr: "Cherokee",
chy: "Cheyenne",
cmc: "Chamic Language",
co: "corse",
cop: "\u0642\u0628\u0637\u064a\u0629",
cop_Arab: "\u0642\u0628\u0637\u064a\u0629",
cpe: "English-based Creole or Pidgin",
cpf: "French-based Creole or Pidgin",
cpp: "Portuguese-based Creole or Pidgin",
cr: "Cree",
crh: "Crimean Turkish",
crp: "Creole or Pidgin",
cs: "\u010de\u0161tina",
csb: "Kashubian",
cu: "Church Slavic",
cus: "Cushitic Language",
cv: "\u0447\u0443\u0432\u0430\u0448\u0441\u043a\u0438\u0439",
cy: "Cymraeg",
da: "dansk",
dak: "Dakota",
dar: "\u0434\u0430\u0440\u0433\u0432\u0430",
day: "Dayak",
de: "Deutsch",
del: "Delaware",
den: "Slave",
dgr: "Dogrib",
din: "Dinka",
doi: "\u0627\u0644\u062f\u0648\u062c\u0631\u0649",
dra: "Dravidian Language",
dsb: "Lower Sorbian",
dua: "Duala",
dum: "Middle Dutch",
dv: "Divehi",
dyu: "dioula",
dz: "\u0f62\u0fab\u0f7c\u0f44\u0f0b\u0f41",
ee: "Ewe",
efi: "Efik",
egy: "Ancient Egyptian",
eka: "Ekajuk",
el: "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
elx: "Elamite",
en: "English",
enm: "Middle English",
eo: "esperanto",
es: "espa\u00f1ol",
et: "eesti",
eu: "euskara",
ewo: "Ewondo",
fa: "\u0641\u0627\u0631\u0633\u06cc",
fan: "fang",
fat: "Fanti",
ff: "Fulah",
fi: "suomi",
fil: "Filipino",
fiu: "Finno-Ugrian Language",
fj: "Fijian",
fo: "f\u00f8royskt",
fon: "Fon",
fr: "fran\u00e7ais",
frm: "Middle French",
fro: "Old French",
frr: "Northern Frisian",
frs: "Eastern Frisian",
fur: "friulano",
fy: "Fries",
ga: "Gaeilge",
gaa: "Ga",
gay: "Gayo",
gba: "Gbaya",
gd: "Scottish Gaelic",
gem: "Germanic Language",
gez: "\u130d\u12d5\u12dd\u129b",
gil: "Gilbertese",
gl: "galego",
gmh: "Middle High German",
gn: "guaran\u00ed",
goh: "Old High German",
gon: "Gondi",
gor: "Gorontalo",
got: "Gothic",
grb: "Grebo",
grc: "\u0391\u03c1\u03c7\u03b1\u03af\u03b1 \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
gsw: "Schweizerdeutsch",
gu: "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",
gv: "Gaelg",
gwi: "Gwich\u02bcin",
ha: "\u0627\u0644\u0647\u0648\u0633\u0627",
ha_Arab: "\u0627\u0644\u0647\u0648\u0633\u0627",
ha_Latn: "haoussa",
hai: "Haida",
haw: "\u02bb\u014dlelo Hawai\u02bbi",
he: "\u05e2\u05d1\u05e8\u05d9\u05ea",
hi: "\u0939\u093f\u0902\u0926\u0940",
hil: "Hiligaynon",
him: "Himachali",
hit: "Hittite",
hmn: "Hmong",
ho: "Hiri Motu",
hr: "hrvatski",
hsb: "Upper Sorbian",
ht: "ha\u00eftien",
hu: "magyar",
hup: "Hupa",
hy: "\u0540\u0561\u0575\u0565\u0580\u0567\u0576",
hz: "Herero",
ia: "interlingvao",
iba: "Iban",
id: "Bahasa Indonesia",
ie: "Interlingue",
ig: "Igbo",
ii: "\ua188\ua320\ua259",
ijo: "Ijo",
ik: "Inupiaq",
ilo: "Iloko",
inc: "Indic Language",
ine: "Indo-European Language",
inh: "\u0438\u043d\u0433\u0443\u0448\u0441\u043a\u0438\u0439",
io: "Ido",
ira: "Iranian Language",
iro: "Iroquoian Language",
is: "\u00edslenska",
it: "italiano",
iu: "Inuktitut",
ja: "\u65e5\u672c\u8a9e",
jbo: "Lojban",
jpr: "Judeo-Persian",
jrb: "Judeo-Arabic",
jv: "Jawa",
ka: "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",
kaa: "\u043a\u0430\u0440\u0430\u043a\u0430\u043b\u043f\u0430\u043a\u0441\u043a\u0438\u0439",
kab: "kabyle",
kac: "Kachin",
kaj: "Jju",
kam: "Kamba",
kar: "Karen",
kaw: "Kawi",
kbd: "\u043a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u0441\u043a\u0438\u0439",
kcg: "Tyap",
kfo: "koro",
kg: "Kongo",
kha: "Khasi",
khi: "Khoisan Language",
kho: "Khotanese",
ki: "Kikuyu",
kj: "Kuanyama",
kk: "\u049a\u0430\u0437\u0430\u049b",
kl: "kalaallisut",
km: "\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a",
kmb: "quimbundo",
kn: "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1",
ko: "\ud55c\uad6d\uc5b4",
kok: "\u0915\u094b\u0902\u0915\u0923\u0940",
kos: "Kosraean",
kpe: "kpell\u00e9",
kr: "Kanuri",
krc: "\u043a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0431\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0438\u0439",
krl: "\u043a\u0430\u0440\u0435\u043b\u044c\u0441\u043a\u0438\u0439",
kro: "Kru",
kru: "Kurukh",
ks: "\u0915\u093e\u0936\u094d\u092e\u093f\u0930\u0940",
ku: "K\u00fcrt\u00e7e",
ku_Arab: "\u0627\u0644\u0643\u0631\u062f\u064a\u0629",
ku_Latn: "K\u00fcrt\u00e7e",
kum: "\u043a\u0443\u043c\u044b\u043a\u0441\u043a\u0438\u0439",
kut: "Kutenai",
kv: "Komi",
kw: "kernewek",
ky: "K\u0131rg\u0131zca",
ky_Arab: "\u0627\u0644\u0642\u064a\u0631\u063a\u0633\u062a\u0627\u0646\u064a\u0629",
ky_Cyrl: "\u043a\u0438\u0440\u0433\u0438\u0437\u0441\u043a\u0438\u0439",
la: "latino",
lad: "\u05dc\u05d3\u05d9\u05e0\u05d5",
lah: "\u0644\u0627\u0647\u0646\u062f\u0627",
lam: "Lamba",
lb: "luxembourgeois",
lez: "\u043b\u0435\u0437\u0433\u0438\u043d\u0441\u043a\u0438\u0439",
lg: "Ganda",
li: "Limburgs",
ln: "lingala",
lo: "Lao",
lol: "mongo",
loz: "Lozi",
lt: "lietuvi\u0173",
lu: "luba-katanga",
lua: "luba-lulua",
lui: "Luiseno",
lun: "Lunda",
luo: "Luo",
lus: "Lushai",
lv: "latvie\u0161u",
mad: "Madura",
mag: "Magahi",
mai: "Maithili",
mak: "Makassar",
man: "Mandingo",
map: "Austronesian",
mas: "Masai",
mdf: "\u043c\u043e\u043a\u0448\u0430",
mdr: "Mandar",
men: "Mende",
mg: "malgache",
mga: "Middle Irish",
mh: "Marshallese",
mi: "Maori",
mic: "Micmac",
min: "Minangkabau",
mis: "Miscellaneous Language",
mk: "\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438",
mkh: "Mon-Khmer Language",
ml: "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02",
mn: "\u043c\u043e\u043d\u0433\u043e\u043b\u044c\u0441\u043a\u0438\u0439",
mn_Cyrl: "\u043c\u043e\u043d\u0433\u043e\u043b\u044c\u0441\u043a\u0438\u0439",
mn_Mong: "\u043c\u043e\u043d\u0433\u043e\u043b\u044c\u0441\u043a\u0438\u0439",
mnc: "Manchu",
mni: "Manipuri",
mno: "Manobo Language",
mo: "Moldavian",
moh: "Mohawk",
mos: "mor\u00e9 ; mossi",
mr: "\u092e\u0930\u093e\u0920\u0940",
ms: "Bahasa Melayu",
mt: "Malti",
mul: "Multiple Languages",
mun: "Munda Language",
mus: "Creek",
mwl: "Mirandese",
mwr: "Marwari",
my: "Burmese",
myn: "Mayan Language",
myv: "\u044d\u0440\u0437\u044f",
na: "Nauru",
nah: "Nahuatl",
nai: "North American Indian Language",
nap: "napoletano",
nb: "norsk bokm\u00e5l",
nd: "North Ndebele",
nds: "Low German",
ne: "\u0928\u0947\u092a\u093e\u0932\u0940",
"new": "Newari",
ng: "Ndonga",
nia: "Nias",
nic: "Niger-Kordofanian Language",
niu: "Niuean",
nl: "Nederlands",
nn: "nynorsk",
no: "Norwegian",
nog: "\u043d\u043e\u0433\u0430\u0439\u0441\u043a\u0438\u0439",
non: "Old Norse",
nqo: "N\u2019Ko",
nr: "South Ndebele",
nso: "Northern Sotho",
nub: "Nubian Language",
nv: "Navajo",
nwc: "Classical Newari",
ny: "nianja; chicheua; cheua",
nym: "Nyamwezi",
nyn: "Nyankole",
nyo: "Nyoro",
nzi: "Nzima",
oc: "occitan",
oj: "Ojibwa",
om: "Oromoo",
or: "\u0b13\u0b21\u0b3c\u0b3f\u0b06",
os: "\u043e\u0441\u0435\u0442\u0438\u043d\u0441\u043a\u0438\u0439",
osa: "Osage",
ota: "Ottoman Turkish",
oto: "Otomian Language",
pa: "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",
pa_Arab: "\u067e\u0646\u062c\u0627\u0628",
pa_Guru: "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",
paa: "Papuan Language",
pag: "Pangasinan",
pal: "Pahlavi",
pam: "Pampanga",
pap: "Papiamento",
pau: "Palauan",
peo: "Old Persian",
phi: "Philippine Language",
phn: "Phoenician",
pi: "\u0e1a\u0e32\u0e25\u0e35",
pl: "polski",
pon: "Pohnpeian",
pra: "Prakrit Language",
pro: "Old Proven\u00e7al",
ps: "\u067e\u069a\u062a\u0648",
pt: "portugu\u00eas",
qu: "quechua",
raj: "Rajasthani",
rap: "Rapanui",
rar: "Rarotongan",
rm: "R\u00e4toromanisch",
rn: "roundi",
ro: "rom\u00e2n\u0103",
roa: "Romance Language",
rom: "Romany",
ru: "\u0440\u0443\u0441\u0441\u043a\u0438\u0439",
rup: "Aromanian",
rw: "rwanda",
sa: "\u0938\u0902\u0938\u094d\u0915\u0943\u0924 \u092d\u093e\u0937\u093e",
sad: "Sandawe",
sah: "\u044f\u043a\u0443\u0442\u0441\u043a\u0438\u0439",
sai: "South American Indian Language",
sal: "Salishan Language",
sam: "\u05d0\u05e8\u05de\u05d9\u05ea \u05e9\u05d5\u05de\u05e8\u05d5\u05e0\u05d9\u05ea",
sas: "Sasak",
sat: "Santali",
sc: "Sardinian",
scn: "siciliano",
sco: "Scots",
sd: "\u0938\u093f\u0928\u094d\u0927\u0940",
sd_Arab: "\u0633\u0646\u062f\u06cc",
sd_Deva: "\u0938\u093f\u0928\u094d\u0927\u0940",
se: "nordsamiska",
sel: "\u0441\u0435\u043b\u044c\u043a\u0443\u043f\u0441\u043a\u0438\u0439",
sem: "Semitic Language",
sg: "sangho",
sga: "Old Irish",
sgn: "Sign Language",
sh: "Serbo-Croatian",
shn: "Shan",
si: "Sinhalese",
sid: "Sidamo",
sio: "Siouan Language",
sit: "Sino-Tibetan Language",
sk: "slovensk\u00fd",
sl: "sloven\u0161\u010dina",
sla: "Slavic Language",
sm: "Samoan",
sma: "sydsamiska",
smi: "Sami Language",
smj: "lulesamiska",
smn: "Inari Sami",
sms: "Skolt Sami",
sn: "Shona",
snk: "sonink\u00e9",
so: "Soomaali",
sog: "Sogdien",
son: "Songhai",
sq: "shqipe",
sr: "\u0421\u0440\u043f\u0441\u043a\u0438",
sr_Cyrl: "\u0441\u0435\u0440\u0431\u0441\u043a\u0438\u0439",
sr_Latn: "Srpski",
srn: "Sranantongo",
srr: "s\u00e9r\u00e8re",
ss: "Swati",
ssa: "Nilo-Saharan Language",
st: "Sesotho",
su: "Sundan",
suk: "Sukuma",
sus: "soussou",
sux: "Sumerian",
sv: "svenska",
sw: "Kiswahili",
syc: "Classical Syriac",
syr: "Syriac",
ta: "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd",
tai: "Tai Language",
te: "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41",
tem: "Timne",
ter: "Tereno",
tet: "t\u00e9tum",
tg: "\u062a\u0627\u062c\u06a9",
tg_Arab: "\u062a\u0627\u062c\u06a9",
tg_Cyrl: "\u0442\u0430\u0434\u0436\u0438\u043a\u0441\u043a\u0438\u0439",
th: "\u0e44\u0e17\u0e22",
ti: "\u1275\u130d\u122d\u129b",
tig: "\u1275\u130d\u1228",
tiv: "Tiv",
tk: "\u062a\u0631\u06a9\u0645\u0646\u06cc",
tkl: "Tokelau",
tl: "Tagalog",
tlh: "Klingon",
tli: "Tlingit",
tmh: "tamacheq",
tn: "Tswana",
to: "Tonga",
tog: "Nyasa Tonga",
tpi: "Tok Pisin",
tr: "T\u00fcrk\u00e7e",
ts: "Tsonga",
tsi: "Tsimshian",
tt: "\u0442\u0430\u0442\u0430\u0440\u0441\u043a\u0438\u0439",
tum: "Tumbuka",
tup: "Tupi Language",
tut: "\u0430\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0435 (\u0434\u0440\u0443\u0433\u0438\u0435)",
tvl: "Tuvalu",
tw: "Twi",
ty: "tahitien",
tyv: "\u0442\u0443\u0432\u0438\u043d\u0441\u043a\u0438\u0439",
udm: "\u0443\u0434\u043c\u0443\u0440\u0442\u0441\u043a\u0438\u0439",
ug: "\u0443\u0439\u0433\u0443\u0440\u0441\u043a\u0438\u0439",
uga: "Ugaritic",
uk: "\u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",
umb: "umbundu",
und: "English",
ur: "\u0627\u0631\u062f\u0648",
uz: "\u040e\u0437\u0431\u0435\u043a",
uz_Arab: "\u0627\u06c9\u0632\u0628\u06d0\u06a9",
uz_Cyrl: "\u0443\u0437\u0431\u0435\u043a\u0441\u043a\u0438\u0439",
uz_Latn: "o'zbekcha",
vai: "Vai",
ve: "Venda",
vi: "Ti\u1ebfng Vi\u1ec7t",
vo: "volapuko",
vot: "Votic",
wa: "Wallonisch",
wak: "Wakashan Language",
wal: "Walamo",
war: "Waray",
was: "Washo",
wen: "Sorbian Language",
wo: "wolof",
wo_Arab: "\u0627\u0644\u0648\u0644\u0648\u0641",
wo_Latn: "wolof",
xal: "\u043a\u0430\u043b\u043c\u044b\u0446\u043a\u0438\u0439",
xh: "Xhosa",
yao: "iao",
yap: "Yapese",
yi: "\u05d9\u05d9\u05d3\u05d9\u05e9",
yo: "Yoruba",
ypk: "Yupik Language",
za: "Zhuang",
zap: "Zapotec",
zen: "Zenaga",
zh: "\u4e2d\u6587",
zh_Hans: "\u4e2d\u6587",
zh_Hant: "\u4e2d\u6587",
znd: "Zande",
zu: "Zulu",
zun: "Zuni",
zxx: "No linguistic content",
zza: "Zaza"
}
};
var Ub = function (a) {
return (a = a.match(/^\w{2,3}([-_]|$)/)) ? a[0].replace(/[_-]/g, "") : ""
},
Vb = function (a) {
return (a = a.match(/[-_]([a-zA-Z]{2}|\d{3})([-_]|$)/)) ? a[0].replace(/[_-]/g, "") : ""
};
var Xb = function () {
return Wb("ontouchstart") && Wb("ontouchmove") && Wb("ontouchend")
},
Wb = function (a) {
var b = H("div");
b.setAttribute(a, "return;");
return "function" == typeof b[a] || a in Yb.documentElement
},
Zb = function (a, b, c, d) {
d && (b = v(b, d));
var e = c ? d ? v(c, d) : c : function () {
return !0
};
b(a);
e(a) && a.get("sublayers") && a.get("sublayers").forEach(function (a) {
Zb(a, b, e)
})
},
$b = function (a, b, c, d) {
a.get("layers") && a.get("layers").forEach(function (a) {
Zb(a, b, c, d)
})
},
ac = function (a) {
var b = Math.PI;
a = b * a / 128;
return 180 * Math.atan((Math.exp(a) -
Math.exp(-a)) / 2) / b
},
bc = function (a) {
var b = Math.PI;
a = Math.sin(a * b / 180);
return 64 * (Math.log(1 + a) - Math.log(1 - a)) / b
},
cc = function (a, b) {
if (20 < b || !isFinite(b)) return a;
if (0 <= b) return a.toFixed(b) - 0;
var c = Math.pow(10, -b);
return Math.round(a / c) * c
},
dc = function (a) {
if (null === a || void 0 === a || "" === a) return null;
switch (a.constructor) {
case Array:
for (var b = [], c = 0, d = 0; d < a.length; d++) {
var e = dc(a[d]);
null !== e && (b.push(e), c++)
}
return c ? b : null;
case Object:
b = {};
c = 0;
for (d in a) a.hasOwnProperty(d) && (e = dc(a[d]), null !== e && (b[d] =
e, c++));
return c ? b : null
}
return a
},
ec = function (a) {
return "number" != typeof a ? "" : 95E4 <= a ? (a / 1E6 + 1E-9).toFixed(95E5 > a) + " M" : 950 <= a ? (a / 1E3 + 1E-9).toFixed(9500 > a) + " k" : a + " byte" + (1 == a ? "" : "s")
},
fc = function (a) {
var b = {
zh_CN: "\u7b80\u4f53\u4e2d\u6587",
zh_TW: "\u7e41\u9ad4\u4e2d\u6587",
zh_HK: "\u4e2d\u6587\uff08\u9999\u6e2f\uff09",
es_419: "espa\u00f1ol (Latinoam\u00e9rica)"
},
c;
a in Tb.LANGUAGE ? c = Tb.LANGUAGE[a] : (c = Ub(a), c = c in Tb.LANGUAGE ? Tb.LANGUAGE[c] : a);
var d = {
en: "US",
fr: "FR",
es: "ES"
}[a] || Vb(a);
d && (a = Ub(a) + "_" +
d.toUpperCase(), d = Ub(a) + "_" + Vb(a), d = d in Tb.COUNTRY ? Tb.COUNTRY[d] : a, c = b[a] || c + (d === a ? "" : " (" + d + ")"));
return c
},
gc = function (a) {
var b = [];
Za(a || []) ? b = [{
value: "en",
label: fc("en")
}] : (B(a, function (a) {
var d = fc(a);
b.push({
value: a,
label: d
})
}), hb(b, function (a, b) {
return gb(a.label.toLowerCase(), b.label.toLowerCase())
}));
return b
},
jc = function (a) {
a = (new Date).getTime() / 1E3 - a;
60 > a ? a = "just now" : 60 > a / 60 ? (a = Math.round(a / 60), a = (new Fb("{minutes, plural, =1 {1m ago}=2 {2m ago}other {#m ago}}")).format({
minutes: a
})) :
24 > a / 3600 ? (a = Math.round(a / 360) / 10, a = (new Fb("{hours, plural, =1 {1h ago}=2 {2h ago}other {#h ago}}")).format({
hours: a
})) : (a = Math.round(a / 8640) / 10, a = (new Fb("{days, plural, =1 {1d ago}=2 {2d ago}other {#d ago}}")).format({
days: a
}));
return a
};
var kc = function (a, b, c, d, e) {
this.ub = ib(a, -90, 90);
this.Jb = ib(b, -90, 90);
this.Ea = c;
this.xa = d;
a < b && (this.ub = this.Jb = 0);
if (-180 > d || 180 <= d) this.xa = d % 360, this.xa += -180 > this.xa ? 360 : 180 <= this.xa ? -360 : 0;
if (c === d && e) this.Ea = this.xa, this.Fb = 0;
else {
if (-180 > c || 180 < c) this.Ea = c % 360, this.Ea += -180 > this.Ea ? 360 : 180 < this.Ea ? -360 : 0;
this.Fb = this.Ea - this.xa;
this.Fb += 0 >= this.Fb ? 360 : 0;
360 === this.Fb && -180 === this.xa && (this.Ea = 180)
}
},
lc = ac(128) - 1E-14,
mc = new kc(lc, -lc, 180, -180),
nc = function (a) {
a = a.split(",");
var b = a[0] - 0,
c = a[1] -
0,
d = a[2] - 0,
e = a[3] - 0;
return isFinite(b + c + d + e) ? new kc(b, c, d, e, "0" === a[4]) : null
},
oc = function (a) {
a = a || {};
return isFinite(a.north + a.south + a.east + a.west) ? new kc(a.north, a.south, a.east, a.west) : null
};
kc.prototype.toString = function () {
return [this.ub, this.Jb, this.Ea, this.xa].join() + (0 === this.Fb ? ",0" : "")
};
var pc = function (a) {
var b = new google.maps.LatLng(a.Jb, a.xa),
c = new google.maps.LatLng(a.ub, a.Ea);
if (a.Ea === a.xa && 0 < a.Fb)
for (var d = 1;; d /= 2) {
var e = new google.maps.LatLng(a.ub, a.Ea - d);
if (e.lng() === a.xa) break;
c = e
}
return new google.maps.LatLngBounds(b, c)
},
qc = function (a) {
var b = a.xa + a.Fb / 2,
c = ib(a.ub, -lc, lc);
a = ib(a.Jb, -lc, lc);
c = c === lc && a === -lc ? 0 : ac((bc(c) + bc(a)) / 2);
return new google.maps.LatLng(c, b)
},
rc = function (a, b, c) {
var d = 256 * a.Fb / 360,
e = ib(a.ub, -lc, lc);
a = ib(a.Jb, -lc, lc);
e = bc(e) - bc(a);
b = Math.min(b / d, c / e);
return Math.max(0, Math.floor(Math.log(b) / Math.log(2)))
};
kc.prototype.round = function (a) {
var b = Math.min(this.ub - this.Jb, this.Fb);
a = a - 1 - Math.floor(Math.log(b) / Math.log(10)); - 1 > a && (a = -1);
return new kc(cc(this.ub, a), cc(this.Jb, a), cc(this.Ea, a), cc(this.xa, a))
};
kc.prototype.contains = function (a) {
return a.lat() < this.ub && a.lat() > this.Jb && (a.lng() < this.Ea && a.lng() > this.xa || 360 === this.Fb)
};
var sc = function (a) {
this.pf = a || "";
this.Mj = a ? null : ""
},
tc = function (a) {
return "\x3c!-- no sanitizer available: " + Ea(a) + " --\x3e"
},
uc = function (a) {
tc = a
},
vc = new sc("");
sc.prototype.isEmpty = function () {
return "" === this.pf
};
sc.prototype.toString = function () {
return "\x3c!-- unsanitized: " + Ea(this.pf) + " --\x3e"
};
var wc = function (a) {
return a.pf
},
xc = function (a) {
null === a.Mj && (a.Mj = tc(a.pf));
return a.Mj
},
yc = function (a, b) {
b.innerHTML = xc(a)
};
var zc = function () {
return null
};
var Ac = function (a, b) {
for (var c in a) b.call(void 0, a[c], c, a)
},
Bc = function (a) {
var b = [],
c = 0,
d;
for (d in a) b[c++] = a[d];
return b
},
Cc = function (a) {
var b = [],
c = 0,
d;
for (d in a) b[c++] = d;
return b
},
Dc = function (a, b) {
for (var c in a)
if (a[c] == b) return !0;
return !1
},
Fc = function () {
var a = Ec,
b;
for (b in a) return !1;
return !0
},
Gc = function (a, b, c) {
if (b in a) throw Error('The object already contains the key "' + b + '"');
a[b] = c
},
Hc = function (a) {
var b = {},
c;
for (c in a) b[c] = a[c];
return b
},
Ic = function (a) {
var b = {},
c;
for (c in a) b[a[c]] = c;
return b
},
Jc = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),
Kc = 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 < Jc.length; f++) c = Jc[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c])
}
};
var Lc = "StopIteration" in l ? l.StopIteration : Error("StopIteration"),
Mc = function () {};
Mc.prototype.next = function () {
throw Lc;
};
Mc.prototype.nj = function () {
return this
};
var Nc = function (a, b) {
this.d = {};
this.O = [];
this.zg = this.Z = 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.wg(a)
};
h = Nc.prototype;
h.Ka = function () {
Qc(this);
for (var a = [], b = 0; b < this.O.length; b++) a.push(this.d[this.O[b]]);
return a
};
h.rc = function () {
Qc(this);
return this.O.concat()
};
h.Kd = function (a) {
return Rc(this.d, a)
};
h.isEmpty = function () {
return 0 == this.Z
};
h.remove = function (a) {
return Rc(this.d, a) ? (delete this.d[a], this.Z--, this.zg++, this.O.length > 2 * this.Z && Qc(this), !0) : !1
};
var Qc = function (a) {
if (a.Z != a.O.length) {
for (var b = 0, c = 0; b < a.O.length;) {
var d = a.O[b];
Rc(a.d, d) && (a.O[c++] = d);
b++
}
a.O.length = c
}
if (a.Z != a.O.length) {
for (var e = {}, c = b = 0; b < a.O.length;) d = a.O[b], Rc(e, d) || (a.O[c++] = d, e[d] = 1), b++;
a.O.length = c
}
};
h = Nc.prototype;
h.get = function (a, b) {
return Rc(this.d, a) ? this.d[a] : b
};
h.set = function (a, b) {
Rc(this.d, a) || (this.Z++, this.O.push(a), this.zg++);
this.d[a] = b
};
h.wg = function (a) {
var b;
a instanceof Nc ? (b = a.rc(), a = a.Ka()) : (b = Cc(a), a = Bc(a));
for (var c = 0; c < b.length; c++) this.set(b[c], a[c])
};
h.forEach = function (a, b) {
for (var c = this.rc(), d = 0; d < c.length; d++) {
var e = c[d],
f = this.get(e);
a.call(b, f, e, this)
}
};
h.qa = function () {
return new Nc(this)
};
h.nj = function (a) {
Qc(this);
var b = 0,
c = this.O,
d = this.d,
e = this.zg,
f = this,
g = new Mc;
g.next = function () {
for (;;) {
if (e != f.zg) throw Error("The map has changed since the iterator was created");
if (b >= c.length) throw Lc;
var g = c[b++];
return a ? g : d[g]
}
};
return g
};
var Rc = function (a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
var Sc = function (a) {
if ("function" == typeof a.Ka) return a.Ka();
if (u(a)) return a.split("");
if (ia(a)) {
for (var b = [], c = a.length, d = 0; d < c; d++) b.push(a[d]);
return b
}
return Bc(a)
},
Tc = function (a) {
if ("function" == typeof a.rc) return a.rc();
if ("function" != typeof a.Ka) {
if (ia(a) || u(a)) {
var b = [];
a = a.length;
for (var c = 0; c < a; c++) b.push(c);
return b
}
return Cc(a)
}
},
Uc = function (a, b) {
if ("function" == typeof a.forEach) a.forEach(b, void 0);
else if (ia(a) || u(a)) B(a, b, void 0);
else
for (var c = Tc(a), d = Sc(a), e = d.length, f = 0; f < e; f++) b.call(void 0,
d[f], c && c[f], a)
};
var Vc = function (a) {
this.d = new Nc;
a && this.wg(a)
},
Wc = function (a) {
var b = typeof a;
return "object" == b && a || "function" == b ? "o" + pa(a) : b.substr(0, 1) + a
};
h = Vc.prototype;
h.add = function (a) {
this.d.set(Wc(a), a)
};
h.wg = function (a) {
a = Sc(a);
for (var b = a.length, c = 0; c < b; c++) this.add(a[c])
};
h.cb = function (a) {
a = Sc(a);
for (var b = a.length, c = 0; c < b; c++) this.remove(a[c])
};
h.remove = function (a) {
return this.d.remove(Wc(a))
};
h.isEmpty = function () {
return this.d.isEmpty()
};
h.contains = function (a) {
return this.d.Kd(Wc(a))
};
h.Hj = function (a) {
var b = new Vc;
a = Sc(a);
for (var c = 0; c < a.length; c++) {
var d = a[c];
this.contains(d) && b.add(d)
}
return b
};
h.Yl = function (a) {
var b = this.qa();
b.cb(a);
return b
};
h.Ka = function () {
return this.d.Ka()
};
h.qa = function () {
return new Vc(this)
};
h.nj = function () {
return this.d.nj(!1)
};
var Xc;
t: {
var Yc = l.navigator;
if (Yc) {
var Zc = Yc.userAgent;
if (Zc) {
Xc = Zc;
break t
}
}
Xc = ""
}
var $c = function (a) {
return -1 != Xc.indexOf(a)
};
var ad, bd, cd = $c("Opera") || $c("OPR"),
J = $c("Trident") || $c("MSIE"),
dd = $c("Gecko") && -1 == Xc.toLowerCase().indexOf("webkit") && !($c("Trident") || $c("MSIE")),
K = -1 != Xc.toLowerCase().indexOf("webkit"),
ed = l.navigator || null,
fd = ed && ed.platform || "";
ad = -1 != fd.indexOf("Mac");
bd = -1 != fd.indexOf("Win");
var gd = -1 != fd.indexOf("Linux"),
hd = function () {
var a = l.document;
return a ? a.documentMode : void 0
},
id = function () {
var a = "",
b;
if (cd && l.opera) return a = l.opera.version, ka(a) ? a() : a;
dd ? b = /rv\:([^\);]+)(\)|;)/ : J ? b = /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/ : K && (b = /WebKit\/(\S+)/);
b && (a = (a = b.exec(Xc)) ? a[1] : "");
return J && (b = hd(), b > parseFloat(a)) ? String(b) : a
}(),
jd = {},
L = function (a) {
var b;
if (!(b = jd[a])) {
b = 0;
for (var c = xa(String(id)).split("."), d = xa(String(a)).split("."), e = Math.max(c.length, d.length), f = 0; 0 == b && f < e; f++) {
var g =
c[f] || "",
k = d[f] || "",
m = RegExp("(\\d*)(\\D*)", "g"),
p = RegExp("(\\d*)(\\D*)", "g");
do {
var s = m.exec(g) || ["", "", ""],
t = p.exec(k) || ["", "", ""];
if (0 == s[0].length && 0 == t[0].length) break;
b = Ma(0 == s[1].length ? 0 : parseInt(s[1], 10), 0 == t[1].length ? 0 : parseInt(t[1], 10)) || Ma(0 == s[2].length, 0 == t[2].length) || Ma(s[2], t[2])
} while (0 == b)
}
b = jd[a] = 0 <= b
}
return b
},
ld = function (a) {
return J && kd >= a
},
md = l.document,
kd = md && J ? hd() || ("CSS1Compat" == md.compatMode ? parseInt(id, 10) : 5) : void 0;
var nd = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),
pd = function (a) {
if (od) {
od = !1;
var b = l.location;
if (b) {
var c = b.href;
if (c && (c = (c = pd(c)[3] || null) && decodeURIComponent(c)) && c != b.hostname) throw od = !0, Error();
}
}
return a.match(nd)
},
od = K;
var N = function (a, b) {
var c;
if (a instanceof N) this.kb = n(b) ? b : a.kb, this.Lf(a.Yd()), c = a.fd, qd(this), this.fd = c, this.Kf(a.If()), this.pe(a.le()), this.setPath(a.getPath()), rd(this, a.Za.qa()), this.oe(a.Jf());
else if (a && (c = pd(String(a)))) {
this.kb = !!b;
this.Lf(c[1] || "", !0);
var d = c[2] || "";
qd(this);
this.fd = sd(d);
this.Kf(c[3] || "", !0);
this.pe(c[4]);
this.setPath(c[5] || "", !0);
rd(this, c[6] || "", !0);
this.oe(c[7] || "", !0)
} else this.kb = !!b, this.Za = new td(null, 0, this.kb)
};
h = N.prototype;
h.Fa = "";
h.fd = "";
h.Ua = "";
h.Wa = null;
h.Pa = "";
h.Va = "";
h.yr = !1;
h.kb = !1;
h.toString = function () {
var a = [],
b = this.Yd();
b && a.push(ud(b, vd), ":");
if (b = this.If()) {
a.push("//");
var c = this.fd;
c && a.push(ud(c, vd), "@");
a.push(encodeURIComponent(String(b)));
b = this.le();
null != b && a.push(":", String(b))
}
if (b = this.getPath()) this.re() && "/" != b.charAt(0) && a.push("/"), a.push(ud(b, "/" == b.charAt(0) ? wd : xd));
(b = this.Za.toString()) && a.push("?", b);
(b = this.Jf()) && a.push("#", ud(b, yd));
return a.join("")
};
h.resolve = function (a) {
var b = this.qa(),
c = a.uf();
c ? b.Lf(a.Yd()) : c = !!a.fd;
if (c) {
var d = a.fd;
qd(b);
b.fd = d
} else c = a.re();
c ? b.Kf(a.If()) : c = a.Vh();
d = a.getPath();
if (c) b.pe(a.le());
else if (c = a.Uh()) {
if ("/" != d.charAt(0))
if (this.re() && !this.Uh()) 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("/.")) {
for (var d = 0 == e.lastIndexOf("/", 0), e = e.split("/"), f = [], g = 0; g < e.length;) {
var k = e[g++];
"." == k ? d && g == e.length &&
f.push("") : ".." == k ? ((1 < f.length || 1 == f.length && "" != f[0]) && f.pop(), d && g == e.length && f.push("")) : (f.push(k), d = !0)
}
d = f.join("/")
} else d = e
}
c ? b.setPath(d) : c = a.Wh();
c ? rd(b, sd(a.Za.toString())) : c = a.Th();
c && b.oe(a.Jf());
return b
};
h.qa = function () {
return new N(this)
};
h.Yd = function () {
return this.Fa
};
h.Lf = function (a, b) {
qd(this);
if (this.Fa = b ? sd(a) : a) this.Fa = this.Fa.replace(/:$/, "");
return this
};
h.uf = function () {
return !!this.Fa
};
h.If = function () {
return this.Ua
};
h.Kf = function (a, b) {
qd(this);
this.Ua = b ? sd(a) : a;
return this
};
h.re = function () {
return !!this.Ua
};
h.le = function () {
return this.Wa
};
h.pe = function (a) {
qd(this);
if (a) {
a = Number(a);
if (isNaN(a) || 0 > a) throw Error("Bad port number " + a);
this.Wa = a
} else this.Wa = null;
return this
};
h.Vh = function () {
return null != this.Wa
};
h.getPath = function () {
return this.Pa
};
h.setPath = function (a, b) {
qd(this);
this.Pa = b ? sd(a) : a;
return this
};
h.Uh = function () {
return !!this.Pa
};
h.Wh = function () {
return "" !== this.Za.toString()
};
var rd = function (a, b, c) {
qd(a);
b instanceof td ? (a.Za = b, a.Za.Ej(a.kb)) : (c || (b = ud(b, zd)), a.Za = new td(b, 0, a.kb));
return a
};
N.prototype.setQuery = function (a, b) {
return rd(this, a, b)
};
var Ad = function (a, b, c) {
qd(a);
a.Za.set(b, c);
return a
};
h = N.prototype;
h.Mf = function (a, b) {
qd(this);
q(b) || (b = [String(b)]);
this.Za.setValues(a, b);
return this
};
h.oa = function (a) {
return this.Za.get(a)
};
h.Jf = function () {
return this.Va
};
h.oe = function (a, b) {
qd(this);
this.Va = b ? sd(a) : a;
return this
};
h.Th = function () {
return !!this.Va
};
h.Nc = function (a) {
qd(this);
this.Za.remove(a);
return this
};
var qd = function (a) {
if (a.yr) throw Error("Tried to modify a read-only Uri");
};
N.prototype.Ej = function (a) {
this.kb = a;
this.Za && this.Za.Ej(a);
return this
};
var sd = function (a) {
return a ? decodeURIComponent(a) : ""
},
ud = function (a, b) {
return u(a) ? encodeURI(a).replace(b, Bd) : null
},
Bd = function (a) {
a = a.charCodeAt(0);
return "%" + (a >> 4 & 15).toString(16) + (a & 15).toString(16)
},
vd = /[#\/\?@]/g,
xd = /[\#\?:]/g,
wd = /[\#\?]/g,
zd = /[\#\?@]/g,
yd = /#/g,
td = function (a, b, c) {
this.mb = a || null;
this.kb = !!c
},
Dd = function (a) {
if (!a.U && (a.U = new Nc, a.Z = 0, a.mb))
for (var b = a.mb.split("&"), c = 0; c < b.length; c++) {
var d = b[c].indexOf("="),
e = null,
f = null;
0 <= d ? (e = b[c].substring(0, d), f = b[c].substring(d + 1)) : e = b[c];
e = decodeURIComponent(e.replace(/\+/g, " "));
e = Cd(a, e);
a.add(e, f ? decodeURIComponent(f.replace(/\+/g, " ")) : "")
}
},
Ed = function () {
var a = {
layout: "button_count",
width: "90",
show_faces: "false",
action: "like",
colorscheme: "light",
font: "arial",
height: "21"
},
b = Tc(a);
if ("undefined" == typeof b) throw Error("Keys are undefined");
for (var c = new td(null, 0, void 0), a = Sc(a), d = 0; d < b.length; d++) {
var e = b[d],
f = a[d];
q(f) ? c.setValues(e, f) : c.add(e, f)
}
return c
};
h = td.prototype;
h.U = null;
h.Z = null;
h.add = function (a, b) {
Dd(this);
this.mb = null;
a = Cd(this, a);
var c = this.U.get(a);
c || this.U.set(a, c = []);
c.push(b);
this.Z++;
return this
};
h.remove = function (a) {
Dd(this);
a = Cd(this, a);
return this.U.Kd(a) ? (this.mb = null, this.Z -= this.U.get(a).length, this.U.remove(a)) : !1
};
h.isEmpty = function () {
Dd(this);
return 0 == this.Z
};
h.Kd = function (a) {
Dd(this);
a = Cd(this, a);
return this.U.Kd(a)
};
h.rc = function () {
Dd(this);
for (var a = this.U.Ka(), b = this.U.rc(), 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.Ka = function (a) {
Dd(this);
var b = [];
if (u(a)) this.Kd(a) && (b = bb(b, this.U.get(Cd(this, a))));
else {
a = this.U.Ka();
for (var c = 0; c < a.length; c++) b = bb(b, a[c])
}
return b
};
h.set = function (a, b) {
Dd(this);
this.mb = null;
a = Cd(this, a);
this.Kd(a) && (this.Z -= this.U.get(a).length);
this.U.set(a, [b]);
this.Z++;
return this
};
h.get = function (a, b) {
var c = a ? this.Ka(a) : [];
return 0 < c.length ? String(c[0]) : b
};
h.setValues = function (a, b) {
this.remove(a);
0 < b.length && (this.mb = null, this.U.set(Cd(this, a), cb(b)), this.Z += b.length)
};
h.toString = function () {
if (this.mb) return this.mb;
if (!this.U) return "";
for (var a = [], b = this.U.rc(), c = 0; c < b.length; c++)
for (var d = b[c], e = encodeURIComponent(String(d)), d = this.Ka(d), f = 0; f < d.length; f++) {
var g = e;
"" !== d[f] && (g += "=" + encodeURIComponent(String(d[f])));
a.push(g)
}
return this.mb = a.join("&")
};
h.qa = function () {
var a = new td;
a.mb = this.mb;
this.U && (a.U = this.U.qa(), a.Z = this.Z);
return a
};
var Cd = function (a, b) {
var c = String(b);
a.kb && (c = c.toLowerCase());
return c
};
td.prototype.Ej = function (a) {
a && !this.kb && (Dd(this), this.mb = null, this.U.forEach(function (a, c) {
var d = c.toLowerCase();
c != d && (this.remove(c), this.setValues(d, a))
}, this));
this.kb = a
};
var Fd = function () {
google.maps.MVCObject.call(this)
};
z(Fd, google.maps.MVCObject);
var Gd = {
FOLDER: "FOLDER",
KML: "KML",
GEOJSON: "GEOJSON",
GEORSS: "GEORSS",
GOOGLE_MAP_TILES: "TILE",
TILE: "TILE",
CSV: "CSV",
GOOGLE_SPREADSHEET: "GOOGLE_SPREADSHEET",
GOOGLE_FUSION_TABLES: "FUSION",
GOOGLE_ONION: "ONION",
GOOGLE_MAP_DATA: "MAPS_ENGINE",
GOOGLE_MAPS_ENGINE: "MAPS_ENGINE",
GOOGLE_TRAFFIC: "TRAFFIC",
GOOGLE_TRANSIT: "TRANSIT",
GOOGLE_WEATHER: "WEATHER",
GOOGLE_CLOUD_IMAGERY: "CLOUD",
WMS: "WMS",
GOOGLE_MAPS_ENGINE_LITE_OR_PRO: "GOOGLE_MAPS_ENGINE_LITE_OR_PRO"
},
Hd = {
GOOGLE: "GOOGLE",
BING: "BING",
TMS: "TMS"
},
Jd = {
BLACK: "BLACK",
WHITE: "WHITE"
},
Kd = {
CELSIUS: "CELSIUS",
FAHRENHEIT: "FAHRENHEIT"
},
Ld = {
KILOMETERS_PER_HOUR: "KILOMETERS_PER_HOUR",
METERS_PER_SECOND: "METERS_PER_SECOND",
MILES_PER_HOUR: "MILES_PER_HOUR"
},
Md = {
CHECK: "UNLOCKED",
CHECK_HIDE_CHILDREN: "LOCKED",
RADIO_FOLDER: "SINGLE_SELECT"
},
Od = function (a) {
var b = Gd[a.type];
if (!b) return null;
var c = a.source || {},
d = new Fd;
d.set("id", a.id || "");
d.set("type", b);
d.set("title", a.title || "");
d.set("description", new sc(a.description || ""));
d.set("legend", new sc(a.legend || ""));
d.set("viewport",
oc((a.viewport || {}).lat_lon_alt_box));
d.set("full_extent", oc((a.full_extent || {}).lat_lon_alt_box));
d.set("default_visibility", "DEFAULT_ON" === a.visibility || "ALWAYS_ON" === a.visibility);
d.set("min_zoom", a.min_zoom || null);
d.set("max_zoom", a.max_zoom || null);
d.set("opacity", "opacity" in a ? ib(a.opacity / 100, 0, 1) : 1);
d.set("suppress_download_link", a.suppress_download_link || null);
d.set("suppress_info_windows", a.suppress_info_windows || null);
d.set("clip_to_viewport", a.clip_to_viewport || null);
switch (b) {
case "KML":
d.set("url", (c.kml || {}).url);
break;
case "GEORSS":
d.set("url", (c.georss || {}).url);
break;
case "GOOGLE_MAPS_ENGINE_LITE_OR_PRO":
b = c.google_maps_engine_lite_or_pro || {};
c = b.maps_engine_url;
d.set("maps_engine_url", c);
d.set("url", b.url || Nd(c));
break;
case "TILE":
b = c.tile || c.google_map_tiles || {};
d.set("url", b.url);
d.set("url_is_tile_index", b.url_is_tile_index);
d.set("tile_coordinate_type", Hd[b.tile_coordinate_type] || "GOOGLE");
break;
case "GEOJSON":
case "CSV":
case "GOOGLE_SPREADSHEET":
b = c[b.toLowerCase()] || {};
d.set("url",
b.url || "");
d.set("title_template", b.title_template || "");
d.set("description_template", new sc(b.description_template || ""));
d.set("latitude_field", b.latitude_field || "");
d.set("longitude_field", b.longitude_field || "");
d.set("icon_url_template", b.icon_url_template || "");
d.set("color_template", b.color_template || "");
d.set("hotspot_template", b.hotspot_template || "");
b = b.conditions || ["", "", ""];
d.set("condition0", b[0] || "");
d.set("condition1", b[1] || "");
d.set("condition2", b[2] || "");
break;
case "FUSION":
b = c.google_fusion_tables || {};
d.set("ft_select", b.select);
d.set("ft_from", b.from);
d.set("ft_where", b.where);
d.set("ft_heatmap", b.heatmap_enabled || null);
break;
case "ONION":
d.set("layer_id", (c.google_onion || {}).id);
break;
case "MAPS_ENGINE":
b = c.google_maps_engine || c.google_map_data || {};
d.set("maps_engine_map_id", b.map_id);
d.set("maps_engine_layer_id", b.layer_id);
d.set("maps_engine_layer_key", b.layer_key);
d.set("layer_type", b.sub_type);
d.set("maps_engine_vector_layer", b.vector_layer);
d.set("maps_engine_image_layer", b.image_layer);
d.set("maps_engine_auth_token", (b.tile_auth_token || {}).token);
break;
case "WEATHER":
b = c.weather || {};
d.set("label_color", Jd[b.label_color] || "BLACK");
d.set("temperature_unit", Kd[b.temperature_unit] || "CELSIUS");
d.set("wind_speed_unit", Ld[b.wind_speed_unit] || "KILOMETERS_PER_HOUR");
break;
case "FOLDER":
d.set("folder_type", Md[a.list_item_type]);
break;
case "WMS":
b = c.wms || {}, d.set("url", b.url), d.set("wms_layers", b.layer_names)
}
var e = new google.maps.MVCArray;
d.set("sublayers", e);
O(e, "insert_at", function (a) {
e.getAt(a).set("parent",
this)
}, d);
B(a.sublayers || [], function (a) {
(a = Od(a)) && e.push(a)
});
P(d, "type", function () {
"FOLDER" !== d.get("type") && d.set("folder_type", null)
});
P(d, "maps_engine_url", function () {
if ("GOOGLE_MAPS_ENGINE_LITE_OR_PRO" === d.get("type")) {
var a = d.get("maps_engine_url");
d.set("maps_engine_url", a);
d.set("url", Nd(a))
}
});
return d
},
Nd = function (a) {
return a ? a.replace(/\/map\/.*?\?/, "/map/kml?") : ""
};
Fd.prototype.changed = function (a) {
"folder_type" === a ? Q(this, "MODEL_CHANGED", {
rb: this
}) : Q(this, "MODEL_CHANGED")
};
Fd.prototype.changed = Fd.prototype.changed;
var Pd = function (a) {
var b = a.get("type");
switch (b) {
case "KML":
case "GEOJSON":
case "GEORSS":
case "TILE":
case "CSV":
case "WMS":
case "GOOGLE_MAPS_ENGINE_LITE_OR_PRO":
return a = a.get("url") || "", "WMS" === b && (a = (new N(a, !0)).Nc("service").Nc("version").Nc("request").toString()), Ic(Gd)[b] + ":" + a;
default:
return ""
}
},
Qd = function (a) {
return Sa(a.get("sublayers").getArray(), function (a) {
return a.get("id")
})
},
Rd = function (a, b) {
var c = null;
a.get("sublayers").forEach(function (a) {
b === a.get("id") && (c = a)
});
return c
},
Sd = function (a) {
return "SINGLE_SELECT" ===
a.get("folder_type")
},
Td = function (a, b) {
if (!ja(b)) return !0;
var c = a.get("min_zoom");
if (ja(c) && b < c) return !1;
c = a.get("max_zoom");
return ja(c) && b > c ? !1 : !0
};
var Ud = function (a) {
Ud[" "](a);
return a
};
Ud[" "] = ea;
var Vd = !J || ld(9),
Wd = !J || ld(9),
Xd = J && !L("9");
!K || L("528");
dd && L("1.9b") || J && L("8") || cd && L("9.5") || K && L("528");
dd && !L("8") || J && L("9");
var Yd = function () {};
Yd.prototype.He = !1;
Yd.prototype.v = function () {
this.He || (this.He = !0, this.m())
};
Yd.prototype.m = function () {
if (this.hf)
for (; this.hf.length;) this.hf.shift()()
};
var Zd = function (a) {
a && "function" == typeof a.v && a.v()
},
$d = function (a) {
for (var b = 0, c = arguments.length; b < c; ++b) {
var d = arguments[b];
ia(d) ? $d.apply(null, d) : Zd(d)
}
};
var ae = function (a, b) {
this.type = a;
this.currentTarget = this.target = b;
this.defaultPrevented = this.od = !1;
this.jm = !0
};
ae.prototype.m = function () {};
ae.prototype.v = function () {};
ae.prototype.stopPropagation = function () {
this.od = !0
};
ae.prototype.preventDefault = function () {
this.defaultPrevented = !0;
this.jm = !1
};
var be = function (a) {
a.preventDefault()
};
var ce = function (a, b) {
ae.call(this, a ? a.type : "");
this.relatedTarget = this.currentTarget = this.target = null;
this.charCode = this.keyCode = this.button = this.screenY = this.screenX = this.clientY = this.clientX = this.offsetY = this.offsetX = 0;
this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;
this.state = null;
this.jj = !1;
this.zc = null;
a && this.jf(a, b)
};
z(ce, ae);
var de = [1, 4, 2];
ce.prototype.jf = function (a, b) {
var c = this.type = a.type;
this.target = a.target || a.srcElement;
this.currentTarget = b;
var d = a.relatedTarget;
if (d) {
if (dd) {
var e;
t: {
try {
Ud(d.nodeName);
e = !0;
break t
} catch (f) {}
e = !1
}
e || (d = null)
}
} else "mouseover" == c ? d = a.fromElement : "mouseout" == c && (d = a.toElement);
this.relatedTarget = d;
this.offsetX = K || void 0 !== a.offsetX ? a.offsetX : a.layerX;
this.offsetY = K || 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.button = a.button;
this.keyCode = a.keyCode || 0;
this.charCode = a.charCode || ("keypress" == c ? a.keyCode : 0);
this.ctrlKey = a.ctrlKey;
this.altKey = a.altKey;
this.shiftKey = a.shiftKey;
this.metaKey = a.metaKey;
this.jj = ad ? a.metaKey : a.ctrlKey;
this.state = a.state;
this.zc = a;
a.defaultPrevented && this.preventDefault()
};
var ee = function (a) {
return (Vd ? 0 == a.zc.button : "click" == a.type ? !0 : !!(a.zc.button & de[0])) && !(K && ad && a.ctrlKey)
};
ce.prototype.stopPropagation = function () {
ce.l.stopPropagation.call(this);
this.zc.stopPropagation ? this.zc.stopPropagation() : this.zc.cancelBubble = !0
};
ce.prototype.preventDefault = function () {
ce.l.preventDefault.call(this);
var a = this.zc;
if (a.preventDefault) a.preventDefault();
else if (a.returnValue = !1, Xd) try {
if (a.ctrlKey || 112 <= a.keyCode && 123 >= a.keyCode) a.keyCode = -1
} catch (b) {}
};
ce.prototype.Ac = function () {
return this.zc
};
ce.prototype.m = function () {};
var fe = "closure_listenable_" + (1E6 * Math.random() | 0),
ge = function (a) {
try {
return !(!a || !a[fe])
} catch (b) {
return !1
}
},
he = 0;
var ie = function (a, b, c, d, e, f) {
this.kd = a;
this.dh = b;
this.src = c;
this.type = d;
this.Wg = !!e;
this.Zg = f;
this.key = ++he;
this.Rd = this.Yg = !1
},
je = function (a) {
a.Rd = !0;
a.kd = null;
a.dh = null;
a.src = null;
a.Zg = null
};
var ke = function (a) {
this.src = a;
this.Aa = {};
this.cf = 0
};
ke.prototype.add = function (a, b, c, d, e) {
var f = a.toString();
a = this.Aa[f];
a || (a = this.Aa[f] = [], this.cf++);
var g = le(a, b, d, e); - 1 < g ? (b = a[g], c || (b.Yg = !1)) : (b = new ie(b, null, this.src, f, !!d, e), b.Yg = c, a.push(b));
return b
};
ke.prototype.remove = function (a, b, c, d) {
a = a.toString();
if (!(a in this.Aa)) return !1;
var e = this.Aa[a];
b = le(e, b, c, d);
return -1 < b ? (je(e[b]), Pa.splice.call(e, b, 1), 0 == e.length && (delete this.Aa[a], this.cf--), !0) : !1
};
var me = function (a, b) {
var c = b.type;
if (!(c in a.Aa)) return !1;
var d = ab(a.Aa[c], b);
d && (je(b), 0 == a.Aa[c].length && (delete a.Aa[c], a.cf--));
return d
};
ke.prototype.cb = function (a) {
a = a && a.toString();
var b = 0,
c;
for (c in this.Aa)
if (!a || c == a) {
for (var d = this.Aa[c], e = 0; e < d.length; e++)++b, je(d[e]);
delete this.Aa[c];
this.cf--
}
return b
};
ke.prototype.Ze = function (a, b, c, d) {
a = this.Aa[a.toString()];
var e = -1;
a && (e = le(a, b, c, d));
return -1 < e ? a[e] : null
};
var le = function (a, b, c, d) {
for (var e = 0; e < a.length; ++e) {
var f = a[e];
if (!f.Rd && f.kd == b && f.Wg == !!c && f.Zg == d) return e
}
return -1
};
var ne = "closure_lm_" + (1E6 * Math.random() | 0),
oe = {},
pe = 0,
qe = function (a, b, c, d, e) {
if (q(b)) {
for (var f = 0; f < b.length; f++) qe(a, b[f], c, d, e);
return null
}
c = re(c);
return ge(a) ? a.h(b, c, d, e) : se(a, b, c, !1, d, e)
},
se = function (a, b, c, d, e, f) {
if (!b) throw Error("Invalid event type");
var g = !!e,
k = te(a);
k || (a[ne] = k = new ke(a));
c = k.add(b, c, d, e, f);
if (c.dh) return c;
d = ue();
c.dh = d;
d.src = a;
d.kd = c;
a.addEventListener ? a.addEventListener(b.toString(), d, g) : a.attachEvent(ve(b.toString()), d);
pe++;
return c
},
ue = function () {
var a = we,
b = Wd ? function (c) {
return a.call(b.src,
b.kd, c)
} : function (c) {
c = a.call(b.src, b.kd, c);
if (!c) return c
};
return b
},
xe = function (a, b, c, d, e) {
if (q(b)) {
for (var f = 0; f < b.length; f++) xe(a, b[f], c, d, e);
return null
}
c = re(c);
return ge(a) ? a.vj(b, c, d, e) : se(a, b, c, !0, d, e)
},
ye = function (a, b, c, d, e) {
if (q(b))
for (var f = 0; f < b.length; f++) ye(a, b[f], c, d, e);
else c = re(c), ge(a) ? a.M(b, c, d, e) : a && (a = te(a)) && (b = a.Ze(b, c, !!d, e)) && ze(b)
},
ze = function (a) {
if (ja(a) || !a || a.Rd) return !1;
var b = a.src;
if (ge(b)) return me(b.Bb, a);
var c = a.type,
d = a.dh;
b.removeEventListener ? b.removeEventListener(c,
d, a.Wg) : b.detachEvent && b.detachEvent(ve(c), d);
pe--;
(c = te(b)) ? (me(c, a), 0 == c.cf && (c.src = null, b[ne] = null)) : je(a);
return !0
},
ve = function (a) {
return a in oe ? oe[a] : oe[a] = "on" + a
},
Be = function (a, b, c, d) {
var e = 1;
if (a = te(a))
if (b = a.Aa[b.toString()])
for (b = cb(b), a = 0; a < b.length; a++) {
var f = b[a];
f && f.Wg == c && !f.Rd && (e &= !1 !== Ae(f, d))
}
return Boolean(e)
},
Ae = function (a, b) {
var c = a.kd,
d = a.Zg || a.src;
a.Yg && ze(a);
return c.call(d, b)
},
we = function (a, b) {
if (a.Rd) return !0;
if (!Wd) {
var c = b || da("window.event"),
d = new ce(c, this),
e = !0;
if (!(0 >
c.keyCode || void 0 != c.returnValue)) {
t: {
var f = !1;
if (0 == c.keyCode) try {
c.keyCode = -1;
break t
} catch (g) {
f = !0
}
if (f || void 0 == c.returnValue) c.returnValue = !0
}
c = [];
for (f = d.currentTarget; f; f = f.parentNode) c.push(f);
for (var f = a.type, k = c.length - 1; !d.od && 0 <= k; k--) d.currentTarget = c[k], e &= Be(c[k], f, !0, d);
for (k = 0; !d.od && k < c.length; k++) d.currentTarget = c[k], e &= Be(c[k], f, !1, d)
}
return e
}
return Ae(a, new ce(b, this))
},
te = function (a) {
a = a[ne];
return a instanceof ke ? a : null
},
Ce = "__closure_events_fn_" + (1E9 * Math.random() >>> 0),
re =
function (a) {
return ka(a) ? a : a[Ce] || (a[Ce] = function (b) {
return a.handleEvent(b)
})
};
var R = function () {
this.Bb = new ke(this);
this.Bq = this
};
z(R, Yd);
R.prototype[fe] = !0;
h = R.prototype;
h.Ag = null;
h.ej = function (a) {
this.Ag = a
};
h.addEventListener = function (a, b, c, d) {
qe(this, a, b, c, d)
};
h.removeEventListener = function (a, b, c, d) {
ye(this, a, b, c, d)
};
h.dispatchEvent = function (a) {
var b, c = this.Ag;
if (c)
for (b = []; c; c = c.Ag) b.push(c);
var c = this.Bq,
d = a.type || a;
if (u(a)) a = new ae(a, c);
else if (a instanceof ae) a.target = a.target || c;
else {
var e = a;
a = new ae(d, c);
Kc(a, e)
}
var e = !0,
f;
if (b)
for (var g = b.length - 1; !a.od && 0 <= g; g--) f = a.currentTarget = b[g], e = De(f, d, !0, a) && e;
a.od || (f = a.currentTarget = c, e = De(f, d, !0, a) && e, a.od || (e = De(f, d, !1, a) && e));
if (b)
for (g = 0; !a.od && g < b.length; g++) f = a.currentTarget = b[g], e = De(f, d, !1, a) && e;
return e
};
h.m = function () {
R.l.m.call(this);
this.Bb && this.Bb.cb(void 0);
this.Ag = null
};
h.h = function (a, b, c, d) {
return this.Bb.add(String(a), b, !1, c, d)
};
h.vj = function (a, b, c, d) {
return this.Bb.add(String(a), b, !0, c, d)
};
h.M = function (a, b, c, d) {
return this.Bb.remove(String(a), b, c, d)
};
var De = function (a, b, c, d) {
b = a.Bb.Aa[String(b)];
if (!b) return !0;
b = cb(b);
for (var e = !0, f = 0; f < b.length; ++f) {
var g = b[f];
if (g && !g.Rd && g.Wg == c) {
var k = g.kd,
m = g.Zg || g.src;
g.Yg && me(a.Bb, g);
e = !1 !== k.call(m, d) && e
}
}
return e && !1 != d.jm
};
R.prototype.Ze = function (a, b, c, d) {
return this.Bb.Ze(String(a), b, c, d)
};
var O = function (a, b, c, d) {
var e = q(a) ? a : [a],
f = q(b) ? b : [b];
d && (c = v(c, d));
for (var g = [], k = 0; k < e.length; k++)
for (var m = e[k] instanceof R ? qe : e[k].addEventListener || e[k].attachEvent ? google.maps.event.addDomListener : google.maps.event.addListener, p = 0; p < f.length; p++) g.push(m(e[k], f[p], c));
d && ("__referring_listeners__" in d || (d.__referring_listeners__ = []), db(d.__referring_listeners__, g));
return q(a) || q(b) ? g : g[0]
},
Ee = function (a, b) {
for (var c = q(a) ? a : [a], d = 0; a = c[d]; d++) ja(c[d]) || c[d] instanceof ie ? ze(c[d]) : google.maps.event.removeListener(c[d]),
b && ab(b.__referring_listeners__ || [], a)
},
P = function (a, b, c, d) {
for (var e = q(a) ? a : [a], f = q(b) ? b : [b], g = [], k = 0; k < e.length; k++) B(f, function (a) {
var b = !1;
g.push(O(e[k], a.toLowerCase() + "_changed", function () {
b || (b = !0, c.call(this, a), b = !1)
}, d))
});
return q(a) || q(b) ? g : g[0]
},
Q = function (a, b, c) {
c = Hc(c || {});
c.type = b;
a instanceof R ? a.dispatchEvent(c) : google.maps.event.trigger(a, b, c)
},
Fe = function (a, b, c, d, e) {
var f = q(b) ? b : [b],
g = [];
B(f, function (b) {
g.push(O(a, b, function (a) {
Q(this, d || b, e || a)
}, c))
});
return q(b) ? g : g[0]
},
Ge = function (a) {
Ee(a.__referring_listeners__ || []);
a.__referring_listeners__ = []
};
var He = function () {
google.maps.MVCObject.call(this)
};
z(He, google.maps.MVCObject);
var Ie = function (a, b) {
var c = new He,
d = a.id;
d || (d = (a.title || "").replace(/[^\w.-]+/g, " "), d = xa(d).replace(/ /g, "_").toLowerCase());
c.set("id", d);
c.set("title", a.title || "");
c.set("viewport", oc((a.viewport || {}).lat_lon_alt_box));
c.set("layer_ids", (new Vc(b)).Hj(a.layer_ids || []).Ka());
c.set("tags", a.tags || []);
c.set("crowd_enabled", a.crowd_enabled || !1);
c.set("cluster_radius", a.cluster_radius || 0);
c.set("questions", Sa(a.questions || [], function (a) {
return a.id ? {
id: a.id,
text: a.text || "",
Kl: Sa(a.answers || [], function (a) {
return a.id ? {
id: a.id,
title: a.title || "",
label: a.label || "",
color: a.color || ""
} : null
})
} : null
}));
return c
};
He.prototype.changed = function () {
Q(this, "MODEL_CHANGED")
};
He.prototype.changed = He.prototype.changed;
var Je = function () {
google.maps.MVCObject.call(this);
this.Vb = {};
this.nf = {};
this.Kb = {}
};
z(Je, google.maps.MVCObject);
var Ke = {
ROADMAP: "ROADMAP",
SATELLITE: "SATELLITE",
HYBRID: "HYBRID",
TERRAIN: "TERRAIN",
Xr: "CUSTOM",
Zr: "OSM"
},
Le = {
GOOGLE_ROADMAP: "ROADMAP",
GOOGLE_SATELLITE: "SATELLITE",
GOOGLE_HYBRID: "HYBRID",
GOOGLE_TERRAIN: "TERRAIN",
OSM: "OSM"
},
Pe = function (a) {
var b = new Je;
b.set("id", a.id || "");
b.set("title", a.title || "");
b.set("description", new sc(a.description || ""));
b.set("footer", new sc(a.footer || ""));
b.set("languages", a.languages || []);
b.set("region", a.region || "");
b.set("thumbnail_url", a.thumbnail_url || "");
b.set("viewport",
oc((a.viewport || {}).lat_lon_alt_box));
b.set("full_extent", oc((a.full_extent || {}).lat_lon_alt_box));
b.set("base_map_style", (a.base_map_style || {}).definition || "");
b.set("base_map_style_name", (a.base_map_style || {}).name || "");
b.set("map_type", b.get("base_map_style") ? "CUSTOM" : Le[a.base_map_type] || "ROADMAP");
(function (a, b) {
var e = new google.maps.MVCArray;
a.set("layers", e);
O(e, "insert_at", function (b) {
Me(a, e.getAt(b))
});
O(e, "remove_at", function (b, d) {
Ne(a, d)
});
B(b.layers || [], function (a) {
(a = Od(a)) && e.push(a)
})
})(b,
a);
(function (a, b, e) {
var f = new google.maps.MVCArray;
a.set("topics", f);
O(f, "insert_at", function (b) {
b = f.getAt(b);
var d = b.get("id");
if (a.nf[d] !== b) {
if (!d || d in a.nf) {
for (d = 1; d in a.nf; d++);
b.set("id", "" + d)
}
a.nf[d] = b;
a.Kb[d] = [Fe(b, "MODEL_CHANGED", a)]
}
Q(a, "TOPICS_ADDED", {
Wr: [b]
})
});
O(f, "remove_at", function (b, d) {
var e = d.get("id"),
f = a.Kb[e];
f && Ee(f);
delete a.nf[e];
Q(a, "TOPICS_REMOVED", {
ck: [e]
})
});
B(b.topics || [], function (a) {
(a = Ie(a, e)) && f.push(a)
})
})(b, a, Oe(b));
return b
};
Je.prototype.changed = function () {
Q(this, "MODEL_CHANGED")
};
Je.prototype.changed = Je.prototype.changed;
var Oe = function (a) {
var b = [],
c;
for (c in a.Vb) b.push(c);
return b
},
Qe = function (a) {
return Sa(a.get("layers").getArray(), function (a) {
return a.get("id")
})
},
Re = function (a, b) {
var c = [];
a.get("topics").forEach(function (a) {
C(a.get("layer_ids"), b) && a.get("crowd_enabled") && c.push(a)
});
return c
},
Me = function (a, b) {
var c = [];
Zb(b, function (a) {
Se(this, a);
c.push(a)
}, null, a);
Q(a, "LAYERS_ADDED", {
Gn: c
})
},
Ne = function (a, b) {
var c = [];
Zb(b, function (a) {
a = a.get("id");
var b = this.Kb[a];
b && Ee(b);
delete this.Vb[a];
c.push(a)
}, null,
a);
Q(a, "LAYERS_REMOVED", {
ck: c
})
},
Se = function (a, b) {
var c = b.get("id");
if (a.Vb[c] !== b) {
if (!c || c in a.Vb) {
for (c = 1; c in a.Vb; c++);
b.set("id", "" + c)
}
a.Vb[c] = b;
var d = b.get("sublayers");
a.Kb[c] = [Fe(b, "MODEL_CHANGED", a), O(d, "insert_at", function (a) {
Me(this, d.getAt(a))
}, a), O(d, "remove_at", function (a, b) {
Ne(this, b)
}, a)]
}
},
Te = function (a) {
var b = !1;
$b(a, function (a) {
if (!a.get("legend").isEmpty()) {
if (!a.get("default_visibility"))
for (a = a.get("parent"); a;) {
if ("LOCKED" == a.get("folder_type")) return;
a = a.get("parent")
}
b = !0
}
}, function () {
return !b
});
return b
};
var Ye = function (a, b, c) {
google.maps.MVCObject.call(this);
this.set("language", c || "en");
this.set("enabled_layer_ids", new Vc);
this.set("filter_query", "");
this.set("matched_layer_ids", []);
this.set("layer_opacities", {});
this.set("viewport", mc);
this.set("map_type", "ROADMAP");
a && Ve(this, a);
b && We(this, b, a);
O(F, ["MODEL_CHANGED"], function (a) {
a.rb && Xe(this, a.rb)
}, this)
};
z(Ye, google.maps.MVCObject);
var Ze = function (a) {
var b = new Ye(void 0, void 0, a.get("language"));
b.set("enabled_layer_ids", a.get("enabled_layer_ids").qa());
b.set("matched_layer_ids", cb(a.get("matched_layer_ids")));
b.set("layer_opacities", Hc(a.get("layer_opacities")));
b.set("viewport", a.get("viewport"));
b.set("map_type", a.get("map_type"));
return b
},
$e = function (a, b) {
return a.get("enabled_layer_ids").contains(b)
},
af = function (a, b, c) {
var d = a.get("enabled_layer_ids");
d.contains(b) !== c && (c ? d.add(b) : d.remove(b), a.notify("enabled_layer_ids"))
},
bf = function (a) {
return a.get("filter_query")
},
cf = function (a, b) {
return C(a.get("matched_layer_ids"), b)
},
df = function (a, b) {
var c = a.get("enabled_layer_ids").Hj(Qd(b));
return c.isEmpty() ? null : c.Ka()[0]
},
Xe = function (a, b) {
var c = v(function (a) {
var b = this.get("enabled_layer_ids");
if (Sd(a)) {
var c = Qd(a);
if (a = df(this, a) || c.length && c[0]) b.cb(c), b.add(a)
}
}, a);
b.get("layers") ? $b(b, c) : Zb(b, c);
a.notify("enabled_layer_ids")
},
ef = function (a, b) {
var c = a.get("enabled_layer_ids"),
d = new Vc;
$b(b, function (a) {
a = a.get("id");
c.contains(a) &&
d.add(a)
}, function (a) {
return c.contains(a.get("id"))
}, a);
return d
},
Ve = function (a, b) {
var c = {};
$b(b, function (a) {
var b = a.get("id"),
f = a.get("opacity");
1 > f && (c[b] = 100 * f);
af(this, b, a.get("default_visibility"))
}, null, a);
Xe(a, b);
a.set("map_type", b.get("map_type") || "ROADMAP");
a.set("layer_opacities", c);
a.set("viewport", b.get("viewport"))
},
gf = function (a) {
var b = a.get("viewport");
a.get("enabled_layer_ids");
var c = new N(l.location);
c.oa("base") && (c = new N(c.oa("base")));
c.setQuery("");
Ad(c, "hl", a.get("language"));
Ad(c, "llbox", b.round(4).toString());
Ad(c, "t", a.get("map_type"));
Ad(c, "layers", ff(a));
a.get("filter_query") && Ad(c, "q", a.get("filter_query"));
return c
},
We = function (a, b, c) {
b = new N(b);
var d = (b.oa("t") || "").toUpperCase();
d && (Dc(Ke, d) || (d = "ROADMAP"), a.set("map_type", d));
d = b.oa("layers");
if (null != d) {
var e = new Vc,
f = Hc(a.get("layer_opacities"));
B(d.split(","), function (a) {
a = a.split(":");
e.add(a[0]);
2 == a.length && (f[a[0]] = a[1] - 0)
});
a.set("enabled_layer_ids", e);
a.set("layer_opacities", f)
} else c && (e = new Vc, d = b.oa("topics")) &&
(B(d.split(","), function (a) {
B(c.get("topics").getArray(), function (b) {
var c = b.get("tags");
C(c, a) && e.wg(b.get("layer_ids"))
})
}), a.set("enabled_layer_ids", e));
a.set("filter_query", b.oa("q") || "")
},
ff = function (a) {
var b = a.get("enabled_layer_ids").Ka(),
c = [],
d = a.get("layer_opacities") || {};
B(b, function (a) {
var b = a;
a in d && (b += ":" + d[a]);
c.push(b)
});
return c.join(",")
};
var hf = /#(.)(.)(.)/,
jf = /^#(?:[0-9a-f]{3}){1,2}$/i;
var kf = function (a, b) {
this.x = n(a) ? a : 0;
this.y = n(b) ? b : 0
};
kf.prototype.qa = function () {
return new kf(this.x, this.y)
};
kf.prototype.ceil = function () {
this.x = Math.ceil(this.x);
this.y = Math.ceil(this.y);
return this
};
kf.prototype.floor = function () {
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
return this
};
kf.prototype.round = function () {
this.x = Math.round(this.x);
this.y = Math.round(this.y);
return this
};
var lf = function (a, b) {
this.width = a;
this.height = b
};
h = lf.prototype;
h.qa = function () {
return new lf(this.width, this.height)
};
h.wr = function () {
return this.width * this.height
};
h.isEmpty = function () {
return !this.wr()
};
h.ceil = function () {
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
return this
};
h.floor = function () {
this.width = Math.floor(this.width);
this.height = Math.floor(this.height);
return this
};
h.round = function () {
this.width = Math.round(this.width);
this.height = Math.round(this.height);
return this
};
var mf = !J || ld(9);
!dd && !J || J && ld(9) || dd && L("1.9.1");
J && L("9");
var nf = function (a) {
a = a.className;
return u(a) && a.match(/\S+/g) || []
},
S = function (a, b) {
for (var c = nf(a), d = eb(arguments, 1), e = c.length + d.length, f = c, g = 0; g < d.length; g++) C(f, d[g]) || f.push(d[g]);
a.className = c.join(" ");
return c.length == e
},
pf = function (a, b) {
var c = nf(a),
c = of(c, eb(arguments, 1));
a.className = c.join(" ")
},
of = function (a, b) {
return Ra(a, function (a) {
return !C(b, a)
})
},
qf = function (a, b, c) {
for (var d = nf(a), e = !1, f = 0; f < d.length; f++) d[f] == b && (fb(d, f--, 1), e = !0);
e && (d.push(c), a.className = d.join(" "))
},
T = function (a,
b, c) {
c ? S(a, b) : pf(a, b)
};
var tf = function (a) {
return a ? new rf(sf(a)) : wa || (wa = new rf)
},
uf = function (a, b, c) {
var d = document;
c = c || d;
a = a && "*" != a ? a.toUpperCase() : "";
if (c.querySelectorAll && c.querySelector && (a || b)) return c.querySelectorAll(a + (b ? "." + b : ""));
if (b && c.getElementsByClassName) {
c = c.getElementsByClassName(b);
if (a) {
for (var d = {}, e = 0, f = 0, g; g = c[f]; f++) a == g.nodeName && (d[e++] = g);
d.length = e;
return d
}
return c
}
c = c.getElementsByTagName(a || "*");
if (b) {
d = {};
for (f = e = 0; g = c[f]; f++) a = g.className, "function" == typeof a.split && C(a.split(/\s+/),
b) && (d[e++] = g);
d.length = e;
return d
}
return c
},
wf = function (a, b) {
Ac(b, function (b, d) {
"style" == d ? a.style.cssText = b : "class" == d ? a.className = b : "for" == d ? a.htmlFor = b : d in vf ? a.setAttribute(vf[d], b) : 0 == d.lastIndexOf("aria-", 0) || 0 == d.lastIndexOf("data-", 0) ? a.setAttribute(d, b) : a[d] = b
})
},
vf = {
cellpadding: "cellPadding",
cellspacing: "cellSpacing",
colspan: "colSpan",
frameborder: "frameBorder",
height: "height",
maxlength: "maxLength",
role: "role",
rowspan: "rowSpan",
type: "type",
usemap: "useMap",
valign: "vAlign",
width: "width"
},
xf = function (a) {
a = a.document;
a = "CSS1Compat" == a.compatMode ? a.documentElement : a.body;
return new lf(a.clientWidth, a.clientHeight)
},
zf = function (a, b, c) {
return yf(document, arguments)
},
yf = function (a, b) {
var c = b[0],
d = b[1];
if (!mf && d && (d.name || d.type)) {
c = ["<", c];
d.name && c.push(' name="', Ea(d.name), '"');
if (d.type) {
c.push(' type="', Ea(d.type), '"');
var e = {};
Kc(e, d);
delete e.type;
d = e
}
c.push(">");
c = c.join("")
}
c = a.createElement(c);
d && (u(d) ? c.className = d : q(d) ? S.apply(null, [c].concat(d)) : wf(c, d));
2 < b.length && Af(a, c,
b);
return c
},
Af = function (a, b, c) {
function d(c) {
c && b.appendChild(u(c) ? a.createTextNode(c) : c)
}
for (var e = 2; e < c.length; e++) {
var f = c[e];
!ia(f) || la(f) && 0 < f.nodeType ? d(f) : B(Bf(f) ? cb(f) : f, d)
}
},
Cf = function (a) {
var b = document,
c = b.createElement("div");
J ? (c.innerHTML = "<br>" + a, c.removeChild(c.firstChild)) : c.innerHTML = a;
if (1 == c.childNodes.length) return c.removeChild(c.firstChild);
for (a = b.createDocumentFragment(); c.firstChild;) a.appendChild(c.firstChild);
return a
},
Df = function (a) {
for (var b; b = a.firstChild;) a.removeChild(b)
},
Ef = function (a) {
a && a.parentNode && a.parentNode.removeChild(a)
},
Ff = function (a, b) {
if (a.contains && 1 == b.nodeType) return a == b || a.contains(b);
if ("undefined" != typeof a.compareDocumentPosition) return a == b || Boolean(a.compareDocumentPosition(b) & 16);
for (; b && a != b;) b = b.parentNode;
return b == a
},
sf = function (a) {
return 9 == a.nodeType ? a : a.ownerDocument || a.document
},
Gf = function (a, b) {
if ("textContent" in a) a.textContent = b;
else if (3 == a.nodeType) a.data = b;
else if (a.firstChild && 3 == a.firstChild.nodeType) {
for (; a.lastChild != a.firstChild;) a.removeChild(a.lastChild);
a.firstChild.data = b
} else Df(a), a.appendChild(sf(a).createTextNode(String(b)))
},
If = function (a, b) {
var c = [];
Hf(a, b, c, !1);
return c
},
Hf = function (a, b, c, d) {
if (null != a)
for (a = a.firstChild; a;) {
if (b(a) && (c.push(a), d) || Hf(a, b, c, d)) return !0;
a = a.nextSibling
}
return !1
},
Jf = {
SCRIPT: 1,
STYLE: 1,
HEAD: 1,
IFRAME: 1,
OBJECT: 1
},
Kf = {
IMG: " ",
BR: "\n"
},
Lf = function (a) {
a = a.getAttributeNode("tabindex");
return null != a && a.specified
},
Mf = function (a) {
a = a.tabIndex;
return ja(a) && 0 <= a && 32768 > a
},
Nf = function (a, b, c) {
if (!(a.nodeName in Jf))
if (3 ==
a.nodeType) c ? b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g, "")) : b.push(a.nodeValue);
else if (a.nodeName in Kf) b.push(Kf[a.nodeName]);
else
for (a = a.firstChild; a;) Nf(a, b, c), a = a.nextSibling
},
Bf = function (a) {
if (a && "number" == typeof a.length) {
if (la(a)) return "function" == typeof a.item || "string" == typeof a.item;
if (ka(a)) return "function" == typeof a.item
}
return !1
},
rf = function (a) {
this.Ha = a || l.document || document
};
h = rf.prototype;
h.yd = tf;
h.e = function (a) {
return u(a) ? this.Ha.getElementById(a) : a
};
h.X = function (a, b, c) {
return yf(this.Ha, arguments)
};
h.createElement = function (a) {
return this.Ha.createElement(a)
};
h.createTextNode = function (a) {
return this.Ha.createTextNode(String(a))
};
var Of = function (a) {
return "CSS1Compat" == a.Ha.compatMode
},
Pf = function (a) {
var b = a.Ha;
a = K || "CSS1Compat" != b.compatMode ? b.body || b.documentElement : b.documentElement;
b = b.parentWindow || b.defaultView;
return J && L("10") && b.pageYOffset != a.scrollTop ? new kf(a.scrollLeft, a.scrollTop) : new kf(b.pageXOffset || a.scrollLeft, b.pageYOffset || a.scrollTop)
};
rf.prototype.appendChild = function (a, b) {
a.appendChild(b)
};
rf.prototype.contains = Ff;
rf.prototype.hc = function (a) {
var b;
(b = "A" == a.tagName || "INPUT" == a.tagName || "TEXTAREA" == a.tagName || "SELECT" == a.tagName || "BUTTON" == a.tagName ? !a.disabled && (!Lf(a) || Mf(a)) : Lf(a) && Mf(a)) && J ? (a = ka(a.getBoundingClientRect) ? a.getBoundingClientRect() : {
height: a.offsetHeight,
width: a.offsetWidth
}, a = null != a && 0 < a.height && 0 < a.width) : a = b;
return a
};
var _gaq = _gaq || [],
Qf = function (a, b) {
var c = {},
d;
for (d in b) c[d] = a + " - " + b[d];
return c
},
Rf = Qf("Tab panel", {
er: "About tab selected",
ir: "Details tab selected",
lr: "Layers tab selected",
pr: "Legend tab selected",
Vq: "Map picker menu item selected",
rr: "New tab selected",
Wj: "Panel toggled closed",
Xj: "Panel toggled open"
}),
Sf = Qf("Layers tab", {
lp: "Layer download data link clicked",
Wq: "Filter query entered",
mp: "View in maps engine link clicked",
qn: "Link embedded in layer description clicked",
On: "Layer opacity slider moved",
Uq: "Sublayer menu item selected",
un: "Layer checkbox toggled off",
vn: "Layer checkbox toggled on",
wn: 'Layer "Zoom to area" clicked'
}),
Tf = Qf("About tab", {
Vj: '"View reset" clicked'
}),
Uf = Qf("Map", {
So: "Base map menu item selected",
dr: "Layers panel button toggled on",
$q: "Layers panel button toggled off",
qr: "My location button clicked",
Qp: "Search query entered",
rq: "Share button toggled off",
tq: "Share button toggled on",
Nn: "Feature clicked"
}),
Vf = Qf("Crowd report card", {
Mq: "Vote button clicked"
}),
Wf = Qf("Crowd report form", {
Fq: "Answer button clicked",
Zo: "Close button clicked",
$o: '"Post" clicked',
ap: "Prompt bubble clicked"
}),
Xf = Qf("Passive", {
$p: "Crowd reports displayed",
aq: "Crowd votes displayed",
ok: "Layer displayed",
pk: "Layer hidden",
Fn: "Map zoom level changed",
Ao: "Page loaded"
}),
Yf = Qf("Share popup", {
Op: '"Shorten URLs" toggled off',
Pp: '"Shorten URLs" toggled on'
}),
Zf = {},
$f = null,
ag = function (a, b) {
$f = b;
_gaq.push(["_setAccount", a || "UA-8630973-2"]);
_gaq.push(["_setCustomVar", 4, "Is Embedded", (window != window.parent).toString()]);
_gaq.push(["_trackPageview"]);
var c = Yb.createElement("script");
c.type = "text/javascript";
c.async = !0;
c.src = ("https:" == Yb.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
var d;
d = uf("script", void 0, void 0);
d.length && (d = d[0], d.parentNode.insertBefore(c, d))
},
U = function (a, b, c) {
b && _gaq.push(["_setCustomVar", 1, "Layer ID", $f + " - " + b]);
_gaq.push(["_trackEvent", "Published map", a, $f, c, a in Xf]);
b && (_gaq.push(["_setCustomVar", 1, "Layer ID", null]), _gaq.push(["_setCustomVar", 5, "Topic ID",
null
]))
},
bg = function (a, b, c, d) {
ja(c) && 0 <= c && _gaq.push(["_trackTiming", a, b, c, d, void 0])
};
var cg = function (a) {
return 32 >= a || 4096 <= a && (8192 <= a && 8198 >= a || 8200 <= a && 8203 >= a || 5760 == a || 6158 == a || 8232 == a || 8233 == a || 8287 == a || 12288 == a)
},
dg = J && L(8),
eg = K ? "<wbr></wbr>" : cd ? "&shy;" : dg ? "&#8203;" : "<wbr>";
var fg = function (a, b, c, d) {
this.top = a;
this.right = b;
this.bottom = c;
this.left = d
};
h = fg.prototype;
h.qa = function () {
return new fg(this.top, this.right, this.bottom, this.left)
};
h.contains = function (a) {
return this && a ? a instanceof fg ? a.left >= this.left && a.right <= this.right && a.top >= this.top && a.bottom <= this.bottom : a.x >= this.left && a.x <= this.right && a.y >= this.top && a.y <= this.bottom : !1
};
h.ceil = function () {
this.top = Math.ceil(this.top);
this.right = Math.ceil(this.right);
this.bottom = Math.ceil(this.bottom);
this.left = Math.ceil(this.left);
return this
};
h.floor = function () {
this.top = Math.floor(this.top);
this.right = Math.floor(this.right);
this.bottom = Math.floor(this.bottom);
this.left = Math.floor(this.left);
return this
};
h.round = function () {
this.top = Math.round(this.top);
this.right = Math.round(this.right);
this.bottom = Math.round(this.bottom);
this.left = Math.round(this.left);
return this
};
var gg = function (a, b, c, d) {
this.left = a;
this.top = b;
this.width = c;
this.height = d
};
h = gg.prototype;
h.qa = function () {
return new gg(this.left, this.top, this.width, this.height)
};
h.Hj = function (a) {
var b = Math.max(this.left, a.left),
c = Math.min(this.left + this.width, a.left + a.width);
if (b <= c) {
var d = Math.max(this.top, a.top);
a = Math.min(this.top + this.height, a.top + a.height);
if (d <= a) return this.left = b, this.top = d, this.width = c - b, this.height = a - d, !0
}
return !1
};
h.Yl = function (a) {
var b;
i: {
b = Math.max(this.left, a.left);
var c = Math.min(this.left + this.width, a.left + a.width);
if (b <= c) {
var d = Math.max(this.top, a.top),
e = Math.min(this.top + this.height, a.top + a.height);
if (d <= e) {
b = new gg(b, d, c - b, e - d);
break i
}
}
b = null
}
if (b && b.height && b.width) {
b = [];
var c = this.top,
d = this.height,
e = this.left + this.width,
f = this.top + this.height,
g = a.left + a.width,
k = a.top + a.height;
a.top > this.top && (b.push(new gg(this.left, this.top, this.width, a.top - this.top)), c = a.top, d -= a.top - this.top);
k < f && (b.push(new gg(this.left,
k, this.width, f - k)), d = k - c);
a.left > this.left && b.push(new gg(this.left, c, a.left - this.left, d));
g < e && b.push(new gg(g, c, e - g, d));
a = b
} else a = [this.qa()];
return a
};
h.contains = function (a) {
return a instanceof gg ? this.left <= a.left && this.left + this.width >= a.left + a.width && this.top <= a.top && this.top + this.height >= a.top + a.height : a.x >= this.left && a.x <= this.left + this.width && a.y >= this.top && a.y <= this.top + this.height
};
h.getCenter = function () {
return new kf(this.left + this.width / 2, this.top + this.height / 2)
};
h.ceil = function () {
this.left = Math.ceil(this.left);
this.top = Math.ceil(this.top);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
return this
};
h.floor = function () {
this.left = Math.floor(this.left);
this.top = Math.floor(this.top);
this.width = Math.floor(this.width);
this.height = Math.floor(this.height);
return this
};
h.round = function () {
this.left = Math.round(this.left);
this.top = Math.round(this.top);
this.width = Math.round(this.width);
this.height = Math.round(this.height);
return this
};
var hg = function (a, b) {
var c = sf(a);
return c.defaultView && c.defaultView.getComputedStyle && (c = c.defaultView.getComputedStyle(a, null)) ? c[b] || c.getPropertyValue(b) || "" : ""
},
ig = function (a, b) {
return hg(a, b) || (a.currentStyle ? a.currentStyle[b] : null) || a.style && a.style[b]
},
jg = function (a) {
var b;
try {
b = a.getBoundingClientRect()
} catch (c) {
return {
left: 0,
top: 0,
right: 0,
bottom: 0
}
}
J && a.ownerDocument.body && (a = a.ownerDocument, b.left -= a.documentElement.clientLeft + a.body.clientLeft, b.top -= a.documentElement.clientTop + a.body.clientTop);
return b
},
kg = function (a) {
if (J && !ld(8)) return a.offsetParent;
var b = sf(a),
c = ig(a, "position"),
d = "fixed" == c || "absolute" == c;
for (a = a.parentNode; a && a != b; a = a.parentNode)
if (c = ig(a, "position"), d = d && "static" == c && a != b.documentElement && a != b.body, !d && (a.scrollWidth > a.clientWidth || a.scrollHeight > a.clientHeight || "fixed" == c || "absolute" == c || "relative" == c)) return a;
return null
},
lg = function (a) {
var b, c = sf(a),
d = ig(a, "position"),
e = dd && c.getBoxObjectFor && !a.getBoundingClientRect && "absolute" == d && (b = c.getBoxObjectFor(a)) &&
(0 > b.screenX || 0 > b.screenY),
f = new kf(0, 0),
g;
b = c ? sf(c) : document;
g = !J || ld(9) || Of(tf(b)) ? b.documentElement : b.body;
if (a == g) return f;
if (a.getBoundingClientRect) b = jg(a), a = Pf(tf(c)), f.x = b.left + a.x, f.y = b.top + a.y;
else if (c.getBoxObjectFor && !e) b = c.getBoxObjectFor(a), a = c.getBoxObjectFor(g), f.x = b.screenX - a.screenX, f.y = b.screenY - a.screenY;
else {
b = a;
do {
f.x += b.offsetLeft;
f.y += b.offsetTop;
b != a && (f.x += b.clientLeft || 0, f.y += b.clientTop || 0);
if (K && "fixed" == ig(b, "position")) {
f.x += c.body.scrollLeft;
f.y += c.body.scrollTop;
break
}
b = b.offsetParent
} while (b && b != a);
if (cd || K && "absolute" == d) f.y -= c.body.offsetTop;
for (b = a;
(b = kg(b)) && b != c.body && b != g;) f.x -= b.scrollLeft, cd && "TR" == b.tagName || (f.y -= b.scrollTop)
}
return f
},
ng = function (a) {
if (1 == a.nodeType) {
var b;
if (a.getBoundingClientRect) b = jg(a), b = new kf(b.left, b.top);
else {
b = Pf(tf(a));
var c = lg(a);
b = new kf(c.x - b.x, c.y - b.y)
} if (dd && !L(12)) {
i: {
c = Na();
if (void 0 === a.style[c] && (c = (K ? "Webkit" : dd ? "Moz" : J ? "ms" : cd ? "O" : null) + Oa(), void 0 !== a.style[c])) {
c = (K ? "-webkit" : dd ? "-moz" : J ? "-ms" : cd ? "-o" :
null) + "-transform";
break i
}
c = "transform"
}
a = (a = ig(a, c) || ig(a, "transform")) ? (a = a.match(mg)) ? new kf(parseFloat(a[1]), parseFloat(a[2])) : new kf(0, 0) : new kf(0, 0);
a = new kf(b.x + a.x, b.y + a.y)
} else a = b;
return a
}
b = ka(a.Ac);
c = a;
a.targetTouches ? c = a.targetTouches[0] : b && a.Ac().targetTouches && (c = a.Ac().targetTouches[0]);
return new kf(c.clientX, c.clientY)
},
pg = function (a) {
var b = og;
if ("none" != ig(a, "display")) return b(a);
var c = a.style,
d = c.display,
e = c.visibility,
f = c.position;
c.visibility = "hidden";
c.position = "absolute";
c.display = "inline";
a = b(a);
c.display = d;
c.position = f;
c.visibility = e;
return a
},
og = function (a) {
var b = a.offsetWidth,
c = a.offsetHeight,
d = K && !b && !c;
return n(b) && !d || !a.getBoundingClientRect ? new lf(b, c) : (a = jg(a), new lf(a.right - a.left, a.bottom - a.top))
},
qg = function (a) {
var b = lg(a);
a = pg(a);
return new gg(b.x, b.y, a.width, a.height)
},
rg = function (a, b) {
var c = a.style;
"opacity" in c ? c.opacity = b : "MozOpacity" in c ? c.MozOpacity = b : "filter" in c && (c.filter = "" === b ? "" : "alpha(opacity=" + 100 * b + ")")
},
sg = function (a, b) {
a.style.display =
b ? "" : "none"
},
tg = function (a) {
return "rtl" == ig(a, "direction")
},
ug = dd ? "MozUserSelect" : K ? "WebkitUserSelect" : null,
vg = function (a, b, c) {
c = c ? null : a.getElementsByTagName("*");
if (ug) {
if (b = b ? "none" : "", a.style[ug] = b, c) {
a = 0;
for (var d; d = c[a]; a++) d.style[ug] = b
}
} else if (J || cd)
if (b = b ? "on" : "", a.setAttribute("unselectable", b), c)
for (a = 0; d = c[a]; a++) d.setAttribute("unselectable", b)
},
zg = function (a, b) {
var c = Of(tf(sf(a)));
if (!J || c && L("8")) wg(a, b, "border-box");
else {
var d = a.style;
if (c) {
var c = xg(a),
e = yg(a);
d.pixelWidth = b.width -
e.left - c.left - c.right - e.right;
d.pixelHeight = b.height - e.top - c.top - c.bottom - e.bottom
} else d.pixelWidth = b.width, d.pixelHeight = b.height
}
},
wg = function (a, b, c) {
a = a.style;
dd ? a.MozBoxSizing = c : K ? a.WebkitBoxSizing = c : a.boxSizing = c;
a.width = Math.max(b.width, 0) + "px";
a.height = Math.max(b.height, 0) + "px"
},
Ag = function (a, b, c, d) {
if (/^\d+px?$/.test(b)) return parseInt(b, 10);
var e = a.style[c],
f = a.runtimeStyle[c];
a.runtimeStyle[c] = a.currentStyle[c];
a.style[c] = b;
b = a.style[d];
a.style[c] = e;
a.runtimeStyle[c] = f;
return b
},
Bg = function (a,
b) {
var c = a.currentStyle ? a.currentStyle[b] : null;
return c ? Ag(a, c, "left", "pixelLeft") : 0
},
xg = function (a) {
if (J) {
var b = Bg(a, "paddingLeft"),
c = Bg(a, "paddingRight"),
d = Bg(a, "paddingTop");
a = Bg(a, "paddingBottom");
return new fg(d, c, a, b)
}
b = hg(a, "paddingLeft");
c = hg(a, "paddingRight");
d = hg(a, "paddingTop");
a = hg(a, "paddingBottom");
return new fg(parseFloat(d), parseFloat(c), parseFloat(a), parseFloat(b))
},
Cg = {
thin: 2,
medium: 4,
thick: 6
},
Dg = function (a, b) {
if ("none" == (a.currentStyle ? a.currentStyle[b + "Style"] : null)) return 0;
var c =
a.currentStyle ? a.currentStyle[b + "Width"] : null;
return c in Cg ? Cg[c] : Ag(a, c, "left", "pixelLeft")
},
yg = function (a) {
if (J && !ld(9)) {
var b = Dg(a, "borderLeft"),
c = Dg(a, "borderRight"),
d = Dg(a, "borderTop");
a = Dg(a, "borderBottom");
return new fg(d, c, a, b)
}
b = hg(a, "borderLeftWidth");
c = hg(a, "borderRightWidth");
d = hg(a, "borderTopWidth");
a = hg(a, "borderBottomWidth");
return new fg(parseFloat(d), parseFloat(c), parseFloat(a), parseFloat(b))
},
mg = /matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
var Eg, Yb = "undefined" !== typeof document ? document : null,
Fg = function (a, b) {
var c = H("div", {
"class": "cm-close-button"
});
a.appendChild(c);
O(c, "click", b)
},
Hg = function (a) {
var b = Yb.body,
c = a.parentNode ? new lf(a.offsetWidth, a.offsetHeight) : Gg(a, b),
d = Math.max(0, (b.offsetWidth - c.width) / 2),
c = Math.max(0, (b.offsetHeight - c.height) / 2);
a.style.left = Math.round(d) + "px";
a.style.top = Math.round(c) + "px";
a.parentNode !== b && b.appendChild(a)
},
H = function (a, b, c) {
var d = [],
e = null;
b && (b.style && !u(b.style) && (e = b.style, delete b.style),
b["class"] && q(b["class"]) && (b["class"] = b["class"].join(" ")));
for (var f = 0; f < arguments.length; f++)
if (arguments[f] instanceof sc) {
var g = zf("span");
yc(arguments[f], g);
d.push(g)
} else d.push(arguments[f]);
d = zf.apply(null, d);
e && Kc(d.style, e);
"input" === a && (b || {}).checked && d.setAttribute("defaultChecked", !0);
return d
},
Ig = function (a) {
for (; a.firstChild;) a.removeChild(a.firstChild)
},
Jg = function (a) {
a.parentNode && a.parentNode.removeChild(a)
},
V = function (a, b) {
for (var c = 1; c < arguments.length; c++) {
var d = arguments[c];
a.appendChild(u(d) ? Yb.createTextNode(d) : d)
}
},
Kg = function (a, b, c) {
b = {
href: b || "javascript:void(0)"
};
c && (b.target = c);
return H("a", b, a)
},
Lg = function (a) {
var b = a || document;
return b.querySelectorAll && b.querySelector ? b.querySelectorAll(".cm-button") : uf("*", "cm-button", a)
},
Mg = function (a, b, c) {
b = "" + b;
if (c) {
b = Ea(b);
c = c || 10;
if (!(c > b.length)) {
for (var d = [], e = 0, f = 0, g = 0, k = 0, m = 0; m < b.length; m++) {
var k = b.charCodeAt(m),
p;
if (p = 768 <= k) p = !(1024 <= k && 1315 > k);
e >= c && !cg(k) && !p && (d.push(b.substring(g, m), eg), g = m, e = 0);
f ? 62 == k &&
60 == f ? f = 0 : 59 == k && 38 == f && (f = 0, e++) : 60 == k || 38 == k ? f = k : cg(k) ? e = 0 : 8204 <= k && 8207 >= k || 8234 <= k && 8238 >= k || e++
}
d.push(b.substr(g));
b = d.join("")
}
yc(new sc(b), a)
} else Gf(a, b)
},
Gg = function (a, b) {
var c = b.ownerDocument;
Eg && Eg.ownerDocument === c || (Eg = c.createElement("div"), Eg.style.position = "absolute", Eg.style.left = -2 * c.body.offsetWidth + "px", c.body.appendChild(Eg));
var c = Eg,
d;
var e = sf(b);
if ((d = J && b.currentStyle) && Of(tf(e)) && "auto" != d.width && "auto" != d.height && !d.boxSizing) e = Ag(b, d.width, "width", "pixelWidth"), d = Ag(b,
d.height, "height", "pixelHeight"), d = new lf(e, d);
else {
d = new lf(b.offsetWidth, b.offsetHeight);
var e = xg(b),
f = yg(b);
d = new lf(d.width - f.left - e.left - e.right - f.right, d.height - f.top - e.top - e.bottom - f.bottom)
}
f = Of(tf(sf(c)));
!J || f && L("8") ? wg(c, d, "content-box") : (e = c.style, f ? (e.pixelWidth = d.width, e.pixelHeight = d.height) : (f = xg(c), c = yg(c), e.pixelWidth = d.width + c.left + f.left + f.right + c.right, e.pixelHeight = d.height + c.top + f.top + f.bottom + c.bottom));
Eg.appendChild(a);
c = new lf(a.offsetWidth, a.offsetHeight);
Eg.removeChild(a);
return c
};
var Ng = function (a) {
var b = H("span", {
"class": "cm-build-info"
}, "\u2665");
V(a, b);
O(b, "click", function () {
var a = window.cm_build_info,
d = a.submit_time,
a = (a.release ? "release" : "dev") + " build at " + a.version;
if (d) var e = ((new Date).getTime() / 1E3 - d) / 60,
e = 100 <= e ? (e / 60).toFixed(1) + " h ago" : e.toFixed(0) + " min ago",
d = "" + new Date(1E3 * d),
d = d.replace(/:\d\d *GMT *[-+]\d+ *\((.*)\)/, " $1"),
d = ", submitted " + (e + " (" + d + ")");
else d = "";
Mg(b, a + d)
});
O(b, "mouseout", function () {
Mg(b, "\u2665")
})
};
var Og = function (a, b, c) {
var d = {};
B(c || [], function (c) {
Kc(d, c.zr(a, b))
});
return d
};
var Qg = function (a, b, c, d) {
this.A = c;
this.sj = H("span");
Pg(a, d);
V(a, this.sj);
var e = new N(l.location);
window != window.top && (e.Nc("embedded"), b = Kg("Full map", "" + e, "_blank"), V(a, "\u00a0\u00b7 ", b));
d = d.langs;
var f = H("select");
d = bb([{
value: "",
label: "Default language"
}], gc(d));
B(d, function (a) {
V(f, H("option", {
value: a.value
}, a.label))
});
d = e.oa("hl");
f.value = d || "";
V(a, H("div", {
"class": "cm-language-picker-container"
}, "\u00a0\u00b7 ", H("div", {
"class": "cm-language-picker-icon"
}), f));
O(f, "change", function () {
var a =
"" === this.value ? e.Nc("hl") : Ad(e, "hl", this.value);
l.location.replace(a.toString())
}, f);
P(c, "footer", this.um, this);
this.um()
};
Qg.prototype.um = function () {
Ig(this.sj);
var a = this.A.get("footer");
if (!a.isEmpty()) {
var b = H("span");
yc(a, b);
V(this.sj, "\u00a0\u00b7 ", b)
}
};
var Pg = function (a, b) {
var c = b.publisher_name;
if (c) {
var d = H("span");
yc(new sc("Published by " + c), d);
V(a, d)
}
};
var Rg = function (a, b) {
var c = H("div", {
"class": ["cm-panel-button", "cm-mapbutton"]
}, "Layers");
c.index = 2;
O(c, "click", function () {
var a = C(nf(c), "cm-selected");
U(a ? Uf.$q : Uf.dr, null);
Q(this, a ? "panelclose" : "panelopen")
}, b);
O(b, "panelopen", function () {
S(c, "cm-selected")
});
O(b, "panelclose", function () {
pf(c, "cm-selected")
});
a.controls[google.maps.ControlPosition.TOP_RIGHT].push(c)
};
var Tg = function (a, b) {
this.f = b.user_email ? H("div", {
"class": "cm-login"
}, H("span", {
"class": "cm-user"
}, b.user_email), "\u00a0\u00b7 ", Kg("Sign out", b.logout_url)) : H("div", {
"class": "cm-login"
}, Kg("Sign in", b.login_url));
a.appendChild(this.f)
};
var Ug = function (a) {
var b = a.offsetLeft,
c = a.offsetParent;
c || "fixed" != ig(a, "position") || (c = sf(a).documentElement);
if (!c) return b;
if (dd) var d = yg(c),
b = b + d.left;
else ld(8) && (d = yg(c), b -= d.left);
return tg(c) ? c.clientWidth - (b + a.offsetWidth) : b
};
var Vg = function (a, b) {
R.call(this);
this.jd = a || 1;
this.Md = b || l;
this.tj = v(this.Eq, this);
this.uj = y()
};
z(Vg, R);
h = Vg.prototype;
h.enabled = !1;
h.L = null;
h.setInterval = function (a) {
this.jd = a;
this.L && this.enabled ? (this.stop(), this.start()) : this.L && this.stop()
};
h.Eq = function () {
if (this.enabled) {
var a = y() - this.uj;
0 < a && a < 0.8 * this.jd ? this.L = this.Md.setTimeout(this.tj, this.jd - a) : (this.L && (this.Md.clearTimeout(this.L), this.L = null), this.dispatchEvent("tick"), this.enabled && (this.L = this.Md.setTimeout(this.tj, this.jd), this.uj = y()))
}
};
h.start = function () {
this.enabled = !0;
this.L || (this.L = this.Md.setTimeout(this.tj, this.jd), this.uj = y())
};
h.stop = function () {
this.enabled = !1;
this.L && (this.Md.clearTimeout(this.L), this.L = null)
};
h.m = function () {
Vg.l.m.call(this);
this.stop();
delete this.Md
};
var Xg = function (a, b, c) {
if (ka(a)) c && (a = v(a, c));
else if (a && "function" == typeof a.handleEvent) a = v(a.handleEvent, a);
else throw Error("Invalid listener argument");
return 2147483647 < b ? -1 : l.setTimeout(a, b || 0)
};
var Yg = function (a, b, c) {
this.Pi = a;
this.jd = b || 0;
this.va = c;
this.lq = v(this.wq, this)
};
z(Yg, Yd);
h = Yg.prototype;
h.V = 0;
h.m = function () {
Yg.l.m.call(this);
this.stop();
delete this.Pi;
delete this.va
};
h.start = function (a) {
this.stop();
this.V = Xg(this.lq, n(a) ? a : this.jd)
};
h.stop = function () {
this.kf() && l.clearTimeout(this.V);
this.V = 0
};
h.kf = function () {
return 0 != this.V
};
h.wq = function () {
this.V = 0;
this.Pi && this.Pi.call(this.va)
};
var Ec = {},
Zg = null,
$g = function (a) {
a = pa(a);
delete Ec[a];
Fc() && Zg && Zg.stop()
},
bh = function () {
Zg || (Zg = new Yg(function () {
ah()
}, 20));
var a = Zg;
a.kf() || a.start()
},
ah = function () {
var a = y();
Ac(Ec, function (b) {
ch(b, a)
});
Fc() || bh()
};
var dh = function () {
R.call(this);
this.j = 0;
this.Qe = this.startTime = null
};
z(dh, R);
dh.prototype.hg = function () {
this.Ya("begin")
};
dh.prototype.Id = function () {
this.Ya("end")
};
dh.prototype.Ya = function (a) {
this.dispatchEvent(a)
};
var eh = function (a, b, c, d) {
dh.call(this);
if (!q(a) || !q(b)) throw Error("Start and end parameters must be arrays");
if (a.length != b.length) throw Error("Start and end points must be the same length");
this.Ve = a;
this.Nq = b;
this.duration = c;
this.Rm = d;
this.coords = [];
this.Wc = !1
};
z(eh, dh);
h = eh.prototype;
h.jc = function (a) {
this.Wc = a
};
h.pb = 0;
h.play = function (a) {
if (a || 0 == this.j) this.pb = 0, this.coords = this.Ve;
else if (1 == this.j) return !1;
$g(this);
this.startTime = a = y(); - 1 == this.j && (this.startTime -= this.duration * this.pb);
this.Qe = this.startTime + this.duration;
this.pb || this.hg();
this.Ya("play"); - 1 == this.j && this.Ya("resume");
this.j = 1;
var b = pa(this);
b in Ec || (Ec[b] = this);
bh();
ch(this, a);
return !0
};
h.stop = function (a) {
$g(this);
this.j = 0;
a && (this.pb = 1);
fh(this, this.pb);
this.Ya("stop");
this.Id()
};
h.m = function () {
0 == this.j || this.stop(!1);
this.Ya("destroy");
eh.l.m.call(this)
};
var ch = function (a, b) {
a.pb = (b - a.startTime) / (a.Qe - a.startTime);
1 <= a.pb && (a.pb = 1);
fh(a, a.pb);
1 == a.pb ? (a.j = 0, $g(a), a.Ya("finish"), a.Id()) : 1 == a.j && a.Oi()
},
fh = function (a, b) {
ka(a.Rm) && (b = a.Rm(b));
a.coords = Array(a.Ve.length);
for (var c = 0; c < a.Ve.length; c++) a.coords[c] = (a.Nq[c] - a.Ve[c]) * b + a.Ve[c]
};
eh.prototype.Oi = function () {
this.Ya("animate")
};
eh.prototype.Ya = function (a) {
this.dispatchEvent(new gh(a, this))
};
var gh = function (a, b) {
ae.call(this, a);
this.coords = b.coords;
this.x = b.coords[0];
this.y = b.coords[1];
this.z = b.coords[2];
this.duration = b.duration;
this.pb = b.pb;
this.state = b.j
};
z(gh, ae);
var hh = function (a, b, c, d, e) {
eh.call(this, b, c, d, e);
this.element = a
};
z(hh, eh);
h = hh.prototype;
h.ld = ea;
h.Lb = function () {
n(this.Eb) || (this.Eb = tg(this.element));
return this.Eb
};
h.Oi = function () {
this.ld();
hh.l.Oi.call(this)
};
h.Id = function () {
this.ld();
hh.l.Id.call(this)
};
h.hg = function () {
this.ld();
hh.l.hg.call(this)
};
var ih = function (a, b, c, d, e) {
if (2 != b.length || 2 != c.length) throw Error("Start and end points must be 2D");
hh.apply(this, arguments)
};
z(ih, hh);
ih.prototype.ld = function () {
var a = this.Wc && this.Lb() ? "right" : "left";
this.element.style[a] = Math.round(this.coords[0]) + "px";
this.element.style.top = Math.round(this.coords[1]) + "px"
};
var jh = function (a, b, c, d, e) {
hh.call(this, a, [b], [c], d, e)
};
z(jh, hh);
jh.prototype.ld = function () {
this.element.style.width = Math.round(this.coords[0]) + "px"
};
var kh = function (a, b, c, d, e) {
hh.call(this, a, [b], [c], d, e)
};
z(kh, hh);
kh.prototype.ld = function () {
this.element.style.height = Math.round(this.coords[0]) + "px"
};
var lh = function (a, b, c, d, e) {
ja(b) && (b = [b]);
ja(c) && (c = [c]);
hh.call(this, a, b, c, d, e);
if (1 != b.length || 1 != c.length) throw Error("Start and end points must be 1D");
};
z(lh, hh);
lh.prototype.ld = function () {
rg(this.element, this.coords[0])
};
lh.prototype.show = function () {
this.element.style.display = ""
};
lh.prototype.Tb = function () {
this.element.style.display = "none"
};
var mh = function (a, b, c) {
lh.call(this, a, 1, 0, b, c)
};
z(mh, lh);
var nh = function () {
this.hh = this.Pb = null
};
nh.prototype = new google.maps.OverlayView;
h = nh.prototype;
h.setContent = function (a) {
this.set("content", a)
};
h.getContent = function () {
return this.get("content")
};
h.setPosition = function (a) {
this.set("position", a)
};
h.getPosition = function () {
return this.get("position")
};
h.getVisible = function () {
return this.get("visible")
};
h.setOptions = function (a) {
this.setValues(a)
};
h.show = function (a) {
this.df && (this.df.stop(), this.df = null);
this.wj && (Ee(this.wj, this), this.wj = null);
this.setMap(a);
this.set("visible", !0)
};
h.Tb = function () {
this.setMap(null);
this.set("visible", !1)
};
h.onAdd = function () {
this.Pb || (this.hh = H("div", {
"class": "cm-hovercard-content-container"
}), this.Pb = H("div", {
"class": "cm-hovercard-background"
}, this.hh), this.getPanes().floatPane.appendChild(this.Pb));
oh(this)
};
nh.prototype.onAdd = nh.prototype.onAdd;
var oh = function (a) {
if (a.Pb && a.getMap()) {
var b = a.Pb;
b.style.visibility = "hidden";
var c = H("div", {
style: "overflow:auto"
}, a.getContent());
zg(b, ph(a).Fm);
a.Hm = Gg(c, b);
Ig(a.hh);
V(a.hh, c);
a.ed = null
}
},
ph = function (a) {
var b = a.getPosition(),
c = a.getMap().getBounds(),
d = a.getProjection(),
b = d.fromLatLngToDivPixel(b);
a = d.fromLatLngToDivPixel(c.getSouthWest());
var d = d.fromLatLngToDivPixel(c.getNorthEast()),
c = d.x - (b.x - 5 - 5),
e = b.y - 5 - 5 - d.y,
d = a.y - (b.y - 5 - 5);
a = ib(Math.max(b.x - 5 - 5 - a.x, c), 100, 200);
e = ib(Math.max(e, d), 40, 200);
return {
zq: b,
Fm: new lf(a, e),
Nm: new lf(c, d)
}
};
nh.prototype.draw = function () {
if (this.Pb && this.getMap()) {
var a = ph(this),
b = this.Pb,
c = this.ed;
if (!c) {
var c = this.Hm.height + 6,
d = a.Fm,
c = this.ed = new lf(ib(this.Hm.width + 6, 100, d.width), ib(c, 40, d.height));
zg(b, c)
}
var d = a.Nm.height,
e = a.zq;
e.x = c.width < a.Nm.width ? e.x + 5 : e.x - (c.width + 5);
e.y = c.height < d ? e.y + 5 : e.y - (c.height + 5);
b.style.left = e.x + "px";
b.style.top = e.y + "px";
rg(b, "");
b.style.visibility = ""
}
};
nh.prototype.draw = nh.prototype.draw;
nh.prototype.onRemove = function () {
this.Pb && (this.Pb.style.visibility = "hidden")
};
nh.prototype.onRemove = nh.prototype.onRemove;
nh.prototype.changed = function (a) {
"content" == a ? oh(this) : "position" == a && this.draw()
};
nh.prototype.changed = nh.prototype.changed;
var rh = function (a, b, c, d, e, f, g) {
c = !1 != c;
this.Xg = new google.maps.search.GoogleLayer({
layerId: b,
clickable: c
});
this.Xg.bindTo("layerId", this, "layer_id");
this.set("cm_layer_id", a);
this.set("layer_id", b);
this.Wl = !!d;
this.Xl = e || function (a, b, c) {
a = qh(c);
return new sc(a.innerHTML || "")
};
this.Rp = f || function (a, b, c) {
a = new sc(c.snippet || "");
c = H("div", {}, H("div", {
"class": "cm-hovercard-content"
}, H("span", {
"class": "cm-hovercard-title"
}, new sc(c.title || "")), H("span", {
"class": "cm-hovercard-snippet"
}, a)));
return new sc(c.innerHTML ||
"")
};
this.sb = null;
this.$a = new nh;
this.Kg = this.$g = null;
this.hp = !!g;
this.Sl = 0;
this.We = null;
c && (a = this.Xg, this.Xl && (O(a, "click", this.Sp, this), this.Wl || (this.sb = new google.maps.InfoWindow)), Xb() || (O(a, "mouseover", this.Wp, this), O(a, "mousemove", this.Tp, this), O(a, "mouseout", this.Vp, this)))
};
z(rh, google.maps.MVCObject);
h = rh.prototype;
h.setMap = function (a) {
this.Xg.setMap(a);
a ? Xb() || (O(a, "dragstart", this.$a.Tb, this.$a), O(a, "zoom_changed", this.$a.Tb, this.$a)) : (this.$a.Tb(), this.sb && this.sb.close())
};
h.getMap = function () {
return this.Xg.getMap()
};
h.Sp = function (a, b, c, d) {
this.$a.Tb();
sh(this);
th(this);
this.Wl ? (a = d && d.fields || {}, b = {
layerId: this.get("cm_layer_id"),
title: a.title || "",
snippet: a.snippet || "",
content: qh(d),
position: b,
pixelOffset: c
}, Q(this, "SELECT_FEATURE", b)) : (this.sb.setOptions({
content: xc(this.Xl(a, b, d)),
position: b,
offset: c
}), this.sb.open(this.getMap()))
};
h.Wp = function (a, b, c, d) {
this.We = b;
50 > (new Date).getTime() - this.Sl ? this.Vm(a, d) : (a = v(this.Vm, this, a, d), sh(this), this.$g = Xg(a, 1E3))
};
h.Tp = function (a, b) {
this.We = b;
this.$a.getVisible() && (this.$a.setPosition(b), uh(this))
};
h.Vp = function (a, b) {
this.We = b;
sh(this);
th(this);
this.$a.getVisible() && (this.$a.Tb(), this.Sl = (new Date).getTime())
};
h.Vm = function (a, b) {
this.$a.setOptions({
content: this.Rp(a, this.We, b),
position: this.We
});
this.$a.show(this.getMap());
uh(this)
};
var sh = function (a) {
a.$g && (l.clearTimeout(a.$g), a.$g = null)
},
uh = function (a) {
a.hp || (th(a), a.Kg = Xg(function () {
var a = this.$a;
a.getVisible() && (a.df = new mh(a.Pb, 750), a.wj = O(a.df, "end", a.Tb, a), a.df.play())
}, 4500, a))
},
th = function (a) {
a.Kg && (l.clearTimeout(a.Kg), a.Kg = null)
},
qh = function (a) {
var b = a.fields || {};
a = b.url || "";
var c = new sc(b.snippet || ""),
b = H("span", {
"class": "cm-overlay-title"
}, new sc(b.title || ""));
a && (b = Kg(b, a, "_blank"));
return H("div", {}, H("div", {
"class": "cm-overlay-content"
}, b, H("span", {
"class": "cm-overlay-snippet"
},
c)))
};
var vh = function (a, b, c, d) {
var e = b.y - a.y;
b = a.x - b.x;
var f = e * a.x + b * a.y;
a = e * c.x + b * c.y - f;
var g = e * c.x + b * d.y - f;
c = e * d.x + b * c.y - f;
d = e * d.x + b * d.y - f;
return 0 > a && 0 > g && 0 > c && 0 > d ? 0 : 0 < a && 0 < g && 0 < c && 0 < d ? 1 : 2
},
wh = function (a, b) {
return Sa(b, function (b) {
return a.fromLatLngToPoint(b)
})
};
var xh = /maps\.gstatic\.com\/mapfiles\/transparent\.png/,
yh = function (a) {
google.maps.MVCObject.call(this);
this.getTileUrl = a.getTileUrl;
this.fh = {};
P(this, "opacity", this.dg, this);
this.tileSize = a.tileSize || new google.maps.Size(256, 256)
};
z(yh, google.maps.MVCObject);
yh.prototype.getTile = function (a, b) {
var c = H("div");
c.style.width = this.tileSize.width + "px";
c.style.height = this.tileSize.height + "px";
var d = this.getTileUrl(a, b);
if (!d) return c;
var e = b + "," + a.x + "," + a.y;
this.fh[e] = c;
var f = H("img");
rg(c, this.get("opacity"));
c.appendChild(f);
c.Cc = {
Aq: d,
vq: e,
Om: d.replace(/^.*\/\.wms\//, "").split("/")[1],
Dj: 0,
gh: null,
startTime: (new Date).getTime()
};
var g = !!c.Cc.Om,
k = g ? 10 : 0;
O(f, "load", function () {
var a = c.Cc;
a && (g && !xh.test(f.src) && bg("wms_tile_fetch", "retry_" + a.Dj, (new Date).getTime() -
a.startTime, a.Om), a.gh = null)
}, this);
O(f, "error", function () {
var a = c.Cc;
if (a) {
var b = a.Dj;
b >= k ? c.firstChild.setAttribute("src", "//maps.gstatic.com/mapfiles/transparent.png") : (a.Dj = b + 1, c.firstChild.setAttribute("src", "//maps.gstatic.com/mapfiles/transparent.png"), a.gh = l.setTimeout(function () {
a && (f.removeAttribute("src"), f.setAttribute("src", a.Aq))
}, 1E3 * Math.random() * Math.pow(1.5, 2 + b)))
}
}, this);
f.setAttribute("src", d);
return c
};
yh.prototype.releaseTile = function (a) {
if (a.Cc)
for (a.Cc.gh && l.clearTimeout(a.Cc.gh), delete this.fh[a.Cc.vq], a.Cc = null; a.firstChild;) Ge(a.firstChild), a.removeChild(a.firstChild)
};
yh.prototype.dg = function () {
var a = this.get("opacity"),
b;
for (b in this.fh) rg(this.fh[b], a)
};
yh.prototype.getTile = yh.prototype.getTile;
yh.prototype.releaseTile = yh.prototype.releaseTile;
var Bh = function (a) {
ka(l.setImmediate) ? l.setImmediate(a) : (zh || (zh = Ah()), zh(a))
},
zh, Ah = function () {
if (l.cn && l.cn.resolve) {
var a = l.cn.resolve();
return function (b) {
a.then(b)
}
}
var b = l.MessageChannel;
"undefined" === typeof b && "undefined" !== typeof window && window.postMessage && window.addEventListener && (b = 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 = b.location.protocol + "//" + b.location.host,
a = v(function (a) {
if (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 b) {
var c = new b,
d = {},
e = d;
c.port1.onmessage = function () {
d = d.next;
var a = d.dn;
d.dn = null;
a()
};
return function (a) {
e.next = {
dn: a
};
e = e.next;
c.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) {
l.setTimeout(a, 0)
}
};
var Ch = function (a) {
Bh(function () {
throw a;
})
},
Hh = function (a, b) {
Dh || (Bh(Eh), Dh = !0);
Fh.push(new Gh(a, b))
},
Dh = !1,
Fh = [],
Eh = function () {
for (; Fh.length;) {
var a = Fh;
Fh = [];
for (var b = 0; b < a.length; b++) {
var c = a[b];
try {
c.xr.call(c.scope)
} catch (d) {
Ch(d)
}
}
}
Dh = !1
},
Gh = function (a, b) {
this.xr = a;
this.scope = b
};
var Ih = function (a) {
a.prototype.then = a.prototype.then;
a.prototype.$goog_Thenable = !0
},
Jh = function (a) {
if (!a) return !1;
try {
return !!a.$goog_Thenable
} catch (b) {
return !1
}
};
var Lh = function (a, b) {
this.j = 0;
this.ac = void 0;
this.ob = this.C = null;
this.Eg = this.Xi = !1;
try {
var c = this;
a.call(b, function (a) {
Kh(c, 2, a)
}, function (a) {
Kh(c, 3, a)
})
} catch (d) {
Kh(this, 3, d)
}
};
Lh.prototype.then = function (a, b, c) {
return Mh(this, ka(a) ? a : null, ka(b) ? b : null, c)
};
Ih(Lh);
Lh.prototype.cancel = function (a) {
0 == this.j && Hh(function () {
var b = new Nh(a);
Oh(this, b)
}, this)
};
var Oh = function (a, b) {
if (0 == a.j)
if (a.C) {
var c = a.C;
if (c.ob) {
for (var d = 0, e = -1, f = 0, g; g = c.ob[f]; f++)
if (g = g.Pg)
if (d++, g == a && (e = f), 0 <= e && 1 < d) break;
0 <= e && (0 == c.j && 1 == d ? Oh(c, b) : (d = c.ob.splice(e, 1)[0], Ph(c, d, 3, b)))
}
} else Kh(a, 3, b)
},
Rh = function (a, b) {
a.ob && a.ob.length || 2 != a.j && 3 != a.j || Qh(a);
a.ob || (a.ob = []);
a.ob.push(b)
},
Mh = function (a, b, c, d) {
var e = {
Pg: null,
Bm: null,
Cm: null
};
e.Pg = new Lh(function (a, g) {
e.Bm = b ? function (c) {
try {
var e = b.call(d, c);
a(e)
} catch (p) {
g(p)
}
} : a;
e.Cm = c ? function (b) {
try {
var e = c.call(d, b);
!n(e) &&
b instanceof Nh ? g(b) : a(e)
} catch (p) {
g(p)
}
} : g
});
e.Pg.C = a;
Rh(a, e);
return e.Pg
};
Lh.prototype.pm = function (a) {
this.j = 0;
Kh(this, 2, a)
};
Lh.prototype.qm = function (a) {
this.j = 0;
Kh(this, 3, a)
};
var Kh = function (a, b, c) {
if (0 == a.j) {
if (a == c) b = 3, c = new TypeError("Promise cannot resolve to itself");
else {
if (Jh(c)) {
a.j = 1;
c.then(a.pm, a.qm, a);
return
}
if (la(c)) try {
var d = c.then;
if (ka(d)) {
Sh(a, c, d);
return
}
} catch (e) {
b = 3, c = e
}
}
a.ac = c;
a.j = b;
Qh(a);
3 != b || c instanceof Nh || Th(a, c)
}
},
Sh = function (a, b, c) {
a.j = 1;
var d = !1,
e = function (b) {
d || (d = !0, a.pm(b))
},
f = function (b) {
d || (d = !0, a.qm(b))
};
try {
c.call(b, e, f)
} catch (g) {
f(g)
}
},
Qh = function (a) {
a.Xi || (a.Xi = !0, Hh(a.Xq, a))
};
Lh.prototype.Xq = function () {
for (; this.ob && this.ob.length;) {
var a = this.ob;
this.ob = [];
for (var b = 0; b < a.length; b++) Ph(this, a[b], this.j, this.ac)
}
this.Xi = !1
};
var Ph = function (a, b, c, d) {
if (2 == c) b.Bm(d);
else {
for (; a && a.Eg; a = a.C) a.Eg = !1;
b.Cm(d)
}
},
Th = function (a, b) {
a.Eg = !0;
Hh(function () {
a.Eg && Uh.call(null, b)
})
},
Uh = Ch,
Nh = function (a) {
ua.call(this, a)
};
z(Nh, ua);
Nh.prototype.name = "cancel";
/*
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 Vh = function (a, b) {
this.Cg = [];
this.Vl = a;
this.Al = b || null;
this.Te = this.Qd = !1;
this.ac = void 0;
this.lj = this.ep = this.Ui = !1;
this.Dg = 0;
this.C = null;
this.Si = 0
};
Vh.prototype.cancel = function (a) {
if (this.Qd) this.ac instanceof Vh && this.ac.cancel();
else {
if (this.C) {
var b = this.C;
delete this.C;
a ? b.cancel(a) : (b.Si--, 0 >= b.Si && b.cancel())
}
this.Vl ? this.Vl.call(this.Al, this) : this.lj = !0;
this.Qd || (a = new Wh, Xh(this), Yh(this, !1, a))
}
};
Vh.prototype.Ll = function (a, b) {
this.Ui = !1;
Yh(this, a, b)
};
var Yh = function (a, b, c) {
a.Qd = !0;
a.ac = c;
a.Te = !b;
Zh(a)
},
Xh = function (a) {
if (a.Qd) {
if (!a.lj) throw new $h;
a.lj = !1
}
},
ai = function (a, b, c, d) {
a.Cg.push([b, c, d]);
a.Qd && Zh(a)
};
Vh.prototype.then = function (a, b, c) {
var d, e, f = new Lh(function (a, b) {
d = a;
e = b
});
ai(this, d, function (a) {
a instanceof Wh ? f.cancel() : e(a)
});
return f.then(a, b, c)
};
Ih(Vh);
var bi = function (a) {
return Va(a.Cg, function (a) {
return ka(a[1])
})
},
Zh = function (a) {
if (a.Dg && a.Qd && bi(a)) {
var b = a.Dg,
c = ci[b];
c && (l.clearTimeout(c.V), delete ci[b]);
a.Dg = 0
}
a.C && (a.C.Si--, delete a.C);
for (var b = a.ac, d = c = !1; a.Cg.length && !a.Ui;) {
var e = a.Cg.shift(),
f = e[0],
g = e[1],
e = e[2];
if (f = a.Te ? g : f) try {
var k = f.call(e || a.Al, b);
n(k) && (a.Te = a.Te && (k == b || k instanceof Error), a.ac = b = k);
Jh(b) && (d = !0, a.Ui = !0)
} catch (m) {
b = m, a.Te = !0, bi(a) || (c = !0)
}
}
a.ac = b;
d && (k = v(a.Ll, a, !0), d = v(a.Ll, a, !1), b instanceof Vh ? (ai(b, k, d), b.ep = !0) : b.then(k, d));
c && (b = new di(b), ci[b.V] = b, a.Dg = b.V)
},
$h = function () {
ua.call(this)
};
z($h, ua);
$h.prototype.message = "Deferred has already fired";
$h.prototype.name = "AlreadyCalledError";
var Wh = function () {
ua.call(this)
};
z(Wh, ua);
Wh.prototype.message = "Deferred was canceled";
Wh.prototype.name = "CanceledError";
var di = function (a) {
this.V = l.setTimeout(v(this.Cq, this), 0);
this.jg = a
};
di.prototype.Cq = function () {
delete ci[this.V];
throw this.jg;
};
var ci = {};
var ii = function (a, b) {
var c = b || {},
d = c.document || document,
e = document.createElement("SCRIPT"),
f = {
Xm: e,
ad: void 0
},
g = new Vh(ei, f),
k = null,
m = null != c.timeout ? c.timeout : 5E3;
0 < m && (k = window.setTimeout(function () {
fi(e, !0);
var b = new gi(1, "Timeout reached for loading script " + a);
Xh(g);
Yh(g, !1, b)
}, m), f.ad = k);
e.onload = e.onreadystatechange = function () {
e.readyState && "loaded" != e.readyState && "complete" != e.readyState || (fi(e, c.bq || !1, k), Xh(g), Yh(g, !0, null))
};
e.onerror = function () {
fi(e, !0, k);
var b = new gi(0, "Error while loading script " +
a);
Xh(g);
Yh(g, !1, b)
};
wf(e, {
type: "text/javascript",
charset: "UTF-8",
src: a
});
hi(d).appendChild(e);
return g
},
hi = function (a) {
var b = a.getElementsByTagName("HEAD");
return !b || Za(b) ? a.documentElement : b[0]
},
ei = function () {
if (this && this.Xm) {
var a = this.Xm;
a && "SCRIPT" == a.tagName && fi(a, !0, this.ad)
}
},
fi = function (a, b, c) {
null != c && l.clearTimeout(c);
a.onload = ea;
a.onerror = ea;
a.onreadystatechange = ea;
b && window.setTimeout(function () {
Ef(a)
}, 0)
},
gi = function (a, b) {
var c = "Jsloader error (code #" + a + ")";
b && (c += ": " + b);
ua.call(this,
c);
this.code = a
};
z(gi, ua);
var ji = function (a, b) {
this.eq = new N(a);
this.dq = b ? b : "callback";
this.ad = 5E3
},
ki = 0;
ji.prototype.send = function (a, b, c, d) {
a = a || null;
d = d || "_" + (ki++).toString(36) + y().toString(36);
l._callbacks_ || (l._callbacks_ = {});
var e = this.eq.qa();
if (a)
for (var f in a) a.hasOwnProperty && !a.hasOwnProperty(f) || e.Mf(f, a[f]);
b && (l._callbacks_[d] = li(d, b), e.Mf(this.dq, "_callbacks_." + d));
b = ii(e.toString(), {
timeout: this.ad,
bq: !0
});
ai(b, null, mi(d, a, c), void 0);
return {
V: d,
tm: b
}
};
ji.prototype.cancel = function (a) {
a && (a.tm && a.tm.cancel(), a.V && ni(a.V, !1))
};
var mi = function (a, b, c) {
return function () {
ni(a, !1);
c && c(b)
}
},
li = function (a, b) {
return function (c) {
ni(a, !0);
b.apply(void 0, arguments)
}
},
ni = function (a, b) {
l._callbacks_[a] && (b ? delete l._callbacks_[a] : l._callbacks_[a] = ea)
};
var qi = function (a, b, c, d, e) {
google.maps.MVCObject.call(this);
this.ic = a;
this.d = b;
this.k = c;
this.r = d;
this.c = e || {};
this.Bf = null;
this.Kc = !1;
this.hk = 0;
this.Fh = null;
this.Eh = [];
this.Gh = !1;
this.je = this.Ef = this.Ih = this.ge = this.ud = this.kc = null;
this.jk = a.get("tile_coordinate_type");
this.Mn = a.get("is_hybrid");
this.Cf = !1;
this.bindTo("type", a);
this.bindTo("url", a);
this.bindTo("url_is_tile_index", a);
this.bindTo("wms_layers", a);
(c = a.get("viewport")) && c.display_bounds && (this.zf = new google.maps.Polygon({
fillOpacity: 0,
strokeColor: "#ff0000",
strokeWeight: 1,
clickable: !1
}));
P(this, ["url", "wms_layers"], this.nk, this);
this.nk();
P(this, ["url_is_tile_index", "wms_tileset_id"], this.lk, this);
this.lk();
P(a, "wms_layers", this.Jh, this);
oi(this.r, this.ic, this.Jh, this);
pi(this);
if (!this.Cf) var f = O(b, "projection_changed", function () {
pi(this);
this.je && Ee(f)
}, this)
};
z(qi, google.maps.MVCObject);
var pi = function (a) {
if (!a.Cf && (!a.je && a.d && (a.je = a.d.getProjection()), a.je && a.kc)) {
a.Jh();
var b;
b = {
getTileUrl: v(a.Go, a),
tileSize: new google.maps.Size(256, 256)
};
b = new yh(b);
a.Bf = b;
P(a.k, "layer_opacities", a.dg, a);
a.dg();
a.Kc && a.d.overlayMapTypes.push(a.Bf);
a.Cf = !0
}
};
h = qi.prototype;
h.dg = function () {
var a = this.k.get("layer_opacities") || {},
b = this.ic.get("id");
this.Bf.set("opacity", b in a ? a[b] / 100 : 1)
};
h.Jh = function () {
var a = null,
b = null;
this.Gh = !1;
var c;
c = this.r;
var d = Pd(this.ic);
c = (c.get(d) || {}).wms_layers || null;
d = this.get("wms_layers");
c && d && d.length && (c = c[d[0]]) && (b = c.maxy, d = c.maxx, a = new google.maps.LatLng(c.miny, c.minx), b = new google.maps.LatLng(b, d), this.Gh = !0);
a && b || (b = this.ic.get("viewport") || mc, a = new google.maps.LatLng(b.Jb, b.xa), b = new google.maps.LatLng(b.ub, b.Ea));
c = new google.maps.LatLng(a.lat(), b.lng());
d = new google.maps.LatLng(b.lat(), a.lng());
this.Fh = new google.maps.LatLngBounds(a, b);
this.Eh = [a, c, b, d, a];
this.zf && this.zf.setPath([this.Eh, this.Fh.getSouthWest()])
};
h.Go = function (a, b) {
this.hk = (new Date).getTime();
var c = this.kc;
if (!c) return null;
var d = 1 << b,
e = a.x % d;
0 > e && (e += d);
var f = a.y;
a.x = e;
var g, k = this.je,
m = this.Eh,
p = e,
s = f,
t = Math.pow(2, b);
g = new google.maps.Point(256 * p / t, 256 * s / t);
p = new google.maps.Point(256 * (p + 1) / t, 256 * (s + 1) / t);
t = wh(k, m);
t[0].x < g.x && t[1].x < g.x && t[2].x < g.x && t[3].x < g.x || t[0].y < g.y && t[1].y < g.y && t[2].y < g.y && t[3].y < g.y || t[0].x > p.x && t[1].x > p.x && t[2].x > p.x && t[3].x > p.x || t[0].y > p.y && t[1].y > p.y && t[2].y > p.y && t[3].y > p.y ? g = 0 : (k = vh(t[0], t[1], g, p), m = vh(t[1],
t[2], g, p), s = vh(t[2], t[3], g, p), g = vh(t[3], t[0], g, p), g = 0 == k || 0 == m || 0 == s || 0 == g ? 0 : 1 == k && 1 == m && 1 == s && 1 == g ? 1 : 2);
if (0 === g) return null;
g = !this.Mn || 2 === g;
if ("BING" === this.jk) {
d = "";
g = b;
for (p = 1 << b - 1; 0 < g; g--, p >>= 1) k = 0, 0 != (e & p) && k++, 0 != (f & p) && (k += 2), d += k;
return c + "/" + d
}
"TMS" === this.jk && (f = d - f - 1);
c = c.replace(/{X}/, e.toString()).replace(/{Y}/, f.toString()).replace(/{Z}/, b.toString()).replace(/\.\w*$/, g ? ".png" : "jpg");
1 == a.x % 2 && (c = c.replace("mw1.gstatic.com", "mw2.gstatic.com"));
return c
};
h.Dk = function () {
this.ge && (this.Ef = this.ge.send(null, v(this.Tq, this)))
};
h.Tq = function (a) {
if (this.get("url_is_tile_index") && (a = a ? a.active_tileset : null)) {
var b = this.r,
c = a.update_time,
d = Pd(this.ic);
d && (b.Qh[d] = c, b.notify(d));
a = a.url;
this.kc ? (this.ud = a, this.fl()) : this.kc = a;
pi(this)
}
};
h.lk = function () {
if (this.get("url_is_tile_index")) {
var a = new N(this.c.json_proxy_url);
Ad(a, "url", this.get("url"));
this.ge = new ji(a);
this.Ih = l.setInterval(v(this.Dk, this), 18E4);
this.Dk()
} else {
l.clearInterval(this.Ih);
this.Ih = null;
this.Ef && this.ge.cancel(this.Ef);
this.ud = this.Ef = this.ge = null;
var a = this.r,
b = Pd(this.ic);
b && (a.Qh[b] = null, a.notify(b));
if ("WMS" !== this.get("type")) this.kc = this.get("url");
else if (a = this.get("wms_tileset_id")) this.kc = this.c.wms_tiles_url + "/" + a + "/{Z}/{X}/{Y}.png", pi(this), this.Kc &&
(this.setMap(null), this.setMap(this.d))
}
};
h.fl = function () {
if (this.ud)
if (2E3 > (new Date).getTime() - this.hk) l.setTimeout(v(this.fl, this), 2E3);
else {
var a = this.ud != this.kc;
this.kc = this.ud;
this.ud = null;
a && this.Kc && (this.setMap(null), this.setMap(this.d))
}
};
h.nk = function () {
if ("WMS" === this.get("type")) {
var a = this.get("url");
a && (a = a.replace(/^\s+|\s+$/g, ""));
var b = this.get("wms_layers");
if (a && b && b.length) {
var c = this;
(new ji(this.c.wms_configure_url)).send({
server_url: a,
projection: "EPSG:3857",
layers: b.join(",")
}, function (a) {
c.set("wms_tileset_id", a)
})
}
}
};
h.setMap = function (a) {
var b = this.Bf;
if (a && !this.Kc) this.Cf && (this.d.overlayMapTypes.push(b), U(Xf.ok, this.ic.get("id")));
else if (!a && this.Kc) {
var c = null;
this.d.overlayMapTypes.forEach(function (a, e) {
a == b && (c = e)
});
null != c && this.d.overlayMapTypes.removeAt(c);
U(Xf.pk, this.ic.get("id"))
}
this.zf && this.zf.setMap(a);
this.Kc = !!a
};
h.getMap = function () {
return this.Kc ? this.d : null
};
h.getDefaultViewport = function () {
return this.Gh ? this.Fh : null
};
var ri = function (a) {
a = String(a);
if (/^\s*$/.test(a) ? 0 : /^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""))) try {
return eval("(" + a + ")")
} catch (b) {}
throw Error("Invalid JSON string: " + a);
},
ui = function (a) {
var b = [];
si(new ti, a, b);
return b.join("")
},
ti = function () {
this.kh = void 0
},
si = function (a, b, c) {
switch (typeof b) {
case "string":
vi(b, c);
break;
case "number":
c.push(isFinite(b) && !isNaN(b) ? b : "null");
break;
case "boolean":
c.push(b);
break;
case "undefined":
c.push("null");
break;
case "object":
if (null == b) {
c.push("null");
break
}
if (q(b)) {
var d = b.length;
c.push("[");
for (var e = "", f = 0; f < d; f++) c.push(e), e = b[f], si(a, a.kh ? a.kh.call(b, String(f), e) : e, c), e = ",";
c.push("]");
break
}
c.push("{");
d = "";
for (f in b) Object.prototype.hasOwnProperty.call(b, f) && (e = b[f], "function" != typeof e && (c.push(d), vi(f, c), c.push(":"), si(a, a.kh ? a.kh.call(b, f, e) : e, c), d = ","));
c.push("}");
break;
case "function":
break;
default:
throw Error("Unknown type: " + typeof b);
}
},
wi = {
'"': '\\"',
"\\": "\\\\",
"/": "\\/",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
"\t": "\\t",
"\x0B": "\\u000b"
},
xi = /\uffff/.test("\uffff") ? /[\\\"\x00-\x1f\x7f-\uffff]/g : /[\\\"\x00-\x1f\x7f-\xff]/g,
vi = function (a, b) {
b.push('"', a.replace(xi, function (a) {
if (a in wi) return wi[a];
var b = a.charCodeAt(0),
e = "\\u";
16 > b ? e += "000" : 256 > b ? e += "00" : 4096 > b && (e += "0");
return wi[a] = e + b.toString(16)
}), '"')
};
var zi = function (a, b, c, d, e, f, g, k) {
this.A = b;
this.k = c;
this.r = d;
this.D = {};
this.Kb = {};
this.Hh = H("div", {
"class": "cm-map-copyright"
});
this.c = f || {};
this.En = this.c.enable_osm_map_type;
this.rd = new google.maps.Marker({
clickable: !1
});
d = google.maps.ControlPosition.LEFT_BOTTOM;
f = google.maps.ControlPosition.RIGHT_BOTTOM;
"left" === this.c.panel_side && (d = google.maps.ControlPosition.RIGHT_BOTTOM, f = google.maps.ControlPosition.LEFT_BOTTOM);
e = this.c.minimal_map_controls || e || g || this.c.use_tab_panel;
g = {
streetViewControl: !e,
panControl: !1,
scaleControl: !e,
scaleControlOptions: {
position: f
},
zoomControlOptions: {
position: d,
style: e ? google.maps.ZoomControlStyle.SMALL : google.maps.ZoomControlStyle.DEFAULT
},
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE],
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
mapTypeControl: !g,
scrollwheel: !k,
tilt: 0
};
this.set("mapTypeId", google.maps.MapTypeId.ROADMAP);
this.set("center", new google.maps.LatLng(0, 0));
this.set("zoom", 0);
google.maps.visualRefresh = !0;
this.d = new google.maps.Map(a, g);
this.d.bindTo("mapTypeId", this);
this.d.bindTo("center", this);
this.d.bindTo("zoom", this);
this.d.controls[google.maps.ControlPosition.BOTTOM_RIGHT].push(this.Hh);
P(c, "map_type", function () {
var a = c.get("map_type") || "ROADMAP";
this.set("mapTypeId", yi[a] || google.maps.MapTypeId.ROADMAP)
}, this);
P(this.d, "bounds", this.Jn, this);
P(this.d, "mapTypeId", this.fk, this);
this.fk();
P(this.A, ["base_map_style", "base_map_style_name"], this.Df, this);
P(c, "map_type", this.Df, this);
this.Df();
this.bindTo("viewport", c);
this.sb = new google.maps.InfoWindow;
O(this.d, "click", function () {
this.c.use_details_tab ? (Q(this, "DESELECT_FEATURE"), this.rd.setMap(null)) : this.sb.close()
}, this);
var m = H("div", {
"class": "cm-lat-lng"
});
m.style.display = "none";
V(a, m);
O(this.d, "mousemove", function (a) {
Mg(m, "Latitude/Longitude: " + cc(a.latLng.lat(), 4) + ", " + cc(a.latLng.lng(), 4))
});
O(F, "INSPECTOR_VISIBLE", function (a) {
m.style.display = a.value ? "" : "none"
});
$b(b, function (a) {
this.ek(a)
}, null, this);
P(c, "enabled_layer_ids", this.vd,
this);
P(this, "zoom", function () {
var a = this.get("zoom");
U(Xf.Fn, null, a);
this.vd();
Q(F, "ZOOM_CHANGED", {
zoom: a
})
}, this);
O(this.A, "LAYERS_ADDED", function (a) {
B(a.Gn, this.ek, this);
this.vd()
}, this);
O(this.A, "LAYERS_REMOVED", function (a) {
B(a.ck, this.In, this);
this.vd()
}, this);
this.vd();
this.Kb.post_load = O(this.d, "idle", this.Hn, this)
};
z(zi, google.maps.MVCObject);
var yi = {
ROADMAP: google.maps.MapTypeId.ROADMAP,
SATELLITE: google.maps.MapTypeId.SATELLITE,
HYBRID: google.maps.MapTypeId.HYBRID,
TERRAIN: google.maps.MapTypeId.TERRAIN,
CUSTOM: "cm.custom",
OSM: "cm.osm"
},
Ai = {
BLACK: google.maps.weather.LabelColor.BLACK,
WHITE: google.maps.weather.LabelColor.WHITE
},
Bi = {
CELSIUS: google.maps.weather.TemperatureUnit.CELSIUS,
FAHRENHEIT: google.maps.weather.TemperatureUnit.FAHRENHEIT
},
Ci = {
KILOMETERS_PER_HOUR: google.maps.weather.WindSpeedUnit.KILOMETERS_PER_HOUR,
METERS_PER_SECOND: google.maps.weather.WindSpeedUnit.METERS_PER_SECOND,
MILES_PER_HOUR: google.maps.weather.WindSpeedUnit.MILES_PER_HOUR
};
h = zi.prototype;
h.Hn = function () {
Ee(this.Kb.post_load, this);
delete this.Kb.post_load;
this.Df();
P(this.d, "mapTypeId", function () {
this.k.set("map_type", Ic(yi)[this.get("mapTypeId")]);
U(Uf.So, null)
}, this)
};
h.getMap = function () {
return this.d
};
h.Jn = function () {
var a = this.d.getBounds().getNorthEast(),
b = this.d.getBounds().getSouthWest(),
c = a.lat(),
d = b.lat(),
a = a.lng(),
b = b.lng(),
c = Math.min(c, lc),
d = Math.max(d, -lc);
this.d.getDiv().offsetWidth >= 256 * Math.pow(2, this.d.getZoom()) && (a = b = this.d.getCenter().lng() + 180);
this.set("viewport", new kc(c, d, a, b))
};
h.Df = function () {
var a = [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.TERRAIN],
b = this.k.get("map_type"),
c = this.A.get("map_type"),
d, e;
if ("CUSTOM" === b || "CUSTOM" === c) {
d = yi.CUSTOM;
var f = this.A.get("base_map_style_name") || "Custom";
try {
var g = ri(this.A.get("base_map_style"));
e = new google.maps.StyledMapType(g, {
name: f
})
} catch (k) {
e = new google.maps.StyledMapType([], {
name: f
})
}
this.d.mapTypes.set(d, e);
a.push(d)
}
if (this.En || "OSM" === c || "OSM" === b) d =
yi.OSM, b = new google.maps.ImageMapType({
getTileUrl: function (a, b) {
return "http://tile.openstreetmap.org/" + b + "/" + a.x + "/" + a.y + ".png"
},
tileSize: new google.maps.Size(256, 256),
name: "OpenStreetMap",
maxZoom: 18
}), this.d.mapTypes.set(d, b), a.push(d);
this.d.setOptions({
mapTypeControlOptions: {
mapTypeIds: a,
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
});
a = this.d.controls[google.maps.ControlPosition.TOP_RIGHT];
(d = (a.getAt(0) || {}).parentNode) && this.d.mapTypes.get(yi.OSM) && (d.lastChild.style.width = "105px", a.push(H("div", {
index: -1
})), a.pop())
};
h.fk = function () {
Ig(this.Hh);
this.d.get("mapTypeId") === yi.OSM && yc(new sc('\u00a9 <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors'), this.Hh)
};
h.In = function (a) {
this.D[a] && (this.D[a].setMap(null), delete this.D[a], delete this.Kb[a])
};
h.ek = function (a) {
Di(this, a);
this.Kb[a.get("id")] = P(a, "type url url_is_tile_index latitude_field longitude_field title_template description_template icon_url_template color_template hotspot_template condition0 condition1 condition2 ft_select ft_from ft_where ft_heatmap maps_engine_map_id maps_engine_layer_key layer_id temperature_unit wind_speed_unit label_color wms_layers".split(" "), function () {
Di(this, a);
this.vd()
}, this)
};
var Ei = function (a, b) {
function c(a, b) {
b && (e += "&" + a + "=" + encodeURIComponent(b))
}
var d = b.get("url");
"GOOGLE_SPREADSHEET" === b.get("type") && (d = (d = d.match(/spreadsheet\/.*[?&]key=(\w+)/)) ? "https://docs.google.com/spreadsheet/pub?key=$key&output=csv".replace("$key", d[1]) : null);
if (!d.match(/\S/)) return null;
var e = a.c.kmlify_url + "?url=" + encodeURIComponent(d);
if ("GEOJSON" === b.get("type")) c("type", "geojson");
else {
c("type", "csv");
var d = b.get("latitude_field"),
f = b.get("longitude_field");
if (!d || !f) return null;
c("loc",
d === f ? d : d + "," + f);
c("icon", b.get("icon_url_template"));
c("color", b.get("color_template"));
c("hotspot", b.get("hotspot_template"))
}
c("name", b.get("title_template"));
c("desc", wc(b.get("description_template") || vc));
c("cond", b.get("condition0"));
c("cond", b.get("condition1"));
c("cond", b.get("condition2"));
return e
},
Di = function (a, b) {
var c = b.get("id");
a.D[c] && (a.D[c].setMap(null), delete a.D[c]);
switch (b.get("type")) {
case "KML":
case "GEORSS":
case "GOOGLE_MAPS_ENGINE_LITE_OR_PRO":
var d = b.get("url");
d && (d = Fi(d),
a.D[c] = new google.maps.KmlLayer({
url: d,
preserveViewport: !0,
suppressInfoWindows: !0
}));
break;
case "TILE":
a.D[c] = new qi(b, a.d, a.k, a.r, a.c);
break;
case "WMS":
a.D[c] = new qi(b, a.d, a.k, a.r, a.c);
break;
case "GEOJSON":
case "CSV":
case "GOOGLE_SPREADSHEET":
(d = Ei(a, b)) && (a.D[c] = new google.maps.KmlLayer({
url: d,
preserveViewport: !0,
suppressInfoWindows: !0
}));
break;
case "FUSION":
a.D[c] = new google.maps.FusionTablesLayer({
query: {
select: b.get("ft_select"),
from: b.get("ft_from"),
where: b.get("ft_where")
},
heatmap: {
enabled: b.get("ft_heatmap")
},
suppressInfoWindows: !0
});
break;
case "ONION":
d = new rh(c, b.get("layer_id"), !b.get("suppress_info_windows"), a.c.use_details_tab);
a.D[c] = d;
a.D[c].bindTo("layer_id", b);
O(d, "SELECT_FEATURE", function (a) {
Gi(this, a)
}, a);
break;
case "MAPS_ENGINE":
d = {
suppressInfoWindows: !0
};
if (b.get("layer_type")) {
var e = b.get("viewport");
d.maproot = {
layerName: b.get("title"),
layerType: b.get("layer_type"),
defaultOn: b.get("default_visibility"),
bounds: {
southWest: {
lat: e.Jb,
lng: e.xa
},
northEast: {
lat: e.ub,
lng: e.Ea
}
}
};
if ("VECTOR" == b.get("layer_type")) {
if (e =
b.get("maps_engine_vector_layer"), e.vector_layer_id ? d.maproot.layerId = e.vector_layer_id : (d.maproot.tableId = e.table_id, d.maproot.styleId = e.style_id, d.maproot.templateId = e.balloon_template_id, d.maproot.ftToken = b.get("maps_engine_auth_token")), e.layer_parameters) {
var f = {};
B(e.layer_parameters || [], function (a) {
f[a.key] = a.value
});
d.maproot.layerParameters = f
}
} else "IMAGE" == b.get("layer_type") && (e = b.get("maps_engine_image_layer"), d.maproot.assetId = e.asset_id, d.maproot.tileWidth = e.tile_width, d.maproot.tileHeight =
e.tile_height, d.maproot.epoch = e.epoch, d.maproot.authToken = b.get("maps_engine_auth_token"));
a.D[c] = new google.maps.visualization.MapsEngineLayer(d)
}
d.mapId = b.get("maps_engine_map_id");
d.layerId = b.get("maps_engine_layer_id") || b.get("maps_engine_layer_key");
d.mapId && d.layerId && (a.D[c] = new google.maps.visualization.MapsEngineLayer(d));
P(a.k, "layer_opacities", function () {
var a = this.k.get("layer_opacities") || {},
b = this.D[c];
b && b.setOpacity && b.setOpacity(c in a ? a[c] / 100 : 1)
}, a);
break;
case "TRAFFIC":
a.D[c] =
new google.maps.TrafficLayer;
break;
case "TRANSIT":
a.D[c] = new google.maps.TransitLayer;
break;
case "WEATHER":
a.D[c] = new google.maps.weather.WeatherLayer({
suppressInfoWindows: !0,
labelColor: Ai[b.get("label_color")] || google.maps.weather.LabelColor.BLACK,
temperatureUnits: Bi[b.get("temperature_unit")] || google.maps.weather.TemperatureUnit.CELSIUS,
windSpeedUnits: Ci[b.get("wind_speed_unit")] || google.maps.weather.WindSpeedUnit.KILOMETERS_PER_HOUR
});
break;
case "CLOUD":
a.D[c] = new google.maps.weather.CloudLayer
}(d =
a.D[c]) && !b.get("suppress_info_windows") && O(d, "click", function (a) {
var b = a.featureData || a,
d = null,
d = xa(b.infoWindowHtml || "");
(d = Cf(d)) && d.childNodes && 0 < d.childNodes.length ? (d = 1 === d.nodeType ? d : H("div", {}, d), a = {
layerId: c,
title: b.name || "",
snippet: b.snippet || "",
content: d,
position: a.latLng,
pixelOffset: a.pixelOffset
}) : a = null;
this.c.use_details_tab ? a ? Gi(this, a) : (Q(this, "DESELECT_FEATURE"), this.rd.setMap(null)) : (this.sb.close(), a && (this.sb.setOptions({
position: a.position,
pixelOffset: a.pixelOffset,
content: a.content.innerHTML
}),
this.sb.open(this.d)));
this.bk = a ? c : null;
a && U(Uf.Nn, c)
}, a)
},
Gi = function (a, b) {
Q(a, "SELECT_FEATURE", b);
var c = new google.maps.Point(34, 34);
a.rd.setIcon({
url: a.c.static_content_url + "/highlight.png",
anchor: c
});
a.rd.setPosition(b.position);
a.rd.setMap(a.d)
},
Fi = function (a) {
var b = new N(a),
c = b.oa("cm.ttl");
if (!c) return a;
b.Nc("cm.ttl");
c = Math.max(parseInt(c, 10), 1);
Ad(b, "cm.cache_time", Math.floor((new Date).getTime() / (1E3 * c)));
return b.toString()
};
zi.prototype.vd = function () {
var a = this.get("zoom"),
b = ef(this.k, this.A),
c;
for (c in this.D) {
var d = this.A.Vb[c],
e = d.get("min_zoom"),
d = d.get("max_zoom"),
e = b.contains(c) && !(ja(e) && a < e) && !(ja(d) && a > d),
d = null != this.D[c].getMap();
e && !d ? (this.D[c].setMap(this.d), U(Xf.ok, c)) : !e && d && (this.D[c].setMap(null), U(Xf.pk, c));
e || this.bk != c || (this.c.use_details_tab ? (Q(this, "DESELECT_FEATURE"), this.rd.setMap(null)) : (this.sb.close(), this.bk = null))
}
};
var Ii = function (a, b) {
function c(a) {
return a ? a - 0 : NaN
}
var d = new N(b),
e = nc("" + d.oa("llbox"));
if (e) Hi(a, e);
else {
var e = c(d.oa("lat")),
f = c(d.oa("lng"));
isFinite(e) && isFinite(f) && a.set("center", new google.maps.LatLng(e, f));
d = c(d.oa("z"));
isFinite(d) && a.set("zoom", d)
}
},
Hi = function (a, b) {
b && (a.set("center", qc(b)), a.set("zoom", rc(b, a.d.getDiv().offsetWidth / 0.75, a.d.getDiv().offsetHeight / 0.75)))
},
Ji = function (a, b) {
var c = a.D[b],
d = a.A.Vb[b],
e = d.get("viewport"),
d = d.get("full_extent");
if (e) Hi(a, e);
else if (d) a.d.fitBounds(pc(d));
else if (c && c.getDefaultViewport) {
var f = function () {
var b = c.getDefaultViewport();
return b ? (a.d.fitBounds(b), !0) : !1
};
if (!f()) var g = P(c, "defaultViewport", function () {
f() && Ee(g)
})
}
};
var Ki = function () {};
Ki.prototype.hn = null;
var Mi = function (a) {
var b;
(b = a.hn) || (b = {}, Li(a) && (b[0] = !0, b[1] = !0), b = a.hn = b);
return b
};
var Ni, Oi = function () {};
z(Oi, Ki);
var Pi = function (a) {
return (a = Li(a)) ? new ActiveXObject(a) : new XMLHttpRequest
},
Li = function (a) {
if (!a.jn && "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.jn = d
} catch (e) {}
}
throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}
return a.jn
};
Ni = new Oi;
var Qi = function (a) {
R.call(this);
this.headers = new Nc;
this.qg = a || null;
this.pc = !1;
this.og = this.n = null;
this.Mi = "";
this.Sc = this.Hi = this.eg = this.Li = !1;
this.Ni = 0;
this.pg = null;
this.bl = "";
this.Ki = this.Mo = !1
};
z(Qi, R);
var Ri = /^https?$/i,
Si = ["POST", "PUT"],
Ti = [],
Ui = function (a, b, c) {
var d = new Qi;
Ti.push(d);
b && d.h("complete", b);
d.vj("ready", d.mq);
d.send(a, "POST", c, void 0)
};
Qi.prototype.mq = function () {
this.v();
ab(Ti, this)
};
Qi.prototype.send = function (a, b, c, d) {
if (this.n) throw Error("[goog.net.XhrIo] Object is active with another request=" + this.Mi + "; newUri=" + a);
b = b ? b.toUpperCase() : "GET";
this.Mi = a;
this.Li = !1;
this.pc = !0;
this.n = this.qg ? Pi(this.qg) : Pi(Ni);
this.og = this.qg ? Mi(this.qg) : Mi(Ni);
this.n.onreadystatechange = v(this.xl, this);
try {
this.Hi = !0, this.n.open(b, String(a), !0), this.Hi = !1
} catch (e) {
this.jg(5, e);
return
}
a = c || "";
var f = this.headers.qa();
d && Uc(d, function (a, b) {
f.set(b, a)
});
d = Ya(f.rc());
c = l.FormData && a instanceof l.FormData;
!C(Si, b) || d || c || f.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
f.forEach(function (a, b) {
this.n.setRequestHeader(b, a)
}, this);
this.bl && (this.n.responseType = this.bl);
"withCredentials" in this.n && (this.n.withCredentials = this.Mo);
try {
Vi(this), 0 < this.Ni && ((this.Ki = Wi(this.n)) ? (this.n.timeout = this.Ni, this.n.ontimeout = v(this.ad, this)) : this.pg = Xg(this.ad, this.Ni, this)), this.eg = !0, this.n.send(a), this.eg = !1
} catch (g) {
this.jg(5, g)
}
};
var Wi = function (a) {
return J && L(9) && ja(a.timeout) && n(a.ontimeout)
},
Xa = function (a) {
return "content-type" == a.toLowerCase()
};
Qi.prototype.ad = function () {
"undefined" != typeof aa && this.n && (this.dispatchEvent("timeout"), this.abort(8))
};
Qi.prototype.jg = function () {
this.pc = !1;
this.n && (this.Sc = !0, this.n.abort(), this.Sc = !1);
Xi(this);
Yi(this)
};
var Xi = function (a) {
a.Li || (a.Li = !0, a.dispatchEvent("complete"), a.dispatchEvent("error"))
};
Qi.prototype.abort = function () {
this.n && this.pc && (this.pc = !1, this.Sc = !0, this.n.abort(), this.Sc = !1, this.dispatchEvent("complete"), this.dispatchEvent("abort"), Yi(this))
};
Qi.prototype.m = function () {
this.n && (this.pc && (this.pc = !1, this.Sc = !0, this.n.abort(), this.Sc = !1), Yi(this, !0));
Qi.l.m.call(this)
};
Qi.prototype.xl = function () {
this.He || (this.Hi || this.eg || this.Sc ? Zi(this) : this.Dq())
};
Qi.prototype.Dq = function () {
Zi(this)
};
var Zi = function (a) {
if (a.pc && "undefined" != typeof aa && (!a.og[1] || 4 != (a.n ? a.n.readyState : 0) || 2 != a.getStatus()))
if (a.eg && 4 == (a.n ? a.n.readyState : 0)) Xg(a.xl, 0, a);
else if (a.dispatchEvent("readystatechange"), 4 == (a.n ? a.n.readyState : 0)) {
a.pc = !1;
try {
$i(a) ? (a.dispatchEvent("complete"), a.dispatchEvent("success")) : Xi(a)
} finally {
Yi(a)
}
}
},
Yi = function (a, b) {
if (a.n) {
Vi(a);
var c = a.n,
d = a.og[0] ? ea : null;
a.n = null;
a.og = null;
b || a.dispatchEvent("ready");
try {
c.onreadystatechange = d
} catch (e) {}
}
},
Vi = function (a) {
a.n && a.Ki && (a.n.ontimeout =
null);
ja(a.pg) && (l.clearTimeout(a.pg), a.pg = null)
};
Qi.prototype.kf = function () {
return !!this.n
};
var $i = function (a) {
var b = a.getStatus(),
c;
t: switch (b) {
case 200:
case 201:
case 202:
case 204:
case 206:
case 304:
case 1223:
c = !0;
break t;
default:
c = !1
}
if (!c) {
if (b = 0 === b) a = pd(String(a.Mi))[1] || null, !a && self.location && (a = self.location.protocol, a = a.substr(0, a.length - 1)), b = !Ri.test(a ? a.toLowerCase() : "");
c = b
}
return c
};
Qi.prototype.getStatus = function () {
try {
return 2 < (this.n ? this.n.readyState : 0) ? this.n.status : -1
} catch (a) {
return -1
}
};
var aj = function (a, b, c) {
google.maps.MVCObject.call(this);
this.A = a;
this.Qh = {};
this.Ql = new Vc;
this.hj = c || null;
this.L = new Vg(9E4);
this.Ol = 0;
for (var d in b || {}) this.set(d, b[d]), this.Ql.add(d);
this.hj && (O(this.L, "tick", this.Zp, this), this.L.start())
};
z(aj, google.maps.MVCObject);
aj.prototype.isEmpty = function (a) {
var b = this.get(Pd(a)) || {};
return b.has_no_features || 0 === b.length ? !0 : "WMS" === a.get("type") ? !1 : b.ill_formed
};
aj.prototype.getLength = function (a) {
a = (this.get(Pd(a)) || {}).length;
return "number" === typeof a ? a : null
};
var bj = function (a, b) {
var c = Pd(b),
d = a.get(c) || {};
return a.Qh[c] || d.update_time || null
},
oi = function (a, b, c, d) {
(b = Pd(b)) && !a.get(b) && a.hj && (a.L.setInterval(2E3), a.Ol = (new Date).getTime() + 15E3);
return b ? P(a, b, c, d) : null
};
aj.prototype.Zp = function () {
var a = this,
b = {
source: function (a) {
var b = new Vc;
$b(a, function (a) {
(a = Pd(a)) && b.add(a)
});
return b
}(this.A).Yl(this.Ql).Ka()
};
(new ji(this.hj)).send(b, function (b) {
for (var d in b) a.set(d, b[d])
});
(new Date).getTime() > this.Ol && this.L.setInterval(9E4)
};
var cj = function (a) {
var b = H("div", {
"class": ["cm-mapbutton", "cm-my-location-button"],
index: -1
});
a.controls[google.maps.ControlPosition.TOP_RIGHT].push(b);
O(b, "click", function () {
U(Uf.qr, null);
Q(F, "GO_TO_MY_LOCATION")
}, this)
};
var dj = function (a, b, c) {
this.F = b;
this.Bc = H("select", {});
V(a, this.Bc);
this.F.get("sublayers");
var d = this;
this.F.get("sublayers").forEach(function (a) {
var b = a.get("id");
a = H("option", {
value: b
}, a.get("title"));
a.selected = b === c;
V(d.Bc, a)
});
O(this.Bc, "change", this.uq, this)
};
dj.prototype.uq = function () {
B(this.Bc.options, function (a) {
a.selected = a.value === this.Bc.value
}, this);
U(Sf.Uq, this.Bc.value);
Q(this, "SELECT_SUBLAYER", {
id: this.Bc.value
})
};
dj.prototype.v = function () {
Jg(this.Bc)
};
var ej;
ej = {
vp: ["BC", "AD"],
up: ["Before Christ", "Anno Domini"],
zp: "JFMAMJJASOND".split(""),
Fp: "JFMAMJJASOND".split(""),
yp: "January February March April May June July August September October November December".split(" "),
Ep: "January February March April May June July August September October November December".split(" "),
Bp: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
Hp: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
Kp: "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
Jp: "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
Dp: "Sun Mon Tue Wed Thu Fri Sat".split(" "),
Ip: "Sun Mon Tue Wed Thu Fri Sat".split(" "),
Yr: "SMTWTFS".split(""),
Gp: "SMTWTFS".split(""),
Cp: ["Q1", "Q2", "Q3", "Q4"],
Ap: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
tp: ["AM", "PM"],
ym: ["EEEE, MMMM d, y", "MMMM d, y", "MMM d, y", "M/d/yy"],
zm: ["h:mm:ss a zzzz", "h:mm:ss a z", "h:mm:ss a", "h:mm a"],
pq: ["{1} 'at' {0}", "{1} 'at' {0}", "{1}, {0}", "{1}, {0}"],
wp: 6,
$r: [5, 6],
xp: 5
};
var fj = function () {},
gj = function (a) {
if ("number" == typeof a) {
var b = new fj;
b.Qg = a;
var c;
c = a;
if (0 == c) c = "Etc/GMT";
else {
var d = ["Etc/GMT", 0 > c ? "-" : "+"];
c = Math.abs(c);
d.push(Math.floor(c / 60) % 100);
c %= 60;
0 != c && d.push(":", La(c, 2));
c = d.join("")
}
b.Pl = c;
0 == a ? a = "UTC" : (c = ["UTC", 0 > a ? "+" : "-"], a = Math.abs(a), c.push(Math.floor(a / 60) % 100), a %= 60, 0 != a && c.push(":", a), a = c.join(""));
b.ij = [a, a];
b.jh = [];
return b
}
b = new fj;
b.Pl = a.id;
b.Qg = -a.std_offset;
b.ij = a.names;
b.jh = a.transitions;
return b
},
hj = function (a, b) {
for (var c = Date.UTC(b.getUTCFullYear(),
b.getUTCMonth(), b.getUTCDate(), b.getUTCHours(), b.getUTCMinutes()) / 36E5, d = 0; d < a.jh.length && c >= a.jh[d];) d += 2;
return 0 == d ? 0 : a.jh[d - 1]
};
var ij = function (a, b) {
this.eh = [];
this.H = b || ej;
"number" == typeof a ? this.Zf(a) : this.bc(a)
},
jj = [/^\'(?:[^\']|\'\')*\'/, /^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|m+|s+|v+|w+|z+|Z+)/, /^[^\'GyMkSEahKHcLQdmsvwzZ]+/];
ij.prototype.bc = function (a) {
for (; a;)
for (var b = 0; b < jj.length; ++b) {
var c = a.match(jj[b]);
if (c) {
c = c[0];
a = a.substring(c.length);
0 == b && ("''" == c ? c = "'" : (c = c.substring(1, c.length - 1), c = c.replace(/\'\'/, "'")));
this.eh.push({
text: c,
type: b
});
break
}
}
};
ij.prototype.format = function (a, b) {
if (!a) throw Error("The date to format must be non-null.");
var c = b ? 6E4 * (a.getTimezoneOffset() - (b.Qg - hj(b, a))) : 0,
d = c ? new Date(a.getTime() + c) : a,
e = d;
b && d.getTimezoneOffset() != a.getTimezoneOffset() && (e = new Date(a.getTime() + (c + (0 < c ? -864E5 : 864E5))));
for (var c = [], f = 0; f < this.eh.length; ++f) {
var g = this.eh[f].text;
1 == this.eh[f].type ? c.push(kj(this, g, a, d, e, b)) : c.push(g)
}
return c.join("")
};
ij.prototype.Zf = function (a) {
var b;
if (4 > a) b = this.H.ym[a];
else if (8 > a) b = this.H.zm[a - 4];
else if (12 > a) b = this.H.pq[a - 8], b = b.replace("{1}", this.H.ym[a - 8]), b = b.replace("{0}", this.H.zm[a - 8]);
else {
this.Zf(10);
return
}
this.bc(b)
};
var mj = function (a, b) {
return lj(b, a.H)
},
lj = function (a, b) {
a = String(a);
var c = b || ej;
if (void 0 === c.vr) return a;
for (var d = [], e = 0; e < a.length; e++) {
var f = a.charCodeAt(e);
d.push(48 <= f && 57 >= f ? String.fromCharCode(c.vr + f - 48) : a.charAt(e))
}
return d.join("")
},
nj = function (a) {
if (!(a.getHours && a.getSeconds && a.getMinutes)) throw Error("The date to format has no time (probably a goog.date.Date). Use Date or goog.date.DateTime, or use a pattern without time fields.");
},
kj = function (a, b, c, d, e, f) {
var g = b.length;
switch (b.charAt(0)) {
case "G":
return c =
0 < d.getFullYear() ? 1 : 0, 4 <= g ? a.H.up[c] : a.H.vp[c];
case "y":
return c = d.getFullYear(), 0 > c && (c = -c), 2 == g && (c %= 100), mj(a, La(c, g));
case "M":
t: switch (c = d.getMonth(), g) {
case 5:
a = a.H.zp[c];
break t;
case 4:
a = a.H.yp[c];
break t;
case 3:
a = a.H.Bp[c];
break t;
default:
a = mj(a, La(c + 1, g))
}
return a;
case "k":
return nj(e), mj(a, La(e.getHours() || 24, g));
case "S":
return mj(a, (e.getTime() % 1E3 / 1E3).toFixed(Math.min(3, g)).substr(2) + (3 < g ? La(0, g - 3) : ""));
case "E":
return c = d.getDay(), 4 <= g ? a.H.Kp[c] : a.H.Dp[c];
case "a":
return nj(e), g = e.getHours(),
a.H.tp[12 <= g && 24 > g ? 1 : 0];
case "h":
return nj(e), mj(a, La(e.getHours() % 12 || 12, g));
case "K":
return nj(e), mj(a, La(e.getHours() % 12, g));
case "H":
return nj(e), mj(a, La(e.getHours(), g));
case "c":
t: switch (c = d.getDay(), g) {
case 5:
a = a.H.Gp[c];
break t;
case 4:
a = a.H.Jp[c];
break t;
case 3:
a = a.H.Ip[c];
break t;
default:
a = mj(a, La(c, 1))
}
return a;
case "L":
t: switch (c = d.getMonth(), g) {
case 5:
a = a.H.Fp[c];
break t;
case 4:
a = a.H.Ep[c];
break t;
case 3:
a = a.H.Hp[c];
break t;
default:
a = mj(a, La(c + 1, g))
}
return a;
case "Q":
return c = Math.floor(d.getMonth() /
3), 4 > g ? a.H.Cp[c] : a.H.Ap[c];
case "d":
return mj(a, La(d.getDate(), g));
case "m":
return nj(e), mj(a, La(e.getMinutes(), g));
case "s":
return nj(e), mj(a, La(e.getSeconds(), g));
case "v":
return a = f || gj(c.getTimezoneOffset()), a.Pl;
case "w":
return c = new Date(e.getFullYear(), e.getMonth(), e.getDate()), b = a.H.wp || 0, c = c.valueOf() + 864E5 * (((a.H.xp || 3) - b + 7) % 7 - ((c.getDay() + 6) % 7 - b + 7) % 7), c = Math.floor(Math.round((c - (new Date((new Date(c)).getFullYear(), 0, 1)).valueOf()) / 864E5) / 7) + 1, mj(a, La(c, g));
case "z":
return a = f || gj(c.getTimezoneOffset()),
4 > g ? a.ij[0 < hj(a, c) ? 2 : 0] : a.ij[0 < hj(a, c) ? 3 : 1];
case "Z":
return b = f || gj(c.getTimezoneOffset()), 4 > g ? (a = -(b.Qg - hj(b, c)), g = [0 > a ? "-" : "+"], a = Math.abs(a), g.push(La(Math.floor(a / 60) % 100, 2), La(a % 60, 2)), a = g.join("")) : (g = b.Qg - hj(b, c), c = ["GMT"], c.push(0 >= g ? "+" : "-"), g = Math.abs(g), c.push(La(Math.floor(g / 60) % 100, 2), ":", La(g % 60, 2)), a = mj(a, c.join(""))), a;
default:
return ""
}
};
var oj, pj, qj;
qj = function (a, b, c) {
var d = lj(a);
return b || 0 != c ? b && 0 == c ? 1 == a ? "in " + (d + " minute") : "in " + (d + " minutes") : b || 1 != c ? b && 1 == c ? 1 == a ? "in " + (d + " hour") : "in " + (d + " hours") : b || 2 != c ? b && 2 == c ? 1 == a ? "in " + (d + " day") : "in " + (d + " days") : "" : 1 == a ? d + " day ago" : d + " days ago" : 1 == a ? d + " hour ago" : d + " hours ago" : 1 == a ? d + " minute ago" : d + " minutes ago"
};
var rj;
var sj = function (a, b) {
b ? a.setAttribute("role", b) : a.removeAttribute("role")
},
tj = function (a, b, c) {
ia(c) && (c = c.join(" "));
var d = "aria-" + b;
"" === c || void 0 == c ? (rj || (rj = {
atomic: !1,
autocomplete: "none",
dropeffect: "none",
haspopup: !1,
live: "off",
multiline: !1,
multiselectable: !1,
orientation: "vertical",
readonly: !1,
relevant: "additions text",
required: !1,
sort: "none",
busy: !1,
disabled: !1,
hidden: !1,
invalid: "false"
}), c = rj, b in c ? a.setAttribute(d, c[b]) : a.removeAttribute(d)) : a.setAttribute(d, c)
};
var uj = function (a) {
if (a.classList) return a.classList;
a = a.className;
return u(a) && a.match(/\S+/g) || []
},
vj = function (a, b) {
return a.classList ? a.classList.contains(b) : C(uj(a), b)
},
wj = function (a, b) {
a.classList ? a.classList.add(b) : vj(a, b) || (a.className += 0 < a.className.length ? " " + b : b)
},
xj = function (a, b) {
if (a.classList) B(b, function (b) {
wj(a, b)
});
else {
var c = {};
B(uj(a), function (a) {
c[a] = !0
});
B(b, function (a) {
c[a] = !0
});
a.className = "";
for (var d in c) a.className += 0 < a.className.length ? " " + d : d
}
},
yj = function (a, b) {
a.classList ?
a.classList.remove(b) : vj(a, b) && (a.className = Ra(uj(a), function (a) {
return a != b
}).join(" "))
},
zj = function (a, b) {
a.classList ? B(b, function (b) {
yj(a, b)
}) : a.className = Ra(uj(a), function (a) {
return !C(b, a)
}).join(" ")
};
var Aj = function (a) {
if (a.altKey && !a.ctrlKey || a.metaKey || 112 <= a.keyCode && 123 >= a.keyCode) return !1;
switch (a.keyCode) {
case 18:
case 20:
case 93:
case 17:
case 40:
case 35:
case 27:
case 36:
case 45:
case 37:
case 224:
case 91:
case 144:
case 12:
case 34:
case 33:
case 19:
case 255:
case 44:
case 39:
case 145:
case 16:
case 38:
case 224:
case 92:
return !1;
case 0:
return !dd;
default:
return 166 > a.keyCode || 183 < a.keyCode
}
},
Dj = function (a, b, c, d, e) {
if (!(J || K && L("525"))) return !0;
if (ad && e) return Bj(a);
if (e && !d) return !1;
ja(b) && (b = Cj(b));
if (!c &&
(17 == b || 18 == b || ad && 91 == b)) return !1;
if (K && d && c) switch (a) {
case 220:
case 219:
case 221:
case 192:
case 186:
case 189:
case 187:
case 188:
case 190:
case 191:
case 192:
case 222:
return !1
}
if (J && d && b == a) return !1;
switch (a) {
case 13:
return !(J && ld(9));
case 27:
return !K
}
return Bj(a)
},
Bj = function (a) {
if (48 <= a && 57 >= a || 96 <= a && 106 >= a || 65 <= a && 90 >= a || K && 0 == a) return !0;
switch (a) {
case 32:
case 63:
case 107:
case 109:
case 110:
case 111:
case 186:
case 59:
case 189:
case 187:
case 61:
case 188:
case 190:
case 191:
case 192:
case 222:
case 219:
case 220:
case 221:
return !0;
default:
return !1
}
},
Cj = function (a) {
if (dd) a = Ej(a);
else if (ad && K) t: switch (a) {
case 93:
a = 91;
break t
}
return a
},
Ej = function (a) {
switch (a) {
case 61:
return 187;
case 59:
return 186;
case 173:
return 189;
case 224:
return 91;
case 0:
return 224;
default:
return a
}
};
var Gj = function (a, b) {
R.call(this);
a && Fj(this, a, b)
};
z(Gj, R);
h = Gj.prototype;
h.f = null;
h.Hg = null;
h.Yi = null;
h.Ig = null;
h.bb = -1;
h.wc = -1;
h.Aj = !1;
var Hj = {
3: 13,
12: 144,
63232: 38,
63233: 40,
63234: 37,
63235: 39,
63236: 112,
63237: 113,
63238: 114,
63239: 115,
63240: 116,
63241: 117,
63242: 118,
63243: 119,
63244: 120,
63245: 121,
63246: 122,
63247: 123,
63248: 44,
63272: 46,
63273: 36,
63275: 35,
63276: 33,
63277: 34,
63289: 144,
63302: 45
},
Ij = {
Up: 38,
Down: 40,
Left: 37,
Right: 39,
Enter: 13,
F1: 112,
F2: 113,
F3: 114,
F4: 115,
F5: 116,
F6: 117,
F7: 118,
F8: 119,
F9: 120,
F10: 121,
F11: 122,
F12: 123,
"U+007F": 46,
Home: 36,
End: 35,
PageUp: 33,
PageDown: 34,
Insert: 45
},
Jj = J || K && L("525"),
Kj = ad && dd;
Gj.prototype.Pf = function (a) {
K && (17 == this.bb && !a.ctrlKey || 18 == this.bb && !a.altKey || ad && 91 == this.bb && !a.metaKey) && (this.wc = this.bb = -1); - 1 == this.bb && (a.ctrlKey && 17 != a.keyCode ? this.bb = 17 : a.altKey && 18 != a.keyCode ? this.bb = 18 : a.metaKey && 91 != a.keyCode && (this.bb = 91));
Jj && !Dj(a.keyCode, this.bb, a.shiftKey, a.ctrlKey, a.altKey) ? this.handleEvent(a) : (this.wc = Cj(a.keyCode), Kj && (this.Aj = a.altKey))
};
Gj.prototype.Lp = function (a) {
this.wc = this.bb = -1;
this.Aj = a.altKey
};
Gj.prototype.handleEvent = function (a) {
var b = a.Ac(),
c, d, e = b.altKey;
J && "keypress" == a.type ? (c = this.wc, d = 13 != c && 27 != c ? b.keyCode : 0) : K && "keypress" == a.type ? (c = this.wc, d = 0 <= b.charCode && 63232 > b.charCode && Bj(c) ? b.charCode : 0) : cd ? (c = this.wc, d = Bj(c) ? b.keyCode : 0) : (c = b.keyCode || this.wc, d = b.charCode || 0, Kj && (e = this.Aj), ad && 63 == d && 224 == c && (c = 191));
var f = c = Cj(c),
g = b.keyIdentifier;
c ? 63232 <= c && c in Hj ? f = Hj[c] : 25 == c && a.shiftKey && (f = 9) : g && g in Ij && (f = Ij[g]);
a = f == this.bb;
this.bb = f;
b = new Lj(f, d, a, b);
b.altKey = e;
this.dispatchEvent(b)
};
Gj.prototype.e = function () {
return this.f
};
var Fj = function (a, b, c) {
a.Ig && a.detach();
a.f = b;
a.Hg = qe(a.f, "keypress", a, c);
a.Yi = qe(a.f, "keydown", a.Pf, c, a);
a.Ig = qe(a.f, "keyup", a.Lp, c, a)
};
Gj.prototype.detach = function () {
this.Hg && (ze(this.Hg), ze(this.Yi), ze(this.Ig), this.Ig = this.Yi = this.Hg = null);
this.f = null;
this.wc = this.bb = -1
};
Gj.prototype.m = function () {
Gj.l.m.call(this);
this.detach()
};
var Lj = function (a, b, c, d) {
ce.call(this, d);
this.type = "key";
this.keyCode = a;
this.charCode = b;
this.repeat = c
};
z(Lj, ce);
var Mj = function (a, b) {
R.call(this);
var c = this.f = a,
c = la(c) && 1 == c.nodeType ? this.f : this.f ? this.f.body : null;
this.Mp = !!c && tg(c);
this.cl = qe(this.f, dd ? "DOMMouseScroll" : "mousewheel", this, b)
};
z(Mj, R);
Mj.prototype.handleEvent = function (a) {
var b = 0,
c = 0,
d = 0;
a = a.Ac();
if ("mousewheel" == a.type) {
c = 1;
if (J || K && (bd || L("532.0"))) c = 40;
d = Nj(-a.wheelDelta, c);
n(a.wheelDeltaX) ? (b = Nj(-a.wheelDeltaX, c), c = Nj(-a.wheelDeltaY, c)) : c = d
} else d = a.detail, 100 < d ? d = 3 : -100 > d && (d = -3), n(a.axis) && a.axis === a.HORIZONTAL_AXIS ? b = d : c = d;
ja(this.Tm) && (b = ib(b, -this.Tm, this.Tm));
ja(this.Um) && (c = ib(c, -this.Um, this.Um));
this.Mp && (b = -b);
b = new Oj(d, a, b, c);
this.dispatchEvent(b)
};
var Nj = function (a, b) {
return K && (ad || gd) && 0 != a % b ? a : a / b
};
Mj.prototype.m = function () {
Mj.l.m.call(this);
ze(this.cl);
this.cl = null
};
var Oj = function (a, b, c, d) {
ce.call(this, b);
this.type = "mousewheel";
this.detail = a;
this.Yc = c;
this.Zc = d
};
z(Oj, ce);
var Pj = function (a) {
this.va = a;
this.O = {}
};
z(Pj, Yd);
var Qj = [];
Pj.prototype.h = function (a, b, c, d) {
q(b) || (b && (Qj[0] = b.toString()), b = Qj);
for (var e = 0; e < b.length; e++) {
var f = qe(a, b[e], c || this.handleEvent, d || !1, this.va || this);
if (!f) break;
this.O[f.key] = f
}
return this
};
Pj.prototype.vj = function (a, b, c, d) {
return Rj(this, a, b, c, d)
};
var Rj = function (a, b, c, d, e, f) {
if (q(c))
for (var g = 0; g < c.length; g++) Rj(a, b, c[g], d, e, f);
else {
b = xe(b, c, d || a.handleEvent, e, f || a.va || a);
if (!b) return a;
a.O[b.key] = b
}
return a
};
Pj.prototype.M = function (a, b, c, d, e) {
if (q(b))
for (var f = 0; f < b.length; f++) this.M(a, b[f], c, d, e);
else c = c || this.handleEvent, e = e || this.va || this, c = re(c), d = !!d, b = ge(a) ? a.Ze(b, c, d, e) : a ? (a = te(a)) ? a.Ze(b, c, d, e) : null : null, b && (ze(b), delete this.O[b.key]);
return this
};
Pj.prototype.cb = function () {
Ac(this.O, ze);
this.O = {}
};
Pj.prototype.m = function () {
Pj.l.m.call(this);
this.cb()
};
Pj.prototype.handleEvent = function () {
throw Error("EventHandler.handleEvent not implemented");
};
var Sj = function () {
dh.call(this);
this.$b = []
};
z(Sj, dh);
Sj.prototype.add = function (a) {
C(this.$b, a) || (this.$b.push(a), qe(a, "finish", this.Zm, !1, this))
};
Sj.prototype.remove = function (a) {
ab(this.$b, a) && ye(a, "finish", this.Zm, !1, this)
};
Sj.prototype.m = function () {
B(this.$b, function (a) {
a.v()
});
this.$b.length = 0;
Sj.l.m.call(this)
};
var Tj = function () {
Sj.call(this);
this.cj = 0
};
z(Tj, Sj);
Tj.prototype.play = function (a) {
if (0 == this.$b.length) return !1;
if (a || 0 == this.j) this.cj = 0, this.hg();
else if (1 == this.j) return !1;
this.Ya("play"); - 1 == this.j && this.Ya("resume");
var b = -1 == this.j && !a;
this.startTime = y();
this.Qe = null;
this.j = 1;
B(this.$b, function (c) {
b && -1 != c.j || c.play(a)
});
return !0
};
Tj.prototype.stop = function (a) {
B(this.$b, function (b) {
0 == b.j || b.stop(a)
});
this.j = 0;
this.Qe = y();
this.Ya("stop");
this.Id()
};
Tj.prototype.Zm = function () {
this.cj++;
this.cj == this.$b.length && (this.Qe = y(), this.j = 0, this.Ya("finish"), this.Id())
};
var Uj = function (a, b, c) {
R.call(this);
this.target = a;
this.handle = b || a;
this.Em = c || new gg(NaN, NaN, NaN, NaN);
this.Ha = sf(a);
this.Ta = new Pj(this);
a = sa(Zd, this.Ta);
this.hf || (this.hf = []);
this.hf.push(v(a, void 0));
qe(this.handle, ["touchstart", "mousedown"], this.ql, !1, this)
};
z(Uj, R);
var Vj = J || dd && L("1.9.3");
h = Uj.prototype;
h.clientX = 0;
h.clientY = 0;
h.screenX = 0;
h.screenY = 0;
h.Uk = 0;
h.Vk = 0;
h.Yc = 0;
h.Zc = 0;
h.Ja = !0;
h.Xc = !1;
h.Tk = 0;
h.Hf = 0;
h.Jo = !1;
h.Wc = !1;
h.jc = function (a) {
this.Wc = a
};
h.getHandler = function () {
return this.Ta
};
h.Zb = function (a) {
this.Ja = a
};
h.m = function () {
Uj.l.m.call(this);
ye(this.handle, ["touchstart", "mousedown"], this.ql, !1, this);
this.Ta.cb();
Vj && this.Ha.releaseCapture();
this.handle = this.target = null
};
var Wj = function (a) {
n(a.Eb) || (a.Eb = tg(a.target));
return a.Eb
};
Uj.prototype.ql = function (a) {
var b = "mousedown" == a.type;
if (!this.Ja || this.Xc || b && !ee(a)) this.dispatchEvent("earlycancel");
else {
Xj(a);
if (0 == this.Tk)
if (this.dispatchEvent(new Yj("start", this, a.clientX, a.clientY))) this.Xc = !0, a.preventDefault();
else return;
else a.preventDefault();
var b = this.Ha,
c = b.documentElement,
d = !Vj;
this.Ta.h(b, ["touchmove", "mousemove"], this.Io, d);
this.Ta.h(b, ["touchend", "mouseup"], this.cg, d);
Vj ? (c.setCapture(!1), this.Ta.h(c, "losecapture", this.cg)) : this.Ta.h(b ? b.parentWindow || b.defaultView :
window, "blur", this.cg);
J && this.Jo && this.Ta.h(b, "dragstart", be);
this.Lo && this.Ta.h(this.Lo, "scroll", this.Ko, d);
this.clientX = this.Uk = a.clientX;
this.clientY = this.Vk = a.clientY;
this.screenX = a.screenX;
this.screenY = a.screenY;
this.Yc = this.Wc ? Ug(this.target) : this.target.offsetLeft;
this.Zc = this.target.offsetTop;
this.Ii = Pf(tf(this.Ha));
this.Hf = y()
}
};
Uj.prototype.cg = function (a) {
this.Ta.cb();
Vj && this.Ha.releaseCapture();
if (this.Xc) {
Xj(a);
this.Xc = !1;
var b = Zj(this, this.Yc),
c = ak(this, this.Zc);
this.dispatchEvent(new Yj("end", this, a.clientX, a.clientY, 0, b, c))
} else this.dispatchEvent("earlycancel")
};
var Xj = function (a) {
var b = a.type;
"touchstart" == b || "touchmove" == b ? a.jf(a.Ac().targetTouches[0], a.currentTarget) : "touchend" != b && "touchcancel" != b || a.jf(a.Ac().changedTouches[0], a.currentTarget)
};
Uj.prototype.Io = function (a) {
if (this.Ja) {
Xj(a);
var b = (this.Wc && Wj(this) ? -1 : 1) * (a.clientX - this.clientX),
c = a.clientY - this.clientY;
this.clientX = a.clientX;
this.clientY = a.clientY;
this.screenX = a.screenX;
this.screenY = a.screenY;
if (!this.Xc) {
var d = this.Uk - this.clientX,
e = this.Vk - this.clientY;
if (d * d + e * e > this.Tk)
if (this.dispatchEvent(new Yj("start", this, a.clientX, a.clientY))) this.Xc = !0;
else {
this.He || this.cg(a);
return
}
}
c = bk(this, b, c);
b = c.x;
c = c.y;
this.Xc && this.dispatchEvent(new Yj("beforedrag", this, a.clientX, a.clientY,
0, b, c)) && (ck(this, a, b, c), a.preventDefault())
}
};
var bk = function (a, b, c) {
var d = Pf(tf(a.Ha));
b += d.x - a.Ii.x;
c += d.y - a.Ii.y;
a.Ii = d;
a.Yc += b;
a.Zc += c;
b = Zj(a, a.Yc);
a = ak(a, a.Zc);
return new kf(b, a)
};
Uj.prototype.Ko = function (a) {
var b = bk(this, 0, 0);
a.clientX = this.clientX;
a.clientY = this.clientY;
ck(this, a, b.x, b.y)
};
var ck = function (a, b, c, d) {
a.ci(c, d);
a.dispatchEvent(new Yj("drag", a, b.clientX, b.clientY, 0, c, d))
},
Zj = function (a, b) {
var c = a.Em,
d = isNaN(c.left) ? null : c.left,
c = isNaN(c.width) ? 0 : c.width;
return Math.min(null != d ? d + c : Infinity, Math.max(null != d ? d : -Infinity, b))
},
ak = function (a, b) {
var c = a.Em,
d = isNaN(c.top) ? null : c.top,
c = isNaN(c.height) ? 0 : c.height;
return Math.min(null != d ? d + c : Infinity, Math.max(null != d ? d : -Infinity, b))
};
Uj.prototype.ci = function (a, b) {
this.Wc && Wj(this) ? this.target.style.right = a + "px" : this.target.style.left = a + "px";
this.target.style.top = b + "px"
};
var Yj = function (a, b, c, d, e, f, g) {
ae.call(this, a);
this.clientX = c;
this.clientY = d;
this.left = n(f) ? f : b.Yc;
this.top = n(g) ? g : b.Zc;
this.gi = b
};
z(Yj, ae);
var dk = function () {};
fa(dk);
dk.prototype.Jq = 0;
var fk = function (a) {
R.call(this);
this.Tc = a || tf();
this.Eb = ek
};
z(fk, R);
fk.prototype.Iq = dk.dc();
var ek = null,
gk = function (a, b) {
switch (a) {
case 1:
return b ? "disable" : "enable";
case 2:
return b ? "highlight" : "unhighlight";
case 4:
return b ? "activate" : "deactivate";
case 8:
return b ? "select" : "unselect";
case 16:
return b ? "check" : "uncheck";
case 32:
return b ? "focus" : "blur";
case 64:
return b ? "open" : "close"
}
throw Error("Invalid component state");
};
h = fk.prototype;
h.V = null;
h.I = !1;
h.f = null;
h.Eb = null;
h.g = null;
h.C = null;
h.Na = null;
h.tb = null;
h.dk = !1;
h.getId = function () {
return this.V || (this.V = ":" + (this.Iq.Jq++).toString(36))
};
var hk = function (a, b) {
if (a.C && a.C.tb) {
var c = a.C.tb,
d = a.V;
d in c && delete c[d];
Gc(a.C.tb, b, a)
}
a.V = b
};
fk.prototype.e = function () {
return this.f
};
fk.prototype.getHandler = function () {
this.Mc || (this.Mc = new Pj(this));
return this.Mc
};
var jk = function (a, b) {
if (a == b) throw Error("Unable to set parent component");
if (b && a.C && a.V && ik(a.C, a.V) && a.C != b) throw Error("Unable to set parent component");
a.C = b;
fk.l.ej.call(a, b)
};
h = fk.prototype;
h.getParent = function () {
return this.C
};
h.ej = function (a) {
if (this.C && this.C != a) throw Error("Method not supported");
fk.l.ej.call(this, a)
};
h.yd = function () {
return this.Tc
};
h.X = function () {
this.f = this.Tc.createElement("div")
};
h.Hb = function (a) {
this.qd(a)
};
h.qd = function (a, b) {
if (this.I) throw Error("Component already rendered");
this.f || this.X();
a ? a.insertBefore(this.f, b || null) : this.Tc.Ha.body.appendChild(this.f);
this.C && !this.C.I || this.eb()
};
h.Wb = function (a) {
if (this.I) throw Error("Component already rendered");
if (a && this.hd(a)) {
this.dk = !0;
var b = sf(a);
this.Tc && this.Tc.Ha == b || (this.Tc = tf(a));
this.nc(a);
this.eb()
} else throw Error("Invalid element to decorate");
};
h.hd = function () {
return !0
};
h.nc = function (a) {
this.f = a
};
h.eb = function () {
this.I = !0;
kk(this, function (a) {
!a.I && a.e() && a.eb()
})
};
h.Rb = function () {
kk(this, function (a) {
a.I && a.Rb()
});
this.Mc && this.Mc.cb();
this.I = !1
};
h.m = function () {
this.I && this.Rb();
this.Mc && (this.Mc.v(), delete this.Mc);
kk(this, function (a) {
a.v()
});
!this.dk && this.f && Ef(this.f);
this.C = this.g = this.f = this.tb = this.Na = null;
fk.l.m.call(this)
};
h.Ri = function (a, b) {
this.rg(a, lk(this), b)
};
h.rg = function (a, b, c) {
if (a.I && (c || !this.I)) throw Error("Component already rendered");
if (0 > b || b > lk(this)) throw Error("Child component index out of bounds");
this.tb && this.Na || (this.tb = {}, this.Na = []);
if (a.getParent() == this) {
var d = a.getId();
this.tb[d] = a;
ab(this.Na, a)
} else Gc(this.tb, a.getId(), a);
jk(a, this);
fb(this.Na, b, 0, a);
a.I && this.I && a.getParent() == this ? (c = this.wb(), c.insertBefore(a.e(), c.childNodes[b] || null)) : c ? (this.f || this.X(), b = mk(this, b + 1), a.qd(this.wb(), b ? b.f : null)) : this.I && !a.I && a.f && a.f.parentNode &&
1 == a.f.parentNode.nodeType && a.eb()
};
h.wb = function () {
return this.f
};
h.Lb = function () {
null == this.Eb && (this.Eb = tg(this.I ? this.f : this.Tc.Ha.body));
return this.Eb
};
h.Ie = function (a) {
if (this.I) throw Error("Component already rendered");
this.Eb = a
};
var lk = function (a) {
return a.Na ? a.Na.length : 0
},
ik = function (a, b) {
var c;
a.tb && b ? (c = a.tb, c = (b in c ? c[b] : void 0) || null) : c = null;
return c
},
mk = function (a, b) {
return a.Na ? a.Na[b] || null : null
},
kk = function (a, b, c) {
a.Na && B(a.Na, b, c)
},
nk = function (a, b) {
return a.Na && b ? Qa(a.Na, b) : -1
};
fk.prototype.removeChild = function (a, b) {
if (a) {
var c = u(a) ? a : a.getId();
a = ik(this, c);
if (c && a) {
var d = this.tb;
c in d && delete d[c];
ab(this.Na, a);
b && (a.Rb(), a.f && Ef(a.f));
jk(a, null)
}
}
if (!a) throw Error("Child is not in parent component");
return a
};
var ok = function () {
R.call(this)
};
z(ok, R);
h = ok.prototype;
h.mf = 0;
h.gf = 0;
h.lf = 100;
h.ef = 0;
h.pd = 1;
h.Jm = !1;
h.xg = !1;
h.Jd = function (a) {
a = pk(this, a);
this.mf != a && (this.mf = a + this.ef > this.lf ? this.lf - this.ef : a < this.gf ? this.gf : a, this.Jm || this.xg || this.dispatchEvent("change"))
};
h.$ = function () {
return pk(this, this.mf)
};
h.Gg = function (a) {
a = pk(this, a);
this.ef != a && (this.ef = 0 > a ? 0 : this.mf + a > this.lf ? this.lf - this.mf : a, this.Jm || this.xg || this.dispatchEvent("change"))
};
h.lc = function () {
var a = this.ef;
return null == this.pd ? a : Math.round(a / this.pd) * this.pd
};
h.ua = function () {
return pk(this, this.gf)
};
h.Da = function () {
return pk(this, this.lf)
};
h.ze = function () {
return this.pd
};
var pk = function (a, b) {
return null == a.pd ? b : a.gf + Math.round((b - a.gf) / a.pd) * a.pd
};
var qk = function (a, b) {
fk.call(this, a);
this.Gk = null;
this.G = new ok;
this.Qo = b || zc;
qe(this.G, "change", this.Bl, !1, this)
};
z(qk, fk);
h = qk.prototype;
h.K = "horizontal";
h.Sf = !1;
h.Rj = !1;
h.Ob = 10;
h.fg = 0;
h.Hk = !0;
h.Hf = 0;
h.Bo = 1E3;
h.Ja = !0;
h.Sa = !1;
h.X = function () {
qk.l.X.call(this);
var a = this.yd().X("div", this.ya(this.K));
this.nc(a)
};
h.nc = function (a) {
qk.l.nc.call(this, a);
wj(a, this.ya(this.K));
a = this.e();
var b = uf(null, "goog-slider-thumb", a)[0];
b || (b = this.yd().X("div", "goog-slider-thumb"), sj(b, "button"), a.appendChild(b));
this.w = this.Ma = b;
sj(this.e(), "slider");
rk(this)
};
h.eb = function () {
qk.l.eb.call(this);
this.Qa = new Uj(this.w);
this.Gb = new Uj(this.Ma);
this.Qa.jc(this.Sa);
this.Gb.jc(this.Sa);
this.Qa.ci = this.Gb.ci = ea;
this.W = new Gj(this.e());
sk(this, !0);
this.e().tabIndex = 0;
tk(this)
};
var sk = function (a, b) {
b ? (a.getHandler().h(a.Qa, "beforedrag", a.Wf).h(a.Gb, "beforedrag", a.Wf).h(a.Qa, ["start", "end"], a.Yf).h(a.Gb, ["start", "end"], a.Yf).h(a.W, "key", a.Pf).h(a.e(), "click", a.Xf).h(a.e(), "mousedown", a.Xf), a.Hk && uk(a, !0)) : (a.getHandler().M(a.Qa, "beforedrag", a.Wf).M(a.Gb, "beforedrag", a.Wf).M(a.Qa, ["start", "end"], a.Yf).M(a.Gb, ["start", "end"], a.Yf).M(a.W, "key", a.Pf).M(a.e(), "click", a.Xf).M(a.e(), "mousedown", a.Xf), a.Hk && uk(a, !1))
};
h = qk.prototype;
h.Rb = function () {
qk.l.Rb.call(this);
$d(this.Qa, this.Gb, this.W, this.Jc)
};
h.Wf = function (a) {
var b = a.gi == this.Qa ? this.w : this.Ma,
c;
"vertical" == this.K ? (c = this.e().clientHeight - b.offsetHeight, c = (c - a.top) / c * (this.Da() - this.ua()) + this.ua()) : c = a.left / (this.e().clientWidth - b.offsetWidth) * (this.Da() - this.ua()) + this.ua();
c = a.gi == this.Qa ? Math.min(Math.max(c, this.ua()), this.$() + this.lc()) : Math.min(Math.max(c, this.$()), this.Da());
vk(this, b, c)
};
h.Yf = function (a) {
var b = "start" == a.type,
c = this.e();
b ? wj(c, "goog-slider-dragging") : yj(c, "goog-slider-dragging");
c = a.target.handle;
b ? wj(c, "goog-slider-thumb-dragging") : yj(c, "goog-slider-thumb-dragging");
a = a.gi == this.Qa;
b ? (this.dispatchEvent("e"), this.dispatchEvent(a ? "a" : "c")) : (this.dispatchEvent("f"), this.dispatchEvent(a ? "b" : "d"))
};
h.Pf = function (a) {
var b = !0;
switch (a.keyCode) {
case 36:
wk(this, this.ua());
break;
case 35:
wk(this, this.Da());
break;
case 33:
xk(this, this.Ob);
break;
case 34:
xk(this, -this.Ob);
break;
case 37:
var c = this.Sa && this.Lb() ? 1 : -1;
xk(this, a.shiftKey ? c * this.Ob : c * this.$e);
break;
case 40:
xk(this, a.shiftKey ? -this.Ob : -this.$e);
break;
case 39:
c = this.Sa && this.Lb() ? -1 : 1;
xk(this, a.shiftKey ? c * this.Ob : c * this.$e);
break;
case 38:
xk(this, a.shiftKey ? this.Ob : this.$e);
break;
default:
b = !1
}
b && a.preventDefault()
};
h.Xf = function (a) {
this.e().focus && this.e().focus();
var b = a.target;
Ff(this.w, b) || Ff(this.Ma, b) || (b = "click" == a.type, b && y() < this.Hf + this.Bo || (b || (this.Hf = y()), this.Rj ? wk(this, yk(this, a)) : (this.$h(a), this.jb = zk(this, yk(this, a)), this.Ek = "vertical" == this.K ? this.Tf < this.jb.offsetTop : this.Tf > Ck(this, this.jb) + this.jb.offsetWidth, a = sf(this.e()), this.getHandler().h(a, "mouseup", this.Zh, !0).h(this.e(), "mousemove", this.$h), this.gc || (this.gc = new Vg(200), this.getHandler().h(this.gc, "tick", this.Fk)), this.Fk(), this.gc.start())))
};
h.il = function (a) {
xk(this, (0 < a.detail ? -1 : 1) * this.$e);
a.preventDefault()
};
h.Fk = function () {
var a;
if ("vertical" == this.K) {
var b = this.Tf,
c = this.jb.offsetTop;
this.Ek ? b < c && (a = Dk(this, this.jb) + this.Ob) : b > c + this.jb.offsetHeight && (a = Dk(this, this.jb) - this.Ob)
} else b = this.Tf, c = Ck(this, this.jb), this.Ek ? b > c + this.jb.offsetWidth && (a = Dk(this, this.jb) + this.Ob) : b < c && (a = Dk(this, this.jb) - this.Ob);
n(a) && vk(this, this.jb, a)
};
h.Zh = function () {
this.gc && this.gc.stop();
var a = sf(this.e());
this.getHandler().M(a, "mouseup", this.Zh, !0).M(this.e(), "mousemove", this.$h)
};
var Ek = function (a, b) {
var c, d = a.e();
c = ng(b);
d = ng(d);
c = new kf(c.x - d.x, c.y - d.y);
return "vertical" == a.K ? c.y : a.Sa && a.Lb() ? a.e().clientWidth - c.x : c.x
};
qk.prototype.$h = function (a) {
this.Tf = Ek(this, a)
};
var yk = function (a, b) {
var c = a.ua(),
d = a.Da();
if ("vertical" == a.K) {
var e = a.w.offsetHeight,
f = a.e().clientHeight - e,
e = Ek(a, b) - e / 2;
return (d - c) * (f - e) / f + c
}
e = a.w.offsetWidth;
f = a.e().clientWidth - e;
e = Ek(a, b) - e / 2;
return (d - c) * e / f + c
},
Dk = function (a, b) {
if (b == a.w) return a.G.$();
if (b == a.Ma) return a.G.$() + a.G.lc();
throw Error("Illegal thumb element. Neither minThumb nor maxThumb");
},
xk = function (a, b) {
Math.abs(b) < a.ze() && (b = (0 == b ? 0 : 0 > b ? -1 : 1) * a.ze());
var c = Dk(a, a.w) + b,
d = Dk(a, a.Ma) + b,
c = ib(c, a.ua(), a.Da() - a.fg),
d = ib(d, a.ua() +
a.fg, a.Da());
Fk(a, c, d - c)
},
vk = function (a, b, c) {
var d = pk(a.G, c);
c = b == a.w ? d : a.G.$();
b = b == a.Ma ? d : a.G.$() + a.G.lc();
c >= a.ua() && b >= c + a.fg && a.Da() >= b && Fk(a, c, b - c)
},
Fk = function (a, b, c) {
a.ua() <= b && b <= a.Da() - c && a.fg <= c && c <= a.Da() - b && (b != a.$() || c != a.lc()) && (a.G.xg = !0, a.G.Gg(0), a.G.Jd(b), a.G.Gg(c), a.G.xg = !1, a.Bl())
};
qk.prototype.ua = function () {
return this.G.ua()
};
qk.prototype.Da = function () {
return this.G.Da()
};
var zk = function (a, b) {
return b <= a.G.$() + a.G.lc() / 2 ? a.w : a.Ma
};
qk.prototype.Bl = function () {
tk(this);
rk(this);
this.dispatchEvent("change")
};
var tk = function (a) {
if (a.w && !a.Sf) {
var b = Gk(a, Dk(a, a.w)),
c = Gk(a, Dk(a, a.Ma));
if ("vertical" == a.K) a.w.style.top = b.y + "px", a.Ma.style.top = c.y + "px", a.P && (b = Hk(c.y, b.y, a.w.offsetHeight), a.P.style.top = b.offset + "px", a.P.style.height = b.size + "px");
else {
var d = a.Sa && a.Lb() ? "right" : "left";
a.w.style[d] = b.x + "px";
a.Ma.style[d] = c.x + "px";
a.P && (b = Hk(b.x, c.x, a.w.offsetWidth), a.P.style[d] = b.offset + "px", a.P.style.width = b.size + "px")
}
}
},
Hk = function (a, b, c) {
var d = Math.ceil(c / 2);
return {
offset: a + d,
size: Math.max(b - a + c - 2 * d, 0)
}
},
Gk = function (a, b) {
var c = new kf;
if (a.w) {
var d = a.ua(),
e = a.Da(),
e = b == d && d == e ? 0 : (b - d) / (e - d);
"vertical" == a.K ? (d = a.e().clientHeight - a.w.offsetHeight, e = Math.round(e * d), c.x = Ck(a, a.w), c.y = d - e) : (d = Math.round(e * (a.e().clientWidth - a.w.offsetWidth)), c.x = d, c.y = a.w.offsetTop)
}
return c
},
wk = function (a, b) {
b = ib(b, a.ua(), a.Da());
a.Sf && a.yf.stop(!0);
var c = new Tj,
d, e = zk(a, b),
f = a.$(),
g = a.lc(),
k = Dk(a, e),
m = Gk(a, k);
d = a.ze();
Math.abs(b - k) < d && (b = ib(k + (b > k ? d : -d), a.ua(), a.Da()));
vk(a, e, b);
k = Gk(a, Dk(a, e));
d = "vertical" == a.K ? [Ck(a,
e), k.y] : [k.x, e.offsetTop];
m = new ih(e, [m.x, m.y], d, 100);
m.jc(a.Sa);
c.add(m);
a.P && Ik(a, e, f, g, k, c);
a.Gk && (e = a.Gk.Cr(f, b, 100), B(e, function (a) {
c.add(a)
}));
a.yf = c;
a.getHandler().h(c, "end", a.Co);
a.Sf = !0;
c.play(!1)
},
Ik = function (a, b, c, d, e, f) {
var g = Gk(a, c),
k = Gk(a, c + d);
c = g;
d = k;
b == a.w ? c = e : d = e;
"vertical" == a.K ? (b = Hk(k.y, g.y, a.w.offsetHeight), g = Hk(d.y, c.y, a.w.offsetHeight), e = new ih(a.P, [Ck(a, a.P), b.offset], [Ck(a, a.P), g.offset], 100), b = new kh(a.P, b.size, g.size, 100)) : (b = Hk(g.x, k.x, a.w.offsetWidth), g = Hk(c.x, d.x, a.w.offsetWidth),
e = new ih(a.P, [b.offset, a.P.offsetTop], [g.offset, a.P.offsetTop], 100), b = new jh(a.P, b.size, g.size, 100));
e.jc(a.Sa);
b.jc(a.Sa);
f.add(e);
f.add(b)
};
h = qk.prototype;
h.Co = function () {
this.Sf = !1
};
h.Xe = function (a) {
if (this.K != a) {
var b = this.ya(this.K),
c = this.ya(a);
this.K = a;
this.e() && (a = this.e(), vj(a, b) && (yj(a, b), wj(a, c)), b = this.Sa && this.Lb() ? "right" : "left", this.w.style[b] = this.w.style.top = "", this.Ma.style[b] = this.Ma.style.top = "", this.P && (this.P.style[b] = this.P.style.top = "", this.P.style.width = this.P.style.height = ""), tk(this))
}
};
h.yj = function () {
return this.K
};
h.m = function () {
qk.l.m.call(this);
this.gc && this.gc.v();
delete this.gc;
this.yf && this.yf.v();
delete this.yf;
delete this.w;
delete this.Ma;
this.P && delete this.P;
this.G.v();
delete this.G;
this.W && (this.W.v(), delete this.W);
this.Jc && (this.Jc.v(), delete this.Jc);
this.Qa && (this.Qa.v(), delete this.Qa);
this.Gb && (this.Gb.v(), delete this.Gb)
};
h.$e = 1;
h.ze = function () {
return this.G.ze()
};
h.$ = function () {
return this.G.$()
};
h.Jd = function (a) {
vk(this, this.w, a)
};
h.lc = function () {
return this.G.lc()
};
h.Gg = function (a) {
vk(this, this.Ma, this.G.$() + a)
};
h.setVisible = function (a) {
sg(this.e(), a);
a && tk(this)
};
var rk = function (a) {
var b = a.e();
b && (tj(b, "valuemin", a.ua()), tj(b, "valuemax", a.Da()), tj(b, "valuenow", a.$()), tj(b, "valuetext", a.Qo(a.$()) || ""))
},
uk = function (a, b) {
b ? (a.Jc || (a.Jc = new Mj(a.e())), a.getHandler().h(a.Jc, "mousewheel", a.il)) : a.getHandler().M(a.Jc, "mousewheel", a.il)
};
qk.prototype.Zb = function (a) {
if (this.Ja != a && this.dispatchEvent(a ? "enable" : "disable")) {
this.Ja = a;
sk(this, a);
a || this.Zh();
var b = this.e();
a ? yj(b, "goog-slider-disabled") : wj(b, "goog-slider-disabled")
}
};
qk.prototype.isEnabled = function () {
return this.Ja
};
var Ck = function (a, b) {
return a.Sa ? Ug(b) : b.offsetLeft
};
var Jk = function (a, b) {
qk.call(this, a, b);
this.G.Gg(0)
};
z(Jk, qk);
Jk.prototype.ya = function (a) {
return "vertical" == a ? "goog-slider-vertical" : "goog-slider-horizontal"
};
var Mk = function (a, b, c, d, e, f, g) {
this.g = b;
this.r = c;
this.Qb = null;
this.k = d;
this.B = {};
this.wh = this.lh = this.ma = null;
this.c = e || {};
this.Wd = null;
var k = b.get("id");
e = b.get("type");
c = this.c.enable_editing;
"ONION" === e && (c = c && this.c.enable_onion_layer_editing);
e = Kg("Zoom to area");
this.tf = H("span", {}, H("span", {}, "\u00a0\u00b7 "), e);
var m = c ? Kg("Edit") : null,
p = c ? Kg("Delete") : null;
this.Xd = H("span");
c = [m, c && "\u00a0\u00b7 ", p, this.tf, this.Xd];
void 0 === g || g ? (this.fb = H("div", {
"class": "cm-layer-legend"
}), this.yh = H("div", {
"class": "cm-layer-legend-box"
}, H("fieldset", void 0, H("legend", void 0, "Legend"), this.fb)), P(this.g, "legend", this.rf, this), this.rf()) : this.fb = this.yh = null;
this.Gc = H("div", {
"class": "cm-layer-entry"
}, this.rh = H("div", {
"class": "cm-header"
}, this.Pj = H("div", {
"class": "cm-checkbox-container"
}, this.oh = H("input", {
type: "checkbox",
id: "checkbox" + k
}), this.pn = H("div", {
"class": "cm-checkbox-folder-decoration"
})), this.Qj = H("label", {
"for": "checkbox" + k
}, this.qb = H("span", {
"class": "cm-layer-title"
})), this.on = H("div", {
"class": "cm-sublayer-select"
})),
this.La = H("div", {
"class": "cm-content"
}, this.Oj = H("div", {
title: "Adjust layer transparency",
"class": "cm-slider"
}), H("div", {
"class": "cm-panel-links"
}, c), this.ph = H("div", {
"class": "cm-warning"
}), this.yh, this.qh = H("div", {
"class": "cm-layer-description"
}), this.Ec = H("div", {
"class": "cm-timestamp"
})), this.nh = H("div", {
"class": "cm-sublayers"
}), this.Ah = H("span", {
"class": "cm-layer-filter-info"
}));
O(this.qh, "click", function (a) {
"a" === a.target.tagName.toLowerCase() && U(Sf.qn, this.g.get("id"))
}, this);
void 0 !== f && f < a.childNodes.length ?
a.insertBefore(this.Gc, a.childNodes[f]) : a.appendChild(this.Gc);
var s = b.get("sublayers");
B(s.getArray(), this.Sj, this);
this.Dc();
this.Ud();
this.uh();
this.Bh();
Kk(this);
this.Tj();
this.vh();
this.qf();
Lk(this);
this.sf();
P(b, ["title", "folder_type"], this.Dc, this);
P(b, "description", this.Ud, this);
P(b, ["suppress_download_link", "type", "url", "ft_from"], this.uh, this);
P(b, ["viewport", "type"], this.vh, this);
P(b, ["folder_type"], function () {
Kk(this);
this.Bh()
}, this);
P(b, "type", this.Tj, this);
P(d, "enabled_layer_ids",
this.Bh, this);
P(d, "matched_layer_ids", this.yn, this);
P(d, ["matched_layer_ids", "enabled_layer_ids"], this.zn, this);
P(b, ["type", "url"], this.Vd, this);
this.Vd();
O(s, "insert_at", function (a) {
this.Sj(s.getAt(a), a)
}, this);
O(s, "remove_at", function (a, b) {
if (b) {
var c = b.get("id");
this.B[c].v();
delete this.B[c]
}
}, this);
O(this.oh, "click", function () {
l.setTimeout(v(function () {
var a = this.oh.checked;
U(a ? Sf.vn : Sf.un, k);
Q(this, "TOGGLE_LAYER", {
id: k,
value: a
})
}, this), 0)
}, this);
O(F, "ZOOM_CHANGED", this.xn, this);
P(b, ["min_zoom",
"max_zoom"
], this.sf, this);
O(e, "click", function () {
U(Sf.wn, k);
Q(this, "ZOOM_TO_LAYER", {
id: k
})
}, this);
m && Fe(m, "click", F, "INSPECT", {
object: b
});
p && Fe(p, "click", this, "DELETE_LAYER", {
id: k
})
},
Nk = function (a) {
return "FOLDER" === a.g.get("type")
};
Mk.prototype.isEnabled = function () {
var a = this.g.get("id");
return $e(this.k, a)
};
Mk.prototype.Dc = function () {
Mg(this.qb, this.g.get("title") || "", 10)
};
Mk.prototype.Ud = function () {
var a = this.g.get("description");
a && yc(a, this.qh)
};
Mk.prototype.rf = function () {
var a = this.g.get("legend");
a && yc(a, this.fb);
T(this.yh, "cm-hidden", !a || a.isEmpty())
};
var Lk = function (a) {
var b = a.r.isEmpty(a.g);
Mg(a.ph, b ? "This layer currently contains nothing to show on the map." : "");
T(a.ph, "cm-hidden", !b)
};
h = Mk.prototype;
h.uh = function () {
var a = "";
Ig(this.Xd);
if (!Nk(this)) {
var b = this.g.get("type");
if (!(this.r.get(Pd(this.g)) || {}).fetch_error_occurred && !this.g.get("suppress_download_link")) {
var c = this.g.get("url"),
d = null,
e = a = null;
switch (b) {
case "KML":
d = "Download KML";
break;
case "GEOJSON":
d = "Download GeoJSON";
break;
case "GEORSS":
d = "Download GeoRSS";
break;
case "CSV":
d = "Download CSV";
break;
case "GOOGLE_SPREADSHEET":
d = "View Google Spreadsheet";
break;
case "FUSION":
if (b = this.g.get("ft_from") + "") c = "http://www.google.com/fusiontables/DataSource?" +
(b.match(/^\d{1,8}$/) ? "dsrcid" : "docid") + "=" + b, d = "View data";
break;
case "GOOGLE_MAPS_ENGINE_LITE_OR_PRO":
d = "Download KML", a = this.g.get("maps_engine_url"), e = "View in Google Maps Engine"
}
d && c && (b = Kg(d, c), V(this.Xd, "\u00a0\u00b7 ", b), O(b, "click", function () {
U(Sf.lp, this.g.get("id"))
}, this));
e && a && (e = e.replace(/ /g, "\u00a0"), a = Kg(e, a), V(this.Xd, "\u00a0\u00b7 ", a), O(a, "click", function () {
U(Sf.mp, this.g.get("id"))
}, this));
a = ec(this.r.getLength(this.g))
}
}
this.Xd.title = a
};
h.qf = function () {
var a = "",
b = bj(this.r, this.g);
b && (a = Ok(b));
Mg(this.Ec, a)
};
h.Jl = function () {
this.uh();
this.vh();
this.qf();
Lk(this);
this.sf()
};
h.Vd = function () {
this.Qb && Ee(this.Qb);
this.Qb = oi(this.r, this.g, this.Jl, this);
this.Jl()
};
h.xn = function (a) {
this.wh = a.zoom;
this.sf()
};
h.sf = function () {
this.r.isEmpty(this.g) ? Pk(this, !0, "This layer currently contains nothing to show on the map.") : null !== this.wh && Pk(this, !Td(this.g, this.wh), "Data not available at current zoom level.")
};
var Pk = function (a, b, c) {
var d = b ? 0.5 : 1,
e = [a.rh, a.ph, a.qh, a.Ec, a.Oj, a.nh];
a.fb && e.push(a.fb);
for (var f in e) e[f] && rg(e[f], d);
a.rh && (a.rh.title = b && c || "")
};
Mk.prototype.vh = function () {
var a = !this.r.isEmpty(this.g) && (this.g.get("viewport") || "KML" === this.g.get("type") || "GEOJSON" === this.g.get("type") || "GEORSS" === this.g.get("type") || "CSV" === this.g.get("type") || "GOOGLE_SPREADSHEET" === this.g.get("type"));
T(this.tf, "cm-hidden", !a);
Mg(this.tf.firstChild, this.tf.previousSibling ? "\u00a0\u00b7 " : "")
};
Mk.prototype.wk = function () {
this.Wd && (this.Wd.v(), this.Wd = null);
Sd(this.g) && (this.Wd = new dj(this.on, this.g, df(this.k, this.g) || ""), O(this.Wd, "SELECT_SUBLAYER", function (a) {
Q(this, "SELECT_SUBLAYER", {
id: a.id,
rb: this.g
})
}, this))
};
var Kk = function (a) {
var b = "LOCKED" === a.g.get("folder_type");
T(a.pn, "cm-hidden", !Nk(a) || b && !a.c.enable_editing)
};
Mk.prototype.Bh = function () {
var a = this.isEnabled(),
b = !C(nf(this.La), "cm-hidden");
this.oh.checked = a;
var c = Sd(this.g) && df(this.k, this.g) || null;
T(this.Gc, "cm-contains-promoted-sublayer", null !== c);
c && (S(this.B[c].Gc, "cm-promoted-sublayer"), S(this.B[c].Pj, "cm-hidden"), this.c.enable_editing || S(this.B[c].Qj, "cm-hidden"));
B(Qd(this.g) || [], function (a) {
a !== c && (pf(this.B[a].Gc, "cm-promoted-sublayer"), pf(this.B[a].Pj, "cm-hidden"), pf(this.B[a].Qj, "cm-hidden"))
}, this);
T(this.La, "cm-hidden", !a || !this.c.enable_editing &&
Sd(this.g));
T(this.nh, "cm-hidden", !a || "LOCKED" === this.g.get("folder_type"));
!b && a && Qk(this);
this.wk()
};
var Qk = function (a) {
if (a.ma) {
var b = Rk(a);
a.ma.Jd(0 < b ? 0 : 1);
a.ma.Jd(b)
}
for (var c in a.B) b = a.B[c], b.isEnabled() && Qk(b)
};
Mk.prototype.yn = function () {
for (var a = cf(this.k, this.g.get("id")), b = this.g.get("parent"); !a && b;) a = cf(this.k, b.get("id")), b = b.get("parent");
!a && Nk(this) && Zb(this.g, function (b) {
b.get("id") !== this.g.get("id") && (a = a || cf(this.k, b.get("id")))
}, null, this);
T(this.Gc, "cm-hidden", !a)
};
Mk.prototype.zn = function () {
if (Nk(this)) {
T(this.Ah, "cm-hidden", this.isEnabled());
var a = bf(this.k);
Mg(this.Ah, "");
if (!this.isEnabled() && a) {
var b = 0;
Zb(this.g, function (a) {
a = a.get("id");
a !== this.g.get("id") && cf(this.k, a) && b++
}, null, this);
b && Mg(this.Ah, (new Fb("{NUM_LAYERS, plural, =0 {No matching layers in this folder}=1 {1 matching layer in this folder}other {# matching layers in this folder}}")).format({
NUM_LAYERS: b
}))
}
}
};
Mk.prototype.Tj = function () {
var a = this.g.get("type"),
b = this.c.gme_layer_types_with_opacity || [];
(a = "TILE" === a || "WMS" === a || "MAPS_ENGINE" === a && C(b, this.g.get("layer_type"))) && !this.ma ? (this.ma = new Jk, this.ma.Rj = !0, this.ma.Hb(this.Oj), this.rk = H("div", {
"class": "cm-slider-dot"
}), this.ma.w.appendChild(H("div", {
"class": "cm-slider-circle"
}, this.rk)), this.vk(), this.lh = [O(this.ma, "change", function () {
var a = this.g.get("id"),
b = this.ma.$();
Q(F, "CHANGE_OPACITY", {
id: a,
opacity: b
})
}, this), P(this.k, "layer_opacities",
this.vk, this), O(this.ma, "b", function () {
var a = this.g.get("id"),
b = this.ma.$();
U(Sf.On, a, b)
}, this)]) : !a && this.ma && (this.ma.v(), this.ma = null, Ee(this.lh), this.lh = null)
};
var Rk = function (a) {
var b = a.k.get("layer_opacities") || {};
a = a.g.get("id");
return a in b ? b[a] : 100
};
Mk.prototype.vk = function () {
if (this.ma) {
var a = Rk(this);
this.ma.Jd(a);
this.rk.style.opacity = a / 100
}
};
Mk.prototype.Sj = function (a, b) {
var c = a.get("id");
this.B[c] = new Mk(this.nh, a, this.r, this.k, this.c, b, !!this.fb);
P(a, "title", this.wk, this);
Fe(this.B[c], ["DELETE_LAYER", "TOGGLE_LAYER", "SELECT_SUBLAYER", "ZOOM_TO_LAYER"], this)
};
Mk.prototype.v = function () {
for (var a in this.B) this.B[a].v(), delete this.B[a];
Ge(this);
Jg(this.Gc);
this.Qb && Ee(this.Qb)
};
var Sk = new ij(2),
Ok = function (a) {
a = new Date(1E3 * a);
var b = Sk.format(a),
c = a.getTime(),
d;
d = y();
var e = Math.floor((d - c) / 6E4);
d = !1;
0 > e && (d = !0, e *= -1);
60 > e ? d = qj(e, d, 0) : (e = Math.floor(e / 60), 24 > e ? d = qj(e, d, 1) : (e = new Date(y()), e.setHours(0), e.setMinutes(0), e.setSeconds(0), e.setMilliseconds(0), e = Math.ceil((e.getTime() - c) / 864E5), d && (e *= -1), d = 14 > e ? qj(e, d, 2) : ""));
d && (d = " (" + d + ")");
1440 > Math.floor((y() - c) / 6E4) ? (pj || (pj = new ij(7)), a = pj.format(a) + d) : (b || (oj || (oj = new ij(0)), b = oj.format(a)), a = b + d);
return "Last updated: " +
a
};
var Tk = ["title", "description"],
Vk = function (a, b) {
var c = xa(b).toLowerCase().split(/\s+/g),
d = Qe(a),
e = [];
Ac(d, function (b) {
e = bb(e, Uk(a.Vb[b], c, Tk))
});
return e
},
Uk = function (a, b, c) {
var d = Wk(a, b, c) ? [a.get("id")] : [];
"FOLDER" === a.get("type") && "LOCKED" !== a.get("folder_type") && (d = Ta(Qd(a), function (d, f) {
return bb(d, Uk(Rd(a, f), b, c))
}, d));
return d
},
Wk = function (a, b, c) {
c = Ta(c, function (b, c) {
var f = a.get(c);
f instanceof sc && (f = Ja(f.pf.replace(/<[^>]*>/g, "")));
u(f) && (b += " " + f);
return b
}, "");
return Xk(c, b)
},
Xk = function (a,
b) {
var c = !0;
a = a.toLowerCase();
B(b, function (b) {
c = c && 0 <= a.indexOf(b)
});
return c
};
var $k = function (a, b) {
var c = Yk(b);
Zk(this, a, c)
},
Yk = function (a) {
var b = new N(l.location);
b.setQuery("");
b.oe("");
return H("ul", {
"class": ["cm-popup", "cm-map-picker"]
}, Sa(a, function (a) {
var d = b.resolve(new N(a.url)).toString() === b.toString();
a = H("li", d ? {
"class": "cm-selected"
} : {}, Kg(a.title, d ? null : a.url));
O(a, "click", function () {
U(Rf.Vq, null)
});
return a
}))
},
al = function (a, b) {
if (b) {
var c = a.Lj,
d = a.Kj,
e = Gg(c, Yb.body).width,
f = lg(d),
d = pg(d),
e = f.x + d.width - e;
c.style.left = (4 > e ? 4 : e) + "px";
c.style.top = f.y + d.height + "px";
V(Yb.body, a.Lj)
} else Jg(a.Lj);
a.Ym = b
},
Zk = function (a, b, c) {
a.Ym = !1;
a.Lj = c;
a.Kj = H("div", {
"class": "cm-map-picker-button"
});
V(b, a.Kj);
O(Yb.body, "click", v(function (a) {
al(this, a.target == this.Kj ? !this.Ym : !1)
}, a));
O(F, "resize", v(function () {
al(this, !1)
}, a))
};
var bl = function () {
this.Km = {};
this.xj = {};
this.Cj = {};
this.zj = null;
this.Bj = []
};
fa(bl);
bl.prototype.Sm = function (a, b) {
return a + "_" + b + ".js"
};
var cl = function (a) {
eval(a)
};
bl.prototype.jf = function (a, b) {
ta("__gjsload__", cl);
this.zj = a.replace(/\.js$/, "");
b && (this.Sm = b);
B(this.Bj, function (a) {
dl(this, a)
}, this);
$a(this.Bj)
};
var dl = function (a, b) {
Xg(function () {
if (!this.xj[b]) {
var a = this.Sm(this.zj, b),
d = Dc(this.Cj, a);
this.Cj[b] = a;
d || (a = zf("script", {
type: "text/javascript",
src: a
}), document.body.appendChild(a))
}
}, 0, a)
};
var el = function (a, b, c) {
var d = bl.dc(),
e = d.Km,
f = d.xj;
f[a] ? c(f[a][b]) : e[a] ? e[a].push([b, c]) : (e[a] = [
[b, c]
], u(d.zj) ? dl(d, a) : d.Bj.push(a))
},
fl = function (a, b) {
var c = bl.dc(),
d = c.xj,
e = c.Km;
d.sanitizer || (d.sanitizer = {});
if (b) d.sanitizer[a] = b;
else if (e.sanitizer) {
for (var f = 0; f < e.sanitizer.length; ++f)(0, e.sanitizer[f][1])(d.sanitizer[e.sanitizer[f][0]]);
delete e.sanitizer;
delete c.Cj.sanitizer
}
},
gl = function (a) {
bl.dc().jf("", a)
};
var hl = function (a, b, c, d, e, f, g) {
this.t = a;
this.J = b;
this.g = d;
this.r = e;
this.k = f;
this.B = {};
this.c = g || {};
a = H("div", {
"class": "cm-collapse"
}, H("img", {
"class": "cm-collapse-icon",
src: "//maps.gstatic.com/mapfiles/transparent.png"
}));
e = v(function () {
var a = this.t,
b = !C(nf(a), "cm-panel-collapsed");
T(a, "cm-panel-collapsed", b);
C(nf(this.t), "cm-panel-collapsed") ? U(Rf.Wj, null) : U(Rf.Xj, null);
Q(F, "resize")
}, this);
O(a, "click", e);
f = H("div", {
"class": "cm-expand"
}, H("img", {
"class": "cm-expand-icon",
src: "//maps.gstatic.com/mapfiles/transparent.png"
}));
O(f, "click", e);
c.appendChild(f);
var k;
e = this.c.publisher_name;
c = this.c.enable_layer_filter;
var m;
V(b, this.xf = H("div", {
"class": "cm-panel-inner"
}, m = H("div", {}), H("div", {
"class": "cm-panel-outer-header"
}, a, this.$j = H("div", {
"class": "cm-panel-header"
}, this.c.draft_mode ? H("span", {
"class": "cm-draft-indicator",
title: "This is an unpublished version of this map."
}, "DRAFT") : null, this.qb = H("h1", {
"class": "cm-map-title"
}), e ? H("div", {
"class": "cm-map-publisher"
}, "Published by " + e) : null)), this.Yj = H("div"), this.Zj =
H("div", {
"class": "cm-panel-scroll"
}, this.Zd = H("div", {
"class": "cm-map-description"
}), H("div", {
"class": "cm-panel-links"
}, k = this.c.enable_editing ? Kg("Set current view as default") : null, k && H("br"), a = Kg("Reset view")), c ? H("div", {
"class": "cm-layer-filter"
}, this.Ga = H("input", {
type: "text",
placeholder: "Filter layers"
}), this.Hc = H("span", {
"class": "cm-layer-filter-info"
})) : null, this.vf = H("div", {
"class": "cm-panel-layers"
}))));
this.c.hide_panel_header && (this.$j.style.display = "none", this.Zd.style.display = "none");
if (this.c.enable_editing) {
var p = this;
el("edit", "cm.ToolbarView", function (a) {
new a(m, p.g, !!p.c.save_url, p.c.dev_mode, p.c.map_list_url, Xb(), p.c.diff_url);
Q(p.xf, "resize")
})
}
if (this.Ga) {
O(this.Ga, ["change", "input", "cut", "paste", "keyup"], function () {
Q(this, "FILTER_QUERY_CHANGED", {
query: this.Ga.value
});
this.Ic()
}, this);
var s = P(this.k, "filter_query", function () {
Ee(s);
this.Ga.value = bf(this.k);
this.Ic()
}, this);
this.$d();
O(F, "MODEL_CHANGED", this.Ic, this)
}
this.Dc();
this.Ch();
this.Ud();
P(d, "title", this.Dc, this);
P(d, "description", this.Ud, this);
k && O(k, "click", function () {
var a = Ze(this.k);
Ve(a, this.g);
var b = Ze(this.k);
Q(F, "DEFAULT_VIEW_SET", {
Bn: a,
An: b
})
}, this);
O(a, "click", function () {
U(Tf.Vj, null);
Q(F, "RESET_VIEW", {
rb: this.g
})
}, this);
Fe(this.qb, "click", F, "INSPECT", {
object: d
});
var t = d.get("layers");
O(t, "insert_at", function (a) {
this.fe(t.getAt(a), a)
}, this);
O(t, "remove_at", function (a, b) {
this.Dh(b)
}, this);
O(t, ["insert_at", "remove_at"], this.$d, this);
Fg(b, function () {
Q(b, "panelclose")
});
B(t.getArray(), this.fe, this);
this.wf();
O(this.xf, "resize", this.wf, this);
O(b, "panelopen", this.Dn, this);
O(b, "panelclose", this.Cn, this)
};
h = hl.prototype;
h.Ji = function (a) {
this.Im = a;
this.J.style.maxHeight = a ? a + "px" : "";
this.wf()
};
h.wf = function () {
this.Zj.style.maxHeight = this.Im ? this.Im - this.Yj.offsetTop + "px" : "";
this.Zj.style.top = this.Yj.offsetTop + "px"
};
h.Ch = function () {
var a = this.c.map_picker_items;
if (a && a.length && !this.c.draft_mode && !this.c.enable_editing && !this.c.hide_panel_header) {
S(this.qb, "cm-map-title-picker");
var b = new $k(this.$j, a);
O(this.qb, "click", v(function (a) {
al(b, !0);
a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0
}, b))
}
};
h.Dc = function () {
var a = this.g.get("title");
Mg(this.qb, a);
Yb.title = a;
Q(this.xf, "resize")
};
h.Ud = function () {
yc(this.g.get("description"), this.Zd);
Q(this.xf, "resize")
};
h.Ic = function () {
var a = bf(this.k),
b = Vk(this.g, a);
T(this.Hc, "cm-hidden", !a);
a && Mg(this.Hc, (new Fb("{NUM_LAYERS, plural, =0 {No layers or folders match the filter query}=1 {1 layer or folder matches the filter query}other {# layers and folders match the filter query}}")).format({
NUM_LAYERS: b.length
}));
Q(this, "FILTER_MATCHES_CHANGED", {
matches: b
})
};
h.$d = function () {
if (this.Ga) {
var a = 8 > Oe(this.g).length;
T(this.Ga, "cm-hidden", a)
}
};
h.Dn = function () {
S(this.J, "cm-open");
this.J.style.left = Math.max(0, Math.round((this.t.offsetWidth - this.J.offsetWidth) / 2)) + "px";
this.wf()
};
h.Cn = function () {
pf(this.J, "cm-open");
this.J.style.left = "auto"
};
h.fe = function (a, b) {
var c = a.get("id");
this.B[c] = new Mk(this.vf, a, this.r, this.k, this.c, b);
c = this.B[c];
O(c, "DELETE_LAYER", function (a) {
Q(F, "DELETE_LAYER", {
rb: this.g,
id: a.id
})
}, this);
Fe(c, ["TOGGLE_LAYER", "SELECT_SUBLAYER", "ZOOM_TO_LAYER"], this)
};
h.Dh = function (a) {
a && (a = a.get("id"), this.B[a].v(), delete this.B[a])
};
h.getBounds = function () {
return qg(this.J)
};
var jl = function (a, b) {
var c = il(b);
c && (this.yc = a, this.T = H("div", {
id: "cm-about",
"class": "cm-popup"
}, c), Fg(this.T, v(function () {
Jg(this.T)
}, this)))
};
jl.prototype.show = function () {
var a = Gg(this.T, this.yc),
b = Math.max(0, (this.yc.offsetWidth - a.width) / 2),
a = Math.max(0, (this.yc.offsetHeight - a.height) / 2);
this.T.style.left = Math.round(b) + "px";
this.T.style.top = Math.round(a) + "px";
Yb.body.appendChild(this.T)
};
var il = function (a) {
if (a = a || document.getElementById("cm-aboutText")) {
var b = H("h2", {
id: "cm-about-header"
});
b.appendChild(Cf("Google Crisis Map"));
a.appendChild(b);
b = H("p", {
id: "cm-about-text",
"class": "cm-about-text"
});
b.appendChild(Cf('Tips for using this site:<ul> <li>Zoom the map using either the on-screen controls or your mouse. </li> <li>Find additional layers in the Layers list, where you can turn them on or off. Scroll to see all layers.</li> <li>Zoom to an appropriate view for each layer by clicking the "Zoom to area" links in the Layers list.</li> <li>View selected layers in <a href="http://www.google.com/earth/" target="_blank">Google Earth</a> by clicking the "Download KML" links in the Layers list.</li> <li>Share the map in e-mail by clicking the Share button and copying the URL provided there. The URL will restore your current view, including the set of layers that you have turned on.</li> <li>Embed the map on your website or blog by getting a snippet of HTML code from the Share button.</li> <li>Share the link on Google+, Twitter or Facebook by clicking the appropriate button in the Share window.</li></ul>'));
a.appendChild(b);
a.style.display = "block"
}
return a
};
var kl = function () {},
ll;
fa(kl);
var ml = {
button: "pressed",
checkbox: "checked",
menuitem: "selected",
menuitemcheckbox: "checked",
menuitemradio: "checked",
radio: "checked",
tab: "selected",
treeitem: "selected"
};
h = kl.prototype;
h.ah = function () {};
h.X = function (a) {
var b = a.yd().X("div", this.Ye(a).join(" "), a.getContent());
nl(a, b);
return b
};
h.wb = function (a) {
return a
};
h.Re = function (a, b, c) {
if (a = a.e ? a.e() : a) {
var d = [b];
J && !L("7") && (d = ol(uj(a), b), d.push(b));
(c ? xj : zj)(a, d)
}
};
h.hd = function () {
return !0
};
h.Wb = function (a, b) {
b.id && hk(a, b.id);
var c = this.wb(b);
c && c.firstChild ? pl(a, c.firstChild.nextSibling ? cb(c.childNodes) : c.firstChild) : a.Ib = null;
var d = 0,
e = this.ya(),
f = this.ya(),
g = !1,
k = !1,
c = !1,
m = cb(uj(b));
B(m, function (a) {
if (g || a != e)
if (k || a != f) {
var b = d;
this.Fl || (this.Jg || ql(this), this.Fl = Ic(this.Jg));
a = parseInt(this.Fl[a], 10);
d = b | (isNaN(a) ? 0 : a)
} else k = !0;
else g = !0, f == e && (k = !0)
}, this);
a.j = d;
g || (m.push(e), f == e && (k = !0));
k || m.push(f);
var p = a.zb;
p && m.push.apply(m, p);
if (J && !L("7")) {
var s = ol(m);
0 < s.length && (m.push.apply(m,
s), c = !0)
}
if (!g || !k || p || c) b.className = m.join(" ");
nl(a, b);
return b
};
h.Oh = function (a) {
a.Lb() && this.Ie(a.e(), !0);
a.isEnabled() && this.Ae(a, a.ra())
};
var rl = function (a, b, c) {
if (a = c || a.ah()) c = b.getAttribute("role") || null, a != c && sj(b, a)
},
nl = function (a, b) {
a.ra() || tj(b, "hidden", !a.ra());
a.isEnabled() || sl(b, 1, !a.isEnabled());
a.Ia & 8 && sl(b, 8, a.Cd());
a.Ia & 16 && sl(b, 16, !!(a.j & 16));
a.Ia & 64 && sl(b, 64, !!(a.j & 64))
};
h = kl.prototype;
h.Uf = function (a, b) {
vg(a, !b, !J && !cd)
};
h.Ie = function (a, b) {
this.Re(a, this.ya() + "-rtl", b)
};
h.hc = function (a) {
var b;
return a.Ia & 32 && (b = a.Ba()) ? Lf(b) && Mf(b) : !1
};
h.Ae = function (a, b) {
var c;
if (a.Ia & 32 && (c = a.Ba())) {
if (!b && a.j & 32) {
try {
c.blur()
} catch (d) {}
a.j & 32 && a.ye(null)
}(Lf(c) && Mf(c)) != b && (b ? c.tabIndex = 0 : (c.tabIndex = -1, c.removeAttribute("tabIndex")))
}
};
h.setVisible = function (a, b) {
sg(a, b);
a && tj(a, "hidden", !b)
};
h.hb = function (a, b, c) {
var d = a.e();
if (d) {
var e = tl(this, b);
e && this.Re(a, e, c);
sl(d, b, c)
}
};
var sl = function (a, b, c) {
ll || (ll = {
1: "disabled",
8: "selected",
16: "checked",
64: "expanded"
});
b = ll[b];
var d = a.getAttribute("role") || null;
d && (d = ml[d] || b, b = "checked" == b || "selected" == b ? d : b);
b && tj(a, b, c)
};
kl.prototype.setContent = function (a, b) {
var c = this.wb(a);
if (c && (Df(c), b))
if (u(b)) Gf(c, b);
else {
var d = function (a) {
if (a) {
var b = sf(c);
c.appendChild(u(a) ? b.createTextNode(a) : a)
}
};
q(b) ? B(b, d) : !ia(b) || "nodeType" in b ? d(b) : B(cb(b), d)
}
};
kl.prototype.Ba = function (a) {
return a.e()
};
kl.prototype.ya = function () {
return "goog-control"
};
kl.prototype.Ye = function (a) {
var b = this.ya(),
c = [b],
d = this.ya();
d != b && c.push(d);
b = a.j;
for (d = []; b;) {
var e = b & -b;
d.push(tl(this, e));
b &= ~e
}
c.push.apply(c, d);
(a = a.zb) && c.push.apply(c, a);
J && !L("7") && c.push.apply(c, ol(c));
return c
};
var ol = function (a, b) {
var c = [];
b && (a = a.concat([b]));
B([], function (d) {
!Wa(d, sa(C, a)) || b && !C(d, b) || c.push(d.join("_"))
});
return c
},
tl = function (a, b) {
a.Jg || ql(a);
return a.Jg[b]
},
ql = function (a) {
var b = a.ya();
b.replace(/\xa0|\s/g, " ");
a.Jg = {
1: b + "-disabled",
2: b + "-hover",
4: b + "-active",
8: b + "-selected",
16: b + "-checked",
32: b + "-focused",
64: b + "-open"
}
};
var vl = function (a, b) {
if (!a) throw Error("Invalid class name " + a);
if (!ka(b)) throw Error("Invalid decorator function " + b);
ul[a] = b
},
wl = {},
ul = {};
var xl = function (a, b, c) {
fk.call(this, c);
if (!b) {
b = this.constructor;
for (var d; b;) {
d = pa(b);
if (d = wl[d]) break;
b = b.l ? b.l.constructor : null
}
b = d ? ka(d.dc) ? d.dc() : new d : null
}
this.o = b;
this.Ib = n(a) ? a : null
};
z(xl, fk);
h = xl.prototype;
h.Ib = null;
h.j = 0;
h.Ia = 39;
h.Rq = 255;
h.Vc = 0;
h.Oa = !0;
h.zb = null;
h.ke = !0;
h.Rf = !1;
h.Wk = null;
h.Ba = function () {
return this.o.Ba(this)
};
h.Vf = function () {
return this.W || (this.W = new Gj)
};
h.hm = function () {
return this.o
};
h.Re = function (a, b) {
b ? a && (this.zb ? C(this.zb, a) || this.zb.push(a) : this.zb = [a], this.o.Re(this, a, !0)) : a && this.zb && ab(this.zb, a) && (0 == this.zb.length && (this.zb = null), this.o.Re(this, a, !1))
};
h.X = function () {
var a = this.o.X(this);
this.f = a;
rl(this.o, a, this.Wk);
this.Rf || this.o.Uf(a, !1);
this.ra() || this.o.setVisible(a, !1)
};
h.wb = function () {
return this.o.wb(this.e())
};
h.hd = function (a) {
return this.o.hd(a)
};
h.nc = function (a) {
this.f = a = this.o.Wb(this, a);
rl(this.o, a, this.Wk);
this.Rf || this.o.Uf(a, !1);
this.Oa = "none" != a.style.display
};
h.eb = function () {
xl.l.eb.call(this);
this.o.Oh(this);
if (this.Ia & -2 && (this.ke && yl(this, !0), this.Ia & 32)) {
var a = this.Ba();
if (a) {
var b = this.Vf();
Fj(b, a);
this.getHandler().h(b, "key", this.mc).h(a, "focus", this.Be).h(a, "blur", this.ye)
}
}
};
var yl = function (a, b) {
var c = a.getHandler(),
d = a.e();
b ? (c.h(d, "mouseover", a.Ei).h(d, "mousedown", a.me).h(d, "mouseup", a.Fi).h(d, "mouseout", a.Di), a.Ke != ea && c.h(d, "contextmenu", a.Ke), J && c.h(d, "dblclick", a.al)) : (c.M(d, "mouseover", a.Ei).M(d, "mousedown", a.me).M(d, "mouseup", a.Fi).M(d, "mouseout", a.Di), a.Ke != ea && c.M(d, "contextmenu", a.Ke), J && c.M(d, "dblclick", a.al))
};
xl.prototype.Rb = function () {
xl.l.Rb.call(this);
this.W && this.W.detach();
this.ra() && this.isEnabled() && this.o.Ae(this, !1)
};
xl.prototype.m = function () {
xl.l.m.call(this);
this.W && (this.W.v(), delete this.W);
delete this.o;
this.zb = this.Ib = null
};
xl.prototype.getContent = function () {
return this.Ib
};
xl.prototype.setContent = function (a) {
this.o.setContent(this.e(), a);
this.Ib = a
};
var pl = function (a, b) {
a.Ib = b
};
h = xl.prototype;
h.Ie = function (a) {
xl.l.Ie.call(this, a);
var b = this.e();
b && this.o.Ie(b, a)
};
h.Uf = function (a) {
this.Rf = a;
var b = this.e();
b && this.o.Uf(b, a)
};
h.ra = function () {
return this.Oa
};
h.setVisible = function (a, b) {
if (b || this.Oa != a && this.dispatchEvent(a ? "show" : "hide")) {
var c = this.e();
c && this.o.setVisible(c, a);
this.isEnabled() && this.o.Ae(this, a);
this.Oa = a;
return !0
}
return !1
};
h.isEnabled = function () {
return !(this.j & 1)
};
h.Zb = function (a) {
var b = this.getParent();
b && "function" == typeof b.isEnabled && !b.isEnabled() || !zl(this, 1, !a) || (a || (this.setActive(!1), this.xb(!1)), this.ra() && this.o.Ae(this, a), this.hb(1, !a))
};
h.xb = function (a) {
zl(this, 2, a) && this.hb(2, a)
};
h.kf = function () {
return !!(this.j & 4)
};
h.setActive = function (a) {
zl(this, 4, a) && this.hb(4, a)
};
h.Cd = function () {
return !!(this.j & 8)
};
h.tc = function (a) {
zl(this, 8, a) && this.hb(8, a)
};
var Al = function (a, b) {
zl(a, 64, b) && a.hb(64, b)
};
xl.prototype.hb = function (a, b) {
this.Ia & a && b != !!(this.j & a) && (this.o.hb(this, a, b), this.j = b ? this.j | a : this.j & ~a)
};
var Bl = function (a, b, c) {
if (a.I && a.j & b && !c) throw Error("Component already rendered");
!c && a.j & b && a.hb(b, !1);
a.Ia = c ? a.Ia | b : a.Ia & ~b
},
Cl = function (a, b) {
return !!(a.Rq & b) && !!(a.Ia & b)
},
zl = function (a, b, c) {
return !!(a.Ia & b) && !!(a.j & b) != c && (!(a.Vc & b) || a.dispatchEvent(gk(b, c))) && !a.He
};
h = xl.prototype;
h.Ei = function (a) {
(!a.relatedTarget || !Ff(this.e(), a.relatedTarget)) && this.dispatchEvent("enter") && this.isEnabled() && Cl(this, 2) && this.xb(!0)
};
h.Di = function (a) {
a.relatedTarget && Ff(this.e(), a.relatedTarget) || !this.dispatchEvent("leave") || (Cl(this, 4) && this.setActive(!1), Cl(this, 2) && this.xb(!1))
};
h.Ke = ea;
h.me = function (a) {
this.isEnabled() && (Cl(this, 2) && this.xb(!0), ee(a) && (Cl(this, 4) && this.setActive(!0), this.o.hc(this) && this.Ba().focus()));
!this.Rf && ee(a) && a.preventDefault()
};
h.Fi = function (a) {
this.isEnabled() && (Cl(this, 2) && this.xb(!0), this.kf() && Dl(this, a) && Cl(this, 4) && this.setActive(!1))
};
h.al = function (a) {
this.isEnabled() && Dl(this, a)
};
var Dl = function (a, b) {
if (Cl(a, 16)) {
var c = !(a.j & 16);
zl(a, 16, c) && a.hb(16, c)
}
Cl(a, 8) && a.tc(!0);
Cl(a, 64) && Al(a, !(a.j & 64));
c = new ae("action", a);
b && (c.altKey = b.altKey, c.ctrlKey = b.ctrlKey, c.metaKey = b.metaKey, c.shiftKey = b.shiftKey, c.jj = b.jj);
return a.dispatchEvent(c)
};
xl.prototype.Be = function () {
Cl(this, 32) && zl(this, 32, !0) && this.hb(32, !0)
};
xl.prototype.ye = function () {
Cl(this, 4) && this.setActive(!1);
Cl(this, 32) && zl(this, 32, !1) && this.hb(32, !1)
};
xl.prototype.mc = function (a) {
return this.ra() && this.isEnabled() && this.Gj(a) ? (a.preventDefault(), a.stopPropagation(), !0) : !1
};
xl.prototype.Gj = function (a) {
return 13 == a.keyCode && Dl(this, a)
};
if (!ka(xl)) throw Error("Invalid component class " + xl);
if (!ka(kl)) throw Error("Invalid renderer class " + kl);
var El = pa(xl);
wl[El] = kl;
vl("goog-control", function () {
return new xl(null)
});
var Fl = function () {};
z(Fl, kl);
fa(Fl);
h = Fl.prototype;
h.ya = function () {
return "goog-tab"
};
h.ah = function () {
return "tab"
};
h.X = function (a) {
var b = Fl.l.X.call(this, a);
(a = a.Ti()) && this.Qi(b, a);
return b
};
h.Wb = function (a, b) {
b = Fl.l.Wb.call(this, a, b);
var c = this.Ti(b);
c && (a.$k = c);
a.Cd() && (c = a.getParent()) && ka(c.uc) && (a.hb(8, !1), c.uc(a));
return b
};
h.Ti = function (a) {
return a.title || ""
};
h.Qi = function (a, b) {
a && (a.title = b || "")
};
var Gl = function (a, b, c) {
xl.call(this, a, b || Fl.dc(), c);
Bl(this, 8, !0);
this.Vc |= 9
};
z(Gl, xl);
Gl.prototype.Ti = function () {
return this.$k
};
Gl.prototype.Qi = function (a) {
this.hm().Qi(this.e(), a);
this.$k = a
};
vl("goog-tab", function () {
return new Gl(null)
});
var Hl = function (a) {
this.fn = a
};
fa(Hl);
Hl.prototype.ah = function () {
return this.fn
};
var Il = function (a, b) {
a && (a.tabIndex = b ? 0 : -1)
};
h = Hl.prototype;
h.X = function (a) {
return a.yd().X("div", this.Ye(a).join(" "))
};
h.wb = function (a) {
return a
};
h.hd = function (a) {
return "DIV" == a.tagName
};
h.Wb = function (a, b) {
b.id && hk(a, b.id);
var c = this.ya(),
d = !1,
e = uj(b);
e && B(e, function (b) {
b == c ? d = !0 : b && this.dj(a, b, c)
}, this);
d || wj(b, c);
Jl(a, this.wb(b));
return b
};
h.dj = function (a, b, c) {
b == c + "-disabled" ? a.Zb(!1) : b == c + "-horizontal" ? a.Xe("horizontal") : b == c + "-vertical" && a.Xe("vertical")
};
var Jl = function (a, b) {
if (b)
for (var c = b.firstChild, d; c && c.parentNode == b;) {
d = c.nextSibling;
if (1 == c.nodeType) {
var e;
t: {
var f = void 0;
e = uj(c);
for (var g = 0, k = e.length; g < k; g++)
if (f = e[g], f = f in ul ? ul[f]() : null) {
e = f;
break t
}
e = null
}
e && (e.f = c, a.isEnabled() || e.Zb(!1), a.Ri(e), e.Wb(c))
} else c.nodeValue && "" != xa(c.nodeValue) || b.removeChild(c);
c = d
}
};
Hl.prototype.Oh = function (a) {
a = a.e();
vg(a, !0, dd);
J && (a.hideFocus = !0);
var b = this.ah();
b && sj(a, b)
};
Hl.prototype.Ba = function (a) {
return a.e()
};
Hl.prototype.ya = function () {
return "goog-container"
};
Hl.prototype.Ye = function (a) {
var b = this.ya(),
c = [b, "horizontal" == a.yj() ? b + "-horizontal" : b + "-vertical"];
a.isEnabled() || c.push(b + "-disabled");
return c
};
var Kl = function (a, b, c) {
fk.call(this, c);
this.o = b || Hl.dc();
this.K = a || "vertical"
};
z(Kl, fk);
h = Kl.prototype;
h.ai = null;
h.W = null;
h.o = null;
h.K = null;
h.Oa = !0;
h.Ja = !0;
h.rj = !0;
h.ea = -1;
h.Y = null;
h.Bd = !1;
h.dp = !1;
h.To = !0;
h.Ub = null;
h.Ba = function () {
return this.ai || this.o.Ba(this)
};
h.Vf = function () {
return this.W || (this.W = new Gj(this.Ba()))
};
h.hm = function () {
return this.o
};
h.X = function () {
this.f = this.o.X(this)
};
h.wb = function () {
return this.o.wb(this.e())
};
h.hd = function (a) {
return this.o.hd(a)
};
h.nc = function (a) {
this.f = this.o.Wb(this, a);
"none" == a.style.display && (this.Oa = !1)
};
h.eb = function () {
Kl.l.eb.call(this);
kk(this, function (a) {
a.I && Ll(this, a)
}, this);
var a = this.e();
this.o.Oh(this);
this.setVisible(this.Oa, !0);
this.getHandler().h(this, "enter", this.qo).h(this, "highlight", this.uo).h(this, "unhighlight", this.zo).h(this, "open", this.xo).h(this, "close", this.oo).h(a, "mousedown", this.me).h(sf(a), "mouseup", this.po).h(a, ["mousedown", "mouseup", "mouseover", "mouseout", "contextmenu"], this.jo);
this.hc() && Ml(this, !0)
};
var Ml = function (a, b) {
var c = a.getHandler(),
d = a.Ba();
b ? c.h(d, "focus", a.Be).h(d, "blur", a.ye).h(a.Vf(), "key", a.mc) : c.M(d, "focus", a.Be).M(d, "blur", a.ye).M(a.Vf(), "key", a.mc)
};
h = Kl.prototype;
h.Rb = function () {
Nl(this, -1);
this.Y && Al(this.Y, !1);
this.Bd = !1;
Kl.l.Rb.call(this)
};
h.m = function () {
Kl.l.m.call(this);
this.W && (this.W.v(), this.W = null);
this.o = this.Y = this.Ub = this.ai = null
};
h.qo = function () {
return !0
};
h.uo = function (a) {
var b = nk(this, a.target);
if (-1 < b && b != this.ea) {
var c = mk(this, this.ea);
c && c.xb(!1);
this.ea = b;
c = mk(this, this.ea);
this.Bd && c.setActive(!0);
this.To && this.Y && c != this.Y && (c.Ia & 64 ? Al(c, !0) : Al(this.Y, !1))
}
b = this.e();
null != a.target.e() && tj(b, "activedescendant", a.target.e().id)
};
h.zo = function (a) {
a.target == mk(this, this.ea) && (this.ea = -1);
this.e().removeAttribute("aria-activedescendant")
};
h.xo = function (a) {
(a = a.target) && a != this.Y && a.getParent() == this && (this.Y && Al(this.Y, !1), this.Y = a)
};
h.oo = function (a) {
a.target == this.Y && (this.Y = null)
};
h.me = function (a) {
this.Ja && (this.Bd = !0);
var b = this.Ba();
b && Lf(b) && Mf(b) ? b.focus() : a.preventDefault()
};
h.po = function () {
this.Bd = !1
};
h.jo = function (a) {
var b;
t: {
b = a.target;
if (this.Ub)
for (var c = this.e(); b && b !== c;) {
var d = b.id;
if (d in this.Ub) {
b = this.Ub[d];
break t
}
b = b.parentNode
}
b = null
}
if (b) switch (a.type) {
case "mousedown":
b.me(a);
break;
case "mouseup":
b.Fi(a);
break;
case "mouseover":
b.Ei(a);
break;
case "mouseout":
b.Di(a);
break;
case "contextmenu":
b.Ke(a)
}
};
h.Be = function () {};
h.ye = function () {
Nl(this, -1);
this.Bd = !1;
this.Y && Al(this.Y, !1)
};
h.mc = function (a) {
return this.isEnabled() && this.ra() && (0 != lk(this) || this.ai) && this.Gj(a) ? (a.preventDefault(), a.stopPropagation(), !0) : !1
};
h.Gj = function (a) {
var b = mk(this, this.ea);
if (b && "function" == typeof b.mc && b.mc(a) || this.Y && this.Y != b && "function" == typeof this.Y.mc && this.Y.mc(a)) return !0;
if (a.shiftKey || a.ctrlKey || a.metaKey || a.altKey) return !1;
switch (a.keyCode) {
case 27:
if (this.hc()) this.Ba().blur();
else return !1;
break;
case 36:
Ol(this);
break;
case 35:
Pl(this);
break;
case 38:
if ("vertical" == this.K) Ql(this);
else return !1;
break;
case 37:
if ("horizontal" == this.K) this.Lb() ? Rl(this) : Ql(this);
else return !1;
break;
case 40:
if ("vertical" == this.K) Rl(this);
else return !1;
break;
case 39:
if ("horizontal" == this.K) this.Lb() ? Ql(this) : Rl(this);
else return !1;
break;
default:
return !1
}
return !0
};
var Ll = function (a, b) {
var c = b.e(),
c = c.id || (c.id = b.getId());
a.Ub || (a.Ub = {});
a.Ub[c] = b
};
h = Kl.prototype;
h.Ri = function (a, b) {
Kl.l.Ri.call(this, a, b)
};
h.rg = function (a, b, c) {
a.Vc |= 2;
a.Vc |= 64;
!this.hc() && this.dp || Bl(a, 32, !1);
a.I && !1 != a.ke && yl(a, !1);
a.ke = !1;
Kl.l.rg.call(this, a, b, c);
a.I && this.I && Ll(this, a);
b <= this.ea && this.ea++
};
h.removeChild = function (a, b) {
if (a = u(a) ? ik(this, a) : a) {
var c = nk(this, a); - 1 != c && (c == this.ea ? (a.xb(!1), this.ea = -1) : c < this.ea && this.ea--);
var d = a.e();
d && d.id && this.Ub && (c = this.Ub, d = d.id, d in c && delete c[d])
}
c = a = Kl.l.removeChild.call(this, a, b);
c.I && !0 != c.ke && yl(c, !0);
c.ke = !0;
return a
};
h.yj = function () {
return this.K
};
h.Xe = function (a) {
if (this.e()) throw Error("Component already rendered");
this.K = a
};
h.ra = function () {
return this.Oa
};
h.setVisible = function (a, b) {
if (b || this.Oa != a && this.dispatchEvent(a ? "show" : "hide")) {
this.Oa = a;
var c = this.e();
c && (sg(c, a), this.hc() && Il(this.Ba(), this.Ja && this.Oa), b || this.dispatchEvent(this.Oa ? "aftershow" : "afterhide"));
return !0
}
return !1
};
h.isEnabled = function () {
return this.Ja
};
h.Zb = function (a) {
this.Ja != a && this.dispatchEvent(a ? "enable" : "disable") && (a ? (this.Ja = !0, kk(this, function (a) {
a.gm ? delete a.gm : a.Zb(!0)
})) : (kk(this, function (a) {
a.isEnabled() ? a.Zb(!1) : a.gm = !0
}), this.Bd = this.Ja = !1), this.hc() && Il(this.Ba(), a && this.Oa))
};
h.hc = function () {
return this.rj
};
h.Ae = function (a) {
a != this.rj && this.I && Ml(this, a);
this.rj = a;
this.Ja && this.Oa && Il(this.Ba(), a)
};
var Nl = function (a, b) {
var c = mk(a, b);
c ? c.xb(!0) : -1 < a.ea && mk(a, a.ea).xb(!1)
};
Kl.prototype.xb = function (a) {
Nl(this, nk(this, a))
};
var Ol = function (a) {
Sl(a, function (a, c) {
return (a + 1) % c
}, lk(a) - 1)
},
Pl = function (a) {
Sl(a, function (a, c) {
a--;
return 0 > a ? c - 1 : a
}, 0)
},
Rl = function (a) {
Sl(a, function (a, c) {
return (a + 1) % c
}, a.ea)
},
Ql = function (a) {
Sl(a, function (a, c) {
a--;
return 0 > a ? c - 1 : a
}, a.ea)
},
Sl = function (a, b, c) {
c = 0 > c ? nk(a, a.Y) : c;
var d = lk(a);
c = b.call(a, c, d);
for (var e = 0; e <= d;) {
var f = mk(a, c),
g;
if (g = f) g = f.ra() && f.isEnabled() && !!(f.Ia & 2);
if (g) {
a.Vi(c);
break
}
e++;
c = b.call(a, c, d)
}
};
Kl.prototype.Vi = function (a) {
Nl(this, a)
};
var Tl = function () {
this.fn = "tablist"
};
z(Tl, Hl);
fa(Tl);
Tl.prototype.ya = function () {
return "goog-tab-bar"
};
Tl.prototype.dj = function (a, b, c) {
this.nm || (this.Rg || Ul(this), this.nm = Ic(this.Rg));
var d = this.nm[b];
d ? (a.Xe(Vl(d)), a.Ul = d) : Tl.l.dj.call(this, a, b, c)
};
Tl.prototype.Ye = function (a) {
var b = Tl.l.Ye.call(this, a);
this.Rg || Ul(this);
b.push(this.Rg[a.Ul]);
return b
};
var Ul = function (a) {
var b = a.ya();
a.Rg = {
top: b + "-top",
bottom: b + "-bottom",
start: b + "-start",
end: b + "-end"
}
};
var Xl = function (a, b, c) {
a = a || "top";
this.Xe(Vl(a));
this.Ul = a;
Kl.call(this, this.yj(), b || Tl.dc(), c);
Wl(this)
};
z(Xl, Kl);
h = Xl.prototype;
h.fq = !0;
h.xc = null;
h.eb = function () {
Xl.l.eb.call(this);
Wl(this)
};
h.m = function () {
Xl.l.m.call(this);
this.xc = null
};
h.removeChild = function (a, b) {
Yl(this, a);
return Xl.l.removeChild.call(this, a, b)
};
h.Vi = function (a) {
Xl.l.Vi.call(this, a);
this.fq && this.uc(mk(this, a))
};
h.fc = function () {
return this.xc
};
h.uc = function (a) {
a ? a.tc(!0) : this.fc() && this.fc().tc(!1)
};
var Yl = function (a, b) {
if (b && b == a.fc()) {
for (var c = nk(a, b), d = c - 1; b = mk(a, d); d--)
if (Zl(b)) {
a.uc(b);
return
}
for (c += 1; b = mk(a, c); c++)
if (Zl(b)) {
a.uc(b);
return
}
a.uc(null)
}
},
Zl = function (a) {
return a.ra() && a.isEnabled()
};
h = Xl.prototype;
h.iq = function (a) {
this.xc && this.xc != a.target && this.xc.tc(!1);
this.xc = a.target
};
h.jq = function (a) {
a.target == this.xc && (this.xc = null)
};
h.gq = function (a) {
Yl(this, a.target)
};
h.hq = function (a) {
Yl(this, a.target)
};
h.Be = function () {
mk(this, this.ea) || this.xb(this.fc() || mk(this, 0))
};
var Wl = function (a) {
a.getHandler().h(a, "select", a.iq).h(a, "unselect", a.jq).h(a, "disable", a.gq).h(a, "hide", a.hq)
},
Vl = function (a) {
return "start" == a || "end" == a ? "vertical" : "horizontal"
};
vl("goog-tab-bar", function () {
return new Xl
});
var $l = function () {
this.Q = new Xl("top");
this.yc = H("div", {
"class": "cm-tab-bar-container"
});
this.xm = H("div", {
"class": "cm-tab-bar-buttons"
});
this.Zi = []
};
$l.prototype.Hb = function (a) {
V(this.yc, this.xm);
this.Q.Hb(this.yc);
V(a, this.yc)
};
$l.prototype.Ph = function (a) {
V(this.xm, a)
};
var am = function (a, b, c, d) {
c = new Gl(c);
var e = O(c, "action", function () {
Zf.panel_tab_selected = y();
Q(this, "TabView.tabBar_.TAB_SELECTED")
}, a);
a.Zi.splice(b, 0, e);
a.Q.rg(c, b, !0);
d || c.Zb(!1)
};
$l.prototype.fc = function () {
var a = this.Q;
return nk(a, a.fc())
};
$l.prototype.Pe = function () {
return this.yc.offsetHeight
};
var bm = function (a, b) {
this.A = a;
this.c = b || {};
this.Q = new $l;
this.ib = -1;
this.Xa = [];
this.Pc = null;
this.La = H("div", {
"class": "cm-tab-content"
})
};
h = bm.prototype;
h.Hb = function (a) {
this.Q.Hb(a);
this.c.enable_editing && (this.Pc = H("div"), V(a, this.Pc), el("edit", "cm.ToolbarView", v(this.Oo, this)));
V(a, this.La);
O(this.Q, "TabView.tabBar_.TAB_SELECTED", this.No, this)
};
h.Oo = function (a) {
new a(this.Pc, this.A, !!this.c.save_url, this.c.dev_mode, this.c.map_list_url, Xb(), this.c.diff_url);
Q(F, "resize")
};
h.Ph = function (a) {
this.Q.Ph(a)
};
h.resize = function (a, b) {
var c = this.Q.Pe();
this.Pc && (c += pg(this.Pc).height);
c = a - c + "px";
b ? (this.La.style.height = c, this.La.style.maxHeight = "") : (this.La.style.height = "", this.La.style.maxHeight = c)
};
h.No = function () {
if (this.ib == this.Q.fc()) Q(this, "SAME_TAB_SELECTED");
else {
U(this.Xa[this.Q.fc()].bf(), null);
cm(this);
var a = Zf.panel_tab_selected;
bg("Panel action", "Panel tab changed", y() - a, dm(this).getTitle())
}
};
var cm = function (a) {
Ig(a.La); - 1 !== a.ib && a.Xa[a.ib].tc(!1);
a.ib = a.Q.fc();
a.Xa[a.ib].tc(!0);
V(a.La, a.Xa[a.ib].getContent());
Q(a, "NEW_TAB_SELECTED")
},
fm = function (a, b) {
var c = a.Xa.length;
a.Xa.splice(c, 0, b);
am(a.Q, c, b.getTitle(), b.xd());
b.Mg(a); - 1 === a.ib && em(a)
},
em = function (a) {
for (var b = -1, c = 0; c < a.Xa.length; c++)
if (a.Xa[c].xd()) {
b = c;
break
}
0 > b || (c = a.Q.Q, c.uc(mk(c, b)), cm(a))
},
gm = function (a, b) {
var c = Qa(a.Xa, b);
if (-1 !== c) {
var d = c === a.ib;
d && (Ig(a.La), b.tc(!1), a.ib = -1);
b.Mg(null);
a.Xa.splice(c, 1);
var e = a.Q;
Ee(e.Zi[c]);
e.Q.removeChild(mk(e.Q, c), !0);
e.Zi.splice(c, 1);
d && em(a)
}
},
hm = function (a, b) {
var c = Qa(a.Xa, b);
if (-1 !== c) {
var d = a.Q.Q;
d.uc(mk(d, c));
cm(a)
}
},
dm = function (a) {
return -1 != a.ib ? a.Xa[a.ib] : null
},
im = function (a, b) {
var c = Qa(a.Xa, b);
if (-1 != c) {
var d = b.xd(),
e = mk(a.Q.Q, c);
e.setContent(b.getTitle());
e.Zb(d);
c === a.ib && (b.xd() ? (Ig(a.La), V(a.La, b.getContent())) : em(a))
}
};
var jm = function (a, b, c) {
this.gb = a;
this.Rc = b;
this.ec = c || {};
this.cd = null;
this.Ib = H("div", {
"class": "cm-inner-tab-content"
});
this.Cd = !1;
this.Il = this.ec.enable_editing;
this.bj = this.Zl = !1
};
h = jm.prototype;
h.qd = function () {
if (!this.Zl) {
this.Zl = !0;
var a = H("div", {
"class": "cm-panel-header"
});
this.Qm(a);
V(this.Ib, a);
this.of(this.Ib);
this.bj = !0
}
};
h.Qm = function (a) {
if (this.ec.hide_panel_header) a.style.display = "none";
else {
this.ec.draft_mode && V(a, H("span", {
"class": "cm-draft-indicator",
title: "This is an unpublished version of this map."
}, "DRAFT"));
this.md = H("h1", {
"class": "cm-map-title"
});
P(this.gb, "title", this.Dm, this);
this.Dm();
this.Il && Fe(this.md, "click", F, "INSPECT", {
object: this.gb
});
V(a, this.md);
this.Ch();
var b = this.ec.publisher_name;
if (b) {
var c = H("div", {
"class": "cm-map-publisher"
});
yc(new sc("Published by " + b), c);
V(a, c)
}
}
};
h.of = function () {};
h.getTitle = function () {};
h.getContent = function () {
this.qd();
return this.Ib
};
h.xd = function () {
return !0
};
h.tc = function (a) {
this.Cd = a
};
h.Mg = function (a) {
this.cd = a
};
h.Dm = function () {
var a = this.gb.get("title");
Mg(this.md, a);
Yb.title = a;
this.bj && this.Cd && im(this.cd, this)
};
h.Ch = function () {
var a = this.ec.map_picker_items;
if (this.md && a && a.length && !(this.ec.draft_mode || this.ec.enable_editing || this.ec.hide_panel_header)) {
S(this.md, "cm-map-title-picker");
var b = new $k(this.md, a);
O(this.md, "click", v(function (a) {
al(b, !0);
a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0
}, b))
}
};
h.bf = function () {
return Rf.rr
};
var km = function (a, b, c, d) {
jm.call(this, a, b, c);
this.Mm = new jl(d)
};
z(km, jm);
h = km.prototype;
h.of = function (a) {
this.Zd = H("div", {
"class": "cm-map-description"
});
P(this.gb, "description", this.Lm, this);
this.Lm();
var b = H("div", {
"class": ["cm-panel-links", "cm-about-links"]
});
if (this.Il) {
var c = Kg("Set current view as default");
V(b, c);
O(c, "click", this.yq, this)
}
c = Kg("Reset view");
V(b, c);
O(c, "click", this.xq, this);
c = Kg("Help");
O(c, "click", v(this.Mm.show, this.Mm));
V(b, c);
var c = new N(l.location),
d = new N("https://support.google.com/crisismaps/contact/abuse");
Ad(d, "url", c.toString());
V(b, Kg("Report abuse",
d.toString(), "_blank"));
V(a, this.Zd, b)
};
h.Lm = function () {
yc(this.gb.get("description"), this.Zd);
this.bj && this.Cd && im(this.cd, this)
};
h.yq = function () {
var a = Ze(this.Rc);
Ve(a, this.gb);
var b = Ze(this.Rc);
Q(F, "DEFAULT_VIEW_SET", {
Bn: a,
An: b
})
};
h.xq = function () {
U(Tf.Vj, null);
Q(F, "RESET_VIEW", {
rb: this.gb
})
};
h.getTitle = function () {
return "About"
};
h.bf = function () {
return Rf.er
};
var nm = function (a, b, c) {
b = b || {};
if (lm[a]) {
for (var d = mm[a] || [], e = 0; e < d.length; e++) b[d[e]] = document.getElementById(d[e]).value;
lm[a](b)
}
var d = [],
f;
for (f in b) e = b[f], d.push(f + "=" + encodeURIComponent("object" === typeof e ? ui(e) : e));
Ui(a, function (a) {
if (c) {
var b;
var d = a.target;
try {
b = d.n ? d.n.responseText : ""
} catch (e) {
b = ""
}
c($i(a.target), b)
}
}, d.join("&"))
},
om = function (a, b) {
nm(a, {}, b)
},
pm = 0,
lm = {},
mm = {},
qm = function (a, b, c, d) {
if (a) {
var e = "setSigner" + ++pm;
window.google = window.google || {};
window.google.cm = window.google.cm || {};
window.google.cm[e] = function (a) {
lm[b] = a;
d && d()
};
ii(a + "?callback=google.cm." + e + "&inputs=" + c.join(","));
mm[b] = c
}
};
var rm = function (a, b, c) {
this.vl = c.protect_url;
this.fp = c.report_query_url;
this.wl = c.report_post_url;
this.hl = c.vote_post_url;
this.A = b;
this.$i = H("div", "cm-report-collection");
this.Ld = H("p", {}, "Loading...");
this.Ld.style.display = "none";
this.vg = H("div", "cm-reports", this.Ld);
this.jl = !1;
this.Gl = {};
this.Ne = {};
this.Fc = !1;
S(a, "cm-crowd");
V(a, this.$i, this.vg)
};
rm.prototype.Af = function (a) {
this.Fc = a
};
rm.prototype.open = function (a) {
var b = this.A.get("id"),
c = this.Gl = {};
this.Nb = a.layerId;
this.Yb = a.position;
a = Re(this.A, this.Nb);
B(a, function (a) {
var e = a.get("questions");
B(e, function (e) {
B(e.Kl, function (g) {
c[b + "." + a.get("id") + "." + e.id + "." + g.id] = g
})
})
});
a.length && (sm(this, this.$i), tm(this, this.vg))
};
rm.prototype.close = function () {
Ig(this.$i);
Ig(this.vg)
};
var um = function (a) {
if (a.jl) {
var b = !1,
c;
for (c in a.Ne) b = b || a.Ne[c];
a.Se.disabled = !(b || a.Bg.value.match(/\S/))
} else a.Se.disabled = !0
},
vm = function (a, b, c) {
var d = b + "." + c.id,
e = [];
b = Sa(c.Kl, function (a) {
return {
title: a.title,
id: d + "." + a.id
}
}).concat({
title: "Not sure",
id: null
});
return e = Sa(b, function (b) {
var c = H("div", "cm-button", b.title);
O(c, "click", function () {
B(e, function (a) {
T(a, "cm-selected", a === c)
});
a.Ne[d] = b.id;
a.Uo.value = (dc(Bc(a.Ne)) || []).join(",");
U(Wf.Fq, a.Nb);
um(a)
});
return c
})
},
sm = function (a, b) {
function c(a) {
qf(k,
"cm-expanded", "cm-collapsed");
V(k, m);
B(Lg(m), function (a) {
pf(a, "cm-selected")
});
e.Ne = {};
e.Bg.value = "";
e.Se.disabled = !0;
a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
}
function d(a) {
om(e.wl, function () {
tm(e, e.vg)
});
U(Wf.$o, e.Nb);
c(a);
e.Ld.style.display = ""
}
var e = a,
f = Re(e.A, e.Nb),
g = e.A.get("id");
Ig(b);
V(b, H("h2", {}, "Citizen reports"));
var k, m, p;
V(b, k = H("div", ["cm-crowd-bubble", "cm-collapsed"], H("div", "cm-crowd-bubble-tail"), H("div", "cm-crowd-report-prompt", H("div", "cm-crowd-more"), H("div", {}, "Know something about this location?")), m = H("div", "cm-crowd-report-form", p = H("div", "cm-close-button"))));
B(f, function (a) {
var b = g + "." + a.get("id");
a = a.get("questions");
B(a, function (a) {
V(m, H("div", "cm-question", H("h3", {}, a.text), H("div", "cm-answers", H("div", "cm-button-group", vm(e, b, a)))))
})
});
V(m, H("div", "cm-report-text", e.Bg = H("input", {
type: "text",
id: "cm-text",
placeholder: "Enter a comment"
})), H("div", "cm-button-area", e.Se = H("input", {
type: "submit",
value: "Post",
"class": ["cm-button", "cm-submit"]
})),
H("div", "cm-notice", "Please note: All data entered will be public."));
e.Se.disabled = !0;
O(k, "click", function () {
U(Wf.ap, e.Nb);
pf(m, "cm-hidden");
T(m, "cm-popup", e.Fc);
e.Fc ? (qf(k, "cm-expanded", "cm-collapsed"), Jg(m), Hg(m)) : (V(k, m), qf(k, "cm-collapsed", "cm-expanded"))
});
O(p, "click", function (a) {
U(Wf.Zo, e.Nb);
c(a)
});
O(e.Bg, ["keyup", "cut", "paste", "change"], function () {
window.setTimeout(function () {
um(e)
}, 1)
});
V(b, a.bp = H("input", {
type: "hidden",
id: "cm-ll"
}), a.cp = H("input", {
type: "hidden",
id: "cm-topic-ids"
}), a.Uo =
H("input", {
type: "hidden",
id: "cm-answer-ids"
}), a.Wo = H("input", {
type: "hidden",
id: "cm-report-id"
}), a.Yo = H("input", {
type: "hidden",
id: "cm-vote-code"
}));
qm(e.vl, e.wl, ["cm-ll", "cm-text", "cm-topic-ids", "cm-answer-ids"], function () {
e.jl = !0;
um(e)
});
qm(e.vl, e.hl, ["cm-report-id", "cm-vote-code"]);
e.bp.value = e.Yb.lat() + "," + e.Yb.lng();
f = Sa(f, function (a) {
return g + "." + a.get("id")
});
e.cp.value = f.join(",");
O(e.Se, "click", d);
O(e.Bg, "keypress", function (a) {
13 === a.keyCode && d(a)
})
},
tm = function (a, b) {
var c = Re(a.A, a.Nb),
d = a.A.get("id");
a.Ld.style.display = "";
(new ji(a.fp)).send({
ll: a.Yb.lat() + "," + a.Yb.lng(),
topic_ids: Sa(c, function (a) {
return d + "." + a.get("id")
}).join(","),
radii: Sa(c, function (a) {
return a.get("cluster_radius")
}).join(","),
votes: "1"
}, function (c) {
a.Ld.style.display = "none";
Ig(b);
V(b, a.Ld);
V(b, H("div", {}, Sa(c, v(a.cq, a))));
V(b, H("div", "cm-notice", "Google does not review or verify the accuracy of this data.", " ", H("a", {
href: "http://www.google.com/intl/en/policies/terms/",
target: "_blank"
}, "Terms of Service")));
b.style.display =
c.length ? "" : "none";
if (c.length) {
for (var d = 0, g = 0, k = 0; k < c.length; k++) d += c[k].upvote_count || 0, g += c[k].downvote_count || 0;
U(Xf.$p, a.Nb, c.length);
U(Xf.aq, a.Nb, d - g)
}
})
};
rm.prototype.cq = function (a) {
var b = this,
c = H("div", "cm-time", jc(a.effective)),
d = Sa(a.answer_ids || [], function (a) {
var c = b.Gl[a];
a = H("div", "cm-answer", c.label || c.title);
a.style.background = c.color;
var d = a.style,
c = c.color;
if (!jf.test(c)) throw Error("'" + c + "' is not a valid hex color");
4 == c.length && (c = c.replace(hf, "#$1$1$2$2$3$3"));
c = c.toLowerCase();
c = [parseInt(c.substr(1, 2), 16), parseInt(c.substr(3, 2), 16), parseInt(c.substr(5, 2), 16)];
d.color = 128 < 0.299 * c[0] + 0.587 * c[1] + 0.114 * c[2] ? "#000" : "#fff";
return a
}),
d = d.length ?
d : null,
e = xa(a.text || "") || null;
return H("div", "cm-report", d && H("div", "cm-report-answers", c, d), e && H("div", "cm-report-text", d ? null : c, e), e && wm(b, a))
};
var wm = function (a, b) {
function c() {
T(m, "cm-selected", "u" === f);
T(s, "cm-selected", "d" === f);
Mg(p, g + ("u" === f ? 1 : 0) || "");
Mg(t, k + ("d" === f ? 1 : 0) || "")
}
function d(a) {
f = a;
c();
e.Wo.value = b.id;
e.Yo.value = f;
nm(e.hl, void 0, void 0);
U(Vf.Mq, e.Nb, "u" == f ? 1 : "d" == f ? -1 : 0)
}
var e = a,
f = b.vote,
g = b.upvote_count - ("u" == f ? 1 : 0),
k = b.downvote_count - ("d" == f ? 1 : 0),
m, p, s, t, w = H("div", "cm-report-vote", H("a", {
"class": "cm-report-abuse",
title: "Report this comment as abuse",
target: "_blank",
href: "https://support.google.com/crisismaps/contact/crowd_abuse?url=" +
encodeURIComponent(b.id)
}), "Helpful?", m = H("span", {
"class": ["cm-vote", "cm-upvote"],
title: "Vote this comment up"
}), p = H("span", ["cm-vote-count"]), s = H("span", {
"class": ["cm-vote", "cm-downvote"],
title: "Vote this comment down"
}), t = H("span", ["cm-vote-count"]));
c();
O(m, "click", function () {
d("u" === f ? "" : "u")
});
O(s, "click", function () {
d("d" === f ? "" : "d")
});
return w
};
var xm = function (a, b, c) {
jm.call(this, a, b, c);
this.Lh = H("div");
this.Ff = H("div");
this.Kh = new rm(this.Ff, a, c)
};
z(xm, jm);
h = xm.prototype;
h.Af = function (a) {
this.Kh.Af(a)
};
h.Qm = function (a) {
a.style.display = "none"
};
h.of = function (a) {
V(a, this.Lh, this.Ff)
};
h.getTitle = function () {
return "Details"
};
h.bf = function () {
return Rf.ir
};
var Am = function (a, b, c, d) {
jm.call(this, a, b, c);
this.r = d;
this.B = {};
this.vf = H("div", {
"class": "cm-panel-layers"
});
this.aj = this.Hc = this.Ga = null;
c.enable_layer_filter && ym(this);
zm(this)
};
z(Am, jm);
Am.prototype.of = function (a) {
this.Ga && a.appendChild(H("div", {
"class": "cm-layer-filter"
}, this.Ga, this.Hc));
a.appendChild(this.vf)
};
var zm = function (a) {
var b = a.gb.get("layers");
B(b.getArray(), a.fe, a);
O(b, "insert_at", function (a) {
this.fe(b.getAt(a), a)
}, a);
O(b, "remove_at", function (a, b) {
this.Dh(b)
}, a);
O(b, ["insert_at", "remove_at"], a.$d, a)
};
Am.prototype.fe = function (a, b) {
var c = a.get("id");
this.B[c] = new Mk(this.vf, a, this.r, this.Rc, this.ec, b, !1);
c = this.B[c];
O(c, "DELETE_LAYER", function (a) {
Q(F, "DELETE_LAYER", {
rb: this.rb,
id: a.id
})
}, this);
Fe(c, ["TOGGLE_LAYER", "SELECT_SUBLAYER", "ZOOM_TO_LAYER"], this)
};
Am.prototype.Dh = function (a) {
a && (a = a.get("id"), this.B[a].v(), delete this.B[a])
};
var ym = function (a) {
a.Ga = H("input", {
type: "text",
placeholder: "Filter layers"
});
a.Hc = H("span", {
"class": "cm-layer-filter-info"
});
O(a.Ga, ["change", "input", "cut", "paste", "keyup"], function () {
Q(this, "FILTER_QUERY_CHANGED", {
query: this.Ga.value
});
this.Ic()
}, a);
var b = P(a.Rc, "filter_query", function () {
Ee(b);
this.Ga.value = bf(this.Rc);
this.Ic()
}, a);
a.$d();
O(F, "MODEL_CHANGED", a.Ic, a)
};
h = Am.prototype;
h.Ic = function () {
var a = bf(this.Rc),
b = Vk(this.gb, a);
T(this.Hc, "cm-hidden", !a);
a && Mg(this.Hc, (new Fb("{NUM_LAYERS, plural, =0 {No layers or folders match the filter query}=1 {1 layer or folder matches the filter query}other {# layers and folders match the filter query}}")).format({
NUM_LAYERS: b.length
}));
Q(this, "FILTER_MATCHES_CHANGED", {
matches: b
})
};
h.$d = function () {
if (this.Ga) {
var a = 8 > Oe(this.gb).length;
T(this.Ga, "cm-hidden", a)
}
};
h.getTitle = function () {
return "Layers"
};
h.Mg = function (a) {
a != this.cd && (this.aj && Ee(this.aj, this), this.aj = O(a, "NEW_TAB_SELECTED", this.Oq, this));
jm.prototype.Mg.call(this, a)
};
h.bf = function () {
return Rf.lr
};
h.Oq = function () {
if (dm(this.cd) === this)
for (var a in this.B) {
var b = this.B[a];
b.isEnabled() && Qk(b)
}
};
var Bm = function (a, b, c) {
this.F = a;
this.k = c;
this.r = b;
this.J = H("div");
this.qb = H("span", {
"class": "cm-layer-title"
});
this.fb = H("div", {
"class": "cm-tabbed-legend-content"
});
this.Ec = H("div", {
"class": "cm-timestamp"
});
this.oi = null;
this.ni = !0;
this.ji = !1;
this.ei = !0
};
h = Bm.prototype;
h.getContent = function () {
this.ji || (this.Le(), this.ji = !0);
if (this.ei = this.Vg()) return null;
this.ni && (this.Dc(), this.qf(), this.rf(), this.Hb(), this.ni = !1);
return this.J
};
h.Pm = function () {
this.vc()
};
h.Le = function () {
P(this.F, ["min_zoom", "max_zoom"], this.Oe, this);
P(this.F, "title", this.vc, this);
P(this.F, "legend", this.vc, this);
O(F, "ZOOM_CHANGED", this.sp, this);
P(this.k, "enabled_layer_ids", this.Oe, this)
};
h.Hb = function () {};
h.Vg = function () {
return !1
};
h.Lg = function () {
return this.F.get("title")
};
h.isEmpty = function () {
return this.F.get("legend").isEmpty()
};
h.isEnabled = function () {
return $e(this.k, this.F.get("id"))
};
var Cm = function (a) {
if (!a) return !0;
for (var b = a; b;) {
if ("LOCKED" === b.get("folder_type")) return !1;
b = b.get("parent")
}
return "UNLOCKED" === a.get("folder_type")
};
h = Bm.prototype;
h.vc = function () {
this.ji && (this.ni = !0, Q(this, "LEGEND_VIEW_RENDERING_CHANGED"))
};
h.Oe = function () {
this.Vg() !== this.ei && this.vc()
};
h.Dc = function () {
Ig(this.qb);
V(this.qb, this.Lg())
};
h.qf = function () {
Ig(this.Ec);
var a = bj(this.r, this.F);
a && (a = Ok(a), V(this.Ec, a))
};
h.rf = function () {
Ig(this.fb);
yc(this.F.get("legend"), this.fb)
};
h.sp = function (a) {
this.oi = a.zoom;
this.Oe()
};
var Dm = {},
Gm = function (a, b, c) {
var d = a.get("id"),
e = Dm[d];
e || (e = "FOLDER" === a.get("type") ? new Em(a, b, c) : new Fm(a, b, c), Dm[d] = e);
return e
},
Im = function (a, b, c, d) {
this.Xo = a;
this.Vo = b;
this.k = c;
this.r = d;
this.Od = null;
this.Ab = [];
this.Nd = [];
this.yg = [];
this.Pd = !1;
Hm(this);
P(a, b, this.zl, this);
O(F, "ARRANGE_COMMAND_BEGIN", function () {
this.Pd = !0
}, this);
O(F, "ARRANGE_COMMAND_ENDED", function () {
this.Pd = !1;
this.zl()
}, this)
},
Jm = function (a) {
B(a.Nd, v(function (a) {
Ee(a, this)
}, a));
B(a.yg, v(function (a) {
Ee(a, this)
}, a))
};
Im.prototype.Gm = function () {
this.Pd || Q(this, "LEGEND_VIEW_LIST_RENDERING_CHANGED")
};
Im.prototype.zl = function () {
this.Pd || (Jm(this), this.Od = null, this.Ab = [], this.Nd = [], this.yg = [], Hm(this), this.Gm())
};
var Km = function (a, b) {
return O(b, "LEGEND_VIEW_RENDERING_CHANGED", a.Gm, a)
},
Hm = function (a) {
a.Od = a.Xo.get(a.Vo);
a.Od.forEach(v(function (a) {
a = Gm(a, this.r, this.k);
this.Ab.push(a);
this.Nd.push(Km(this, a))
}, a));
Lm(a)
},
Lm = function (a) {
a.yg.push(O(a.Od, "insert_at", function (a) {
if (!this.Pd) {
var c = Gm(this.Od.getAt(a), this.r, this.k);
this.Ab.splice(a, 0, c);
this.Nd.splice(a, 0, Km(this, c));
c.getContent() && Q(this, "LEGEND_VIEW_LIST_RENDERING_CHANGED")
}
}, a));
a.yg.push(O(a.Od, "remove_at", function (a) {
if (!this.Pd) {
var c = this.Ab[a];
Ee(this.Nd[a], this);
this.Ab.splice(a, 1);
this.Nd.splice(a, 1);
c.getContent() && Q(this, "LEGEND_VIEW_LIST_RENDERING_CHANGED")
}
}, a))
},
Fm = function (a, b, c) {
Bm.call(this, a, b, c);
this.Qb = null
};
z(Fm, Bm);
Fm.prototype.Le = function () {
Bm.prototype.Le.call(this);
P(this.F, ["type", "url"], this.Vd, this);
P(this.F, "parent", this.vc, this);
this.Vd()
};
Fm.prototype.Hb = function () {
var a = Cm(this.F.get("parent"));
Ig(this.J);
T(this.J, "cm-tabbed-legend-box", a);
a ? V(this.J, this.qb, this.Ec, this.fb) : V(this.J, this.Ec, this.fb)
};
Fm.prototype.Vd = function () {
this.Qb && Ee(this.Qb);
this.Qb = oi(this.r, this.F, this.Oe, this);
this.Oe()
};
Fm.prototype.Vg = function () {
return !this.isEnabled() || !Td(this.F, this.oi) || this.isEmpty() || !!this.r.isEmpty(this.F)
};
var Em = function (a, b, c) {
Bm.call(this, a, b, c);
this.bd = new Im(a, "sublayers", c, b)
};
z(Em, Bm);
Em.prototype.Le = function () {
Bm.prototype.Le.call(this);
P(this.F, "folder_type", this.Ml, this);
P(this.k, "enabled_layer_ids", function () {
"SINGLE_SELECT" === (this.F.get("folder_type") || null) && this.vc()
}, this);
O(this.bd, "LEGEND_VIEW_LIST_RENDERING_CHANGED", this.vc, this)
};
Em.prototype.Ml = function () {
B(this.bd.Ab, function (a) {
a.Pm()
});
this.vc()
};
Em.prototype.Pm = function () {
this.Ml()
};
Em.prototype.Hb = function () {
Ig(this.J);
T(this.J, "cm-tabbed-legend-box", !1);
Mm(this);
B(this.bd.Ab, v(function (a) {
(a = a.getContent()) && V(this.J, a)
}, this))
};
var Mm = function (a) {
var b;
Cm(a.F) ? (b = H("div"), V(a.J, b)) : b = a.J;
Cm(a.F.get("parent")) && (T(b, "cm-tabbed-legend-box", !0), V(b, a.qb));
V(b, a.fb)
};
Em.prototype.Vg = function () {
if (!this.isEnabled() || !Td(this.F, this.oi)) return !0;
if (!this.isEmpty()) return !1;
var a = !1;
B(this.bd.Ab, function (b) {
b.getContent() && (a = !0)
});
return !a
};
Em.prototype.Lg = function () {
var a;
if ("SINGLE_SELECT" === (this.F.get("folder_type") || null) && this.bd.Ab.length) {
a = this.F.get("title") + Ja(" &ndash; ");
var b;
t: {
if (df(this.k, this.F)) {
b = this.F.get("sublayers");
for (var c = 0; c < b.getLength(); c++)
if ($e(this.k, b.getAt(c).get("id"))) {
b = this.bd.Ab[c];
break t
}
}
b = this.bd[0]
}
a += b.Lg()
} else a = Bm.prototype.Lg.call(this);
return a
};
var Nm = function (a, b, c, d) {
jm.call(this, a, b, c);
this.r = d;
this.Sg = H("div");
a = Kg("View all layers \u00bb");
Fe(a, "click", this, "OPEN_LAYERS_TAB");
b = H("div", {
"class": "cm-tabbed-legend-box"
});
V(b, a);
this.Yp = b;
this.Rl = !0;
this.Tl = new Im(this.gb, "layers", this.Rc, this.r);
O(this.Tl, "LEGEND_VIEW_LIST_RENDERING_CHANGED", this.lm, this);
this.lm()
};
z(Nm, jm);
Nm.prototype.of = function (a) {
V(a, this.Sg, this.Yp)
};
Nm.prototype.getTitle = function () {
return "Legend"
};
Nm.prototype.lm = function () {
var a = !1;
Ig(this.Sg);
B(this.Tl.Ab, function (b) {
if (b = b.getContent()) V(this.Sg, b), a = !0
}, this);
(this.Rl = a) && Om(this);
this.cd && im(this.cd, this)
};
var Om = function (a) {
if (a = If(a.Sg, function (a) {
return C(nf(a), "cm-tabbed-legend-box")
})) S(a[0], "cm-first-tabbed-legend-box"), B(a.slice(1), function (a) {
pf(a, "cm-first-tabbed-legend-box")
})
};
Nm.prototype.xd = function () {
return this.Rl
};
Nm.prototype.bf = function () {
return Rf.pr
};
var Qm = function (a, b, c, d, e, f, g, k, m) {
this.A = d;
this.k = f;
this.c = m || {};
this.r = e;
this.t = a;
this.J = b;
this.Ca = new bm(this.A, this.c);
this.Ra = null;
this.Uj = g;
this.Fc = !1;
this.qk = g ? "BELOW" : "left" === this.c.panel_side ? "LEFT" : "RIGHT";
T(this.J, "cm-tab-panel-below", g);
Pm(this);
this.Sh = H("div", {
"class": "cm-chevron-down"
});
O(this.Sh, "click", this.Qn, this);
this.Ca.Ph(this.Sh);
this.qd(k)
};
Qm.prototype.qd = function (a) {
this.Ca.Hb(this.J);
Rm(this, a);
O(this.Ca, "NEW_TAB_SELECTED", this.nq, this);
O(this.Ca, "SAME_TAB_SELECTED", this.oq, this)
};
Qm.prototype.resize = function (a, b) {
this.qk = (this.Uj = b) ? "BELOW" : "left" === this.c.panel_side ? "LEFT" : "RIGHT";
T(this.J, "cm-tab-panel-below", b);
this.Ca.resize(a, b);
Sm(this, this.Sb);
this.Fc = b || 450 > a;
this.Ra && this.Ra.Af(this.Fc)
};
var Rm = function (a, b) {
if (a.Sb != b) {
var c = a.Ca;
sg(c.La, b);
c.Pc && sg(c.Pc, b);
Sm(a, b);
a.Sb = b;
Q(a, a.Sb ? "TAB_PANEL_OPENED" : "TAB_PANEL_CLOSED")
}
b && dm(a.Ca) === a.Ra && Q(F, "DETAILS_TAB_OPENED")
},
Sm = function (a, b) {
var c, d;
"BELOW" === a.qk ? (c = b ? "cm-chevron-up" : "cm-chevron-down", d = b ? "cm-chevron-down" : "cm-chevron-up") : (c = b ? "cm-chevron-down" : "cm-chevron-up", d = b ? "cm-chevron-up" : "cm-chevron-down");
qf(a.Sh, c, d)
};
Qm.prototype.Ji = function () {};
Qm.prototype.getBounds = function () {
return qg(this.J)
};
var Pm = function (a) {
var b = null;
a.c.hide_panel_header || (b = new km(a.A, a.k, a.c, a.t), fm(a.Ca, b));
var c = new Am(a.A, a.k, a.c, a.r);
Fe(c, ["TOGGLE_LAYER", "SELECT_SUBLAYER", "ZOOM_TO_LAYER"], a);
fm(a.Ca, c);
b || (b = c);
Fe(c, "FILTER_QUERY_CHANGED", a);
Fe(c, "FILTER_MATCHES_CHANGED", a);
if (a.c.enable_editing || Te(a.A)) {
var d = new Nm(a.A, a.k, a.c, a.r);
O(d, "OPEN_LAYERS_TAB", function () {
hm(this.Ca, c)
}, a);
fm(a.Ca, d);
d.xd() && (b = d)
}
hm(a.Ca, b)
};
Qm.prototype.nq = function () {
var a = !this.Sb;
Rm(this, !0);
a && Tm(this, Zf.panel_tab_selected)
};
Qm.prototype.oq = function () {
Rm(this, !this.Sb);
Tm(this, Zf.panel_tab_selected)
};
Qm.prototype.Qn = function () {
Zf.panel_toggle_selected = y();
Rm(this, !this.Sb);
Tm(this, Zf.panel_toggle_selected)
};
var Tm = function (a, b) {
U(a.Sb ? Rf.Xj : Rf.Wj, null);
bg("Panel action", a.Sb ? "Panel toggled open" : "Panel toggled closed", y() - b)
};
var Xm = function (a, b, c, d) {
this.k = a;
this.Nh = b;
this.wd = null;
O(F, "RESET_VIEW", function (a) {
Um(this, a.rb)
}, this);
O(c, "TOGGLE_LAYER", function (b) {
af(a, b.id, b.value)
}, this);
O(F, "CHANGE_OPACITY", function (b) {
var c = b.id;
b = b.opacity;
a.get("layer_opacities")[c] = Math.round(b);
a.notify("layer_opacities")
});
O(c, "ZOOM_TO_LAYER", function (c) {
af(a, c.id, !0);
Ji(b, c.id);
Q(d, "panelclose")
}, this);
O(c, "SELECT_SUBLAYER", function (b) {
var c = b.rb,
d = b.id,
k = a.get("enabled_layer_ids"),
c = Qd(c);
k.cb(c);
k.add(d);
a.notify("enabled_layer_ids");
af(a, b.rb.get("id"), !0)
});
O(F, "GO_TO_MY_LOCATION", function () {
Vm(this, 11)
}, this);
O(c, "FILTER_QUERY_CHANGED", function (b) {
a.set("filter_query", b.query);
Wm(this, b.query)
}, this);
O(c, "FILTER_MATCHES_CHANGED", function (b) {
a.set("matched_layer_ids", b.matches)
});
c instanceof Qm && (O(b, "SELECT_FEATURE", function (a) {
this.wd = null;
var d = c.Uj && !c.Sb;
c.Ra && gm(c.Ca, c.Ra);
c.Ra = new xm(c.A, c.k, c.c);
c.Ra.Af(c.Fc);
var g = c.Ra;
Ig(g.Lh);
V(g.Lh, a.content);
S(a.content, "cm-feature-info-content");
Re(g.gb, a.layerId).length ? (g.Ff.style.display =
"", g.Kh.open(a)) : (g.Ff.style.display = "none", g.Kh.close());
fm(c.Ca, c.Ra);
hm(c.Ca, c.Ra);
d && b.d.panTo(a.position);
this.wd = a.position
}, this), O(b, "DESELECT_FEATURE", function () {
c.Ra && (gm(c.Ca, c.Ra), c.Ra = null);
this.wd = null
}, this), O(F, "DETAILS_TAB_OPENED", function () {
var a = b.get("viewport");
this.wd && !a.contains(this.wd) && b.d.panTo(this.wd)
}, this))
},
Um = function (a, b, c) {
Ve(a.k, b);
Hi(a.Nh, b.get("viewport") || mc);
c && (Ii(a.Nh, c), We(a.k, c, b))
},
Vm = function (a, b) {
var c = a.Nh;
navigator && navigator.geolocation && navigator.geolocation.getCurrentPosition(function (a) {
c.set("zoom",
b);
c.set("center", new google.maps.LatLng(a.coords.latitude, a.coords.longitude))
})
},
Wm = function (a, b) {
a.Nj && l.clearTimeout(a.Nj);
var c = v(function () {
this.Nj = null;
b && U(Sf.Wq, null)
}, a);
a.Nj = l.setTimeout(c, 1E3)
};
var Ym = function (a) {
R.call(this);
this.f = a;
a = J || K && !L("531") && "TEXTAREA" == a.tagName;
this.Ta = new Pj(this);
this.Ta.h(this.f, a ? ["keydown", "paste", "cut", "drop", "input"] : "input", this)
};
z(Ym, R);
Ym.prototype.L = null;
Ym.prototype.handleEvent = function (a) {
if ("input" == a.type) J && L(10) && 0 == a.keyCode && 0 == a.charCode || (Zm(this), cd && this.f != sf(this.f).activeElement || this.dispatchEvent($m(a)));
else if ("keydown" != a.type || Aj(a)) {
var b = "keydown" == a.type ? this.f.value : null;
J && 229 == a.keyCode && (b = null);
var c = $m(a);
Zm(this);
this.L = Xg(function () {
this.L = null;
this.f.value != b && this.dispatchEvent(c)
}, 0, this)
}
};
var Zm = function (a) {
null != a.L && (l.clearTimeout(a.L), a.L = null)
},
$m = function (a) {
a = new ce(a.Ac());
a.type = "input";
return a
};
Ym.prototype.m = function () {
Ym.l.m.call(this);
this.Ta.v();
Zm(this);
delete this.f
};
var an = RegExp("[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]"),
bn = RegExp("^[^A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]*[\u0591-\u07ff\u200f\ufb1d-\ufdff\ufe70-\ufefc]"),
cn = /^http:\/\/.*/,
dn = /\s+/,
en = /\d/;
var fn = function (a) {
fk.call(this, a)
};
z(fn, fk);
fn.prototype.Dd = null;
fn.prototype.nc = function (a) {
fn.l.nc.call(this, a);
gn(this)
};
fn.prototype.X = function () {
this.f = this.yd().X("input", {
type: "text"
});
gn(this)
};
var gn = function (a) {
a.pj();
a.Dd = new Ym(a.e());
qe(a.Dd, "input", a.pj, !1, a)
};
fn.prototype.pj = function () {
for (var a = this.e(), b = 0, c = 0, d = !1, e = this.$().split(dn), f = 0; f < e.length; f++) {
var g = e[f];
bn.test(g) ? (b++, c++) : cn.test(g) ? d = !0 : an.test(g) ? c++ : en.test(g) && (d = !0)
}
switch (0 == c ? d ? 1 : 0 : 0.4 < b / c ? -1 : 1) {
case 1:
a.dir = "ltr";
break;
case -1:
a.dir = "rtl";
break;
default:
a.removeAttribute("dir")
}
};
fn.prototype.Jd = function (a) {
var b = this.e();
null != b.value ? b.value = a : Gf(b, a);
this.pj()
};
fn.prototype.$ = function () {
var a = this.e();
if (null != a.value) a = a.value;
else {
var b = [];
Nf(a, b, !1);
a = b.join("")
}
return a
};
fn.prototype.m = function () {
if (this.Dd) {
var a = this.Dd;
if (a)
if (ge(a)) a.Bb && a.Bb.cb(void 0);
else if (a = te(a)) {
var b = 0,
c;
for (c in a.Aa)
for (var d = cb(a.Aa[c]), e = 0; e < d.length; ++e) ze(d[e]) && ++b
}
this.Dd.v();
this.Dd = null;
fn.l.m.call(this)
}
};
var hn = function (a, b) {
var c = this.Ng = H("span", {
"class": ["cm-mapbutton", "cm-searchbox"]
});
c.style.padding = "0";
c.style.textAlign = "left";
c.style.zIndex = 1E3;
c.style.borderLeftWidth = "8px";
c.style.webkitBorderRadius = "1px 2px 2px 1px";
var d = H("input");
(new fn(b)).Wb(d);
c.appendChild(d);
a.controls[google.maps.ControlPosition.TOP_LEFT].push(c);
c = this.ip = new google.maps.places.Autocomplete(d, {
types: ["geocode"]
});
c.bindTo("bounds", a);
this.d = a;
this.jp = new google.maps.Geocoder;
this.Hl = new google.maps.Marker;
O(c,
"place_changed", this.kp, this)
};
hn.prototype.kp = function () {
this.Hl.setMap(null);
var a = this.ip.getPlace();
a.geometry ? jn(this, a.geometry, kn(a)) : a.name && this.jp.geocode({
address: a.name,
bounds: this.d.getBounds()
}, v(function (a, c) {
if (c == google.maps.GeocoderStatus.OK) {
var d = !1,
d = a[0].location_type === google.maps.GeocoderLocationType.ROOFTOP ? !0 : kn(a[0]);
jn(this, a[0].geometry, d)
}
}, this))
};
var kn = function (a) {
for (var b = 0; a.types && b < a.types.length; ++b)
if ("street_address" == a.types[b]) return !0;
return !1
},
jn = function (a, b, c) {
U(Uf.Qp, null, c ? 1 : 0);
b.viewport ? a.d.fitBounds(b.viewport) : (a.d.setCenter(b.location), a.d.setZoom(15));
c && n(b.location) && a.Hl.setOptions({
position: b.location,
map: a.d
})
};
hn.prototype.Tb = function () {
this.Ng.style.display = "none";
Q(this.Ng, "resize")
};
hn.prototype.show = function () {
this.Ng.style.display = "block";
Q(this.Ng, "resize")
};
var ln = function (a, b) {
this.Yq = a;
this.Zq = "https://www.googleapis.com/urlshortener/v1/url" + (b ? "?key=" + b : "")
},
mn = function (a, b, c) {
(new ji(a.Yq)).send({
url: a.Zq,
post_json: ui({
longUrl: b
})
}, function (a) {
c(a.id || null)
})
};
var on = function (a, b) {
R.call(this);
this.va = new Pj(this);
var c = a || null;
nn(this);
this.f = c;
b && (this.zd = b)
};
z(on, R);
h = on.prototype;
h.f = null;
h.Mk = !0;
h.mm = null;
h.Qc = !1;
h.Xp = !1;
h.qi = -1;
h.di = -1;
h.Nk = !1;
h.Cl = !0;
h.zd = "toggle_display";
h.e = function () {
return this.f
};
var pn = function (a) {
nn(a);
a.Mk = !0
},
qn = function (a) {
nn(a);
a.Nk = !0
};
on.prototype.getHandler = function () {
return this.va
};
var nn = function (a) {
if (a.Qc) throw Error("Can not change this state of the popup while showing.");
};
on.prototype.ra = function () {
return this.Qc
};
on.prototype.setVisible = function (a) {
this.ue && this.ue.stop();
this.qe && this.qe.stop();
if (a) {
if (!this.Qc && this.dispatchEvent("beforeshow")) {
if (!this.f) throw Error("Caller must call setElement before trying to show the popup");
this.xe();
a = sf(this.f);
this.Nk && this.va.h(a, "keydown", this.Fo, !0);
if (this.Mk)
if (this.va.h(a, "mousedown", this.Pk, !0), J) {
var b;
try {
b = a.activeElement
} catch (c) {}
for (; b && "IFRAME" == b.nodeName;) {
try {
var d = b.contentDocument || b.contentWindow.document
} catch (e) {
break
}
a = d;
b = a.activeElement
}
this.va.h(a,
"mousedown", this.Pk, !0);
this.va.h(a, "deactivate", this.Ok)
} else this.va.h(a, "blur", this.Ok);
"toggle_display" == this.zd ? (this.f.style.visibility = "visible", sg(this.f, !0)) : "move_offscreen" == this.zd && this.xe();
this.Qc = !0;
this.qi = y();
this.di = -1;
this.ue ? (xe(this.ue, "end", this.Qk, !1, this), this.ue.play()) : this.Qk()
}
} else rn(this)
};
on.prototype.xe = ea;
var rn = function (a, b) {
if (!a.Qc || !a.dispatchEvent({
type: "beforehide",
target: b
})) return !1;
a.va && a.va.cb();
a.Qc = !1;
a.di = y();
a.qe ? (xe(a.qe, "end", sa(a.wm, b), !1, a), a.qe.play()) : a.wm(b);
return !0
};
h = on.prototype;
h.wm = function (a) {
"toggle_display" == this.zd ? this.Xp ? Xg(this.im, 0, this) : this.im() : "move_offscreen" == this.zd && (this.f.style.top = "-10000px");
this.dispatchEvent({
type: "hide",
target: a
})
};
h.im = function () {
this.f.style.visibility = "hidden";
sg(this.f, !1)
};
h.Qk = function () {
this.dispatchEvent("show")
};
h.Pk = function (a) {
a = a.target;
Ff(this.f, a) || this.mm && !Ff(this.mm, a) || 150 > y() - this.qi || rn(this, a)
};
h.Fo = function (a) {
27 == a.keyCode && rn(this, a.target) && (a.preventDefault(), a.stopPropagation())
};
h.Ok = function (a) {
if (this.Cl) {
var b = sf(this.f);
if ("undefined" != typeof document.activeElement) {
if (a = b.activeElement, !a || Ff(this.f, a) || "BODY" == a.tagName) return
} else if (a.target != b) return;
150 > y() - this.qi || rn(this)
}
};
h.m = function () {
on.l.m.call(this);
this.va.v();
Zd(this.ue);
Zd(this.qe);
delete this.f;
delete this.va
};
var sn = function (a, b) {
this.gp = 4;
this.Yb = b || void 0;
on.call(this, a)
};
z(sn, on);
sn.prototype.getPosition = function () {
return this.Yb || null
};
sn.prototype.setPosition = function (a) {
this.Yb = a || void 0;
this.ra() && this.xe()
};
sn.prototype.xe = function () {
if (this.Yb) {
var a = !this.ra() && "move_offscreen" != this.zd,
b = this.e();
a && (b.style.visibility = "hidden", sg(b, !0));
this.Yb.xe(b, this.gp, this.Pr);
a && sg(b, !1)
}
};
var un = function (a, b, c, d, e, f) {
var g = H("div", {
"class": "cm-mapbutton",
index: 1
}, "Share");
a.controls[google.maps.ControlPosition.TOP_RIGHT].push(g);
this.T = new tn(b, 0, c, d, e, f);
O(g, "mousedown", function () {
this.T.ra() ? U(Uf.rq, null) : (U(Uf.tq, null), S(g, "cm-selected"), Q(F, "SHARE_BUTTON"), this.T.show())
}, this);
O(this.T, "hide", function () {
pf(g, "cm-selected")
}, this)
};
z(un, Yd);
un.prototype.m = function () {
Ge(this);
this.T.v()
};
var tn = function (a, b, c, d, e, f, g) {
this.f = H("div", {
"class": ["cm-share", "cm-popup"]
});
Fg(this.f, v(function () {
this.T.setVisible(!1)
}, this));
this.yl = new vn(this.f, a, c, d, e, f, g);
this.T = new sn(this.f);
qn(this.T);
pn(this.T);
this.T.Cl = !1;
Fe(this.T, "hide", this);
O(window, "resize", function () {
this.T.ra() && Hg(this.f)
}, this)
};
z(tn, Yd);
tn.prototype.m = function () {
this.T.v();
this.yl.v();
Ge(this)
};
tn.prototype.show = function () {
wn(this.yl);
this.T.setVisible(!0);
Hg(this.f)
};
tn.prototype.ra = function () {
var a = this.T;
return a.Qc || 150 > y() - a.di
};
var vn = function (a, b, c, d, e, f, g) {
this.k = b;
this.Np = f;
b = b.get("language");
f = Xb();
this.Ug = d ? H("a", {
"class": "cm-gplus-share-button",
href: "//plus.google.com/share?hl=" + b,
target: "_blank",
title: "Share on Google+"
}, H("img", {
"class": "cm-gplus-img",
src: "//ssl.gstatic.com/images/icons/gplus-32.png",
alt: "Share on Google+"
})) : null;
this.Sd = e ? xn(b.split("_", 1)[0], f) : null;
this.Tg = c ? H("iframe", {
"class": "cm-facebook-like-button",
scrolling: "no",
allowtransparency: "true",
frameborder: "0",
src: rd(new N("//www.facebook.com/plugins/like.php"),
Ed())
}) : null;
c = yn("cm-share-url", "Paste link in email or IM", g);
g = yn("cm-share-html", "Paste HTML to embed in website", g);
this.qp = c[1];
this.pp = g[1];
a.appendChild(H("div", {}, H("h2", {
"class": "cm-share-header"
}, "Share this view"), H("ul", {}, H("div", {
"class": "cm-shorten"
}, this.mj = H("input", {
type: "checkbox",
"class": "cm-shorten-checkbox",
id: "cm-shorten-checkbox"
}), H("label", {
"for": "cm-shorten-checkbox"
}, "Shorten URLs")), H("li", {}, c), H("li", {}, g), H("li", {}, H("div", {
"class": "cm-social"
}, this.Ug, this.Sd, this.Tg)))));
O(this.mj, "click", function () {
l.setTimeout(v(function () {
wn(this);
U(this.mj.checked ? Yf.Pp : Yf.Op, null)
}, this), 0)
}, this)
};
z(vn, Yd);
vn.prototype.m = function () {
Ge(this)
};
var yn = function (a, b, c) {
var d = H("input", {
type: "text",
id: a
});
(new fn(c)).Wb(d);
O(d, "focus", function () {
d.select();
var a = O(d, "mouseup", function (b) {
b.preventDefault();
Ee(a)
})
});
return [H("label", {
"for": a
}, b), d]
},
xn = function (a, b) {
return b ? H("a", {
"class": "cm-twitter-share-button",
href: "//twitter.com/share?lang=" + a,
target: "_blank",
title: "Tweet this map"
}, H("div", {
"class": ["cm-twitter-share-button", "cm-twitter-img"]
})) : H("iframe", {
"class": "cm-twitter-share-button",
src: "//platform.twitter.com/widgets/tweet_button.html?lang=" +
a + "&count=none&counturl=http://google.org/crisismap",
allowtransparency: "true",
scrolling: "no"
})
},
wn = function (a) {
var b = gf(a.k).toString();
zn(a, b);
a.mj.checked && mn(a.Np, b, function (c) {
zn(a, b, c)
})
},
zn = function (a, b, c) {
a.qp.value = "" + (c || b);
if (a.Sd)
if (a.Rh) {
var d = new N(a.Sd.href);
Ad(d, "url", c || b);
a.Sd.href = d.toString()
} else d = new N(a.Sd.src), Ad(d, "url", c || b), a.Sd.src = d.toString();
a.Tg && (d = new N(a.Tg.src), Ad(d, "href", c || b), a.Tg.src = d.toString());
a.Ug && (c = new N(a.Ug.href), Ad(c, "url", b), a.Ug.href = c.toString());
b = new N(b);
Ad(b, "embedded", !0);
a.pp.value = '<iframe width="400" height="400" src="' + b + '" style="border: 1px solid #ccc"></iframe>'
};
var An = function (a) {
R.call(this);
this.Ue = a || window;
this.Fg = qe(this.Ue, "resize", this.Xh, !1, this);
this.ed = xf(this.Ue || window)
};
z(An, R);
h = An.prototype;
h.Fg = null;
h.Ue = null;
h.ed = null;
h.m = function () {
An.l.m.call(this);
this.Fg && (ze(this.Fg), this.Fg = null);
this.ed = this.Ue = null
};
h.Xh = function () {
var a = xf(this.Ue || window),
b = this.ed;
a == b || a && b && a.width == b.width && a.height == b.height || (this.ed = a, this.dispatchEvent("resize"))
};
function Bn(a) {
var b = function (b, d) {
for (var e = {}, f = 0; f < d.length; f += 2) e[d[f]] = d[f + 1];
f = a.makeTagPolicy(function (a) {
return a
})(b, d);
if (!f) return null;
d = f.attribs || [];
"_blank" === e.target && (d.push("target"), d.push("_blank"));
return {
attribs: d
}
};
uc(function (c) {
return a.sanitizeWithPolicy(c, b)
})
}
function Cn(a, b, c, d, e, f, g) {
e = e || {};
e.map_root = a;
e.map_picker_items = d;
e.lang = g || "en";
var k = e.get_module_url;
e.get_module_url = k ? function (a) {
return k(c, a)
} : function (a, b) {
return c.replace(/\/$/, "") + "/.js/crisismap_" + a + "__" + b + ".js"
};
new Dn(b, e)
}
var Dn = function (a, b) {
this.Yh = [];
this.c = b || {
map_root: {}
};
this.Rh = Xb();
this.Of = null;
var c = this.c.lang,
d = this.c.get_module_url;
gl(function (a, b) {
return d(b, c)
});
var e = this;
el("sanitizer", "html", function (b) {
Bn(b);
En(e, a)
})
},
En = function (a, b) {
var c = a.c.lang,
d = Pe(a.c.map_root || {}),
e = new aj(d, a.c.metadata, a.c.metadata_url),
c = new Ye(d, window.location, c);
Fe(d, "MODEL_CHANGED", F);
ag(a.c.analytics_id || "", d.get("id"));
U(Xf.Ao, null);
var f = new N(window.location),
g = !!f.oa("preview");
a.Gf = !!f.oa("embedded");
a.xk = !!f.oa("panel_closed");
Fn(a, b);
var k = new zi(a.Nf, d, c, e, a.Rh, a.c, g, a.Gf || a.xk);
a.d = k.getMap();
B(a.Yh, function (b) {
b(a.d)
});
a.Yh = [];
Gn(a, g, c);
a.c.show_login && new Tg(a.vb, a.c);
Hn(a, c, d, e);
(e = !a.c.hide_footer && !g) && new Qg(a.Lc, 0, d, {
publisher_name: a.c.publisher_name,
langs: a.c.langs
});
sg(a.Lc, e);
var m = a.c.extra_views_plugins,
p = Og(a.t, a.c, m);
O(F, "resize", function () {
a.Xh(g, m, p)
});
new Ng(a.Nf);
Q(F, "resize");
Fe(new An(l), "resize", F);
if (window != window.parent && a.c.allow_embed_map_callback && (e = f.oa("callback")) && "function" === typeof window.parent[e]) window.parent[e](google.maps,
a.d);
In(a, c, d, k);
Jn(a, c, d);
window.theMap = a.d;
window.mapModel = d;
d = da("cmStartTimeMs");
c = y();
d && 0 < d && d < c && bg("Load", "Page", c - d)
},
Kn = function (a) {
a.we = new lf(a.t.offsetWidth, a.t.offsetHeight)
},
Ln = function (a) {
a.we || Kn(a);
return 690 > a.we.width
},
Mn = function (a) {
function b(a, b) {
var c = (a.currentStyle ? a.currentStyle : document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(a, "") || {} : a.style)[b];
return c ? parseInt(c, 10) : 0
}
var c = b(a.yb, "margin-top") + b(a.yb, "margin-bottom");
c || (c = 0);
var d = b(a.yb, "border-top") + b(a.yb, "border-bottom"),
c = a.we.height - c - d - a.Rn.height;
a.c.use_tab_panel && Ln(a) && (c -= a.vb.offsetHeight);
return c
};
Dn.prototype.Xh = function (a, b, c) {
Kn(this);
this.Rn = new lf(this.Lc.offsetWidth, this.Lc.offsetHeight);
this.c.use_tab_panel ? Nn(this) : On(this);
var d = C(nf(this.t), "cm-panel-float") || this.c.use_tab_panel;
if (b) {
var e = {
Mh: C(nf(this.t), "cm-panel-collapsed"),
gk: d,
Ln: this.Gf,
Kn: Mn(this) - 10
};
B(b, v(function (a) {
a.Sn(this.t, this.Oc, e, c)
}, this))
}
this.Of && (b = this.yb.offsetWidth - (d ? this.vb.offsetWidth : 0), d = this.c.use_tab_panel && Ln(this) && 400 > this.we.height, 450 > b || a || d ? this.Of.Tb() : this.Of.show());
Q(this.d, "resize")
};
var On = function (a) {
var b = a.Gf || Ln(a),
c = C(nf(a.t), "cm-panel-float");
b || Q(a.vb, "panelclose");
T(a.t, "cm-embedded", b);
T(a.t, "cm-panel-dock", !b && !c);
a.yb.style.height = Mn(a) + "px";
var d = Mn(a) - 10;
a.Oc.Ji(b || c ? d : null)
},
Nn = function (a) {
var b = Ln(a);
T(a.t, "cm-embedded", b);
T(a.t, "cm-panel-below", b);
"left" === a.c.panel_side && T(a.t, "cm-panel-left", !b);
var c;
b ? c = 0.5 * a.we.height : (c = Mn(a) - 10, "left" !== a.c.panel_side && (c -= 15));
a.Oc.resize(c, b);
a.yb.style.height = Mn(a) + "px"
};
Dn.prototype.getMap = function (a) {
this.d ? a(this.d) : this.Yh.push(a)
};
Dn.prototype.fitBounds = function (a) {
this.d.fitBounds(a)
};
var Fn = function (a, b) {
a.t = "string" == typeof b ? document.getElementById(b) : b;
S(a.t, "cm-frame");
a.Nf = H("div", {
"class": "cm-map",
id: "map"
});
a.Lc = H("div", {
"class": "cm-footer"
});
a.yb = H("div", {
"class": "cm-map-wrapper"
}, a.Nf);
a.Ci = H("div", {
"class": ["cm-panel", "cm-arranger"]
});
a.Sk = H("div", {
"class": "cm-about-text",
id: "cm-aboutText"
});
a.vb = a.c.use_tab_panel ? H("div", {
"class": "cm-tab-panel"
}) : H("div", {
"class": "cm-panel"
});
a.c.use_tab_panel ? (Ln(a) && (S(a.t, "cm-embedded"), S(a.t, "cm-panel-below")), V(a.yb, a.Lc), V(a.t,
a.yb, a.Sk, a.Lc, a.vb), S(a.t, "cm-footer-shadow")) : (V(a.yb, a.Lc), V(a.t, a.vb, a.Ci, a.yb, a.Sk), a.c.panel_float && S(a.t, "cm-panel-float"), S(a.Ci, "cm-hidden"));
"left" === a.c.panel_side ? S(a.t, "cm-panel-left") : S(a.t, "cm-panel-right");
T(a.t, "cm-touch", a.Rh)
},
Gn = function (a, b, c) {
a.c.hide_search_box || (a.Of = new hn(a.d));
b || a.c.use_tab_panel || new Rg(a.d, a.vb);
b || a.c.hide_share_button || a.c.enable_editing || new un(a.d, c, !a.c.hide_facebook_button, !a.c.hide_google_plus_button, !a.c.hide_twitter_button, new ln(a.c.json_proxy_url,
a.c.google_api_key));
a.c.hide_my_location_button || b || new cj(a.d)
},
Hn = function (a, b, c, d) {
var e = Ln(a);
a.c.use_tab_panel ? (S(a.t, "cm-tabbed"), a.Oc = new Qm(a.t, a.vb, 0, c, d, b, e, !a.Gf && !a.xk, a.c), O(a.Oc, ["TAB_PANEL_OPENED", "TAB_PANEL_CLOSED"], a.Ho, a)) : a.Oc = new hl(a.t, a.vb, a.Nf, c, d, b, a.c)
};
Dn.prototype.Ho = function () {
Ln(this) && (Nn(this), Q(this.d, "resize"))
};
var In = function (a, b, c, d) {
b = new Xm(b, d, a.Oc, a.vb);
Um(b, c, window.location);
(c = Yb.location.hash.match("gz=([0-9]+)")) && Vm(b, c[1] - 0);
if (Ln(a)) var e = O(a.Oc, ["TAB_PANEL_OPENED", "TAB_PANEL_CLOSED"], function () {
Hi(d, d.get("viewport"));
Ee(e)
})
},
Jn = function (a, b, c) {
if (a.c.enable_editing) {
var d;
el("edit", "cm.ArrangeView", function (e) {
d = new e(a.Ci, a.vb, b, c, a.c.use_tab_panel)
});
S(a.t, "cm-edit");
el("edit", "cm.EditPresenter", function (e) {
new e(b, c, d, a.c)
})
}
};
"undefined" !== typeof window && (window.cm_initialize = Cn, (window.google = window.google || {}).cm = {
Map: Dn
});
window.cm_build_info = {
user: "grapebot",
path: "/google/src/files/65081023/depot/branches/geo_cartewheel_serving_release_branch/64744366.1/READONLY",
release: !1,
version: "64744366"
};
@thejeshgn
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment