Last active
August 29, 2015 14:00
-
-
Save thejeshgn/fe9853115b2b7cbc7d50 to your computer and use it in GitHub Desktop.
JJ Clusters Details (http://delhishelterboard.in/main/?page_id=3644)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"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 | |
} | |
} | |
} | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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, "&")); - 1 != a.indexOf("<") && (a = a.replace(Aa, "<")); - 1 != a.indexOf(">") && (a = a.replace(Ba, ">")); - 1 != a.indexOf('"') && (a = a.replace(Ca, """)); - 1 != a.indexOf("'") && (a = a.replace(Da, "'")); | |
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 = { | |
"&": "&", | |
"<": "<", | |
">": ">", | |
""": '"' | |
}, | |
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 ? "­" : dg ? "​" : "<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(" – "); | |
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" | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tile that gets downloaded.
https://s3.amazonaws.com/media.thejeshgn.com/img/screenshot/tiles.png