The smokesignal.events web application

feature: display geo map on view event

+766
+33
src/http/event_view.rs
··· 74 75 /// External ticketing URL (e.g., ti.to) for ticket purchases 76 pub rsvp_redirect_url: Option<String>, 77 } 78 79 impl ··· 332 }) 333 .next(); // Take the first location found 334 335 // Extract links from EventLink objects 336 let links = details 337 .uris ··· 380 require_confirmed_email: event.require_confirmed_email, 381 disable_direct_rsvp: event.disable_direct_rsvp, 382 rsvp_redirect_url: event.rsvp_redirect_url.clone(), 383 }) 384 } 385 }
··· 74 75 /// External ticketing URL (e.g., ti.to) for ticket purchases 76 pub rsvp_redirect_url: Option<String>, 77 + 78 + /// First geo location latitude (if available) 79 + pub geo_latitude: Option<String>, 80 + 81 + /// First geo location longitude (if available) 82 + pub geo_longitude: Option<String>, 83 + 84 + /// First geo location name (if available) 85 + pub geo_name: Option<String>, 86 } 87 88 impl ··· 341 }) 342 .next(); // Take the first location found 343 344 + // Extract first geo location for map display 345 + let (geo_latitude, geo_longitude, geo_name) = details 346 + .locations 347 + .iter() 348 + .find_map(|loc| { 349 + if let atproto_record::lexicon::community::lexicon::location::LocationOrRef::InlineGeo( 350 + typed_geo, 351 + ) = loc 352 + { 353 + let geo = &typed_geo.inner; 354 + Some(( 355 + Some(geo.latitude.clone()), 356 + Some(geo.longitude.clone()), 357 + geo.name.clone(), 358 + )) 359 + } else { 360 + None 361 + } 362 + }) 363 + .unwrap_or((None, None, None)); 364 + 365 // Extract links from EventLink objects 366 let links = details 367 .uris ··· 410 require_confirmed_email: event.require_confirmed_email, 411 disable_direct_rsvp: event.disable_direct_rsvp, 412 rsvp_redirect_url: event.rsvp_redirect_url.clone(), 413 + geo_latitude, 414 + geo_longitude, 415 + geo_name, 416 }) 417 } 418 }
+2
static/h3-js.umd.js
···
··· 1 + !function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(A.h3={})}(this,function(A){var e=function(A){var e,r=void 0!==(A=A||{})?A:{},n={};for(e in r)r.hasOwnProperty(e)&&(n[e]=r[e]);var i,t,a,f,o=[],l=!1;i="object"==typeof window,t="function"==typeof importScripts,a="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,l=a&&!i&&!t,f=!i&&!l&&!t;var u,c,s,b,g,d="";l?(d=__dirname+"/",u=function(A,e){var r;return(r=iA(A))||(b||(b=require("fs")),g||(g=require("path")),A=g.normalize(A),r=b.readFileSync(A)),e?r:r.toString()},s=function(A){var e=u(A,!0);return e.buffer||(e=new Uint8Array(e)),m(e.buffer),e},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),o=process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"}):f?("undefined"!=typeof read&&(u=function(A){var e=iA(A);return e?rA(e):read(A)}),s=function(A){var e;return(e=iA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(m("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?o=scriptArgs:void 0!==arguments&&(o=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||t)&&(t?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),d=0!==d.indexOf("blob:")?d.substr(0,d.lastIndexOf("/")+1):"",u=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var r=iA(A);if(r)return rA(r);throw e}},t&&(s=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var r=iA(A);if(r)return r;throw e}}),c=function(A,e,r){var n=new XMLHttpRequest;n.open("GET",A,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)e(n.response);else{var i=iA(A);i?e(i.buffer):r()}},n.onerror=r,n.send(null)});var w=r.print||console.log.bind(console),B=r.printErr||console.warn.bind(console);for(e in n)n.hasOwnProperty(e)&&(r[e]=n[e]);n=null,r.arguments&&(o=r.arguments);var k=0,h=!1;function m(A,e){A||kA("Assertion failed: "+e)}function D(A){var e=r["_"+A];return m(e,"Cannot call unknown function "+A+", make sure it is exported"),e}var Q,E,v,_,C,M,y,I="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(A,e){return A?function(A,e,r){for(var n=e+r,i=e;A[i]&&!(i>=n);)++i;if(i-e>16&&A.subarray&&I)return I.decode(A.subarray(e,i));for(var t="";e<i;){var a=A[e++];if(128&a){var f=63&A[e++];if(192!=(224&a)){var o=63&A[e++];if((a=224==(240&a)?(15&a)<<12|f<<6|o:(7&a)<<18|f<<12|o<<6|63&A[e++])<65536)t+=String.fromCharCode(a);else{var l=a-65536;t+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else t+=String.fromCharCode((31&a)<<6|f)}else t+=String.fromCharCode(a)}return t}(v,A,e):""}function p(A,e){return A%e>0&&(A+=e-A%e),A}function T(A){Q=A,r.HEAP8=E=new Int8Array(A),r.HEAP16=_=new Int16Array(A),r.HEAP32=C=new Int32Array(A),r.HEAPU8=v=new Uint8Array(A),r.HEAPU16=new Uint16Array(A),r.HEAPU32=new Uint32Array(A),r.HEAPF32=M=new Float32Array(A),r.HEAPF64=y=new Float64Array(A)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var P=r.TOTAL_MEMORY||33554432;function G(A){for(;A.length>0;){var e=A.shift();if("function"!=typeof e){var n=e.func;"number"==typeof n?void 0===e.arg?r.dynCall_v(n):r.dynCall_vi(n,e.arg):n(void 0===e.arg?null:e.arg)}else e()}}P=(Q=r.buffer?r.buffer:new ArrayBuffer(P)).byteLength,T(Q),C[6032]=5267040;var L=[],U=[],V=[],R=[],Y=Math.abs,x=Math.ceil,H=Math.floor,z=Math.min,S=0,O=null,Z=null;r.preloadedImages={},r.preloadedAudios={};var N,W,K=null,J="data:application/octet-stream;base64,";function X(A){return String.prototype.startsWith?A.startsWith(J):0===A.indexOf(J)}function j(A){return A}function q(A){return A.replace(/\b__Z[\w\d_]+/g,function(A){var e=j(A);return A===e?A:e+" ["+A+"]"})}function $(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function AA(){return E.length}function eA(A){try{var e=new ArrayBuffer(A);if(e.byteLength!=A)return;return new Int8Array(e).set(E),oA(e),T(e),1}catch(A){}}function rA(A){for(var e=[],r=0;r<A.length;r++){var n=A[r];n>255&&(n&=255),e.push(String.fromCharCode(n))}return e.join("")}K="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAABgAAAAoAAAALAAAAAAAAAAEAAAAFAAAAAwAAAA0AAAABAAAABwAAAAQAAAAMAAAAAAAAAAQAAAB/AAAADwAAAAgAAAADAAAAAAAAAAwAAAAFAAAAAgAAABIAAAAKAAAACAAAAAAAAAAQAAAABgAAAA4AAAALAAAAEQAAAAEAAAAJAAAAAgAAAAcAAAAVAAAACQAAABMAAAADAAAADQAAAAEAAAAIAAAABQAAABYAAAAQAAAABAAAAAAAAAAPAAAACQAAABMAAAAOAAAAFAAAAAEAAAAHAAAABgAAAAoAAAALAAAAGAAAABcAAAAFAAAAAgAAABIAAAALAAAAEQAAABcAAAAZAAAAAgAAAAYAAAAKAAAADAAAABwAAAANAAAAGgAAAAQAAAAPAAAAAwAAAA0AAAAaAAAAFQAAAB0AAAADAAAADAAAAAcAAAAOAAAAfwAAABEAAAAbAAAACQAAABQAAAAGAAAADwAAABYAAAAcAAAAHwAAAAQAAAAIAAAADAAAABAAAAASAAAAIQAAAB4AAAAIAAAABQAAABYAAAARAAAACwAAAA4AAAAGAAAAIwAAABkAAAAbAAAAEgAAABgAAAAeAAAAIAAAAAUAAAAKAAAAEAAAABMAAAAiAAAAFAAAACQAAAAHAAAAFQAAAAkAAAAUAAAADgAAABMAAAAJAAAAKAAAABsAAAAkAAAAFQAAACYAAAATAAAAIgAAAA0AAAAdAAAABwAAABYAAAAQAAAAKQAAACEAAAAPAAAACAAAAB8AAAAXAAAAGAAAAAsAAAAKAAAAJwAAACUAAAAZAAAAGAAAAH8AAAAgAAAAJQAAAAoAAAAXAAAAEgAAABkAAAAXAAAAEQAAAAsAAAAtAAAAJwAAACMAAAAaAAAAKgAAAB0AAAArAAAADAAAABwAAAANAAAAGwAAACgAAAAjAAAALgAAAA4AAAAUAAAAEQAAABwAAAAfAAAAKgAAACwAAAAMAAAADwAAABoAAAAdAAAAKwAAACYAAAAvAAAADQAAABoAAAAVAAAAHgAAACAAAAAwAAAAMgAAABAAAAASAAAAIQAAAB8AAAApAAAALAAAADUAAAAPAAAAFgAAABwAAAAgAAAAHgAAABgAAAASAAAANAAAADIAAAAlAAAAIQAAAB4AAAAxAAAAMAAAABYAAAAQAAAAKQAAACIAAAATAAAAJgAAABUAAAA2AAAAJAAAADMAAAAjAAAALgAAAC0AAAA4AAAAEQAAABsAAAAZAAAAJAAAABQAAAAiAAAAEwAAADcAAAAoAAAANgAAACUAAAAnAAAANAAAADkAAAAYAAAAFwAAACAAAAAmAAAAfwAAACIAAAAzAAAAHQAAAC8AAAAVAAAAJwAAACUAAAAZAAAAFwAAADsAAAA5AAAALQAAACgAAAAbAAAAJAAAABQAAAA8AAAALgAAADcAAAApAAAAMQAAADUAAAA9AAAAFgAAACEAAAAfAAAAKgAAADoAAAArAAAAPgAAABwAAAAsAAAAGgAAACsAAAA+AAAALwAAAEAAAAAaAAAAKgAAAB0AAAAsAAAANQAAADoAAABBAAAAHAAAAB8AAAAqAAAALQAAACcAAAAjAAAAGQAAAD8AAAA7AAAAOAAAAC4AAAA8AAAAOAAAAEQAAAAbAAAAKAAAACMAAAAvAAAAJgAAACsAAAAdAAAARQAAADMAAABAAAAAMAAAADEAAAAeAAAAIQAAAEMAAABCAAAAMgAAADEAAAB/AAAAPQAAAEIAAAAhAAAAMAAAACkAAAAyAAAAMAAAACAAAAAeAAAARgAAAEMAAAA0AAAAMwAAAEUAAAA2AAAARwAAACYAAAAvAAAAIgAAADQAAAA5AAAARgAAAEoAAAAgAAAAJQAAADIAAAA1AAAAPQAAAEEAAABLAAAAHwAAACkAAAAsAAAANgAAAEcAAAA3AAAASQAAACIAAAAzAAAAJAAAADcAAAAoAAAANgAAACQAAABIAAAAPAAAAEkAAAA4AAAARAAAAD8AAABNAAAAIwAAAC4AAAAtAAAAOQAAADsAAABKAAAATgAAACUAAAAnAAAANAAAADoAAAB/AAAAPgAAAEwAAAAsAAAAQQAAACoAAAA7AAAAPwAAAE4AAABPAAAAJwAAAC0AAAA5AAAAPAAAAEgAAABEAAAAUAAAACgAAAA3AAAALgAAAD0AAAA1AAAAMQAAACkAAABRAAAASwAAAEIAAAA+AAAAKwAAADoAAAAqAAAAUgAAAEAAAABMAAAAPwAAAH8AAAA4AAAALQAAAE8AAAA7AAAATQAAAEAAAAAvAAAAPgAAACsAAABUAAAARQAAAFIAAABBAAAAOgAAADUAAAAsAAAAVgAAAEwAAABLAAAAQgAAAEMAAABRAAAAVQAAADEAAAAwAAAAPQAAAEMAAABCAAAAMgAAADAAAABXAAAAVQAAAEYAAABEAAAAOAAAADwAAAAuAAAAWgAAAE0AAABQAAAARQAAADMAAABAAAAALwAAAFkAAABHAAAAVAAAAEYAAABDAAAANAAAADIAAABTAAAAVwAAAEoAAABHAAAAWQAAAEkAAABbAAAAMwAAAEUAAAA2AAAASAAAAH8AAABJAAAANwAAAFAAAAA8AAAAWAAAAEkAAABbAAAASAAAAFgAAAA2AAAARwAAADcAAABKAAAATgAAAFMAAABcAAAANAAAADkAAABGAAAASwAAAEEAAAA9AAAANQAAAF4AAABWAAAAUQAAAEwAAABWAAAAUgAAAGAAAAA6AAAAQQAAAD4AAABNAAAAPwAAAEQAAAA4AAAAXQAAAE8AAABaAAAATgAAAEoAAAA7AAAAOQAAAF8AAABcAAAATwAAAE8AAABOAAAAPwAAADsAAABdAAAAXwAAAE0AAABQAAAARAAAAEgAAAA8AAAAYwAAAFoAAABYAAAAUQAAAFUAAABeAAAAZQAAAD0AAABCAAAASwAAAFIAAABgAAAAVAAAAGIAAAA+AAAATAAAAEAAAABTAAAAfwAAAEoAAABGAAAAZAAAAFcAAABcAAAAVAAAAEUAAABSAAAAQAAAAGEAAABZAAAAYgAAAFUAAABXAAAAZQAAAGYAAABCAAAAQwAAAFEAAABWAAAATAAAAEsAAABBAAAAaAAAAGAAAABeAAAAVwAAAFMAAABmAAAAZAAAAEMAAABGAAAAVQAAAFgAAABIAAAAWwAAAEkAAABjAAAAUAAAAGkAAABZAAAAYQAAAFsAAABnAAAARQAAAFQAAABHAAAAWgAAAE0AAABQAAAARAAAAGoAAABdAAAAYwAAAFsAAABJAAAAWQAAAEcAAABpAAAAWAAAAGcAAABcAAAAUwAAAE4AAABKAAAAbAAAAGQAAABfAAAAXQAAAE8AAABaAAAATQAAAG0AAABfAAAAagAAAF4AAABWAAAAUQAAAEsAAABrAAAAaAAAAGUAAABfAAAAXAAAAE8AAABOAAAAbQAAAGwAAABdAAAAYAAAAGgAAABiAAAAbgAAAEwAAABWAAAAUgAAAGEAAAB/AAAAYgAAAFQAAABnAAAAWQAAAG8AAABiAAAAbgAAAGEAAABvAAAAUgAAAGAAAABUAAAAYwAAAFAAAABpAAAAWAAAAGoAAABaAAAAcQAAAGQAAABmAAAAUwAAAFcAAABsAAAAcgAAAFwAAABlAAAAZgAAAGsAAABwAAAAUQAAAFUAAABeAAAAZgAAAGUAAABXAAAAVQAAAHIAAABwAAAAZAAAAGcAAABbAAAAYQAAAFkAAAB0AAAAaQAAAG8AAABoAAAAawAAAG4AAABzAAAAVgAAAF4AAABgAAAAaQAAAFgAAABnAAAAWwAAAHEAAABjAAAAdAAAAGoAAABdAAAAYwAAAFoAAAB1AAAAbQAAAHEAAABrAAAAfwAAAGUAAABeAAAAcwAAAGgAAABwAAAAbAAAAGQAAABfAAAAXAAAAHYAAAByAAAAbQAAAG0AAABsAAAAXQAAAF8AAAB1AAAAdgAAAGoAAABuAAAAYgAAAGgAAABgAAAAdwAAAG8AAABzAAAAbwAAAGEAAABuAAAAYgAAAHQAAABnAAAAdwAAAHAAAABrAAAAZgAAAGUAAAB4AAAAcwAAAHIAAABxAAAAYwAAAHQAAABpAAAAdQAAAGoAAAB5AAAAcgAAAHAAAABkAAAAZgAAAHYAAAB4AAAAbAAAAHMAAABuAAAAawAAAGgAAAB4AAAAdwAAAHAAAAB0AAAAZwAAAHcAAABvAAAAcQAAAGkAAAB5AAAAdQAAAH8AAABtAAAAdgAAAHEAAAB5AAAAagAAAHYAAAB4AAAAbAAAAHIAAAB1AAAAeQAAAG0AAAB3AAAAbwAAAHMAAABuAAAAeQAAAHQAAAB4AAAAeAAAAHMAAAByAAAAcAAAAHkAAAB3AAAAdgAAAHkAAAB0AAAAeAAAAHcAAAB1AAAAcQAAAHYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAACAAAABQAAAAEAAAAAAAAA/////wEAAAAAAAAAAwAAAAQAAAACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE4AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFsZ29zLmMAaDNOZWlnaGJvclJvdGF0aW9ucwBjb29yZGlqay5jAF91cEFwN0NoZWNrZWQAX3VwQXA3ckNoZWNrZWQAZGlyZWN0ZWRFZGdlLmMAZGlyZWN0ZWRFZGdlVG9Cb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0NlbGxCb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbY2VudGVySUpLLmZhY2VdW2ZhY2UyXSA9PSBLSQBfZmFjZUlqa1RvQ2VsbEJvdW5kYXJ5AGgzSW5kZXguYwBjb21wYWN0Q2VsbHMAbGF0TG5nVG9DZWxsAGNlbGxUb0NoaWxkUG9zAHZhbGlkYXRlQ2hpbGRQb3MAbGF0TG5nLmMAY2VsbEFyZWFSYWRzMgBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGNlbGxUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvQ2VsbAAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMABncmlkUGF0aENlbGxzADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var nA="function"==typeof atob?atob:function(A){var e,r,n,i,t,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",l=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{n=f.indexOf(A.charAt(l++)),e=(15&(i=f.indexOf(A.charAt(l++))))<<4|(t=f.indexOf(A.charAt(l++)))>>2,r=(3&t)<<6|(a=f.indexOf(A.charAt(l++))),o+=String.fromCharCode(n<<2|i>>4),64!==t&&(o+=String.fromCharCode(e)),64!==a&&(o+=String.fromCharCode(r))}while(l<A.length);return o};function iA(A){if(X(A))return function(A){if("boolean"==typeof l&&l){var e;try{e=Buffer.from(A,"base64")}catch(r){e=new Buffer(A,"base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var r=nA(A),n=new Uint8Array(r.length),i=0;i<r.length;++i)n[i]=r.charCodeAt(i);return n}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(J.length))}var tA,aA,fA=function(A,e,r){var n=new A.Int8Array(r),i=new A.Int32Array(r),t=(new A.Uint8Array(r),new A.Float32Array(r),new A.Float64Array(r)),a=0|e.o,f=0|e.p,o=A.Math.floor,l=A.Math.abs,u=A.Math.sqrt,c=A.Math.pow,s=A.Math.cos,b=A.Math.sin,g=A.Math.tan,d=A.Math.acos,w=A.Math.asin,B=A.Math.atan,k=A.Math.atan2,h=A.Math.ceil,m=A.Math.imul,D=A.Math.min,Q=A.Math.max,E=A.Math.clz32,v=e.b,_=e.c,C=e.d,M=e.e,y=e.f,I=e.g,F=e.h,p=e.i,T=24160;function P(A,e,r,n){return 0|G(A|=0,e|=0,r|=0,n|=0,0)}function G(A,e,r,n,t){var a,f=0,o=0,l=0,u=0;if(a=T,T=T+16|0,o=a,!(0|L(A|=0,e|=0,r|=0,n|=0,t|=0)))return T=a,0;do{if((0|r)>=0){if((0|r)>13780509){if(0|(f=0|ee(15,o)))break;o=0|i[(l=o)>>2],l=0|i[l+4>>2]}else u=0|Ve(0|r,0|(f=((0|r)<0)<<31>>31),3,0),l=0|_(),f=0|Te(0|r,0|f,1,0),f=0|Te(0|(f=0|Ve(0|u,0|l,0|f,0|_())),0|_(),1,0),l=0|_(),i[o>>2]=f,i[o+4>>2]=l,o=f;if(We(0|n,0,o<<3|0),0|t){We(0|t,0,o<<2|0),f=0|U(A,e,r,n,t,o,l,0);break}(f=0|pe(o,4))?(u=0|U(A,e,r,n,f,o,l,0),Fe(f),f=u):f=13}else f=2}while(0);return T=a,0|f}function L(A,e,r,n,t){e|=0,r|=0,n|=0,t|=0;var a,f,o,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0;if(f=T,T=T+16|0,o=f+8|0,i[(w=a=f)>>2]=A|=0,i[w+4>>2]=e,(0|r)<0)return T=f,2;if(i[(l=n)>>2]=A,i[l+4>>2]=e,(l=0!=(0|t))&&(i[t>>2]=0),0|VA(A,e))return T=f,9;i[o>>2]=0;A:do{if((0|r)>=1)if(l)for(g=1,b=0,d=0,w=1,l=A;;){if(!(b|d)){if(0|(l=0|V(l,e,4,o,a)))break A;if(0|VA(l=0|i[(e=a)>>2],e=0|i[e+4>>2])){l=9;break A}}if(0|(l=0|V(l,e,0|i[22384+(d<<2)>>2],o,a)))break A;if(l=0|i[(e=a)>>2],e=0|i[e+4>>2],i[(A=n+(g<<3)|0)>>2]=l,i[A+4>>2]=e,i[t+(g<<2)>>2]=w,u=(0|(A=b+1|0))==(0|w),s=6==(0|(c=d+1|0)),0|VA(l,e)){l=9;break A}if((0|(w=w+(s&u&1)|0))>(0|r)){l=0;break}g=g+1|0,b=u?0:A,d=u?s?0:c:d}else for(g=1,b=0,d=0,w=1,l=A;;){if(!(b|d)){if(0|(l=0|V(l,e,4,o,a)))break A;if(0|VA(l=0|i[(e=a)>>2],e=0|i[e+4>>2])){l=9;break A}}if(0|(l=0|V(l,e,0|i[22384+(d<<2)>>2],o,a)))break A;if(l=0|i[(e=a)>>2],e=0|i[e+4>>2],i[(A=n+(g<<3)|0)>>2]=l,i[A+4>>2]=e,u=(0|(A=b+1|0))==(0|w),s=6==(0|(c=d+1|0)),0|VA(l,e)){l=9;break A}if((0|(w=w+(s&u&1)|0))>(0|r)){l=0;break}g=g+1|0,b=u?0:A,d=u?s?0:c:d}else l=0}while(0);return T=f,0|l}function U(A,e,r,n,t,a,f,o){r|=0,n|=0,t|=0,o|=0;var l,u,c,s=0,b=0,g=0,d=0,w=0,B=0,k=0;if(c=T,T=T+16|0,l=c+8|0,u=c,s=0|Ye(0|(A|=0),0|(e|=0),0|(a|=0),0|(f|=0)),g=0|_(),!(0==(0|(k=0|i[(B=d=n+(s<<3)|0)>>2]))&0==(0|(B=0|i[B+4>>2]))|(b=(0|k)==(0|A)&(0|B)==(0|e))))do{s=0|Re(0|(s=0|Te(0|s,0|g,1,0)),0|_(),0|a,0|f),g=0|_(),b=(0|(B=0|i[(k=d=n+(s<<3)|0)>>2]))==(0|A)&(0|(k=0|i[k+4>>2]))==(0|e)}while(!(0==(0|B)&0==(0|k)|b));if(s=t+(s<<2)|0,b&&(0|i[s>>2])<=(0|o))return T=c,0;if(i[(k=d)>>2]=A,i[k+4>>2]=e,i[s>>2]=o,(0|o)>=(0|r))return T=c,0;switch(b=o+1|0,i[l>>2]=0,0|(s=0|V(A,e,2,l,u))){case 9:w=9;break;case 0:(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b))||(w=9)}A:do{if(9==(0|w)){switch(i[l>>2]=0,0|(s=0|V(A,e,3,l,u))){case 9:break;case 0:if(0|(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|V(A,e,1,l,u))){case 9:break;case 0:if(0|(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|V(A,e,5,l,u))){case 9:break;case 0:if(0|(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|V(A,e,4,l,u))){case 9:break;case 0:if(0|(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|V(A,e,6,l,u))){case 9:break;case 0:if(0|(s=0|U(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,b)))break A;break;default:break A}return T=c,0}}while(0);return T=c,0|s}function V(A,e,r,n,t){A|=0,e|=0,t|=0;var a,f,o=0,l=0,u=0,c=0,s=0,b=0,g=0;if((r|=0)>>>0>6)return 1;if(i[(n|=0)>>2]=s=(0|i[n>>2])%6|0,(0|s)>0){o=0;do{r=0|gA(r),o=o+1|0}while((0|o)<(0|i[n>>2]))}if(s=0|He(0|A,0|e,45),_(),(f=127&s)>>>0>121)return 5;a=0|RA(A,e),o=0|He(0|A,0|e,52),_(),o&=15;A:do{if(o){for(;;){if(u=0|He(0|A,0|e,0|(l=3*(15-o|0)|0)),_(),7==(0|(u&=7))){e=5;break}if(g=0==(0|SA(o)),o=o+-1|0,b=0|ze(7,0,0|l),e&=~(0|_()),A=0|ze(0|i[(g?432:16)+(28*u|0)+(r<<2)>>2],0,0|l)|A&~b,e|=l=0|_(),!(r=0|i[(g?640:224)+(28*u|0)+(r<<2)>>2])){r=0;break A}if(!o){c=8;break A}}return 0|e}c=8}while(0);8==(0|c)&&(A|=0|ze(0|(g=0|i[848+(28*f|0)+(r<<2)>>2]),0,45),e=0|_()|-1040385&e,r=0|i[4272+(28*f|0)+(r<<2)>>2],127==(127&g|0)&&(g=0|ze(0|i[848+(28*f|0)+20>>2],0,45),e=0|_()|-1040385&e,r=0|i[4272+(28*f|0)+20>>2],A=0|xA(g|A,e),e=0|_(),i[n>>2]=1+(0|i[n>>2]))),u=0|He(0|A,0|e,45),_(),u&=127;A:do{if(0|x(u)){e:do{if(1==(0|RA(A,e))){if((0|f)!=(0|u)){if(0|O(u,0|i[7696+(28*f|0)>>2])){A=0|zA(A,e),l=1,e=0|_();break}C(23313,22416,436,22424)}switch(0|a){case 3:A=0|xA(A,e),e=0|_(),i[n>>2]=1+(0|i[n>>2]),l=0;break e;case 5:A=0|zA(A,e),e=0|_(),i[n>>2]=5+(0|i[n>>2]),l=0;break e;case 0:return 9;default:return 1}}else l=0}while(0);if((0|r)>0){o=0;do{A=0|YA(A,e),e=0|_(),o=o+1|0}while((0|o)!=(0|r))}if((0|f)!=(0|u)){if(!(0|H(u))){if(0!=(0|l)|5!=(0|RA(A,e)))break;i[n>>2]=1+(0|i[n>>2]);break}switch(127&s){case 8:case 118:break A}3!=(0|RA(A,e))&&(i[n>>2]=1+(0|i[n>>2]))}}else if((0|r)>0){o=0;do{A=0|xA(A,e),e=0|_(),o=o+1|0}while((0|o)!=(0|r))}}while(0);return i[n>>2]=((0|i[n>>2])+r|0)%6|0,i[(g=t)>>2]=A,i[g+4>>2]=e,0}function R(A,e,r,n){r|=0,n|=0;var t,a,f,o=0,l=0;for(f=T,T=T+16|0,t=f,a=f+8|0,o=(o=0==(0|VA(A|=0,e|=0)))?1:2;;){if(i[a>>2]=0,0==(0|V(A,e,o,a,t))&((0|i[(l=t)>>2])==(0|r)?(0|i[l+4>>2])==(0|n):0)){A=4;break}if((o=o+1|0)>>>0>=7){o=7,A=4;break}}return 4==(0|A)?(T=f,0|o):0}function Y(A,e,r,n,a,f,o){e|=0,r|=0,n|=0,a|=0,f|=0,o|=0;var l,u,c,s,b,g,d,w,B,k,h=0,m=0,D=0,Q=0,E=0,v=0,C=0,M=0,y=0,I=0,F=0,p=0,P=0,G=0,L=0,U=0,V=0,R=0,Y=0;if(k=T,T=T+64|0,B=k+24|0,u=k,(0|(m=0|i[(A|=0)>>2]))<=0)return T=k,0;for(c=A+4|0,s=8+(d=k+48|0)|0,b=8+(w=k+32|0)|0,g=8+(l=k+8|0)|0,h=0,P=0;;){i[d>>2]=i[(p=(D=0|i[c>>2])+(P<<4)|0)>>2],i[d+4>>2]=i[p+4>>2],i[d+8>>2]=i[p+8>>2],i[d+12>>2]=i[p+12>>2],(0|P)==(m+-1|0)?(i[w>>2]=i[D>>2],i[w+4>>2]=i[D+4>>2],i[w+8>>2]=i[D+8>>2],i[w+12>>2]=i[D+12>>2]):(i[w>>2]=i[(p=D+(P+1<<4)|0)>>2],i[w+4>>2]=i[p+4>>2],i[w+8>>2]=i[p+8>>2],i[w+12>>2]=i[p+12>>2]),m=0|X(d,w,n,B);A:do{if(m)D=0,h=m;else if(m=0|i[(D=B)>>2],(0|(D=0|i[D+4>>2]))>0|0==(0|D)&m>>>0>0){F=0,p=0;e:for(;;){if(Y=+t[d>>3],R=+((I=0|Pe(0|m,0|D,0|F,0|p))>>>0)+4294967296*+(0|_()),t[l>>3]=Y*R/(U=+(m>>>0)+4294967296*+(0|D))+ +t[w>>3]*(V=+(F>>>0)+4294967296*+(0|p))/U,t[g>>3]=+t[s>>3]*R/U+ +t[b>>3]*V/U,0|(m=0|OA(l,n,u))){h=m;break}v=0|Ye(0|(y=0|i[(I=u)>>2]),0|(I=0|i[I+4>>2]),0|e,0|r),Q=0|_(),D=0|i[(E=m=o+(v<<3)|0)>>2],E=0|i[E+4>>2];r:do{if(0==(0|D)&0==(0|E))G=m,L=16;else for(C=0,M=0;;){if((0|C)>(0|r)|(0|C)==(0|r)&M>>>0>e>>>0){h=1;break e}if((0|D)==(0|y)&(0|E)==(0|I))break r;if(v=0|Re(0|(m=0|Te(0|v,0|Q,1,0)),0|_(),0|e,0|r),Q=0|_(),M=0|Te(0|M,0|C,1,0),C=0|_(),0==(0|(D=0|i[(E=m=o+(v<<3)|0)>>2]))&0==(0|(E=0|i[E+4>>2]))){G=m,L=16;break}}}while(0);if(16!=(0|L)||(L=0,0==(0|y)&0==(0|I))||(i[(M=G)>>2]=y,i[M+4>>2]=I,i[(M=f+(i[a>>2]<<3)|0)>>2]=y,i[M+4>>2]=I,M=0|Te(0|i[(M=a)>>2],0|i[M+4>>2],1,0),y=0|_(),i[(I=a)>>2]=M,i[I+4>>2]=y),F=0|Te(0|F,0|p,1,0),p=0|_(),m=0|i[(D=B)>>2],!((0|(D=0|i[D+4>>2]))>(0|p)|(0|D)==(0|p)&m>>>0>F>>>0)){D=1;break A}}D=0}else D=1}while(0);if(P=P+1|0,!D){L=21;break}if((0|P)>=(0|(m=0|i[A>>2]))){h=0,L=21;break}}return 21==(0|L)?(T=k,0|h):0}function x(A){return(A|=0)>>>0>121?0|(A=0):0|(A=0|i[7696+(28*A|0)+16>>2])}function H(A){return 4==(0|(A|=0))|117==(0|A)|0}function z(A){return 0|i[11120+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)>>2]}function S(A){return 0|i[11120+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)+4>>2]}function O(A,e){return(0|i[7696+(28*(A|=0)|0)+20>>2])==(0|(e|=0))?0|(e=1):0|(e=(0|i[7696+(28*A|0)+24>>2])==(0|e))}function Z(A,e){return 0|i[848+(28*(A|=0)|0)+((e|=0)<<2)>>2]}function N(A,e){return(0|i[848+(28*(A|=0)|0)>>2])==(0|(e|=0))?0|(e=0):(0|i[848+(28*A|0)+4>>2])==(0|e)?0|(e=1):(0|i[848+(28*A|0)+8>>2])==(0|e)?0|(e=2):(0|i[848+(28*A|0)+12>>2])==(0|e)?0|(e=3):(0|i[848+(28*A|0)+16>>2])==(0|e)?0|(e=4):(0|i[848+(28*A|0)+20>>2])==(0|e)?0|(e=5):0|((0|i[848+(28*A|0)+24>>2])==(0|e)?6:7)}function W(A){return+t[16+(A|=0)>>3]<+t[A+24>>3]|0}function K(A,e){var r,n,i=0;return(i=+t[(e|=0)>>3])>=+t[8+(A|=0)>>3]&&i<=+t[A>>3]?(e=(n=+t[e+8>>3])>=(i=+t[A+24>>3]),A=n<=(r=+t[A+16>>3])&1,r<i?e&&(A=1):e||(A=0),0|(e=0!=(0|A))):0|(e=0)}function J(A,e,r){A|=0,e|=0,r|=0;var n,f,u,c,s,b,g,d=0,w=0,B=0,k=0,m=0,Q=0,E=0;b=T,T=T+288|0,s=b+264|0,k=b+96|0,w=(d=B=b)+96|0;do{i[d>>2]=0,d=d+4|0}while((0|d)<(0|w));return 0|(e=0|JA(e,B))?(T=b,0|(Q=e)):(WA(B=0|i[(w=B)>>2],w=0|i[w+4>>2],s),KA(B,w,k),c=+Ae(s,k+8|0),t[s>>3]=+t[A>>3],t[(w=s+8|0)>>3]=+t[A+16>>3],t[k>>3]=+t[A+8>>3],t[(B=k+8|0)>>3]=+t[A+24>>3],f=+Ae(s,k),u=+l(+(E=+t[w>>3]-+t[B>>3])),n=+l(+(g=+t[s>>3]-+t[k>>3])),0==E|0==g||(E=+Se(+u,+n),E=+h(+f*f/+Oe(+E/+Oe(+u,+n),3)/(c*(2.59807621135*c)*.8)),t[a>>3]=E,m=~~E>>>0,Q=+l(E)>=1?E>0?~~+D(+o(E/4294967296),4294967295)>>>0:~~+h((E-+(~~E>>>0))/4294967296)>>>0:0,2146435072==(2146435072&i[a+4>>2]|0))?e=1:(i[(e=r)>>2]=(k=0==(0|m)&0==(0|Q))?1:m,i[e+4>>2]=k?0:Q,e=0),T=b,0|(Q=e))}function X(A,e,r,n){A|=0,e|=0,r|=0,n|=0;var f,u,c,s,b=0,g=0,d=0;s=T,T=T+288|0,u=s+264|0,c=s+96|0,f=(b=g=s)+96|0;do{i[b>>2]=0,b=b+4|0}while((0|b)<(0|f));return 0|(r=0|JA(r,g))?(T=s,0|(n=r)):(WA(b=0|i[(r=g)>>2],r=0|i[r+4>>2],u),KA(b,r,c),d=+Ae(u,c+8|0),d=+h(+ +Ae(A,e)/(2*d)),t[a>>3]=d,r=~~d>>>0,b=+l(d)>=1?d>0?~~+D(+o(d/4294967296),4294967295)>>>0:~~+h((d-+(~~d>>>0))/4294967296)>>>0:0,2146435072==(2146435072&i[a+4>>2]|0)?(T=s,0|(n=1)):(i[n>>2]=(g=0==(0|r)&0==(0|b))?1:r,i[n+4>>2]=g?0:b,T=s,0|(n=0)))}function j(A,e,r,n){r|=0,n|=0,i[(A|=0)>>2]=e|=0,i[A+4>>2]=r,i[A+8>>2]=n}function q(A,e){A|=0;var r,n,a,f,o=0,u=0,c=0,s=0,b=0,g=0,d=0;i[(f=8+(e|=0)|0)>>2]=0,s=+l(+(n=+t[A>>3])),s+=.5*(b=+l(+(a=+t[A+8>>3]))/.8660254037844386),s-=+(0|(o=~~s)),b-=+(0|(A=~~b));do{if(s<.5){if(s<.3333333333333333){if(i[e>>2]=o,b<.5*(s+1)){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(i[e+4>>2]=A=(1&!(b<(d=1-s)))+A|0,d<=b&b<2*s){i[e>>2]=o=o+1|0;break}i[e>>2]=o;break}if(!(s<.6666666666666666)){if(i[e>>2]=o=o+1|0,b<.5*s){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(b<1-s){if(i[e+4>>2]=A,2*s-1<b){i[e>>2]=o;break}}else i[e+4>>2]=A=A+1|0;i[e>>2]=o=o+1|0}while(0);do{if(n<0){if(1&A){o=~~(+(0|o)-(2*(+((g=0|Pe(0|o,((0|o)<0)<<31>>31|0,0|(g=(A+1|0)/2|0),((0|g)<0)<<31>>31|0))>>>0)+4294967296*+(0|_()))+1)),i[e>>2]=o;break}o=~~(+(0|o)-2*(+((g=0|Pe(0|o,((0|o)<0)<<31>>31|0,0|(g=(0|A)/2|0),((0|g)<0)<<31>>31|0))>>>0)+4294967296*+(0|_()))),i[e>>2]=o;break}}while(0);g=e+4|0,a<0&&(i[e>>2]=o=o-((1|A<<1)/2|0)|0,i[g>>2]=A=0-A|0),u=A-o|0,(0|o)<0?(c=0-o|0,i[g>>2]=u,i[f>>2]=c,i[e>>2]=0,A=u,o=0):c=0,(0|A)<0&&(i[e>>2]=o=o-A|0,i[f>>2]=c=c-A|0,i[g>>2]=0,A=0),r=o-c|0,u=A-c|0,(0|c)<0&&(i[e>>2]=r,i[g>>2]=u,i[f>>2]=0,A=u,o=r,c=0),(0|(u=(0|c)<(0|(u=(0|A)<(0|o)?A:o))?c:u))<=0||(i[e>>2]=o-u,i[g>>2]=A-u,i[f>>2]=c-u)}function $(A){var e,r=0,n=0,t=0,a=0,f=0;n=0|i[(e=4+(A|=0)|0)>>2],(0|(r=0|i[A>>2]))<0&&(i[e>>2]=n=n-r|0,i[(f=A+8|0)>>2]=(0|i[f>>2])-r,i[A>>2]=0,r=0),(0|n)<0?(i[A>>2]=r=r-n|0,i[(f=A+8|0)>>2]=a=(0|i[f>>2])-n|0,i[e>>2]=0,n=0):(f=a=A+8|0,a=0|i[a>>2]),(0|a)<0&&(i[A>>2]=r=r-a|0,i[e>>2]=n=n-a|0,i[f>>2]=0,a=0),(0|(t=(0|a)<(0|(t=(0|n)<(0|r)?n:r))?a:t))<=0||(i[A>>2]=r-t,i[e>>2]=n-t,i[f>>2]=a-t)}function AA(A,e){var r,n;t[(e|=0)>>3]=+((0|i[(A|=0)>>2])-(n=0|i[A+8>>2])|0)-.5*(r=+((0|i[A+4>>2])-n|0)),t[e+8>>3]=.8660254037844386*r}function eA(A,e,r){i[(r|=0)>>2]=(0|i[(e|=0)>>2])+(0|i[(A|=0)>>2]),i[r+4>>2]=(0|i[e+4>>2])+(0|i[A+4>>2]),i[r+8>>2]=(0|i[e+8>>2])+(0|i[A+8>>2])}function rA(A,e,r){i[(r|=0)>>2]=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2]),i[r+4>>2]=(0|i[A+4>>2])-(0|i[e+4>>2]),i[r+8>>2]=(0|i[A+8>>2])-(0|i[e+8>>2])}function nA(A,e){var r,n=0;n=0|m(0|i[(A|=0)>>2],e|=0),i[A>>2]=n,r=0|m(0|i[(n=A+4|0)>>2],e),i[n>>2]=r,e=0|m(0|i[(A=A+8|0)>>2],e),i[A>>2]=e}function iA(A){var e,r,n,t=0,a=0,f=0,o=0;A=(A=(a=(0|(o=(0|i[8+(A|=0)>>2])-((n=(0|(r=0|i[A>>2]))<0)?r:0)+((e=(0|(f=(0|i[A+4>>2])-(n?r:0)|0))<0)?0-f|0:0)|0))<0)?0:o)-((f=(0|(a=(0|A)<(0|(a=(0|(t=(e?0:f)-(a?o:0)|0))<(0|(o=(n?0:r)-(e?f:0)-(a?o:0)|0))?t:o))?A:a))>0)?a:0)|0,t=t-(f?a:0)|0;A:do{switch(o-(f?a:0)|0){case 0:switch(0|t){case 0:return 0|(0==(0|A)?0:1==(0|A)?1:7);case 1:return 0|(0==(0|A)?2:1==(0|A)?3:7);default:break A}case 1:switch(0|t){case 0:return 0|(0==(0|A)?4:1==(0|A)?5:7);case 1:if(A)break A;return 6;default:break A}}}while(0);return 7}function tA(A){var e,r=0,n=0,t=0,a=0,f=0,o=0;f=(0|i[(A|=0)>>2])-(a=0|i[(e=A+8|0)>>2])|0,a=(0|i[(o=A+4|0)>>2])-a|0;do{if(f>>>0>715827881|a>>>0>715827881){if(n=(0|f)>0){if((2147483647-f|0)<(0|f))return 1;if((2147483647-(f<<1)|0)<(0|f))return 1}else{if((-2147483648-f|0)>(0|f))return 1;if((-2147483648-(f<<1)|0)>(0|f))return 1}if(r=3*f|0,(0|a)>0){if((2147483647-a|0)<(0|a))return 1}else if((-2147483648-a|0)>(0|a))return 1;if(t=a<<1,(0|f)>-1){if((-2147483648|r|0)>=(0|a))return 1}else if((-2147483648^r|0)<(0|a))return 1;if(n){if(!((2147483647-f|0)<(0|t))){n=t;break}return 1}if(!((-2147483648-f|0)>(0|t))){n=t;break}return 1}n=a<<1,r=3*f|0}while(0);t=0|ye(+(r-a|0)/7),i[A>>2]=t,a=0|ye(+(n+f|0)/7),i[o>>2]=a,i[e>>2]=0,r=(n=(0|a)<(0|t))?t:a,n=n?a:t;do{if((0|n)<0){if((0|r)>0){if((-2147483648|r|0)<(0|n)&-2147483648!=(0|n)&(2147483647-r|0)>=(0|n))break;C(23313,22444,355,22455)}if(-2147483648==(0|n)|(-2147483648-r|0)>(0|n)&&C(23313,22444,355,22455),(0|r)>-1){if((-2147483648|r|0)<(0|n))break;C(23313,22444,355,22455)}else{if((-2147483648^r|0)>=(0|n))break;C(23313,22444,355,22455)}}}while(0);return r=a-t|0,(0|t)<0?(n=0-t|0,i[o>>2]=r,i[e>>2]=n,i[A>>2]=0,t=0):(r=a,n=0),(0|r)<0&&(i[A>>2]=t=t-r|0,i[e>>2]=n=n-r|0,i[o>>2]=0,r=0),f=t-n|0,a=r-n|0,(0|n)<0?(i[A>>2]=f,i[o>>2]=a,i[e>>2]=0,r=a,a=f,n=0):a=t,(0|(t=(0|n)<(0|(t=(0|r)<(0|a)?r:a))?n:t))<=0?0|(o=0):(i[A>>2]=a-t,i[o>>2]=r-t,i[e>>2]=n-t,0|(o=0))}function aA(A){var e,r=0,n=0,t=0,a=0,f=0,o=0;f=(0|i[(A|=0)>>2])-(a=0|i[(e=A+8|0)>>2])|0,a=(0|i[(o=A+4|0)>>2])-a|0;do{if(f>>>0>715827881|a>>>0>715827881){if(n=(0|f)>0){if((2147483647-f|0)<(0|f))return 1}else if((-2147483648-f|0)>(0|f))return 1;if(r=f<<1,(0|a)>0){if((2147483647-a|0)<(0|a))return 1;if((2147483647-(a<<1)|0)<(0|a))return 1}else{if((-2147483648-a|0)>(0|a))return 1;if((-2147483648-(a<<1)|0)>(0|a))return 1}if(t=3*a|0,n){if((2147483647-r|0)<(0|a))return 1}else if((-2147483648-r|0)>(0|a))return 1;if((0|a)>-1){if((-2147483648|t|0)<(0|f)){n=t;break}return 1}if(!((-2147483648^t|0)<(0|f))){n=t;break}return 1}n=3*a|0,r=f<<1}while(0);t=0|ye(+(r+a|0)/7),i[A>>2]=t,a=0|ye(+(n-f|0)/7),i[o>>2]=a,i[e>>2]=0,r=(n=(0|a)<(0|t))?t:a,n=n?a:t;do{if((0|n)<0){if((0|r)>0){if((-2147483648|r|0)<(0|n)&-2147483648!=(0|n)&(2147483647-r|0)>=(0|n))break;C(23313,22444,404,22469)}if(-2147483648==(0|n)|(-2147483648-r|0)>(0|n)&&C(23313,22444,404,22469),(0|r)>-1){if((-2147483648|r|0)<(0|n))break;C(23313,22444,404,22469)}else{if((-2147483648^r|0)>=(0|n))break;C(23313,22444,404,22469)}}}while(0);return r=a-t|0,(0|t)<0?(n=0-t|0,i[o>>2]=r,i[e>>2]=n,i[A>>2]=0,t=0):(r=a,n=0),(0|r)<0&&(i[A>>2]=t=t-r|0,i[e>>2]=n=n-r|0,i[o>>2]=0,r=0),f=t-n|0,a=r-n|0,(0|n)<0?(i[A>>2]=f,i[o>>2]=a,i[e>>2]=0,r=a,a=f,n=0):a=t,(0|(t=(0|n)<(0|(t=(0|r)<(0|a)?r:a))?n:t))<=0?0|(o=0):(i[A>>2]=a-t,i[o>>2]=r-t,i[e>>2]=n-t,0|(o=0))}function fA(A){var e,r,n=0,t=0,a=0,f=0,o=0;a=0|ye(+((3*(n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)|0)-(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=a,n=0|ye(+((t<<1)+n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-a|0,(0|a)<0?(o=0-a|0,i[r>>2]=t,i[e>>2]=o,i[A>>2]=0,n=t,a=0,t=o):t=0,(0|n)<0&&(i[A>>2]=a=a-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),o=a-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=o,i[r>>2]=f,i[e>>2]=0,n=f,f=o,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|n)<(0|f)?n:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=n-a,i[e>>2]=t-a)}function oA(A){var e,r,n=0,t=0,a=0,f=0,o=0;a=0|ye(+(((n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)<<1)+(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=a,n=0|ye(+((3*t|0)-n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-a|0,(0|a)<0?(o=0-a|0,i[r>>2]=t,i[e>>2]=o,i[A>>2]=0,n=t,a=0,t=o):t=0,(0|n)<0&&(i[A>>2]=a=a-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),o=a-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=o,i[r>>2]=f,i[e>>2]=0,n=f,f=o,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|n)<(0|f)?n:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=n-a,i[e>>2]=t-a)}function lA(A){var e,r,n,t=0,a=0,f=0,o=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(a=0|i[(r=A+4|0)>>2])+(3*(t=0|i[A>>2])|0)|0,i[r>>2]=a=f+(3*a|0)|0,i[n>>2]=t=(3*f|0)+t|0,f=a-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,a=f,f=0):f=o,(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function uA(A){var e,r,n,t=0,a=0,f=0,o=0;f=(3*(t=0|i[(r=4+(A|=0)|0)>>2])|0)+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+(3*o|0)|0,i[r>>2]=f,i[n>>2]=t=(3*a|0)+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,o=0):a=f,(0|a)<0&&(i[A>>2]=o=o-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=o-t|0,f=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,o=e,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|f)<(0|o)?f:o))?t:a))<=0||(i[A>>2]=o-a,i[r>>2]=f-a,i[n>>2]=t-a)}function cA(A,e){A|=0;var r,n,t,a=0,f=0,o=0;((e|=0)-1|0)>>>0>=6||(i[A>>2]=o=(0|i[15440+(12*e|0)>>2])+(0|i[A>>2])|0,i[(t=A+4|0)>>2]=f=(0|i[15440+(12*e|0)+4>>2])+(0|i[t>>2])|0,i[(n=A+8|0)>>2]=e=(0|i[15440+(12*e|0)+8>>2])+(0|i[n>>2])|0,a=f-o|0,(0|o)<0?(e=e-o|0,i[t>>2]=a,i[n>>2]=e,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=e=e-a|0,i[t>>2]=0,a=0),r=f-e|0,o=a-e|0,(0|e)<0?(i[A>>2]=r,i[t>>2]=o,i[n>>2]=0,f=r,e=0):o=a,(0|(a=(0|e)<(0|(a=(0|o)<(0|f)?o:f))?e:a))<=0||(i[A>>2]=f-a,i[t>>2]=o-a,i[n>>2]=e-a))}function sA(A){var e,r,n,t=0,a=0,f=0,o=0;f=(t=0|i[(r=4+(A|=0)|0)>>2])+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+o|0,i[r>>2]=f,i[n>>2]=t=a+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function bA(A){var e,r,n,t=0,a=0,f=0,o=0;a=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(f=0|i[(r=A+4|0)>>2])+(t=0|i[A>>2])|0,i[r>>2]=f=a+f|0,i[n>>2]=t=a+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function gA(A){switch(0|(A|=0)){case 1:A=5;break;case 5:A=4;break;case 4:A=6;break;case 6:A=2;break;case 2:A=3;break;case 3:A=1}return 0|A}function dA(A){switch(0|(A|=0)){case 1:A=3;break;case 3:A=2;break;case 2:A=6;break;case 6:A=4;break;case 4:A=5;break;case 5:A=1}return 0|A}function wA(A){var e,r,n,t=0,a=0,f=0,o=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(a=0|i[(r=A+4|0)>>2])+((t=0|i[A>>2])<<1)|0,i[r>>2]=a=f+(a<<1)|0,i[n>>2]=t=(f<<1)+t|0,f=a-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,a=f,f=0):f=o,(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function BA(A){var e,r,n,t=0,a=0,f=0,o=0;f=((t=0|i[(r=4+(A|=0)|0)>>2])<<1)+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+(o<<1)|0,i[r>>2]=f,i[n>>2]=t=(a<<1)+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,o=0):a=f,(0|a)<0&&(i[A>>2]=o=o-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=o-t|0,f=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,o=e,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|f)<(0|o)?f:o))?t:a))<=0||(i[A>>2]=o-a,i[r>>2]=f-a,i[n>>2]=t-a)}function kA(A,e){var r,n,t,a=0,f=0,o=0;return e=(e=(A=(0|(o=((t=(0|(n=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2])|0))<0)?0-n|0:0)+(0|i[A+8>>2])-(0|i[e+8>>2])+((r=(0|(f=(0|i[A+4>>2])-(0|i[e+4>>2])-(t?n:0)|0))<0)?0-f|0:0)|0))<0)?0:o)-((f=(0|(A=(0|e)<(0|(A=(0|(a=(r?0:f)-(A?o:0)|0))<(0|(o=(t?0:n)-(r?f:0)-(A?o:0)|0))?a:o))?e:A))>0)?A:0)|0,a=a-(f?A:0)|0,0|((0|(A=(0|(A=o-(f?A:0)|0))>-1?A:0-A|0))>(0|(e=(0|(a=(0|a)>-1?a:0-a|0))>(0|(e=(0|e)>-1?e:0-e|0))?a:e))?A:e)}function hA(A,e){var r;i[(e|=0)>>2]=(0|i[(A|=0)>>2])-(r=0|i[A+8>>2]),i[e+4>>2]=(0|i[A+4>>2])-r}function mA(A,e){var r,n,t,a=0,f=0,o=0;i[(e|=0)>>2]=f=0|i[(A|=0)>>2],i[(n=e+4|0)>>2]=o=0|i[A+4>>2],i[(t=e+8|0)>>2]=0,A=(a=(0|o)<(0|f))?f:o,a=a?o:f;do{if((0|a)<0){if((0|A)>0){if((-2147483648|A|0)<(0|a)&-2147483648!=(0|a)&(2147483647-A|0)>=(0|a))break;return 1}if(-2147483648==(0|a)|(-2147483648-A|0)>(0|a))return 1;if((0|A)>-1){if((-2147483648|A|0)<(0|a))break;return 1}if(!((-2147483648^A|0)<(0|a)))break;return 1}}while(0);return A=o-f|0,(0|f)<0?(a=0-f|0,i[n>>2]=A,i[t>>2]=a,i[e>>2]=0,f=0):(A=o,a=0),(0|A)<0&&(i[e>>2]=f=f-A|0,i[t>>2]=a=a-A|0,i[n>>2]=0,A=0),r=f-a|0,o=A-a|0,(0|a)<0?(i[e>>2]=r,i[n>>2]=o,i[t>>2]=0,A=o,o=r,a=0):o=f,(0|(f=(0|a)<(0|(f=(0|A)<(0|o)?A:o))?a:f))<=0?0|(e=0):(i[e>>2]=o-f,i[n>>2]=A-f,i[t>>2]=a-f,0|(e=0))}function DA(A){var e,r,n,t;i[(A|=0)>>2]=r=(t=0|i[(e=A+8|0)>>2])-(0|i[A>>2])|0,i[(n=A+4|0)>>2]=A=(0|i[n>>2])-t|0,i[e>>2]=0-(A+r)}function QA(A){var e,r,n=0,t=0,a=0,f=0,o=0;i[(A|=0)>>2]=n=0-(t=0|i[A>>2])|0,i[(e=A+8|0)>>2]=0,f=(a=0|i[(r=A+4|0)>>2])+t|0,(0|t)>0?(i[r>>2]=f,i[e>>2]=t,i[A>>2]=0,n=0,a=f):t=0,(0|a)<0?(i[A>>2]=o=n-a|0,i[e>>2]=t=t-a|0,i[r>>2]=0,f=o-t|0,n=0-t|0,(0|t)<0?(i[A>>2]=f,i[r>>2]=n,i[e>>2]=0,a=n,t=0):(a=0,f=o)):f=n,(0|(n=(0|t)<(0|(n=(0|a)<(0|f)?a:f))?t:n))<=0||(i[A>>2]=f-n,i[r>>2]=a-n,i[e>>2]=t-n)}function EA(A,e,r){r|=0;var n,t,a=0,f=0;return t=T,T=T+16|0,n=t,f=-2130706433&(e|=0)|134217728,!0&268435456==(2013265920&e|0)?(a=0|He(0|(A|=0),0|e,56),_(),-1==(0|(a=0|function(A,e,r){r|=0;var n,t,a=0;if(n=T,T=T+16|0,t=n,a=0|VA(A|=0,e|=0),(r+-1|0)>>>0>5)return T=n,-1;if(1==(0|r)&(a=0!=(0|a)))return T=n,-1;do{if(!(0|he(A,e,t))){if(a){a=(5+(0|i[21936+(r<<2)>>2])-(0|i[t>>2])|0)%5|0;break}a=(6+(0|i[21968+(r<<2)>>2])-(0|i[t>>2])|0)%6|0;break}a=-1}while(0);return T=n,0|a}(A,f,7&a)))?(i[r>>2]=0,T=t,0|(f=6)):(0|NA(A,f,n)&&C(23313,22484,282,22499),e=0|He(0|A,0|e,52),_(),e&=15,0|VA(A,f)?MA(n,e,a,2,r):pA(n,e,a,2,r),T=t,0|(f=0))):(T=t,0|(f=6))}function vA(A,e,r,n){e|=0,n|=0;var a,f=0,o=0,l=0,u=0;if(a=T,T=T+16|0,function(A,e,r){e|=0,r|=0;var n,a,f=0;a=T,T=T+32|0,function(A,e){e|=0;var r,n,i=0;r=+s(+(i=+t[(A|=0)>>3])),i=+b(+i),t[e+16>>3]=i,n=r*+s(+(i=+t[A+8>>3])),t[e>>3]=n,i=r*+b(+i),t[e+8>>3]=i}(A|=0,n=a),i[e>>2]=0,t[r>>3]=5,(f=+ke(16400,n))<+t[r>>3]&&(i[e>>2]=0,t[r>>3]=f),(f=+ke(16424,n))<+t[r>>3]&&(i[e>>2]=1,t[r>>3]=f),(f=+ke(16448,n))<+t[r>>3]&&(i[e>>2]=2,t[r>>3]=f),(f=+ke(16472,n))<+t[r>>3]&&(i[e>>2]=3,t[r>>3]=f),(f=+ke(16496,n))<+t[r>>3]&&(i[e>>2]=4,t[r>>3]=f),(f=+ke(16520,n))<+t[r>>3]&&(i[e>>2]=5,t[r>>3]=f),(f=+ke(16544,n))<+t[r>>3]&&(i[e>>2]=6,t[r>>3]=f),(f=+ke(16568,n))<+t[r>>3]&&(i[e>>2]=7,t[r>>3]=f),(f=+ke(16592,n))<+t[r>>3]&&(i[e>>2]=8,t[r>>3]=f),(f=+ke(16616,n))<+t[r>>3]&&(i[e>>2]=9,t[r>>3]=f),(f=+ke(16640,n))<+t[r>>3]&&(i[e>>2]=10,t[r>>3]=f),(f=+ke(16664,n))<+t[r>>3]&&(i[e>>2]=11,t[r>>3]=f),(f=+ke(16688,n))<+t[r>>3]&&(i[e>>2]=12,t[r>>3]=f),(f=+ke(16712,n))<+t[r>>3]&&(i[e>>2]=13,t[r>>3]=f),(f=+ke(16736,n))<+t[r>>3]&&(i[e>>2]=14,t[r>>3]=f),(f=+ke(16760,n))<+t[r>>3]&&(i[e>>2]=15,t[r>>3]=f),(f=+ke(16784,n))<+t[r>>3]&&(i[e>>2]=16,t[r>>3]=f),(f=+ke(16808,n))<+t[r>>3]&&(i[e>>2]=17,t[r>>3]=f),(f=+ke(16832,n))<+t[r>>3]&&(i[e>>2]=18,t[r>>3]=f),(f=+ke(16856,n))<+t[r>>3]?(i[e>>2]=19,t[r>>3]=f,T=a):T=a}(A|=0,r|=0,u=a),(o=+d(+(1-.5*+t[u>>3])))<1e-16)return i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,void(T=a);if(f=+qA((f=+t[15920+(24*(u=0|i[r>>2])|0)>>3])-+qA(+function(A,e){var r,n,i,a,f;return A|=0,f=(n=+s(+(a=+t[(e|=0)>>3])))*+b(+(i=+t[e+8>>3]-+t[A+8>>3])),r=+t[A>>3],+ +k(+f,+(+b(+a)*+s(+r)-+s(+i)*(n*+b(+r))))}(15600+(u<<4)|0,A))),l=0|SA(e)?+qA(f+-.3334731722518321):f,f=+g(+o)/.381966011250105,(0|e)>0){A=0;do{f*=2.6457513110645907,A=A+1|0}while((0|A)!=(0|e))}o=+s(+l)*f,t[n>>3]=o,l=+b(+l)*f,t[n+8>>3]=l,T=a}function _A(A,e,r,n,a){e|=0,r|=0,n|=0,a|=0;var f=0,o=0;if((f=+function(A){var e,r;return+ +u(+((r=+t[(A|=0)>>3])*r+(e=+t[A+8>>3])*e))}(A|=0))<1e-16)return i[a>>2]=i[(e=15600+(e<<4)|0)>>2],i[a+4>>2]=i[e+4>>2],i[a+8>>2]=i[e+8>>2],void(i[a+12>>2]=i[e+12>>2]);if(o=+k(+ +t[A+8>>3],+ +t[A>>3]),(0|r)>0){A=0;do{f/=2.6457513110645907,A=A+1|0}while((0|A)!=(0|r))}n?(f/=3,r=0==(0|SA(r)),f=+B(.381966011250105*(r?f:f/2.6457513110645907))):(f=+B(.381966011250105*f),0|SA(r)&&(o=+qA(o+.3334731722518321))),function(A,e,r,n){A|=0,e=+e,n|=0;var a=0,f=0,o=0,u=0;if((r=+r)<1e-16)return i[n>>2]=i[A>>2],i[n+4>>2]=i[A+4>>2],i[n+8>>2]=i[A+8>>2],void(i[n+12>>2]=i[A+12>>2]);f=e<0?e+6.283185307179586:e,f=e>=6.283185307179586?f+-6.283185307179586:f;do{if(!(f<1e-16)){if(a=+l(+(f+-3.141592653589793))<1e-16,e=+t[A>>3],a){t[n>>3]=e-=r,a=n;break}if(o=+s(+r),r=+b(+r),e=o*+b(+e)+ +s(+f)*(r*+s(+e)),e=+w(+((e=e>1?1:e)<-1?-1:e)),t[n>>3]=e,+l(+(e+-1.5707963267948966))<1e-16)return t[n>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+l(+(e+1.5707963267948966))<1e-16)return t[n>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if(u=+s(+e),f=r*+b(+f)/u,r=+t[A>>3],e=(o-+b(+e)*+b(+r))/+s(+r)/u,(e=+t[A+8>>3]+ +k(+((o=f>1?1:f)<-1?-1:o),+((e=e>1?1:e)<-1?-1:e)))>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);return void(t[n+8>>3]=e)}t[n>>3]=e=+t[A>>3]+r,a=n}while(0);if(+l(+(e+-1.5707963267948966))<1e-16)return t[a>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+l(+(e+1.5707963267948966))<1e-16)return t[a>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if((e=+t[A+8>>3])>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);t[n+8>>3]=e}(15600+(e<<4)|0,+qA(+t[15920+(24*e|0)>>3]-o),f,a)}function CA(A,e,r){var n,t;e|=0,r|=0,n=T,T=T+16|0,AA(4+(A|=0)|0,t=n),_A(t,0|i[A>>2],e,0,r),T=n}function MA(A,e,r,n,a){A|=0,r|=0,n|=0,a|=0;var f,o,l,u,c,s,b,g,d,w,B,k,h,m,D,Q,E,v,_,M,y,I,F=0,p=0,P=0,G=0,L=0,U=0;if(I=T,T=T+272|0,G=I+240|0,_=I,M=I+224|0,y=I+208|0,B=I+176|0,k=I+160|0,h=I+192|0,m=I+144|0,D=I+128|0,Q=I+112|0,E=I+96|0,v=I+80|0,i[(F=I+256|0)>>2]=e|=0,i[G>>2]=i[A>>2],i[G+4>>2]=i[A+4>>2],i[G+8>>2]=i[A+8>>2],i[G+12>>2]=i[A+12>>2],yA(G,F,_),i[a>>2]=0,(0|(G=n+r+(5==(0|n)&1)|0))<=(0|r))T=I;else{o=M+4|0,l=B+4|0,u=r+5|0,c=16880+((f=0|i[F>>2])<<2)|0,s=16960+(f<<2)|0,b=D+8|0,g=Q+8|0,d=E+8|0,w=y+4|0,P=r;A:for(;;){i[y>>2]=i[(p=_+(((0|P)%5|0)<<4)|0)>>2],i[y+4>>2]=i[p+4>>2],i[y+8>>2]=i[p+8>>2],i[y+12>>2]=i[p+12>>2];do{}while(2==(0|IA(y,f,0,1)));if((0|P)>(0|r)&0!=(0|SA(e))){if(i[B>>2]=i[y>>2],i[B+4>>2]=i[y+4>>2],i[B+8>>2]=i[y+8>>2],i[B+12>>2]=i[y+12>>2],AA(o,k),i[B>>2]=i[18640+(80*(n=0|i[B>>2])|0)+(20*(F=0|i[17040+(80*n|0)+(i[M>>2]<<2)>>2])|0)>>2],(0|(p=0|i[18640+(80*n|0)+(20*F|0)+16>>2]))>0){A=0;do{sA(l),A=A+1|0}while((0|A)<(0|p))}switch(i[h>>2]=i[(p=18640+(80*n|0)+(20*F|0)+4|0)>>2],i[h+4>>2]=i[p+4>>2],i[h+8>>2]=i[p+8>>2],nA(h,3*(0|i[c>>2])|0),eA(l,h,l),$(l),AA(l,m),t[D>>3]=3*(L=+(0|i[s>>2])),t[b>>3]=0,t[Q>>3]=U=-1.5*L,t[g>>3]=2.598076211353316*L,t[E>>3]=U,t[d>>3]=-2.598076211353316*L,0|i[17040+(80*(0|i[B>>2])|0)+(i[y>>2]<<2)>>2]){case 1:A=Q,n=D;break;case 3:A=E,n=Q;break;case 2:A=D,n=E;break;default:A=12;break A}we(k,m,n,A,v),_A(v,0|i[B>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])}if((0|P)<(0|u)&&(AA(w,B),_A(B,0|i[y>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])),i[M>>2]=i[y>>2],i[M+4>>2]=i[y+4>>2],i[M+8>>2]=i[y+8>>2],i[M+12>>2]=i[y+12>>2],(0|(P=P+1|0))>=(0|G)){A=3;break}}3!=(0|A)?12==(0|A)&&C(22522,22569,571,22579):T=I}}function yA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,a=0,f=0,o=0,l=0;n=T,T=T+128|0,a=n,o=20240,l=60+(f=t=n+64|0)|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));o=20304,l=(f=a)+60|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));t=(l=0==(0|SA(0|i[e>>2])))?t:a,wA(a=A+4|0),BA(a),0|SA(0|i[e>>2])&&(uA(a),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],eA(a,t,e=r+4|0),$(e),i[r+16>>2]=i[A>>2],eA(a,t+12|0,e=r+20|0),$(e),i[r+32>>2]=i[A>>2],eA(a,t+24|0,e=r+36|0),$(e),i[r+48>>2]=i[A>>2],eA(a,t+36|0,e=r+52|0),$(e),i[r+64>>2]=i[A>>2],eA(a,t+48|0,r=r+68|0),$(r),T=n}function IA(A,e,r,n){r|=0;var t,a,f,o,l,u,c,s=0,b=0,g=0,d=0;if(u=T,T=T+32|0,l=u+12|0,a=u,d=0|i[16960+((e|=0)<<2)>>2],d=(o=0!=(0|(n|=0)))?3*d|0:d,s=0|i[(c=4+(A|=0)|0)>>2],t=0|i[(f=A+8|0)>>2],o){if((0|(s=t+s+(n=0|i[(b=A+12|0)>>2])|0))==(0|d))return T=u,1;g=b}else s=t+s+(n=0|i[(g=A+12|0)>>2])|0;if((0|s)<=(0|d))return T=u,0;do{if((0|n)>0){if(n=0|i[A>>2],(0|t)>0){b=18640+(80*n|0)+60|0,n=A;break}n=18640+(80*n|0)+40|0,r?(j(l,d,0,0),rA(c,l,a),bA(a),eA(a,l,c),b=n,n=A):(b=n,n=A)}else b=18640+(80*(0|i[A>>2])|0)+20|0,n=A}while(0);if(i[n>>2]=i[b>>2],(0|i[(s=b+16|0)>>2])>0){n=0;do{sA(c),n=n+1|0}while((0|n)<(0|i[s>>2]))}return i[l>>2]=i[(A=b+4|0)>>2],i[l+4>>2]=i[A+4>>2],i[l+8>>2]=i[A+8>>2],e=0|i[16880+(e<<2)>>2],nA(l,o?3*e|0:e),eA(c,l,c),$(c),T=u,0|(o&&((0|i[f>>2])+(0|i[c>>2])+(0|i[g>>2])|0)==(0|d)?1:2)}function FA(A,e){A|=0,e|=0;var r=0;do{r=0|IA(A,e,0,1)}while(2==(0|r));return 0|r}function pA(A,e,r,n,a){A|=0,r|=0,n|=0,a|=0;var f,o,l,u,c,s,b,g,d,w,B,k,h,m,D,Q,E,v,_=0,M=0,y=0,I=0,F=0;if(v=T,T=T+240|0,m=v+208|0,D=v,Q=v+192|0,E=v+176|0,d=v+160|0,w=v+144|0,B=v+128|0,k=v+112|0,h=v+96|0,i[(_=v+224|0)>>2]=e|=0,i[m>>2]=i[A>>2],i[m+4>>2]=i[A+4>>2],i[m+8>>2]=i[A+8>>2],i[m+12>>2]=i[A+12>>2],TA(m,_,D),i[a>>2]=0,(0|(g=n+r+(6==(0|n)&1)|0))<=(0|r))T=v;else{o=r+6|0,l=16960+((f=0|i[_>>2])<<2)|0,u=w+8|0,c=B+8|0,s=k+8|0,b=Q+4|0,M=0,y=r,n=-1;A:for(;;){if(i[Q>>2]=i[(A=D+((_=(0|y)%6|0)<<4)|0)>>2],i[Q+4>>2]=i[A+4>>2],i[Q+8>>2]=i[A+8>>2],i[Q+12>>2]=i[A+12>>2],A=M,M=0|IA(Q,f,0,1),(0|y)>(0|r)&0!=(0|SA(e))&&1!=(0|A)&&(0|i[Q>>2])!=(0|n)){switch(AA(D+(((_+5|0)%6|0)<<4)+4|0,E),AA(D+(_<<4)+4|0,d),t[w>>3]=3*(I=+(0|i[l>>2])),t[u>>3]=0,t[B>>3]=F=-1.5*I,t[c>>3]=2.598076211353316*I,t[k>>3]=F,t[s>>3]=-2.598076211353316*I,0|i[17040+(80*(_=0|i[m>>2])|0)+(((0|n)==(0|_)?0|i[Q>>2]:n)<<2)>>2]){case 1:A=B,n=w;break;case 3:A=k,n=B;break;case 2:A=w,n=k;break;default:A=8;break A}we(E,d,n,A,h),0|Be(E,h)||0|Be(d,h)||(_A(h,0|i[m>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2]))}if((0|y)<(0|o)&&(AA(b,E),_A(E,0|i[Q>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])),(0|(y=y+1|0))>=(0|g)){A=3;break}n=0|i[Q>>2]}3!=(0|A)?8==(0|A)&&C(22606,22569,736,22651):T=v}}function TA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,a=0,f=0,o=0,l=0;n=T,T=T+160|0,a=n,o=20368,l=72+(f=t=n+80|0)|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));o=20448,l=(f=a)+72|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));t=(l=0==(0|SA(0|i[e>>2])))?t:a,wA(a=A+4|0),BA(a),0|SA(0|i[e>>2])&&(uA(a),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],eA(a,t,e=r+4|0),$(e),i[r+16>>2]=i[A>>2],eA(a,t+12|0,e=r+20|0),$(e),i[r+32>>2]=i[A>>2],eA(a,t+24|0,e=r+36|0),$(e),i[r+48>>2]=i[A>>2],eA(a,t+36|0,e=r+52|0),$(e),i[r+64>>2]=i[A>>2],eA(a,t+48|0,e=r+68|0),$(e),i[r+80>>2]=i[A>>2],eA(a,t+60|0,r=r+84|0),$(r),T=n}function PA(A,e){return e=0|He(0|(A|=0),0|(e|=0),45),_(),127&e|0}function GA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0;if(!(!0&134217728==(-16777216&(e|=0)|0)))return 0;if(a=0|He(0|(A|=0),0|e,45),_(),(a&=127)>>>0>121)return 0;r=0|He(0|A,0|e,52),_(),r&=15;do{if(0|r){for(i=1,n=0;;){if(t=0|He(0|A,0|e,3*(15-i|0)|0),_(),0!=(0|(t&=7))&(1^n)){if(1==(0|t)&0!=(0|x(a))){f=0,n=13;break}n=1}if(7==(0|t)){f=0,n=13;break}if(!(i>>>0<r>>>0)){n=9;break}i=i+1|0}if(9==(0|n)){if(15!=(0|r))break;return 1}if(13==(0|n))return 0|f}}while(0);for(;;){if(f=0|He(0|A,0|e,3*(14-r|0)|0),_(),!(7==(7&f|0)&!0)){f=0,n=13;break}if(!(r>>>0<14)){f=1,n=13;break}r=r+1|0}return 13==(0|n)?0|f:0}function LA(A,e,r,n){r|=0,n|=0;var t=0,a=0;if(a=0|He(0|(A|=0),0|(e|=0),52),_(),r>>>0>15)return 4;if((0|(a&=15))<(0|r))return 12;if((0|a)==(0|r))return i[n>>2]=A,i[n+4>>2]=e,0;if(t=0|ze(0|r,0,52),t|=A,A=0|_()|-15728641&e,(0|a)>(0|r))do{e=0|ze(7,0,3*(14-r|0)|0),r=r+1|0,t|=e,A=0|_()|A}while((0|r)<(0|a));return i[n>>2]=t,i[n+4>>2]=A,0}function UA(A,e,r,n){r|=0,n|=0;var t=0,a=0,f=0;if(a=0|He(0|(A|=0),0|(e|=0),52),_(),!((0|r)<16&(0|(a&=15))<=(0|r)))return 4;t=r-a|0,r=0|He(0|A,0|e,45),_();A:do{if(0|x(127&r)){e:do{if(0|a){for(r=1;0==((f=0|ze(7,0,3*(15-r|0)|0))&A|0)&0==((0|_())&e|0);){if(!(r>>>0<a>>>0))break e;r=r+1|0}r=0|ce(7,0,t,((0|t)<0)<<31>>31),t=0|_();break A}}while(0);r=0|Te(0|(r=0|Ve(0|(r=0|ce(7,0,t,((0|t)<0)<<31>>31)),0|_(),5,0)),0|_(),-5,-1),r=0|Te(0|(r=0|Ue(0|r,0|_(),6,0)),0|_(),1,0),t=0|_()}else r=0|ce(7,0,t,((0|t)<0)<<31>>31),t=0|_()}while(0);return i[(f=n)>>2]=r,i[f+4>>2]=t,0}function VA(A,e){var r=0,n=0,i=0;if(i=0|He(0|(A|=0),0|(e|=0),45),_(),!(0|x(127&i)))return 0;i=0|He(0|A,0|e,52),_(),i&=15;A:do{if(i)for(n=1;;){if(r=0|He(0|A,0|e,3*(15-n|0)|0),_(),0|(r&=7))break A;if(!(n>>>0<i>>>0)){r=0;break}n=n+1|0}else r=0}while(0);return 0|0==(0|r)&1}function RA(A,e){var r=0,n=0,i=0;if(i=0|He(0|(A|=0),0|(e|=0),52),_(),!(i&=15))return 0;for(n=1;;){if(r=0|He(0|A,0|e,3*(15-n|0)|0),_(),0|(r&=7)){n=5;break}if(!(n>>>0<i>>>0)){r=0,n=5;break}n=n+1|0}return 5==(0|n)?0|r:0}function YA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0,o=0;if(o=0|He(0|(A|=0),0|(e|=0),52),_(),!(o&=15))return o=A,v(0|(f=e)),0|o;for(f=1,r=0;;){n=0|ze(7,0,0|(t=3*(15-f|0)|0)),i=0|_(),a=0|He(0|A,0|e,0|t),_(),A=(t=0|ze(0|gA(7&a),0,0|t))|A&~n,e=(a=0|_())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(a&i|0))r=0;else if(n=0|He(0|A,0|e,52),_(),n&=15){r=1;e:for(;;){switch(a=0|He(0|A,0|e,3*(15-r|0)|0),_(),7&a){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(i=0|He(0|A,0|e,0|(a=3*(15-r|0)|0)),_(),t=0|ze(7,0,0|a),e&=~(0|_()),A=A&~t|(a=0|ze(0|gA(7&i),0,0|a)),e=0|e|_(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<o>>>0))break;f=f+1|0}return v(0|e),0|A}function xA(A,e){var r=0,n=0,i=0,t=0,a=0;if(n=0|He(0|(A|=0),0|(e|=0),52),_(),!(n&=15))return n=A,v(0|(r=e)),0|n;for(r=1;a=0|He(0|A,0|e,0|(t=3*(15-r|0)|0)),_(),i=0|ze(7,0,0|t),e&=~(0|_()),A=(t=0|ze(0|gA(7&a),0,0|t))|A&~i,e=0|_()|e,r>>>0<n>>>0;)r=r+1|0;return v(0|e),0|A}function HA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0,o=0;if(o=0|He(0|(A|=0),0|(e|=0),52),_(),!(o&=15))return o=A,v(0|(f=e)),0|o;for(f=1,r=0;;){n=0|ze(7,0,0|(t=3*(15-f|0)|0)),i=0|_(),a=0|He(0|A,0|e,0|t),_(),A=(t=0|ze(0|dA(7&a),0,0|t))|A&~n,e=(a=0|_())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(a&i|0))r=0;else if(n=0|He(0|A,0|e,52),_(),n&=15){r=1;e:for(;;){switch(a=0|He(0|A,0|e,3*(15-r|0)|0),_(),7&a){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(t=0|ze(7,0,0|(i=3*(15-r|0)|0)),a=e&~(0|_()),e=0|He(0|A,0|e,0|i),_(),A=A&~t|(e=0|ze(0|dA(7&e),0,0|i)),e=0|a|_(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<o>>>0))break;f=f+1|0}return v(0|e),0|A}function zA(A,e){var r=0,n=0,i=0,t=0,a=0;if(n=0|He(0|(A|=0),0|(e|=0),52),_(),!(n&=15))return n=A,v(0|(r=e)),0|n;for(r=1;t=0|ze(7,0,0|(a=3*(15-r|0)|0)),i=e&~(0|_()),e=0|He(0|A,0|e,0|a),_(),A=(e=0|ze(0|dA(7&e),0,0|a))|A&~t,e=0|_()|i,r>>>0<n>>>0;)r=r+1|0;return v(0|e),0|A}function SA(A){return 0|(0|(A|=0))%2}function OA(A,e,r){r|=0;var n,t=0;return n=T,T=T+16|0,t=n,(e|=0)>>>0>15?(T=n,0|(t=4)):2146435072==(2146435072&i[4+(A|=0)>>2]|0)?(T=n,0|(t=3)):2146435072==(2146435072&i[A+8+4>>2]|0)?(T=n,0|(t=3)):(function(A,e,r){var n,i;n=T,T=T+16|0,vA(A|=0,e|=0,r|=0,i=n),q(i,r+4|0),T=n}(A,e,t),e=0|function(A,e){A|=0;var r,n=0,t=0,a=0,f=0,o=0,l=0,u=0,c=0;if(r=T,T=T+64|0,l=r+40|0,t=r+24|0,a=r+12|0,f=r,ze(0|(e|=0),0,52),n=134225919|_(),!e)return(0|i[A+4>>2])>2?(l=0,v(0|(o=0)),T=r,0|l):(0|i[A+8>>2])>2?(l=0,v(0|(o=0)),T=r,0|l):(0|i[A+12>>2])>2?(l=0,v(0|(o=0)),T=r,0|l):(ze(0|z(A),0,45),o=0|_()|n,l=-1,v(0|o),T=r,0|l);if(i[l>>2]=i[A>>2],i[l+4>>2]=i[A+4>>2],i[l+8>>2]=i[A+8>>2],i[l+12>>2]=i[A+12>>2],o=l+4|0,(0|e)>0)for(A=-1;i[t>>2]=i[o>>2],i[t+4>>2]=i[o+4>>2],i[t+8>>2]=i[o+8>>2],1&e?(fA(o),i[a>>2]=i[o>>2],i[a+4>>2]=i[o+4>>2],i[a+8>>2]=i[o+8>>2],lA(a)):(oA(o),i[a>>2]=i[o>>2],i[a+4>>2]=i[o+4>>2],i[a+8>>2]=i[o+8>>2],uA(a)),rA(t,a,f),$(f),u=0|ze(7,0,0|(c=3*(15-e|0)|0)),n&=~(0|_()),A=(c=0|ze(0|iA(f),0,0|c))|A&~u,n=0|_()|n,(0|e)>1;)e=e+-1|0;else A=-1;A:do{if((0|i[o>>2])<=2&&(0|i[l+8>>2])<=2&&(0|i[l+12>>2])<=2){if(e=0|ze(0|(t=0|z(l)),0,45),e|=A,A=0|_()|-1040385&n,f=0|S(l),!(0|x(t))){if((0|f)<=0)break;for(a=0;;){if(t=0|He(0|e,0|A,52),_(),t&=15)for(n=1;l=0|He(0|e,0|A,0|(c=3*(15-n|0)|0)),_(),u=0|ze(7,0,0|c),A&=~(0|_()),e=e&~u|(c=0|ze(0|gA(7&l),0,0|c)),A=0|A|_(),n>>>0<t>>>0;)n=n+1|0;if((0|(a=a+1|0))==(0|f))break A}}a=0|He(0|e,0|A,52),_(),a&=15;e:do{if(a){n=1;r:for(;;){switch(c=0|He(0|e,0|A,3*(15-n|0)|0),_(),7&c){case 1:break r;case 0:break;default:break e}if(!(n>>>0<a>>>0))break e;n=n+1|0}if(0|O(t,0|i[l>>2]))for(n=1;u=0|ze(7,0,0|(l=3*(15-n|0)|0)),c=A&~(0|_()),A=0|He(0|e,0|A,0|l),_(),e=e&~u|(A=0|ze(0|dA(7&A),0,0|l)),A=0|c|_(),n>>>0<a>>>0;)n=n+1|0;else for(n=1;l=0|He(0|e,0|A,0|(c=3*(15-n|0)|0)),_(),u=0|ze(7,0,0|c),A&=~(0|_()),e=e&~u|(c=0|ze(0|gA(7&l),0,0|c)),A=0|A|_(),n>>>0<a>>>0;)n=n+1|0}}while(0);if((0|f)>0){n=0;do{e=0|YA(e,A),A=0|_(),n=n+1|0}while((0|n)!=(0|f))}}else e=0,A=0}while(0);return c=e,v(0|(u=A)),T=r,0|c}(t,e),t=0|_(),i[r>>2]=e,i[r+4>>2]=t,0==(0|e)&0==(0|t)&&C(23313,22674,786,22697),T=n,0|(t=0))}function ZA(A,e,r){var n,t=0,a=0,f=0;if(n=4+(r|=0)|0,a=0|He(0|(A|=0),0|(e|=0),52),_(),a&=15,f=0|He(0|A,0|e,45),_(),t=0==(0|a),0|x(127&f)){if(t)return 1;t=1}else{if(t)return 0;t=0==(0|i[n>>2])&&0==(0|i[r+8>>2])?0!=(0|i[r+12>>2])&1:1}for(r=1;1&r?lA(n):uA(n),f=0|He(0|A,0|e,3*(15-r|0)|0),_(),cA(n,7&f),r>>>0<a>>>0;)r=r+1|0;return 0|t}function NA(A,e,r){r|=0;var n,t,a=0,f=0,o=0,l=0,u=0,c=0;if(t=T,T=T+16|0,n=t,c=0|He(0|(A|=0),0|(e|=0),45),_(),(c&=127)>>>0>121)return i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,T=t,5;A:do{if(0!=(0|x(c))&&(o=0|He(0|A,0|e,52),_(),0!=(0|(o&=15)))){a=1;e:for(;;){switch(u=0|He(0|A,0|e,3*(15-a|0)|0),_(),7&u){case 5:break e;case 0:break;default:a=e;break A}if(!(a>>>0<o>>>0)){a=e;break A}a=a+1|0}for(f=1,a=e;l=0|ze(7,0,0|(e=3*(15-f|0)|0)),u=a&~(0|_()),a=0|He(0|A,0|a,0|e),_(),A=A&~l|(a=0|ze(0|dA(7&a),0,0|e)),a=0|u|_(),f>>>0<o>>>0;)f=f+1|0}else a=e}while(0);if(i[r>>2]=i[(u=7696+(28*c|0)|0)>>2],i[r+4>>2]=i[u+4>>2],i[r+8>>2]=i[u+8>>2],i[r+12>>2]=i[u+12>>2],!(0|ZA(A,a,r)))return T=t,0;if(i[n>>2]=i[(l=r+4|0)>>2],i[n+4>>2]=i[l+4>>2],i[n+8>>2]=i[l+8>>2],o=0|He(0|A,0|a,52),_(),u=15&o,1&o?(uA(l),o=u+1|0):o=u,0|x(c)){A:do{if(u)for(e=1;;){if(f=0|He(0|A,0|a,3*(15-e|0)|0),_(),0|(f&=7)){a=f;break A}if(!(e>>>0<u>>>0)){a=0;break}e=e+1|0}else a=0}while(0);a=4==(0|a)&1}else a=0;if(0|IA(r,o,a,0)){if(0|x(c))do{}while(0!=(0|IA(r,o,0,0)));(0|o)!=(0|u)&&oA(l)}else(0|o)!=(0|u)&&(i[l>>2]=i[n>>2],i[l+4>>2]=i[n+4>>2],i[l+8>>2]=i[n+8>>2]);return T=t,0}function WA(A,e,r){r|=0;var n,i,t=0;return i=T,T=T+16|0,0|(t=0|NA(A|=0,e|=0,n=i))?(T=i,0|t):(t=0|He(0|A,0|e,52),_(),CA(n,15&t,r),T=i,0|(t=0))}function KA(A,e,r){r|=0;var n,i,t=0,a=0;if(n=T,T=T+16|0,0|(t=0|NA(A|=0,e|=0,i=n)))return T=n,0|t;t=0|He(0|A,0|e,45),_(),t=0==(0|x(127&t)),a=0|He(0|A,0|e,52),_(),a&=15;A:do{if(!t){if(0|a)for(t=1;;){if(!(0==((0|ze(7,0,3*(15-t|0)|0))&A|0)&0==((0|_())&e|0)))break A;if(!(t>>>0<a>>>0))break;t=t+1|0}return MA(i,a,0,5,r),T=n,0}}while(0);return pA(i,a,0,6,r),T=n,0}function JA(A,e){e|=0;var r,n=0,t=0,a=0,f=0,o=0,l=0;if((A|=0)>>>0>15)return 4;if(ze(0|A,0,52),r=134225919|_(),!A){n=0,t=0;do{0|x(t)&&(ze(0|t,0,45),o=0|r|_(),i[(A=e+(n<<3)|0)>>2]=-1,i[A+4>>2]=o,n=n+1|0),t=t+1|0}while(122!=(0|t));return 0}n=0,o=0;do{if(0|x(o)){for(ze(0|o,0,45),t=1,a=-1,f=0|r|_();a&=~(l=0|ze(7,0,3*(15-t|0)|0)),f&=~(0|_()),(0|t)!=(0|A);)t=t+1|0;i[(l=e+(n<<3)|0)>>2]=a,i[l+4>>2]=f,n=n+1|0}o=o+1|0}while(122!=(0|o));return 0}function XA(A,e,r,n){A|=0,n|=0;var t=0,a=0;t=0|He(0|(e|=0),0|(r|=0),52),_(),0==(0|e)&0==(0|r)|(0|n)>15|(0|(t&=15))>(0|n)?(n=-1,t=-1,e=0,r=0):(a=0|function(A,e,r,n){return A|=0,e|=0,(0|(n|=0))<(0|(r|=0))?(n=A,v(0|(r=e)),0|n):(r=0|ze(-1,-1,3+(3*(n-r|0)|0)|0),n=0|ze(0|~r,0|~(0|_()),3*(15-n|0)|0),r=~(0|_())&e,n=~n&A,v(0|r),0|n)}(e,r,t+1|0,n),r=-15728641&(0|_()),e=0|ze(0|n,0,52),n=(a=0==(0|VA(e|=a,r=0|r|_())))?-1:n),i[(a=A)>>2]=e,i[a+4>>2]=r,i[A+8>>2]=t,i[A+12>>2]=n}function jA(A){var e,r=0,n=0,t=0,a=0,f=0,o=0,l=0,u=0;if(!(0==(0|(r=0|i[(n=A|=0)>>2]))&0==(0|(n=0|i[n+4>>2]))||(t=0|He(0|r,0|n,52),_(),r=0|Te(0|(l=0|ze(1,0,3*(15^(t&=15))|0)),0|_(),0|r,0|n),n=0|_(),i[(l=A)>>2]=r,i[l+4>>2]=n,(0|t)<(0|(o=0|i[(l=A+8|0)>>2]))))){for(e=A+12|0,f=t;;){if((0|f)==(0|o)){t=5;break}if(u=(0|f)==(0|i[e>>2]),t=0|He(0|r,0|n,0|(a=3*(15-f|0)|0)),_(),u&1==(0|(t&=7))&!0){t=7;break}if(!(7==(0|t)&!0)){t=10;break}if(r=0|Te(0|r,0|n,0|(u=0|ze(1,0,0|a)),0|_()),n=0|_(),i[(u=A)>>2]=r,i[u+4>>2]=n,!((0|f)>(0|o))){t=10;break}f=f+-1|0}if(5==(0|t))return i[(u=A)>>2]=0,i[u+4>>2]=0,i[l>>2]=-1,void(i[e>>2]=-1);if(7==(0|t))return o=0|Te(0|r,0|n,0|(o=0|ze(1,0,0|a)),0|_()),l=0|_(),i[(u=A)>>2]=o,i[u+4>>2]=l,void(i[e>>2]=f+-1)}}function qA(A){var e;return e=(A=+A)<0?A+6.283185307179586:A,+(A>=6.283185307179586?e+-6.283185307179586:e)}function $A(A,e){return+l(+(+t[(A|=0)>>3]-+t[(e|=0)>>3]))<1.7453292519943298e-11?0|(e=+l(+(+t[A+8>>3]-+t[e+8>>3]))<1.7453292519943298e-11):0|(e=0)}function Ae(A,e){var r,n,i,a=0;return a=(i=+b(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+b(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+s(+n)*+s(+r)*a),2*+k(+ +u(+a),+ +u(+(1-a)))*6371.007180918475}function ee(A,e){e|=0;var r=0;return(A|=0)>>>0>15?0|(e=4):(r=0|Ve(0|(r=0|ce(7,0,A,((0|A)<0)<<31>>31)),0|_(),120,0),A=0|_(),i[e>>2]=2|r,i[e+4>>2]=A,0|(e=0))}function re(A,e,r){r|=0;var n,i,a,f,o=0,l=0,c=0,d=0,w=0,h=0;return w=+b(.5*((h=+t[(e|=0)>>3])-(a=+t[(A|=0)>>3]))),d=+b(.5*((c=+t[e+8>>3])-(i=+t[A+8>>3]))),n=+s(+a),f=+s(+h),d=2*+k(+ +u(+(d=w*w+d*(f*n*d))),+ +u(+(1-d))),h=+b(.5*((w=+t[r>>3])-h)),c=+b(.5*((o=+t[r+8>>3])-c)),l=+s(+w),c=2*+k(+ +u(+(c=h*h+c*(f*l*c))),+ +u(+(1-c))),w=+b(.5*(a-w)),o=+b(.5*(i-o)),o=2*+k(+ +u(+(o=w*w+o*(n*l*o))),+ +u(+(1-o))),4*+B(+ +u(+ +g(.5*(l=.5*(d+c+o)))*+g(.5*(l-d))*+g(.5*(l-c))*+g(.5*(l-o))))}function ne(A,e,r){r|=0;var n,a,f,o=0,l=0;if(f=T,T=T+192|0,a=f,0|(l=0|WA(A|=0,e|=0,n=f+168|0)))return T=f,0|l;if(0|KA(A,e,a)&&C(23313,22742,386,22751),(0|(e=0|i[a>>2]))>0){if(o=+re(a+8|0,a+8+((1!=(0|e)&1)<<4)|0,n)+0,1!=(0|e)){A=1;do{o+=+re(a+8+((l=A)<<4)|0,a+8+(((0|(A=A+1|0))%(0|e)|0)<<4)|0,n)}while((0|A)<(0|e))}}else o=0;return t[r>>3]=o,T=f,0}function ie(A){A|=0;var e,r,n=0;return(e=0|pe(1,12))||C(22832,22787,49,22845),0|(n=0|i[(r=A+4|0)>>2])?(i[(n=n+8|0)>>2]=e,i[r>>2]=e,0|e):(0|i[A>>2]&&C(22862,22787,61,22885),i[(n=A)>>2]=e,i[r>>2]=e,0|e)}function te(A,e){var r,n;return A|=0,e|=0,(n=0|Ie(24))||C(22899,22787,78,22913),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[n+16>>2]=0,0|(r=0|i[(e=A+4|0)>>2])?(i[r+16>>2]=n,i[e>>2]=n,0|n):(0|i[A>>2]&&C(22928,22787,82,22913),i[A>>2]=n,i[e>>2]=n,0|n)}function ae(A){var e=0,r=0,n=0,t=0;if(A|=0)for(n=1;;){if(0|(e=0|i[A>>2]))do{if(0|(r=0|i[e>>2]))do{t=r,r=0|i[r+16>>2],Fe(t)}while(0!=(0|r));t=e,e=0|i[e+8>>2],Fe(t)}while(0!=(0|e));if(e=A,A=0|i[A+8>>2],n||Fe(e),!A)break;n=0}}function fe(A){var e,r,n=0,a=0,f=0,o=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0,E=0,v=0,_=0,M=0,y=0,I=0,F=0,p=0,T=0,P=0,G=0,L=0,U=0;if(0|i[(o=8+(A|=0)|0)>>2])return 1;if(!(f=0|i[A>>2]))return 0;n=f,a=0;do{a=a+1|0,n=0|i[n+8>>2]}while(0!=(0|n));if(a>>>0<2)return 0;(r=0|Ie(a<<2))||C(22948,22787,317,22967),(e=0|Ie(a<<5))||C(22989,22787,321,22967),i[A>>2]=0,i[(y=A+4|0)>>2]=0,i[o>>2]=0,a=0,G=0,M=0,w=0;A:for(;;){if(d=0|i[f>>2]){u=0,c=d;do{if(n=c,+l(+((b=+t[c+8>>3])-(s=+t[(o=(g=0==(0|(c=0|i[c+16>>2])))?d:c)+8>>3])))>3.141592653589793){U=14;break}u+=(s-b)*(+t[n>>3]+ +t[o>>3])}while(!g);if(14==(0|U)){U=0,u=0,n=d;do{u+=(+t[n>>3]+ +t[(T=0==(0|(T=0|i[(P=n+16|0)>>2]))?d:T)>>3])*(((v=+t[T+8>>3])<0?v+6.283185307179586:v)-((_=+t[n+8>>3])<0?_+6.283185307179586:_)),n=0|i[(0==(0|n)?f:P)>>2]}while(0!=(0|n))}u>0?(i[r+(G<<2)>>2]=f,G=G+1|0,o=M,n=w):U=19}else U=19;if(19==(0|U)){U=0;do{if(!a){if(w){o=y,c=w+8|0,n=f,a=A;break}if(0|i[A>>2]){U=27;break A}o=y,c=A,n=f,a=A;break}if(0|i[(n=a+8|0)>>2]){U=21;break A}if(!(a=0|pe(1,12))){U=23;break A}i[n>>2]=a,o=a+4|0,c=a,n=w}while(0);if(i[c>>2]=f,i[o>>2]=f,c=e+(M<<5)|0,g=0|i[f>>2]){for(t[(d=e+(M<<5)+8|0)>>3]=1.7976931348623157e308,t[(w=e+(M<<5)+24|0)>>3]=1.7976931348623157e308,t[c>>3]=-1.7976931348623157e308,t[(B=e+(M<<5)+16|0)>>3]=-1.7976931348623157e308,Q=1.7976931348623157e308,E=-1.7976931348623157e308,o=0,k=g,b=1.7976931348623157e308,m=1.7976931348623157e308,D=-1.7976931348623157e308,s=-1.7976931348623157e308;u=+t[k>>3],_=+t[k+8>>3],v=+t[((h=0==(0|(k=0|i[k+16>>2])))?g:k)+8>>3],u<b&&(t[d>>3]=u,b=u),_<m&&(t[w>>3]=_,m=_),u>D?t[c>>3]=u:u=D,_>s&&(t[B>>3]=_,s=_),Q=_>0&_<Q?_:Q,E=_<0&_>E?_:E,o|=+l(+(_-v))>3.141592653589793,!h;)D=u;o&&(t[B>>3]=E,t[w>>3]=Q)}else i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0,i[c+16>>2]=0,i[c+20>>2]=0,i[c+24>>2]=0,i[c+28>>2]=0;o=M+1|0}if(f=0|i[(P=f+8|0)>>2],i[P>>2]=0,!f){U=45;break}M=o,w=n}if(21==(0|U))C(22765,22787,35,22799);else if(23==(0|U))C(22819,22787,37,22799);else if(27==(0|U))C(22862,22787,61,22885);else if(45==(0|U)){A:do{if((0|G)>0){for(P=0==(0|o),p=o<<2,T=0==(0|A),F=0,n=0;;){if(I=0|i[r+(F<<2)>>2],P)U=73;else{if(!(M=0|Ie(p))){U=50;break}if(!(y=0|Ie(p))){U=52;break}e:do{if(T)a=0;else{for(o=0,a=0,c=A;0|oe(0|i[c>>2],f=e+(o<<5)|0,0|i[I>>2])?(i[M+(a<<2)>>2]=c,i[y+(a<<2)>>2]=f,h=a+1|0):h=a,c=0|i[c+8>>2];)o=o+1|0,a=h;if((0|h)>0)if(f=0|i[M>>2],1==(0|h))a=f;else for(B=0,k=-1,a=f,w=f;;){for(g=0|i[w>>2],f=0,c=0;d=(0|(o=0|i[i[M+(c<<2)>>2]>>2]))==(0|g)?f:f+(1&(0|oe(o,0|i[y+(c<<2)>>2],0|i[g>>2])))|0,(0|(c=c+1|0))!=(0|h);)f=d;if(a=(o=(0|d)>(0|k))?w:a,(0|(f=B+1|0))==(0|h))break e;B=f,k=o?d:k,w=0|i[M+(f<<2)>>2]}else a=0}}while(0);if(Fe(M),Fe(y),a){if(f=0|i[(o=a+4|0)>>2])a=f+8|0;else if(0|i[a>>2]){U=70;break}i[a>>2]=I,i[o>>2]=I}else U=73}if(73==(0|U)){if(U=0,0|(n=0|i[I>>2]))do{y=n,n=0|i[n+16>>2],Fe(y)}while(0!=(0|n));Fe(I),n=1}if((0|(F=F+1|0))>=(0|G)){L=n;break A}}50==(0|U)?C(23004,22787,249,23023):52==(0|U)?C(23042,22787,252,23023):70==(0|U)&&C(22862,22787,61,22885)}else L=0}while(0);return Fe(r),Fe(e),0|L}return 0}function oe(A,e,r){A|=0;var n=0,a=0,f=0,o=0,l=0,u=0,c=0,s=0;if(!(0|K(e|=0,r|=0)))return 0;if(e=0|W(e),n=+t[r>>3],a=e&(a=+t[r+8>>3])<0?a+6.283185307179586:a,!(A=0|i[A>>2]))return 0;if(e){e=0,c=a,r=A;A:for(;;){for(;o=+t[r>>3],a=+t[r+8>>3],l=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],o>(f=+t[s>>3])?(u=o,o=l):(u=f,f=o,o=a,a=l),(n=n==f|n==u?n+2.220446049250313e-16:n)<f|n>u;)if(!(r=0|i[r>>2])){r=22;break A}if(((u=(l=o<0?o+6.283185307179586:o)+(n-f)/(u-f)*((o=a<0?a+6.283185307179586:a)-l))<0?u+6.283185307179586:u)>(c=l==c|o==c?c+-2.220446049250313e-16:c)&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}else{e=0,c=a,r=A;A:for(;;){for(;o=+t[r>>3],a=+t[r+8>>3],l=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],o>(f=+t[s>>3])?(u=o,o=l):(u=f,f=o,o=a,a=l),(n=n==f|n==u?n+2.220446049250313e-16:n)<f|n>u;)if(!(r=0|i[r>>2])){r=22;break A}if(o+(n-f)/(u-f)*(a-o)>(c=o==c|a==c?c+-2.220446049250313e-16:c)&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}return 0}function le(A,e,r,t,a){r|=0,t|=0,a|=0;var f,o,l,u,c,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0;if(u=T,T=T+32|0,c=u+16|0,l=u,s=0|He(0|(A|=0),0|(e|=0),52),_(),s&=15,k=0|He(0|r,0|t,52),_(),(0|s)!=(15&k|0))return T=u,12;if(w=0|He(0|A,0|e,45),_(),w&=127,B=0|He(0|r,0|t,45),_(),w>>>0>121|(B&=127)>>>0>121)return T=u,5;if(k=(0|w)!=(0|B)){if(7==(0|(g=0|N(w,B))))return T=u,1;7==(0|(d=0|N(B,w)))?C(23066,23090,161,23100):(h=g,b=d)}else h=0,b=0;f=0|x(w),o=0|x(B),i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0;do{if(h){if(g=(0|(B=0|i[4272+(28*w|0)+(h<<2)>>2]))>0,o)if(g){w=0,d=r,g=t;do{d=0|HA(d,g),g=0|_(),1==(0|(b=0|dA(b)))&&(b=0|dA(1)),w=w+1|0}while((0|w)!=(0|B));B=b,w=d,d=g}else B=b,w=r,d=t;else if(g){w=0,d=r,g=t;do{d=0|zA(d,g),g=0|_(),b=0|dA(b),w=w+1|0}while((0|w)!=(0|B));B=b,w=d,d=g}else B=b,w=r,d=t;if(ZA(w,d,c),k||C(23115,23090,191,23100),(g=0!=(0|f))&(b=0!=(0|o))&&C(23142,23090,192,23100),g){if(7==(0|(b=0|RA(A,e)))){s=5;break}if(0|n[21872+(7*b|0)+h>>0]){s=1;break}w=d=0|i[21040+(28*b|0)+(h<<2)>>2]}else if(b){if(7==(0|(b=0|RA(w,d)))){s=5;break}if(0|n[21872+(7*b|0)+B>>0]){s=1;break}w=0,d=0|i[21040+(28*B|0)+(b<<2)>>2]}else w=0,d=0;if((w|d|0)<0)s=5;else{if((0|d)>0){g=c+4|0,b=0;do{bA(g),b=b+1|0}while((0|b)!=(0|d))}if(i[l>>2]=0,i[l+4>>2]=0,i[l+8>>2]=0,cA(l,h),0|s)for(;0|SA(s)?lA(l):uA(l),(0|s)>1;)s=s+-1|0;if((0|w)>0){s=0;do{bA(l),s=s+1|0}while((0|s)!=(0|w))}eA(m=c+4|0,l,m),$(m),m=51}}else if(ZA(r,t,c),0!=(0|f)&0!=(0|o))if((0|B)!=(0|w)&&C(23173,23090,261,23100),7==(0|(b=0|RA(A,e)))|7==(0|(s=0|RA(r,t))))s=5;else if(0|n[21872+(7*b|0)+s>>0])s=1;else if((0|(b=0|i[21040+(28*b|0)+(s<<2)>>2]))>0){g=c+4|0,s=0;do{bA(g),s=s+1|0}while((0|s)!=(0|b));m=51}else m=51;else m=51}while(0);return 51==(0|m)&&(i[a>>2]=i[(s=c+4|0)>>2],i[a+4>>2]=i[s+4>>2],i[a+8>>2]=i[s+8>>2],s=0),T=u,0|s}function ue(A,e,r,n){r|=0,n|=0;var t,a,f,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0;if(f=T,T=T+48|0,t=f+36|0,u=f+24|0,c=f+12|0,s=f,o=0|He(0|(A|=0),0|(e|=0),52),_(),o&=15,g=0|He(0|A,0|e,45),_(),(g&=127)>>>0>121)return T=f,5;if(a=0|x(g),ze(0|o,0,52),B=134225919|_(),i[(l=n)>>2]=-1,i[l+4>>2]=B,!o)return 7==(0|(o=0|iA(r)))?(T=f,0|(B=1)):127==(0|(o=0|Z(g,o)))?(T=f,0|(B=1)):(d=0|ze(0|o,0,45),w=0|_(),w|=-1040385&i[(g=n)+4>>2],i[(B=n)>>2]=i[g>>2]|d,i[B+4>>2]=w,T=f,0|(B=0));for(i[t>>2]=i[r>>2],i[t+4>>2]=i[r+4>>2],i[t+8>>2]=i[r+8>>2],r=o;;){if(l=r,r=r+-1|0,i[u>>2]=i[t>>2],i[u+4>>2]=i[t+4>>2],i[u+8>>2]=i[t+8>>2],0|SA(l)){if(0|(o=0|tA(t))){r=13;break}i[c>>2]=i[t>>2],i[c+4>>2]=i[t+4>>2],i[c+8>>2]=i[t+8>>2],lA(c)}else{if(0|(o=0|aA(t))){r=13;break}i[c>>2]=i[t>>2],i[c+4>>2]=i[t+4>>2],i[c+8>>2]=i[t+8>>2],uA(c)}if(rA(u,c,s),$(s),h=0|i[(o=n)>>2],o=0|i[o+4>>2],k=0|ze(7,0,0|(m=3*(15-l|0)|0)),o&=~(0|_()),m=0|ze(0|iA(s),0,0|m),o=0|_()|o,i[(B=n)>>2]=m|h&~k,i[B+4>>2]=o,(0|l)<=1){r=14;break}}A:do{if(13!=(0|r)&&14==(0|r))if((0|i[t>>2])<=1&&(0|i[t+4>>2])<=1&&(0|i[t+8>>2])<=1){s=127==(0|(o=0|Z(g,r=0|iA(t))))?0:0|x(o);e:do{if(r){if(a){if(7==(0|(o=0|RA(A,e)))){o=5;break A}if((0|(l=0|i[21248+(28*o|0)+(r<<2)>>2]))>0){o=r,r=0;do{o=0|gA(o),r=r+1|0}while((0|r)!=(0|l))}else o=r;if(1==(0|o)){o=9;break A}127==(0|(r=0|Z(g,o)))&&C(23200,23090,411,23230),0|x(r)?C(23245,23090,412,23230):(w=r,d=l,b=o)}else w=o,d=0,b=r;if((0|(c=0|i[4272+(28*g|0)+(b<<2)>>2]))<=-1&&C(23276,23090,419,23230),!s){if((0|d)<0){o=5;break A}if(0|d){o=0,r=0|i[(l=n)>>2],l=0|i[l+4>>2];do{r=0|xA(r,l),l=0|_(),i[(m=n)>>2]=r,i[m+4>>2]=l,o=o+1|0}while((0|o)<(0|d))}if((0|c)<=0){o=w,r=58;break}for(o=0,r=0|i[(l=n)>>2],l=0|i[l+4>>2];;)if(r=0|xA(r,l),l=0|_(),i[(m=n)>>2]=r,i[m+4>>2]=l,(0|(o=o+1|0))==(0|c)){o=w,r=58;break e}}if(7==(0|(u=0|N(w,g)))&&C(23066,23090,428,23230),r=0|i[(o=n)>>2],o=0|i[o+4>>2],(0|c)>0){l=0;do{r=0|xA(r,o),o=0|_(),i[(m=n)>>2]=r,i[m+4>>2]=o,l=l+1|0}while((0|l)!=(0|c))}if(7==(0|(o=0|RA(r,o)))&&C(23313,23090,440,23230),r=0|H(w),(0|(r=0|i[(r?21664:21456)+(28*u|0)+(o<<2)>>2]))<0&&C(23313,23090,454,23230),r){o=0,l=0|i[(u=n)>>2],u=0|i[u+4>>2];do{l=0|YA(l,u),u=0|_(),i[(m=n)>>2]=l,i[m+4>>2]=u,o=o+1|0}while((0|o)<(0|r));o=w,r=58}else o=w,r=58}else if(0!=(0|a)&0!=(0|s)){if(7==(0|(r=0|RA(A,e)))|7==(0|(l=0|RA(0|i[(l=n)>>2],0|i[l+4>>2])))){o=5;break A}if((0|(l=0|i[21248+(28*r|0)+(l<<2)>>2]))<0){o=5;break A}if(l){r=0,u=0|i[(c=n)>>2],c=0|i[c+4>>2];do{u=0|xA(u,c),c=0|_(),i[(m=n)>>2]=u,i[m+4>>2]=c,r=r+1|0}while((0|r)<(0|l));r=58}else r=59}else r=58}while(0);if(58==(0|r)&&s&&(r=59),59==(0|r)&&1==(0|RA(0|i[(m=n)>>2],0|i[m+4>>2]))){o=9;break}k=0|i[(m=n)>>2],m=-1040385&i[m+4>>2],h=0|ze(0|o,0,45),m=0|m|_(),i[(o=n)>>2]=k|h,i[o+4>>2]=m,o=0}else o=1}while(0);return T=f,0|o}function ce(A,e,r,n){A|=0,e|=0;var i=0,t=0,a=0;if(0==(0|(r|=0))&0==(0|(n|=0)))return t=1,v(0|(i=0)),0|t;t=A,i=e,A=1,e=0;do{A=0|Ve(0|((a=0==(1&r|0)&!0)?1:t),0|(a?0:i),0|A,0|e),e=0|_(),r=0|xe(0|r,0|n,1),n=0|_(),t=0|Ve(0|t,0|i,0|t,0|i),i=0|_()}while(!(0==(0|r)&0==(0|n)));return v(0|e),0|A}function se(A,e,r){A|=0;var n,a,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0;if(!(0|K(e|=0,r|=0)))return 0;if(e=0|W(e),f=+t[r>>3],o=e&(o=+t[r+8>>3])<0?o+6.283185307179586:o,(0|(a=0|i[A>>2]))<=0)return 0;if(n=0|i[A+4>>2],e){e=0,g=o,r=-1,A=0;A:for(;;){for(b=A;o=+t[n+(b<<4)+8>>3],c=+t[n+((A=(r+2|0)%(0|a)|0)<<4)+8>>3],(u=+t[n+(b<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=u,u=c):(s=l,l=u,u=o,o=c),(f=f==l|f==s?f+2.220446049250313e-16:f)<l|f>s;){if((0|(r=b+1|0))>=(0|a)){r=22;break A}A=b,b=r,r=A}if(((s=(c=u<0?u+6.283185307179586:u)+(f-l)/(s-l)*((u=o<0?o+6.283185307179586:o)-c))<0?s+6.283185307179586:s)>(g=c==g|u==g?g+-2.220446049250313e-16:g)&&(e^=1),(0|(A=b+1|0))>=(0|a)){r=22;break}r=b}if(22==(0|r))return 0|e}else{e=0,g=o,r=-1,A=0;A:for(;;){for(b=A;o=+t[n+(b<<4)+8>>3],c=+t[n+((A=(r+2|0)%(0|a)|0)<<4)+8>>3],(u=+t[n+(b<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=u,u=c):(s=l,l=u,u=o,o=c),(f=f==l|f==s?f+2.220446049250313e-16:f)<l|f>s;){if((0|(r=b+1|0))>=(0|a)){r=22;break A}A=b,b=r,r=A}if(u+(f-l)/(s-l)*(o-u)>(g=u==g|o==g?g+-2.220446049250313e-16:g)&&(e^=1),(0|(A=b+1|0))>=(0|a)){r=22;break}r=b}if(22==(0|r))return 0|e}return 0}function be(A,e){e|=0;var r,n,a,f,o,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0;if(!(n=0|i[(A|=0)>>2]))return i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,void(i[e+28>>2]=0);if(t[(a=e+8|0)>>3]=1.7976931348623157e308,t[(f=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(o=e+16|0)>>3]=-1.7976931348623157e308,!((0|n)<=0)){for(r=0|i[A+4>>2],B=1.7976931348623157e308,k=-1.7976931348623157e308,h=0,A=-1,b=1.7976931348623157e308,g=1.7976931348623157e308,w=-1.7976931348623157e308,c=-1.7976931348623157e308,m=0;d=+t[r+(m<<4)+8>>3],s=+t[r+(((0|(A=A+2|0))==(0|n)?0:A)<<4)+8>>3],(u=+t[r+(m<<4)>>3])<b&&(t[a>>3]=u,b=u),d<g&&(t[f>>3]=d,g=d),u>w?t[e>>3]=u:u=w,d>c&&(t[o>>3]=d,c=d),B=d>0&d<B?d:B,k=d<0&d>k?d:k,h|=+l(+(d-s))>3.141592653589793,(0|(A=m+1|0))!=(0|n);)D=m,w=u,m=A,A=D;h&&(t[o>>3]=k,t[f>>3]=B)}}function ge(A,e){e|=0;var r,n=0,a=0,f=0,o=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0,E=0,v=0,_=0,C=0;if(k=0|i[(A|=0)>>2]){if(t[(h=e+8|0)>>3]=1.7976931348623157e308,t[(m=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(D=e+16|0)>>3]=-1.7976931348623157e308,(0|k)>0){for(f=0|i[A+4>>2],w=1.7976931348623157e308,B=-1.7976931348623157e308,a=0,n=-1,s=1.7976931348623157e308,b=1.7976931348623157e308,d=-1.7976931348623157e308,u=-1.7976931348623157e308,Q=0;g=+t[f+(Q<<4)+8>>3],c=+t[f+(((0|(_=n+2|0))==(0|k)?0:_)<<4)+8>>3],(o=+t[f+(Q<<4)>>3])<s&&(t[h>>3]=o,s=o),g<b&&(t[m>>3]=g,b=g),o>d?t[e>>3]=o:o=d,g>u&&(t[D>>3]=g,u=g),w=g>0&g<w?g:w,B=g<0&g>B?g:B,a|=+l(+(g-c))>3.141592653589793,(0|(n=Q+1|0))!=(0|k);)_=Q,d=o,Q=n,n=_;a&&(t[D>>3]=B,t[m>>3]=w)}}else i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0;if(!((0|(n=0|i[(_=A+8|0)>>2]))<=0)){r=A+12|0,v=0;do{if(a=v,m=e+((v=v+1|0)<<5)|0,D=0|i[(f=0|i[r>>2])+(a<<3)>>2]){if(t[(Q=e+(v<<5)+8|0)>>3]=1.7976931348623157e308,t[(A=e+(v<<5)+24|0)>>3]=1.7976931348623157e308,t[m>>3]=-1.7976931348623157e308,t[(E=e+(v<<5)+16|0)>>3]=-1.7976931348623157e308,(0|D)>0){for(k=0|i[f+(a<<3)+4>>2],w=1.7976931348623157e308,B=-1.7976931348623157e308,f=0,a=-1,h=0,s=1.7976931348623157e308,b=1.7976931348623157e308,g=-1.7976931348623157e308,u=-1.7976931348623157e308;d=+t[k+(h<<4)+8>>3],c=+t[k+(((0|(a=a+2|0))==(0|D)?0:a)<<4)+8>>3],(o=+t[k+(h<<4)>>3])<s&&(t[Q>>3]=o,s=o),d<b&&(t[A>>3]=d,b=d),o>g?t[m>>3]=o:o=g,d>u&&(t[E>>3]=d,u=d),w=d>0&d<w?d:w,B=d<0&d>B?d:B,f|=+l(+(d-c))>3.141592653589793,(0|(a=h+1|0))!=(0|D);)C=h,h=a,g=o,a=C;f&&(t[E>>3]=B,t[A>>3]=w)}}else i[m>>2]=0,i[m+4>>2]=0,i[m+8>>2]=0,i[m+12>>2]=0,i[m+16>>2]=0,i[m+20>>2]=0,i[m+24>>2]=0,i[m+28>>2]=0,n=0|i[_>>2]}while((0|v)<(0|n))}}function de(A,e,r){var n,t=0;if(!(0|se(A|=0,e|=0,r|=0)))return 0;if((0|i[(n=A+8|0)>>2])<=0)return 1;for(t=A+12|0,A=0;;){if(0|se((0|i[t>>2])+(A<<3)|0,e+((A=A+1|0)<<5)|0,r)){A=0,t=6;break}if((0|A)>=(0|i[n>>2])){A=1,t=6;break}}return 6==(0|t)?0|A:0}function we(A,e,r,n,i){var a,f,o,l,u,c,s,b=0;t[(i|=0)>>3]=(l=+t[(A|=0)>>3])+(o=+t[(e|=0)>>3]-l)*(b=((b=+t[(n|=0)>>3]-(c=+t[(r|=0)>>3]))*((f=+t[A+8>>3])-(s=+t[r+8>>3]))-(l-c)*(u=+t[n+8>>3]-s))/(o*u-(a=+t[e+8>>3]-f)*b)),t[i+8>>3]=f+a*b}function Be(A,e){return+l(+(+t[(A|=0)>>3]-+t[(e|=0)>>3]))<1.1920928955078125e-7?0|(e=+l(+(+t[A+8>>3]-+t[e+8>>3]))<1.1920928955078125e-7):0|(e=0)}function ke(A,e){var r,n,i;return+((i=+t[(A|=0)>>3]-+t[(e|=0)>>3])*i+(n=+t[A+8>>3]-+t[e+8>>3])*n+(r=+t[A+16>>3]-+t[e+16>>3])*r)}function he(A,e,r){r|=0;var n,t,a,f,o=0,l=0,u=0;if(f=T,T=T+32|0,u=f,0|(o=0|NA(A|=0,e|=0,t=f+16|0)))return T=f,0|o;n=0|PA(A,e),a=0|RA(A,e),function(A,e){i[(e|=0)>>2]=i[(A=7696+(28*(A|=0)|0)|0)>>2],i[e+4>>2]=i[A+4>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=i[A+12>>2]}(n,u),o=0|function(A,e){A|=0;var r=0,n=0;if((e|=0)>>>0>20)return-1;do{if((0|i[11120+(216*e|0)>>2])!=(0|A))if((0|i[11120+(216*e|0)+8>>2])!=(0|A))if((0|i[11120+(216*e|0)+16>>2])!=(0|A))if((0|i[11120+(216*e|0)+24>>2])!=(0|A))if((0|i[11120+(216*e|0)+32>>2])!=(0|A))if((0|i[11120+(216*e|0)+40>>2])!=(0|A))if((0|i[11120+(216*e|0)+48>>2])!=(0|A))if((0|i[11120+(216*e|0)+56>>2])!=(0|A))if((0|i[11120+(216*e|0)+64>>2])!=(0|A))if((0|i[11120+(216*e|0)+72>>2])!=(0|A))if((0|i[11120+(216*e|0)+80>>2])!=(0|A))if((0|i[11120+(216*e|0)+88>>2])!=(0|A))if((0|i[11120+(216*e|0)+96>>2])!=(0|A))if((0|i[11120+(216*e|0)+104>>2])!=(0|A))if((0|i[11120+(216*e|0)+112>>2])!=(0|A))if((0|i[11120+(216*e|0)+120>>2])!=(0|A))if((0|i[11120+(216*e|0)+128>>2])!=(0|A)){if((0|i[11120+(216*e|0)+136>>2])!=(0|A)){if((0|i[11120+(216*e|0)+144>>2])==(0|A)){A=0,r=2,n=0;break}if((0|i[11120+(216*e|0)+152>>2])==(0|A)){A=0,r=2,n=1;break}if((0|i[11120+(216*e|0)+160>>2])==(0|A)){A=0,r=2,n=2;break}if((0|i[11120+(216*e|0)+168>>2])==(0|A)){A=1,r=2,n=0;break}if((0|i[11120+(216*e|0)+176>>2])==(0|A)){A=1,r=2,n=1;break}if((0|i[11120+(216*e|0)+184>>2])==(0|A)){A=1,r=2,n=2;break}if((0|i[11120+(216*e|0)+192>>2])==(0|A)){A=2,r=2,n=0;break}if((0|i[11120+(216*e|0)+200>>2])==(0|A)){A=2,r=2,n=1;break}if((0|i[11120+(216*e|0)+208>>2])==(0|A)){A=2,r=2,n=2;break}return-1}A=2,r=1,n=2}else A=2,r=1,n=1;else A=2,r=1,n=0;else A=1,r=1,n=2;else A=1,r=1,n=1;else A=1,r=1,n=0;else A=0,r=1,n=2;else A=0,r=1,n=1;else A=0,r=1,n=0;else A=2,r=0,n=2;else A=2,r=0,n=1;else A=2,r=0,n=0;else A=1,r=0,n=2;else A=1,r=0,n=1;else A=1,r=0,n=0;else A=0,r=0,n=2;else A=0,r=0,n=1;else A=0,r=0,n=0}while(0);return 0|i[11120+(216*e|0)+(72*r|0)+(24*A|0)+(n<<3)+4>>2]}(n,0|i[t>>2]);A:do{if(0|x(n)){switch(0|n){case 4:A=0;break;case 14:A=1;break;case 24:A=2;break;case 38:A=3;break;case 49:A=4;break;case 58:A=5;break;case 63:A=6;break;case 72:A=7;break;case 83:A=8;break;case 97:A=9;break;case 107:A=10;break;case 117:A=11;break;default:o=1;break A}if(l=0|i[22e3+(24*A|0)+8>>2],e=0|i[22e3+(24*A|0)+16>>2],(0|(A=0|i[t>>2]))!=(0|i[u>>2])&&(u=0|H(n))|(0|(A=0|i[t>>2]))==(0|e)&&(o=(o+1|0)%6|0),3==(0|a)&(0|A)==(0|e)){o=(o+5|0)%6|0,l=22;break}5==(0|a)&(0|A)==(0|l)?(o=(o+1|0)%6|0,l=22):l=22}else l=22}while(0);return 22==(0|l)&&(i[r>>2]=o,o=0),T=f,0|o}function me(A,e,r,n){r|=0,n|=0;var t,a,f,o,l,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0;if(l=T,T=T+32|0,m=l+24|0,o=l+20|0,f=l+8|0,a=l+16|0,t=l,g=(g=0==(0|VA(A|=0,e|=0)))?6:5,w=0|He(0|A,0|e,52),_(),g>>>0<=r>>>0)return T=l,2;!(B=0==(0|(w&=15)))&&0==((k=0|ze(7,0,3*(15^w)|0))&A|0)&0==((0|_())&e|0)?u=r:c=4;A:do{if(4==(0|c)){if((0|((u=0!=(0|VA(A,e)))?4:5))<(0|r))return T=l,1;if(0|he(A,e,m))return T=l,1;if(c=(0|i[m>>2])+r|0,7==(0|(k=0|i[(u=u?22288+(((0|c)%5|0)<<2)|0:22320+(((0|c)%6|0)<<2)|0)>>2])))return T=l,1;i[o>>2]=0,u=0|V(A,e,k,o,f);do{if(!u){if(d=0|i[(b=f)>>2],c=(s=(b=0|i[b+4>>2])>>>0<e>>>0|(0|b)==(0|e)&d>>>0<A>>>0)?d:A,s=s?b:e,!B&&0==(d&(B=0|ze(7,0,3*(15^w)|0))|0)&0==(b&(0|_())|0))u=r;else{if(b=(r+-1+g|0)%(0|g)|0,u=0|VA(A,e),(0|b)<0&&C(23313,23315,245,23324),(0|((g=0!=(0|u))?4:5))<(0|b)&&C(23313,23315,245,23324),0|he(A,e,m)&&C(23313,23315,245,23324),u=(0|i[m>>2])+b|0,7==(0|(b=0|i[(u=g?22288+(((0|u)%5|0)<<2)|0:22320+(((0|u)%6|0)<<2)|0)>>2]))&&C(23313,23315,245,23324),i[a>>2]=0,0|(u=0|V(A,e,b,a,t)))break;g=0|i[(d=t)>>2],d=0|i[d+4>>2];do{if(d>>>0<s>>>0|(0|d)==(0|s)&g>>>0<c>>>0){if(c=0|VA(g,d)?0|R(g,d,A,e):0|i[22384+((((0|i[a>>2])+(0|i[22352+(b<<2)>>2])|0)%6|0)<<2)>>2],u=0|VA(g,d),(c+-1|0)>>>0>5){u=-1,c=g,s=d;break}if(1==(0|c)&(u=0!=(0|u))){u=-1,c=g,s=d;break}do{if(!(0|he(g,d,m))){if(u){u=(5+(0|i[21936+(c<<2)>>2])-(0|i[m>>2])|0)%5|0;break}u=(6+(0|i[21968+(c<<2)>>2])-(0|i[m>>2])|0)%6|0;break}u=-1}while(0);c=g,s=d}else u=r}while(0);d=0|i[(b=f)>>2],b=0|i[b+4>>2]}if((0|c)==(0|d)&(0|s)==(0|b)){if(A=(g=0!=(0|VA(d,b)))?0|R(d,b,A,e):0|i[22384+((((0|i[o>>2])+(0|i[22352+(k<<2)>>2])|0)%6|0)<<2)>>2],u=0|VA(d,b),(A+-1|0)>>>0<=5&&!(1==(0|A)&(h=0!=(0|u))))do{if(!(0|he(d,b,m))){if(h){u=(5+(0|i[21936+(A<<2)>>2])-(0|i[m>>2])|0)%5|0;break}u=(6+(0|i[21968+(A<<2)>>2])-(0|i[m>>2])|0)%6|0;break}u=-1}while(0);else u=-1;u=6==(0|(u=u+1|0))|g&5==(0|u)?0:u}e=s,A=c;break A}}while(0);return T=l,0|u}}while(0);return h=0|ze(0|u,0,56),m=0|_()|-2130706433&e|536870912,i[n>>2]=h|A,i[n+4>>2]=m,T=l,0}function De(A,e,r){A|=0,r|=0;var n=0;(0|(e|=0))>0?(n=0|pe(e,4),i[A>>2]=n,n||C(23337,23360,40,23374)):i[A>>2]=0,i[A+4>>2]=e,i[A+8>>2]=0,i[A+12>>2]=r}function Qe(A){var e,r,n,a=0,f=0,o=0,u=0;e=4+(A|=0)|0,r=A+12|0,n=A+8|0;A:for(;;){for(f=0|i[e>>2],a=0;;){if((0|a)>=(0|f))break A;if(u=0|i[(o=0|i[A>>2])+(a<<2)>>2])break;a=a+1|0}a=o+(~~(+l(+ +c(10,+ +(15-(0|i[r>>2])|0))*(+t[u>>3]+ +t[u+8>>3]))%+(0|f))>>>0<<2)|0,f=0|i[a>>2];e:do{if(0|f){if(o=u+32|0,(0|f)==(0|u))i[a>>2]=i[o>>2];else{if(!(a=0|i[(f=f+32|0)>>2]))break;for(;(0|a)!=(0|u);)if(!(a=0|i[(f=a+32|0)>>2]))break e;i[f>>2]=i[o>>2]}Fe(u),i[n>>2]=(0|i[n>>2])-1}}while(0)}Fe(0|i[A>>2])}function Ee(A){var e,r=0,n=0;for(e=0|i[4+(A|=0)>>2],n=0;;){if((0|n)>=(0|e)){r=0,n=4;break}if(r=0|i[(0|i[A>>2])+(n<<2)>>2]){n=4;break}n=n+1|0}return 4==(0|n)?0|r:0}function ve(A,e){e|=0;var r=0,n=0,a=0,f=0;if(r=~~(+l(+ +c(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(n=0|i[(r=(0|i[A>>2])+(r<<2)|0)>>2]))return 1;f=e+32|0;do{if((0|n)!=(0|e)){if(!(r=0|i[n+32>>2]))return 1;for(a=r;;){if((0|a)==(0|e)){a=8;break}if(!(r=0|i[a+32>>2])){r=1,a=10;break}n=a,a=r}if(8==(0|a)){i[n+32>>2]=i[f>>2];break}if(10==(0|a))return 0|r}else i[r>>2]=i[f>>2]}while(0);return Fe(e),i[(f=A+8|0)>>2]=(0|i[f>>2])-1,0}function _e(A,e,r){A|=0,e|=0,r|=0;var n,a=0,f=0,o=0;(n=0|Ie(40))||C(23390,23360,98,23403),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[(f=n+16|0)>>2]=i[r>>2],i[f+4>>2]=i[r+4>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=i[r+12>>2],i[n+32>>2]=0,f=~~(+l(+ +c(10,+ +(15-(0|i[A+12>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,a=0|i[(f=(0|i[A>>2])+(f<<2)|0)>>2];do{if(a){for(;!(0|$A(a,e)&&0|$A(a+16|0,r));)if(!(0|i[(a=0==(0|(f=0|i[a+32>>2]))?a:f)+32>>2])){o=10;break}if(10==(0|o)){i[a+32>>2]=n;break}return Fe(n),0|a}i[f>>2]=n}while(0);return i[(o=A+8|0)>>2]=1+(0|i[o>>2]),0|n}function Ce(A,e,r){e|=0,r|=0;var n=0,a=0;if(a=~~(+l(+ +c(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(a=0|i[(0|i[A>>2])+(a<<2)>>2]))return 0;if(!r){for(A=a;;){if(0|$A(A,e)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}if(10==(0|n))return 0|A}for(A=a;;){if(0|$A(A,e)&&0|$A(A+16|0,r)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}return 10==(0|n)?0|A:0}function Me(A,e){var r;if(e|=0,r=~~(+l(+ +c(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(A=0|i[(0|i[A>>2])+(r<<2)>>2]))return 0;for(;;){if(0|$A(A,e)){e=5;break}if(!(A=0|i[A+32>>2])){A=0,e=5;break}}return 5==(0|e)?0|A:0}function ye(A){return 0|~~+function(A){return+ +Ke(+(A=+A))}(A=+A)}function Ie(A){A|=0;var e,r=0,n=0,t=0,a=0,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0;e=T,T=T+16|0,g=e;do{if(A>>>0<245){if(3&(n=(b=0|i[5857])>>>(A=(c=A>>>0<11?16:A+11&-8)>>>3))|0)return(0|(f=0|i[(a=8+(t=0|i[(n=8+(A=23468+((r=(1&n^1)+A|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|A)?i[5857]=b&~(1<<r):(i[f+12>>2]=A,i[n>>2]=f),i[t+4>>2]=3|(Q=r<<3),i[(Q=t+Q+4|0)>>2]=1|i[Q>>2],T=e,0|a;if(c>>>0>(s=0|i[5859])>>>0){if(0|n)return r=((r=n<<A&((r=2<<A)|0-r))&0-r)-1|0,(0|(n=0|i[(l=8+(f=0|i[(A=8+(r=23468+((t=((n=(r>>>=l=r>>>12&16)>>>5&8)|l|(f=(r>>>=n)>>>2&4)|(A=(r>>>=f)>>>1&2)|(t=(r>>>=A)>>>1&1))+(r>>>t)|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|r)?i[5857]=A=b&~(1<<t):(i[n+12>>2]=r,i[A>>2]=n,A=b),o=(Q=t<<3)-c|0,i[f+4>>2]=3|c,i[4+(a=f+c|0)>>2]=1|o,i[f+Q>>2]=o,0|s&&(t=0|i[5862],n=23468+((r=s>>>3)<<1<<2)|0,A&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5857]=A|r,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5859]=o,i[5862]=a,T=e,0|l;if(f=0|i[5858]){for(n=(f&0-f)-1|0,n=u=0|i[23732+(((t=(n>>>=a=n>>>12&16)>>>5&8)|a|(o=(n>>>=t)>>>2&4)|(l=(n>>>=o)>>>1&2)|(u=(n>>>=l)>>>1&1))+(n>>>u)<<2)>>2],l=u,u=(-8&i[u+4>>2])-c|0;(A=0|i[n+16>>2])||(A=0|i[n+20>>2]);)n=A,l=(a=(o=(-8&i[A+4>>2])-c|0)>>>0<u>>>0)?A:l,u=a?o:u;if((o=l+c|0)>>>0>l>>>0){a=0|i[l+24>>2],r=0|i[l+12>>2];do{if((0|r)==(0|l)){if(!(r=0|i[(A=l+20|0)>>2])&&!(r=0|i[(A=l+16|0)>>2])){n=0;break}for(;;)if(n=0|i[(t=r+20|0)>>2])r=n,A=t;else{if(!(n=0|i[(t=r+16|0)>>2]))break;r=n,A=t}i[A>>2]=0,n=r}else i[12+(n=0|i[l+8>>2])>>2]=r,i[r+8>>2]=n,n=r}while(0);do{if(0|a){if((0|l)==(0|i[(A=23732+((r=0|i[l+28>>2])<<2)|0)>>2])){if(i[A>>2]=n,!n){i[5858]=f&~(1<<r);break}}else if(i[((0|i[(Q=a+16|0)>>2])==(0|l)?Q:a+20|0)>>2]=n,!n)break;i[n+24>>2]=a,0|(r=0|i[l+16>>2])&&(i[n+16>>2]=r,i[r+24>>2]=n),0|(r=0|i[l+20>>2])&&(i[n+20>>2]=r,i[r+24>>2]=n)}}while(0);return u>>>0<16?(i[l+4>>2]=3|(Q=u+c|0),i[(Q=l+Q+4|0)>>2]=1|i[Q>>2]):(i[l+4>>2]=3|c,i[o+4>>2]=1|u,i[o+u>>2]=u,0|s&&(t=0|i[5862],n=23468+((r=s>>>3)<<1<<2)|0,(r=1<<r)&b?r=0|i[(A=n+8|0)>>2]:(i[5857]=r|b,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5859]=u,i[5862]=o),T=e,0|l+8}b=c}else b=c}else b=c}else if(A>>>0<=4294967231)if(c=-8&(A=A+11|0),t=0|i[5858]){a=0-c|0,u=(A>>>=8)?c>>>0>16777215?31:c>>>(7+(u=14-((l=(520192+(B=A<<(b=(A+1048320|0)>>>16&8))|0)>>>16&4)|b|(u=(245760+(B<<=l)|0)>>>16&2))+(B<<u>>>15)|0)|0)&1|u<<1:0,n=0|i[23732+(u<<2)>>2];A:do{if(n)for(A=0,l=c<<(31==(0|u)?0:25-(u>>>1)|0),f=0;;){if((o=(-8&i[n+4>>2])-c|0)>>>0<a>>>0){if(!o){A=n,a=0,B=65;break A}A=n,a=o}if(f=0==(0|(B=0|i[n+20>>2]))|(0|B)==(0|(n=0|i[n+16+(l>>>31<<2)>>2]))?f:B,!n){n=f,B=61;break}l<<=1}else n=0,A=0,B=61}while(0);if(61==(0|B)){if(0==(0|n)&0==(0|A)){if(!(A=((A=2<<u)|0-A)&t)){b=c;break}b=(A&0-A)-1|0,A=0,n=0|i[23732+(((f=(b>>>=o=b>>>12&16)>>>5&8)|o|(l=(b>>>=f)>>>2&4)|(u=(b>>>=l)>>>1&2)|(n=(b>>>=u)>>>1&1))+(b>>>n)<<2)>>2]}n?B=65:(l=A,o=a)}if(65==(0|B))for(f=n;;){if(a=(n=(b=(-8&i[f+4>>2])-c|0)>>>0<a>>>0)?b:a,A=n?f:A,(n=0|i[f+16>>2])||(n=0|i[f+20>>2]),!n){l=A,o=a;break}f=n}if(0!=(0|l)&&o>>>0<((0|i[5859])-c|0)>>>0&&(s=l+c|0)>>>0>l>>>0){f=0|i[l+24>>2],r=0|i[l+12>>2];do{if((0|r)==(0|l)){if(!(r=0|i[(A=l+20|0)>>2])&&!(r=0|i[(A=l+16|0)>>2])){r=0;break}for(;;)if(n=0|i[(a=r+20|0)>>2])r=n,A=a;else{if(!(n=0|i[(a=r+16|0)>>2]))break;r=n,A=a}i[A>>2]=0}else i[12+(Q=0|i[l+8>>2])>>2]=r,i[r+8>>2]=Q}while(0);do{if(f){if((0|l)==(0|i[(n=23732+((A=0|i[l+28>>2])<<2)|0)>>2])){if(i[n>>2]=r,!r){i[5858]=t&=~(1<<A);break}}else if(i[((0|i[(Q=f+16|0)>>2])==(0|l)?Q:f+20|0)>>2]=r,!r)break;i[r+24>>2]=f,0|(A=0|i[l+16>>2])&&(i[r+16>>2]=A,i[A+24>>2]=r),(A=0|i[l+20>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);A:do{if(o>>>0<16)i[l+4>>2]=3|(Q=o+c|0),i[(Q=l+Q+4|0)>>2]=1|i[Q>>2];else{if(i[l+4>>2]=3|c,i[s+4>>2]=1|o,i[s+o>>2]=o,r=o>>>3,o>>>0<256){n=23468+(r<<1<<2)|0,(A=0|i[5857])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5857]=A|r,r=n,A=n+8|0),i[A>>2]=s,i[r+12>>2]=s,i[s+8>>2]=r,i[s+12>>2]=n;break}if(r=23732+((n=(r=o>>>8)?o>>>0>16777215?31:o>>>(7+(n=14-((m=(520192+(Q=r<<(D=(r+1048320|0)>>>16&8))|0)>>>16&4)|D|(n=(245760+(Q<<=m)|0)>>>16&2))+(Q<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[s+28>>2]=n,i[4+(A=s+16|0)>>2]=0,i[A>>2]=0,!(t&(A=1<<n))){i[5858]=t|A,i[r>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break}r=0|i[r>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|o)){for(t=o<<(31==(0|n)?0:25-(n>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|o)){r=A;break e}t<<=1,r=A}i[n>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break A}}while(0);i[12+(Q=0|i[(D=r+8|0)>>2])>>2]=s,i[D>>2]=s,i[s+8>>2]=Q,i[s+12>>2]=r,i[s+24>>2]=0}}while(0);return T=e,0|l+8}b=c}else b=c;else b=-1}while(0);if((n=0|i[5859])>>>0>=b>>>0)return A=0|i[5862],(r=n-b|0)>>>0>15?(i[5862]=Q=A+b|0,i[5859]=r,i[Q+4>>2]=1|r,i[A+n>>2]=r,i[A+4>>2]=3|b):(i[5859]=0,i[5862]=0,i[A+4>>2]=3|n,i[(Q=A+n+4|0)>>2]=1|i[Q>>2]),T=e,0|A+8;if((o=0|i[5860])>>>0>b>>>0)return i[5860]=m=o-b|0,i[5863]=D=(Q=0|i[5863])+b|0,i[D+4>>2]=1|m,i[Q+4>>2]=3|b,T=e,0|Q+8;if(0|i[5975]?A=0|i[5977]:(i[5977]=4096,i[5976]=4096,i[5978]=-1,i[5979]=-1,i[5980]=0,i[5968]=0,i[5975]=-16&g^1431655768,A=4096),l=b+48|0,(c=(f=A+(u=b+47|0)|0)&(a=0-A|0))>>>0<=b>>>0)return T=e,0;if(0|(A=0|i[5967])&&(g=(s=0|i[5965])+c|0)>>>0<=s>>>0|g>>>0>A>>>0)return T=e,0;A:do{if(4&i[5968])r=0,B=143;else{n=0|i[5863];e:do{if(n){for(t=23876;!((g=0|i[t>>2])>>>0<=n>>>0&&(g+(0|i[t+4>>2])|0)>>>0>n>>>0);){if(!(A=0|i[t+8>>2])){B=128;break e}t=A}if((r=f-o&a)>>>0<2147483647)if((0|(A=0|Je(0|r)))==((0|i[t>>2])+(0|i[t+4>>2])|0)){if(-1!=(0|A)){o=r,f=A,B=145;break A}}else t=A,B=136;else r=0}else B=128}while(0);do{if(128==(0|B))if(-1!=(0|(n=0|Je(0)))&&(w=(r=(0==((w=(d=0|i[5976])-1|0)&(r=n)|0)?0:(w+r&0-d)-r|0)+c|0)+(d=0|i[5965])|0,r>>>0>b>>>0&r>>>0<2147483647)){if(0|(g=0|i[5967])&&w>>>0<=d>>>0|w>>>0>g>>>0){r=0;break}if((0|(A=0|Je(0|r)))==(0|n)){o=r,f=n,B=145;break A}t=A,B=136}else r=0}while(0);do{if(136==(0|B)){if(n=0-r|0,!(l>>>0>r>>>0&r>>>0<2147483647&-1!=(0|t))){if(-1==(0|t)){r=0;break}o=r,f=t,B=145;break A}if((A=u-r+(A=0|i[5977])&0-A)>>>0>=2147483647){o=r,f=t,B=145;break A}if(-1==(0|Je(0|A))){Je(0|n),r=0;break}o=A+r|0,f=t,B=145;break A}}while(0);i[5968]=4|i[5968],B=143}}while(0);if(143==(0|B)&&c>>>0<2147483647&&!(-1==(0|(m=0|Je(0|c)))|1^(h=(k=(w=0|Je(0))-m|0)>>>0>(b+40|0)>>>0)|m>>>0<w>>>0&-1!=(0|m)&-1!=(0|w)^1)&&(o=h?k:r,f=m,B=145),145==(0|B)){i[5965]=r=(0|i[5965])+o|0,r>>>0>(0|i[5966])>>>0&&(i[5966]=r),u=0|i[5863];A:do{if(u){for(r=23876;;){if((0|f)==((A=0|i[r>>2])+(n=0|i[r+4>>2])|0)){B=154;break}if(!(t=0|i[r+8>>2]))break;r=t}if(154==(0|B)&&(D=r+4|0,0==(8&i[r+12>>2]|0))&&f>>>0>u>>>0&A>>>0<=u>>>0){i[D>>2]=n+o,D=u+(m=0==(7&(m=u+8|0)|0)?0:0-m&7)|0,m=(Q=(0|i[5860])+o|0)-m|0,i[5863]=D,i[5860]=m,i[D+4>>2]=1|m,i[u+Q+4>>2]=40,i[5864]=i[5979];break}for(f>>>0<(0|i[5861])>>>0&&(i[5861]=f),n=f+o|0,r=23876;;){if((0|i[r>>2])==(0|n)){B=162;break}if(!(A=0|i[r+8>>2]))break;r=A}if(162==(0|B)&&0==(8&i[r+12>>2]|0)){i[r>>2]=f,i[(s=r+4|0)>>2]=(0|i[s>>2])+o,c=(s=f+(0==(7&(s=f+8|0)|0)?0:0-s&7)|0)+b|0,l=(r=n+(0==(7&(r=n+8|0)|0)?0:0-r&7)|0)-s-b|0,i[s+4>>2]=3|b;e:do{if((0|u)==(0|r))i[5860]=Q=(0|i[5860])+l|0,i[5863]=c,i[c+4>>2]=1|Q;else{if((0|i[5862])==(0|r)){i[5859]=Q=(0|i[5859])+l|0,i[5862]=c,i[c+4>>2]=1|Q,i[c+Q>>2]=Q;break}if(1==(3&(A=0|i[r+4>>2])|0)){o=-8&A,t=A>>>3;r:do{if(A>>>0<256){if((0|(n=0|i[r+12>>2]))==(0|(A=0|i[r+8>>2]))){i[5857]=i[5857]&~(1<<t);break}i[A+12>>2]=n,i[n+8>>2]=A;break}f=0|i[r+24>>2],A=0|i[r+12>>2];do{if((0|A)==(0|r)){if(A=0|i[(t=4+(n=r+16|0)|0)>>2])n=t;else if(!(A=0|i[n>>2])){A=0;break}for(;;)if(t=0|i[(a=A+20|0)>>2])A=t,n=a;else{if(!(t=0|i[(a=A+16|0)>>2]))break;A=t,n=a}i[n>>2]=0}else i[12+(Q=0|i[r+8>>2])>>2]=A,i[A+8>>2]=Q}while(0);if(!f)break;t=23732+((n=0|i[r+28>>2])<<2)|0;do{if((0|i[t>>2])==(0|r)){if(i[t>>2]=A,0|A)break;i[5858]=i[5858]&~(1<<n);break r}if(i[((0|i[(Q=f+16|0)>>2])==(0|r)?Q:f+20|0)>>2]=A,!A)break r}while(0);if(i[A+24>>2]=f,0|(t=0|i[(n=r+16|0)>>2])&&(i[A+16>>2]=t,i[t+24>>2]=A),!(n=0|i[n+4>>2]))break;i[A+20>>2]=n,i[n+24>>2]=A}while(0);r=r+o|0,a=o+l|0}else a=l;if(i[(r=r+4|0)>>2]=-2&i[r>>2],i[c+4>>2]=1|a,i[c+a>>2]=a,r=a>>>3,a>>>0<256){n=23468+(r<<1<<2)|0,(A=0|i[5857])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5857]=A|r,r=n,A=n+8|0),i[A>>2]=c,i[r+12>>2]=c,i[c+8>>2]=r,i[c+12>>2]=n;break}r=a>>>8;do{if(r){if(a>>>0>16777215){t=31;break}t=a>>>(7+(t=14-((m=(520192+(Q=r<<(D=(r+1048320|0)>>>16&8))|0)>>>16&4)|D|(t=(245760+(Q<<=m)|0)>>>16&2))+(Q<<t>>>15)|0)|0)&1|t<<1}else t=0}while(0);if(r=23732+(t<<2)|0,i[c+28>>2]=t,i[4+(A=c+16|0)>>2]=0,i[A>>2]=0,!((A=0|i[5858])&(n=1<<t))){i[5858]=A|n,i[r>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break}r=0|i[r>>2];r:do{if((-8&i[r+4>>2]|0)!=(0|a)){for(t=a<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|a)){r=A;break r}t<<=1,r=A}i[n>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break e}}while(0);i[12+(Q=0|i[(D=r+8|0)>>2])>>2]=c,i[D>>2]=c,i[c+8>>2]=Q,i[c+12>>2]=r,i[c+24>>2]=0}}while(0);return T=e,0|s+8}for(r=23876;!((A=0|i[r>>2])>>>0<=u>>>0&&(Q=A+(0|i[r+4>>2])|0)>>>0>u>>>0);)r=0|i[r+8>>2];r=(A=(A=(a=Q+-47|0)+(0==(7&(A=a+8|0)|0)?0:0-A&7)|0)>>>0<(a=u+16|0)>>>0?u:A)+8|0,D=f+(m=0==(7&(m=f+8|0)|0)?0:0-m&7)|0,m=(n=o+-40|0)-m|0,i[5863]=D,i[5860]=m,i[D+4>>2]=1|m,i[f+n+4>>2]=40,i[5864]=i[5979],i[(n=A+4|0)>>2]=27,i[r>>2]=i[5969],i[r+4>>2]=i[5970],i[r+8>>2]=i[5971],i[r+12>>2]=i[5972],i[5969]=f,i[5970]=o,i[5972]=0,i[5971]=r,r=A+24|0;do{D=r,i[(r=r+4|0)>>2]=7}while((D+8|0)>>>0<Q>>>0);if((0|A)!=(0|u)){if(f=A-u|0,i[n>>2]=-2&i[n>>2],i[u+4>>2]=1|f,i[A>>2]=f,r=f>>>3,f>>>0<256){n=23468+(r<<1<<2)|0,(A=0|i[5857])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5857]=A|r,r=n,A=n+8|0),i[A>>2]=u,i[r+12>>2]=u,i[u+8>>2]=r,i[u+12>>2]=n;break}if(n=23732+((t=(r=f>>>8)?f>>>0>16777215?31:f>>>(7+(t=14-((m=(520192+(Q=r<<(D=(r+1048320|0)>>>16&8))|0)>>>16&4)|D|(t=(245760+(Q<<=m)|0)>>>16&2))+(Q<<t>>>15)|0)|0)&1|t<<1:0)<<2)|0,i[u+28>>2]=t,i[u+20>>2]=0,i[a>>2]=0,!((r=0|i[5858])&(A=1<<t))){i[5858]=r|A,i[n>>2]=u,i[u+24>>2]=n,i[u+12>>2]=u,i[u+8>>2]=u;break}r=0|i[n>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|f)){for(t=f<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|f)){r=A;break e}t<<=1,r=A}i[n>>2]=u,i[u+24>>2]=r,i[u+12>>2]=u,i[u+8>>2]=u;break A}}while(0);i[12+(Q=0|i[(D=r+8|0)>>2])>>2]=u,i[D>>2]=u,i[u+8>>2]=Q,i[u+12>>2]=r,i[u+24>>2]=0}}else 0==(0|(Q=0|i[5861]))|f>>>0<Q>>>0&&(i[5861]=f),i[5969]=f,i[5970]=o,i[5972]=0,i[5866]=i[5975],i[5865]=-1,i[5870]=23468,i[5869]=23468,i[5872]=23476,i[5871]=23476,i[5874]=23484,i[5873]=23484,i[5876]=23492,i[5875]=23492,i[5878]=23500,i[5877]=23500,i[5880]=23508,i[5879]=23508,i[5882]=23516,i[5881]=23516,i[5884]=23524,i[5883]=23524,i[5886]=23532,i[5885]=23532,i[5888]=23540,i[5887]=23540,i[5890]=23548,i[5889]=23548,i[5892]=23556,i[5891]=23556,i[5894]=23564,i[5893]=23564,i[5896]=23572,i[5895]=23572,i[5898]=23580,i[5897]=23580,i[5900]=23588,i[5899]=23588,i[5902]=23596,i[5901]=23596,i[5904]=23604,i[5903]=23604,i[5906]=23612,i[5905]=23612,i[5908]=23620,i[5907]=23620,i[5910]=23628,i[5909]=23628,i[5912]=23636,i[5911]=23636,i[5914]=23644,i[5913]=23644,i[5916]=23652,i[5915]=23652,i[5918]=23660,i[5917]=23660,i[5920]=23668,i[5919]=23668,i[5922]=23676,i[5921]=23676,i[5924]=23684,i[5923]=23684,i[5926]=23692,i[5925]=23692,i[5928]=23700,i[5927]=23700,i[5930]=23708,i[5929]=23708,i[5932]=23716,i[5931]=23716,D=f+(m=0==(7&(m=f+8|0)|0)?0:0-m&7)|0,m=(Q=o+-40|0)-m|0,i[5863]=D,i[5860]=m,i[D+4>>2]=1|m,i[f+Q+4>>2]=40,i[5864]=i[5979]}while(0);if((r=0|i[5860])>>>0>b>>>0)return i[5860]=m=r-b|0,i[5863]=D=(Q=0|i[5863])+b|0,i[D+4>>2]=1|m,i[Q+4>>2]=3|b,T=e,0|Q+8}return i[(Q=23424)>>2]=12,T=e,0}function Fe(A){var e=0,r=0,n=0,t=0,a=0,f=0,o=0,l=0;if(A|=0){t=0|i[5861],l=(r=A+-8|0)+(e=-8&(A=0|i[A+-4>>2]))|0;do{if(1&A)o=r,f=r;else{if(!(3&A))return;if(a=(n=0|i[r>>2])+e|0,(f=r+(0-n)|0)>>>0<t>>>0)return;if((0|i[5862])==(0|f)){if(3!=(3&(e=0|i[(A=l+4|0)>>2])|0)){o=f,e=a;break}return i[5859]=a,i[A>>2]=-2&e,i[f+4>>2]=1|a,void(i[f+a>>2]=a)}if(r=n>>>3,n>>>0<256){if((0|(e=0|i[f+12>>2]))==(0|(A=0|i[f+8>>2]))){i[5857]=i[5857]&~(1<<r),o=f,e=a;break}i[A+12>>2]=e,i[e+8>>2]=A,o=f,e=a;break}t=0|i[f+24>>2],A=0|i[f+12>>2];do{if((0|A)==(0|f)){if(A=0|i[(r=4+(e=f+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){A=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0}else i[12+(o=0|i[f+8>>2])>>2]=A,i[A+8>>2]=o}while(0);if(t){if((0|i[(r=23732+((e=0|i[f+28>>2])<<2)|0)>>2])==(0|f)){if(i[r>>2]=A,!A){i[5858]=i[5858]&~(1<<e),o=f,e=a;break}}else if(i[((0|i[(o=t+16|0)>>2])==(0|f)?o:t+20|0)>>2]=A,!A){o=f,e=a;break}i[A+24>>2]=t,0|(r=0|i[(e=f+16|0)>>2])&&(i[A+16>>2]=r,i[r+24>>2]=A),(e=0|i[e+4>>2])?(i[A+20>>2]=e,i[e+24>>2]=A,o=f,e=a):(o=f,e=a)}else o=f,e=a}}while(0);if(!(f>>>0>=l>>>0)&&1&(n=0|i[(A=l+4|0)>>2])){if(2&n)i[A>>2]=-2&n,i[o+4>>2]=1|e,i[f+e>>2]=e,t=e;else{if((0|i[5863])==(0|l)){if(i[5860]=l=(0|i[5860])+e|0,i[5863]=o,i[o+4>>2]=1|l,(0|o)!=(0|i[5862]))return;return i[5862]=0,void(i[5859]=0)}if((0|i[5862])==(0|l))return i[5859]=l=(0|i[5859])+e|0,i[5862]=f,i[o+4>>2]=1|l,void(i[f+l>>2]=l);t=(-8&n)+e|0,r=n>>>3;do{if(n>>>0<256){if((0|(A=0|i[l+12>>2]))==(0|(e=0|i[l+8>>2]))){i[5857]=i[5857]&~(1<<r);break}i[e+12>>2]=A,i[A+8>>2]=e;break}a=0|i[l+24>>2],A=0|i[l+12>>2];do{if((0|A)==(0|l)){if(A=0|i[(r=4+(e=l+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){r=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0,r=A}else i[12+(r=0|i[l+8>>2])>>2]=A,i[A+8>>2]=r,r=A}while(0);if(0|a){if((0|i[(e=23732+((A=0|i[l+28>>2])<<2)|0)>>2])==(0|l)){if(i[e>>2]=r,!r){i[5858]=i[5858]&~(1<<A);break}}else if(i[((0|i[(n=a+16|0)>>2])==(0|l)?n:a+20|0)>>2]=r,!r)break;i[r+24>>2]=a,0|(e=0|i[(A=l+16|0)>>2])&&(i[r+16>>2]=e,i[e+24>>2]=r),0|(A=0|i[A+4>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);if(i[o+4>>2]=1|t,i[f+t>>2]=t,(0|o)==(0|i[5862]))return void(i[5859]=t)}if(A=t>>>3,t>>>0<256)return r=23468+(A<<1<<2)|0,(e=0|i[5857])&(A=1<<A)?A=0|i[(e=r+8|0)>>2]:(i[5857]=e|A,A=r,e=r+8|0),i[e>>2]=o,i[A+12>>2]=o,i[o+8>>2]=A,void(i[o+12>>2]=r);A=23732+((n=(A=t>>>8)?t>>>0>16777215?31:t>>>(7+(n=14-((a=(520192+(l=A<<(f=(A+1048320|0)>>>16&8))|0)>>>16&4)|f|(n=(245760+(l<<=a)|0)>>>16&2))+(l<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[o+28>>2]=n,i[o+20>>2]=0,i[o+16>>2]=0,e=0|i[5858],r=1<<n;A:do{if(e&r){A=0|i[A>>2];e:do{if((-8&i[A+4>>2]|0)!=(0|t)){for(n=t<<(31==(0|n)?0:25-(n>>>1)|0);e=0|i[(r=A+16+(n>>>31<<2)|0)>>2];){if((-8&i[e+4>>2]|0)==(0|t)){A=e;break e}n<<=1,A=e}i[r>>2]=o,i[o+24>>2]=A,i[o+12>>2]=o,i[o+8>>2]=o;break A}}while(0);i[12+(l=0|i[(f=A+8|0)>>2])>>2]=o,i[f>>2]=o,i[o+8>>2]=l,i[o+12>>2]=A,i[o+24>>2]=0}else i[5858]=e|r,i[A>>2]=o,i[o+24>>2]=A,i[o+12>>2]=o,i[o+8>>2]=o}while(0);if(i[5865]=l=(0|i[5865])-1|0,!(0|l)){for(A=23884;A=0|i[A>>2];)A=A+8|0;i[5865]=-1}}}}function pe(A,e){e|=0;var r=0;return(A|=0)?(r=0|m(e,A),(e|A)>>>0>65535&&(r=(0|(r>>>0)/(A>>>0))==(0|e)?r:-1)):r=0,(A=0|Ie(r))&&3&i[A+-4>>2]?(We(0|A,0,0|r),0|A):0|A}function Te(A,e,r,n){return 0|(v((e|=0)+(n|=0)+((r=(A|=0)+(r|=0)>>>0)>>>0<A>>>0|0)>>>0|0),0|r)}function Pe(A,e,r,n){return 0|(v(0|(n=(e|=0)-(n|=0)-((r|=0)>>>0>(A|=0)>>>0|0)>>>0)),A-r>>>0|0)}function Ge(A){return 0|((A|=0)?31-(0|E(A^A-1))|0:32)}function Le(A,e,r,n,t){t|=0;var a=0,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0;if(c=A|=0,f=r|=0,o=b=n|=0,!(u=l=e|=0))return a=0!=(0|t),o?a?(i[t>>2]=0|A,i[t+4>>2]=0&e,t=0,0|(v(0|(b=0)),t)):(t=0,0|(v(0|(b=0)),t)):(a&&(i[t>>2]=(c>>>0)%(f>>>0),i[t+4>>2]=0),t=(c>>>0)/(f>>>0)>>>0,0|(v(0|(b=0)),t));a=0==(0|o);do{if(f){if(!a){if((a=(0|E(0|o))-(0|E(0|u))|0)>>>0<=31){f=s=a+1|0,A=c>>>(s>>>0)&(e=a-31>>31)|u<<(o=31-a|0),e&=u>>>(s>>>0),a=0,o=c<<o;break}return t?(i[t>>2]=0|A,i[t+4>>2]=l|0&e,t=0,0|(v(0|(b=0)),t)):(t=0,0|(v(0|(b=0)),t))}if((a=f-1|0)&f|0){f=o=33+(0|E(0|f))-(0|E(0|u))|0,A=(s=32-o|0)-1>>31&u>>>((g=o-32|0)>>>0)|(u<<s|c>>>(o>>>0))&(e=g>>31),e&=u>>>(o>>>0),a=c<<(d=64-o|0)&(l=s>>31),o=(u<<d|c>>>(g>>>0))&l|c<<s&o-33>>31;break}return 0|t&&(i[t>>2]=a&c,i[t+4>>2]=0),1==(0|f)?(d=0|A,0|(v(0|(g=l|0&e)),d)):(g=u>>>((d=0|Ge(0|f))>>>0)|0,d=u<<32-d|c>>>(d>>>0)|0,0|(v(0|g),d))}if(a)return 0|t&&(i[t>>2]=(u>>>0)%(f>>>0),i[t+4>>2]=0),d=(u>>>0)/(f>>>0)>>>0,0|(v(0|(g=0)),d);if(!c)return 0|t&&(i[t>>2]=0,i[t+4>>2]=(u>>>0)%(o>>>0)),d=(u>>>0)/(o>>>0)>>>0,0|(v(0|(g=0)),d);if(!((a=o-1|0)&o))return 0|t&&(i[t>>2]=0|A,i[t+4>>2]=a&u|0&e),g=0,d=u>>>((0|Ge(0|o))>>>0),0|(v(0|g),d);if((a=(0|E(0|o))-(0|E(0|u))|0)>>>0<=30){f=e=a+1|0,A=u<<(o=31-a|0)|c>>>(e>>>0),e=u>>>(e>>>0),a=0,o=c<<o;break}return t?(i[t>>2]=0|A,i[t+4>>2]=l|0&e,d=0,0|(v(0|(g=0)),d)):(d=0,0|(v(0|(g=0)),d))}while(0);if(f){u=0|Te(0|(s=0|r),0|(c=b|0&n),-1,-1),r=0|_(),l=o,o=0;do{n=l,l=a>>>31|l<<1,a=o|a<<1,Pe(0|u,0|r,0|(n=A<<1|n>>>31|0),0|(b=A>>>31|e<<1|0)),o=1&(g=(d=0|_())>>31|((0|d)<0?-1:0)<<1),A=0|Pe(0|n,0|b,g&s|0,(((0|d)<0?-1:0)>>31|((0|d)<0?-1:0)<<1)&c|0),e=0|_(),f=f-1|0}while(0!=(0|f));u=l,l=0}else u=o,l=0,o=0;return f=0,0|t&&(i[t>>2]=A,i[t+4>>2]=e),d=-2&(a<<1|0)|o,0|(v(0|(g=(0|a)>>>31|(u|f)<<1|0&(f<<1|a>>>31)|l)),d)}function Ue(A,e,r,n){var i,t,a,f,o;return r|=0,t=(n|=0)>>31|((0|n)<0?-1:0)<<1,i=((0|n)<0?-1:0)>>31|((0|n)<0?-1:0)<<1,a=0|Pe((o=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(A|=0)|0,(f=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|o,0|f),A=t^o,e=i^f,0|Pe((0|Le(a,0|_(),0|Pe(t^r|0,i^n|0,0|t,0|i),0|_(),0))^A|0,(0|_())^e|0,0|A,0|e)}function Ve(A,e,r,n){var i,t;return e|=0,n|=0,r=0|function(A,e){var r,n,i,t=0;return A=((r=0|m(t=65535&(e|=0),i=65535&(A|=0)))>>>16)+(0|m(t,n=A>>>16))|0,e=0|m(t=e>>>16,i),0|(v((A>>>16)+(0|m(t,n))+(((65535&A)+e|0)>>>16)|0),A+e<<16|65535&r|0)}(i=A|=0,t=r|=0),A=0|_(),0|(v((0|m(e,t))+(0|m(n,i))+A|0&A|0),0|r)}function Re(A,e,r,n){var t,a,f,o,l,u;return r|=0,t=T,T=T+16|0,o=0|t,u=(n|=0)>>31|((0|n)<0?-1:0)<<1,l=((0|n)<0?-1:0)>>31|((0|n)<0?-1:0)<<1,Le(A=0|Pe((f=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(A|=0)|0,(a=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|f,0|a),e=0|_(),0|Pe(u^r|0,l^n|0,0|u,0|l),0|_(),o),n=0|Pe(i[o>>2]^f|0,i[o+4>>2]^a|0,0|f,0|a),r=0|_(),T=t,0|(v(0|r),n)}function Ye(A,e,r,n){var t,a;return a=T,T=T+16|0,Le(A|=0,e|=0,r|=0,n|=0,t=0|a),T=a,0|(v(0|i[t+4>>2]),0|i[t>>2])}function xe(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(v(e>>r|0),A>>>r|(e&(1<<r)-1)<<32-r):(v(0|((0|e)<0?-1:0)),e>>r-32|0)}function He(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(v(e>>>r|0),A>>>r|(e&(1<<r)-1)<<32-r):(v(0),e>>>r-32|0)}function ze(A,e,r){return A|=0,(0|(r|=0))<32?(v((e|=0)<<r|(A&(1<<r)-1<<32-r)>>>32-r|0),A<<r):(v(A<<r-32|0),0)}function Se(A,e){return e=+e,(A=+A)!=A?+e:e!=e?+A:+Q(+A,+e)}function Oe(A,e){return e=+e,(A=+A)!=A?+e:e!=e?+A:+D(+A,+e)}function Ze(A){return(A=+A)>=0?+o(A+.5):+h(A-.5)}function Ne(A,e,r){A|=0,e|=0;var t,a,f=0;if((0|(r|=0))>=8192)return I(0|A,0|e,0|r),0|A;if(a=0|A,t=A+r|0,(3&A)==(3&e)){for(;3&A;){if(!r)return 0|a;n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0,r=r-1|0}for(f=(r=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=i[e+12>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=i[e+20>>2],i[A+24>>2]=i[e+24>>2],i[A+28>>2]=i[e+28>>2],i[A+32>>2]=i[e+32>>2],i[A+36>>2]=i[e+36>>2],i[A+40>>2]=i[e+40>>2],i[A+44>>2]=i[e+44>>2],i[A+48>>2]=i[e+48>>2],i[A+52>>2]=i[e+52>>2],i[A+56>>2]=i[e+56>>2],i[A+60>>2]=i[e+60>>2],A=A+64|0,e=e+64|0;for(;(0|A)<(0|r);)i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0}else for(r=t-4|0;(0|A)<(0|r);)n[A>>0]=0|n[e>>0],n[A+1>>0]=0|n[e+1>>0],n[A+2>>0]=0|n[e+2>>0],n[A+3>>0]=0|n[e+3>>0],A=A+4|0,e=e+4|0;for(;(0|A)<(0|t);)n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0;return 0|a}function We(A,e,r){e|=0;var t,a=0,f=0,o=0;if(t=(A|=0)+(r|=0)|0,e&=255,(0|r)>=67){for(;3&A;)n[A>>0]=e,A=A+1|0;for(o=e|e<<8|e<<16|e<<24,f=(a=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=o,i[A+4>>2]=o,i[A+8>>2]=o,i[A+12>>2]=o,i[A+16>>2]=o,i[A+20>>2]=o,i[A+24>>2]=o,i[A+28>>2]=o,i[A+32>>2]=o,i[A+36>>2]=o,i[A+40>>2]=o,i[A+44>>2]=o,i[A+48>>2]=o,i[A+52>>2]=o,i[A+56>>2]=o,i[A+60>>2]=o,A=A+64|0;for(;(0|A)<(0|a);)i[A>>2]=o,A=A+4|0}for(;(0|A)<(0|t);)n[A>>0]=e,A=A+1|0;return t-r|0}function Ke(A){return(A=+A)>=0?+o(A+.5):+h(A-.5)}function Je(A){var e,r,n;return A|=0,n=0|y(),(0|A)>0&(0|(e=(r=0|i[f>>2])+A|0))<(0|r)|(0|e)<0?(p(0|e),M(12),-1):(0|e)>(0|n)&&!(0|F(0|e))?(M(12),-1):(i[f>>2]=e,0|r)}return{___divdi3:Ue,___muldi3:Ve,___remdi3:Re,___uremdi3:Ye,_areNeighborCells:function(A,e,r,n,t){t|=0;var a,f,o,l=0,u=0,c=0,s=0;if(o=T,T=T+64|0,f=o,a=o+56|0,!(!0&134217728==(2013265920&(e|=0)|0)&!0&134217728==(2013265920&(n|=0)|0)))return T=o,5;if((0|(A|=0))==(0|(r|=0))&(0|e)==(0|n))return i[t>>2]=0,T=o,0;if(u=0|He(0|A,0|e,52),_(),u&=15,s=0|He(0|r,0|n,52),_(),(0|u)!=(15&s|0))return T=o,12;if(l=u+-1|0,u>>>0>1){LA(A,e,l,f),LA(r,n,l,a),c=0|i[(s=f)>>2],s=0|i[s+4>>2];A:do{if((0|c)==(0|i[a>>2])&&(0|s)==(0|i[a+4>>2])){l=0|He(0|A,0|e,0|(u=3*(15^u)|0)),_(),l&=7,u=0|He(0|r,0|n,0|u),_(),u&=7;do{if(0==(0|l)|0==(0|u))i[t>>2]=1,l=0;else if(7==(0|l))l=5;else{if(1==(0|l)|1==(0|u)&&0|VA(c,s)){l=5;break}if((0|i[15536+(l<<2)>>2])!=(0|u)&&(0|i[15568+(l<<2)>>2])!=(0|u))break A;i[t>>2]=1,l=0}}while(0);return T=o,0|l}}while(0)}u=(l=f)+56|0;do{i[l>>2]=0,l=l+4|0}while((0|l)<(0|u));return P(A,e,1,f),l=(0|i[(e=f)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=f+8|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=f+16|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=f+24|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=f+32|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=f+40|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)?1:1&((0|i[(l=f+48|0)>>2])==(0|r)?(0|i[l+4>>2])==(0|n):0),i[t>>2]=l,T=o,0},_bitshift64Ashr:xe,_bitshift64Lshr:He,_bitshift64Shl:ze,_calloc:pe,_cellAreaKm2:function(A,e,r){return 0|(A=0|ne(A|=0,e|=0,r|=0))?0|A:(t[r>>3]=6371.007180918475*+t[r>>3]*6371.007180918475,0|A)},_cellAreaM2:function(A,e,r){return 0|(A=0|ne(A|=0,e|=0,r|=0))?0|A:(t[r>>3]=6371.007180918475*+t[r>>3]*6371.007180918475*1e3*1e3,0|A)},_cellAreaRads2:ne,_cellToBoundary:KA,_cellToCenterChild:function(A,e,r,n){r|=0,n|=0;var t=0;return t=0|He(0|(A|=0),0|(e|=0),52),_(),(0|r)<16&(0|(t&=15))<=(0|r)?((0|t)<(0|r)&&(t=0|ze(-1,-1,3+(3*(r+-1-t|0)|0)|0),t=0|ze(0|~t,0|~(0|_()),3*(15-r|0)|0),e=~(0|_())&e,A&=~t),t=0|ze(0|r,0,52),r=-15728641&e|0|_(),i[n>>2]=A|t,i[n+4>>2]=r,0|(n=0)):0|(n=4)},_cellToChildPos:function(A,e,r,n){r|=0,n|=0;var t,a=0,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0;if(t=T,T=T+16|0,k=t,h=0|He(0|(A|=0),0|(e|=0),52),_(),r>>>0>15)return T=t,4;if((0|(h&=15))<(0|r))return T=t,12;if((0|h)!=(0|r))if(f=0|ze(0|r,0,52),f|=A,l=0|_()|-15728641&e,(0|h)>(0|r)){u=r;do{B=0|ze(7,0,3*(14-u|0)|0),u=u+1|0,f|=B,l=0|_()|l}while((0|u)<(0|h));B=f}else B=f;else B=A,l=e;w=0|He(0|B,0|l,45),_();A:do{if(0|x(127&w)){if(u=0|He(0|B,0|l,52),_(),0|(u&=15))for(f=1;;){if(!(0==((w=0|ze(7,0,3*(15-f|0)|0))&B|0)&0==((0|_())&l|0))){c=33;break A}if(!(f>>>0<u>>>0))break;f=f+1|0}if(i[(w=n)>>2]=0,i[w+4>>2]=0,(0|h)>(0|r)){for(w=-15728641&e,d=h;;){if(g=d,(d=d+-1|0)>>>0>15|(0|h)<(0|d)){c=19;break}if((0|h)!=(0|d))if(f=0|ze(0|d,0,52),f|=A,u=0|_()|w,(0|h)<(0|g))b=f;else{c=d;do{b=0|ze(7,0,3*(14-c|0)|0),c=c+1|0,f|=b,u=0|_()|u}while((0|c)<(0|h));b=f}else b=A,u=e;if(s=0|He(0|b,0|u,45),_(),0|x(127&s)){s=0|He(0|b,0|u,52),_(),s&=15;e:do{if(s)for(c=1;;){if(f=0|He(0|b,0|u,3*(15-c|0)|0),_(),0|(f&=7))break e;if(!(c>>>0<s>>>0)){f=0;break}c=c+1|0}else f=0}while(0);f=0==(0|f)&1}else f=0;if(u=0|He(0|A,0|e,3*(15-g|0)|0),_(),7==(0|(u&=7))){a=5,c=42;break}if(1==(0|u)&(f=0!=(0|f))){a=5,c=42;break}if(0|(b=u+((0!=(0|u)&f)<<31>>31)|0)&&(c=0|ce(7,0,c=h-g|0,((0|c)<0)<<31>>31),s=0|_(),f?(f=0|Te(0|(f=0|Ve(0|c,0|s,5,0)),0|_(),-5,-1),f=0|Te(0|(f=0|Ue(0|f,0|_(),6,0)),0|_(),1,0),u=0|_()):(f=c,u=s),g=0|Te(0|f,0|u,0|(g=0|Ve(0|c,0|s,0|(g=b+-1|0),((0|g)<0)<<31>>31|0)),0|_()),s=0|Te(0|g,0|(b=0|_()),0|i[(s=n)>>2],0|i[s+4>>2]),b=0|_(),i[(g=n)>>2]=s,i[g+4>>2]=b),(0|d)<=(0|r)){c=37;break}}if(19==(0|c))C(23313,22674,1099,22710);else{if(37==(0|c)){a=0|i[(o=n)+4>>2],o=0|i[o>>2];break}if(42==(0|c))return T=t,0|a}}else a=0,o=0}else c=33}while(0);A:do{if(33==(0|c)){if(i[(w=n)>>2]=0,i[w+4>>2]=0,(0|h)>(0|r)){for(f=h;;){if(a=0|He(0|A,0|e,3*(15-f|0)|0),_(),7==(0|(a&=7))){a=5;break}if(a=0|Ve(0|(o=0|ce(7,0,o=h-f|0,((0|o)<0)<<31>>31)),0|_(),0|a,0),o=0|_(),o=0|Te(0|i[(w=n)>>2],0|i[w+4>>2],0|a,0|o),a=0|_(),i[(w=n)>>2]=o,i[w+4>>2]=a,(0|(f=f+-1|0))<=(0|r))break A}return T=t,0|a}a=0,o=0}}while(0);return 0|UA(B,l,h,k)&&C(23313,22674,1063,22725),((0|a)>-1|-1==(0|a)&o>>>0>4294967295)&((0|(k=0|i[(h=k)+4>>2]))>(0|a)|((0|k)==(0|a)?(0|i[h>>2])>>>0>o>>>0:0))?(T=t,0|(h=0)):(C(23313,22674,1139,22710),0)},_cellToChildren:function(A,e,r,n){n|=0;var t,a,f=0,o=0;if(a=T,T=T+16|0,XA(t=a,A|=0,e|=0,r|=0),0==(0|(A=0|i[(e=t)>>2]))&0==(0|(e=0|i[e+4>>2])))return T=a,0;f=0,r=0;do{i[(o=n+(f<<3)|0)>>2]=A,i[o+4>>2]=e,f=0|Te(0|f,0|r,1,0),r=0|_(),jA(t),A=0|i[(o=t)>>2],e=0|i[o+4>>2]}while(!(0==(0|A)&0==(0|e)));return T=a,0},_cellToChildrenSize:UA,_cellToLatLng:WA,_cellToLocalIj:function(A,e,r,n,i,t){var a,f;return A|=0,t|=0,f=T,T=T+16|0,a=f,(i|=0)?A=15:(A=0|le(A,e|=0,r|=0,n|=0,a))||(hA(a,t),A=0),T=f,0|A},_cellToParent:LA,_cellToVertex:me,_cellToVertexes:function(A,e,r){r|=0;var n,t=0,a=0;return a=0==(0|VA(A|=0,e|=0)),n=0==(0|(t=0|me(A,e,0,r))),a?n?0|(t=0|me(A,e,1,r+8|0))?0|(a=t):0|(t=0|me(A,e,2,r+16|0))?0|(a=t):0|(t=0|me(A,e,3,r+24|0))?0|(a=t):(t=0|me(A,e,4,r+32|0))?0|(a=t):0|me(A,e,5,r+40|0):0|(a=t):n?0|(t=0|me(A,e,1,r+8|0))?0|(a=t):0|(t=0|me(A,e,2,r+16|0))?0|(a=t):0|(t=0|me(A,e,3,r+24|0))?0|(a=t):0|(t=0|me(A,e,4,r+32|0))?0|(a=t):(i[(a=r+40|0)>>2]=0,i[a+4>>2]=0,0|(a=0)):0|(a=t)},_cellsToDirectedEdge:function(A,e,r,n,t){return t|=0,7==(0|(r=0|R(A|=0,e|=0,r|=0,n|=0)))?0|(t=11):(n=0|ze(0|r,0,56),e=-2130706433&e|0|_()|268435456,i[t>>2]=A|n,i[t+4>>2]=e,0|(t=0))},_cellsToLinkedMultiPolygon:function(A,e,r){r|=0;var n,t,a,f=0;if(a=T,T=T+32|0,n=a,0|(A=0|function(A,e,r){A|=0,r|=0;var n,t,a=0,f=0,o=0,l=0,u=0,c=0;if(t=T,T=T+176|0,n=t,(0|(e|=0))<1)return De(r,0,0),T=t,0;for(u=0|He(0|i[(u=A)>>2],0|i[u+4>>2],52),_(),De(r,(0|e)>6?e:6,15&u),u=0;!(0|(a=0|KA(0|i[(a=A+(u<<3)|0)>>2],0|i[a+4>>2],n)));){if((0|(a=0|i[n>>2]))>0){l=0;do{o=n+8+(l<<4)|0,(f=0|Ce(r,a=n+8+(((0|(l=l+1|0))%(0|a)|0)<<4)|0,o))?ve(r,f):_e(r,o,a),a=0|i[n>>2]}while((0|l)<(0|a))}if((0|(u=u+1|0))>=(0|e)){a=0,c=13;break}}return 13==(0|c)?(T=t,0|a):(Qe(r),T=t,0|(c=a))}(A|=0,e|=0,t=a+16|0)))return T=a,0|A;if(i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,0|(A=0|Ee(t)))do{e=0|ie(r);do{te(e,A),i[n>>2]=i[(f=A+16|0)>>2],i[n+4>>2]=i[f+4>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=i[f+12>>2],ve(t,A),A=0|Me(t,n)}while(0!=(0|A));A=0|Ee(t)}while(0!=(0|A));return Qe(t),(A=0|fe(r))?(ae(r),T=a,0|(f=A)):(T=a,0|(f=0))},_childPosToCell:function(A,e,r,n,t,a){A|=0,e|=0,a|=0;var f,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0;if(f=T,T=T+16|0,o=f,(t|=0)>>>0>15)return T=f,4;if(l=0|He(0|(r|=0),0|(n|=0),52),_(),(0|(l&=15))>(0|t))return T=f,12;if(0|UA(r,n,t,o)&&C(23313,22674,1063,22725),!(((0|e)>-1|-1==(0|e)&A>>>0>4294967295)&((0|(c=0|i[(s=o)+4>>2]))>(0|e)|((0|c)==(0|e)?(0|i[s>>2])>>>0>A>>>0:0))))return T=f,2;s=t-l|0,t=0|ze(0|t,0,52),u=0|_()|-15728641&n,i[(c=a)>>2]=t|r,i[c+4>>2]=u,c=0|He(0|r,0|n,45),_();A:do{if(0|x(127&c)){if(0|l)for(o=1;;){if(!(0==((c=0|ze(7,0,3*(15-o|0)|0))&r|0)&0==((0|_())&n|0)))break A;if(!(o>>>0<l>>>0))break;o=o+1|0}if((0|s)<1)return T=f,0;for(c=15^l,n=-1,u=1,o=1;;){l=0|ce(7,0,l=s-u|0,((0|l)<0)<<31>>31),r=0|_();do{if(o){if(o=0|Ue(0|(o=0|Te(0|(o=0|Ve(0|l,0|r,5,0)),0|_(),-5,-1)),0|_(),6,0),(0|e)>(0|(t=0|_()))|(0|e)==(0|t)&A>>>0>o>>>0){e=0|Pe(0|(e=0|Te(0|A,0|e,-1,-1)),0|_(),0|o,0|t),o=0|_(),d=0|i[(b=a)>>2],b=0|i[b+4>>2],g=0|ze(7,0,0|(w=3*(c+n|0)|0)),b&=~(0|_()),w=0|ze(0|(t=0|Te(0|(n=0|Ue(0|e,0|o,0|l,0|r)),0|(A=0|_()),2,0)),0|_(),0|w),b=0|_()|b,i[(t=a)>>2]=w|d&~g,i[t+4>>2]=b,A=0|Pe(0|e,0|o,0|(A=0|Ve(0|n,0|A,0|l,0|r)),0|_()),o=0,e=0|_();break}g=0|i[(w=a)>>2],w=0|i[w+4>>2],d=0|ze(7,0,3*(c+n|0)|0),w&=~(0|_()),i[(o=a)>>2]=g&~d,i[o+4>>2]=w,o=1;break}t=0|i[(g=a)>>2],g=0|i[g+4>>2],b=0|ze(7,0,0|(n=3*(c+n|0)|0)),g&=~(0|_()),n=0|ze(0|(w=0|Ue(0|A,0|e,0|l,0|r)),0|(o=0|_()),0|n),g=0|_()|g,i[(d=a)>>2]=n|t&~b,i[d+4>>2]=g,A=0|Pe(0|A,0|e,0|(o=0|Ve(0|w,0|o,0|l,0|r)),0|_()),o=0,e=0|_()}while(0);if(!((0|s)>(0|u))){e=0;break}n=~u,u=u+1|0}return T=f,0|e}}while(0);if((0|s)<1)return T=f,0;for(t=15^l,o=1;;){if(d=0|ce(7,0,d=s-o|0,((0|d)<0)<<31>>31),w=0|_(),r=0|i[(u=a)>>2],u=0|i[u+4>>2],n=0|ze(7,0,0|(l=3*(t-o|0)|0)),u&=~(0|_()),l=0|ze(0|(b=0|Ue(0|A,0|e,0|d,0|w)),0|(g=0|_()),0|l),u=0|_()|u,i[(c=a)>>2]=l|r&~n,i[c+4>>2]=u,A=0|Pe(0|A,0|e,0|(w=0|Ve(0|b,0|g,0|d,0|w)),0|_()),e=0|_(),(0|s)<=(0|o)){e=0;break}o=o+1|0}return T=f,0|e},_compactCells:function(A,e,r,n){e|=0;var t,a=0,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0,E=0,v=0,M=0;if(0==(0|(r|=0))&0==(0|(n|=0)))return 0;if(f=0|i[(a=A|=0)>>2],!0&0==(15728640&(a=0|i[a+4>>2])|0)){if(!((0|n)>0|0==(0|n)&r>>>0>0))return 0;if(i[(v=e)>>2]=f,i[v+4>>2]=a,1==(0|r)&0==(0|n))return 0;a=1;do{E=0|i[4+(Q=A+(a<<3)|0)>>2],i[(v=e+(a<<3)|0)>>2]=i[Q>>2],i[v+4>>2]=E,a=a+1|0}while(0<(0|n)|0==(0|n)&a>>>0<r>>>0);return 0}if(!(E=0|Ie(t=r<<3)))return 13;if(Ne(0|E,0|A,0|t),!(Q=0|pe(r,8)))return Fe(E),13;A:do{if(0|r){e:for(;;){m=0|He(0|(h=0|i[(a=E)>>2]),0|(a=0|i[a+4>>2]),52),_(),D=(m&=15)-1|0,k=(0|r)>0;r:do{if(0!=(0|m)&k){if(d=((0|r)<0)<<31>>31,w=0|ze(0|D,0,52),B=0|_(),D>>>0>15){if(!(0==(0|h)&0==(0|a))){v=17;break e}for(f=0;;){if((0|(f=f+1|0))>=(0|r))break r;if(!(0==(0|(B=0|i[(n=E+(f<<3)|0)>>2]))&0==(0|(n=0|i[n+4>>2])))){a=n,v=17;break e}}}for(f=0,A=h,n=a;;){if(!(0==(0|A)&0==(0|n))){if(!(!0&0==(117440512&n|0))){v=22;break e}if(l=0|He(0|A,0|n,52),_(),(0|(l&=15))<(0|D)){a=12,v=28;break e}if((0|l)!=(0|D)&&(A|=w,n=-15728641&n|B,l>>>0>=m>>>0)){o=D;do{g=0|ze(7,0,3*(14-o|0)|0),o=o+1|0,A|=g,n=0|_()|n}while(o>>>0<l>>>0)}if(o=0|Ye(0|A,0|n,0|r,0|d),_(),0==(0|(u=0|i[(l=c=Q+(o<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2])))o=c;else for(g=0;;){if((0|g)>(0|r)){v=32;break e}if((0|u)==(0|A)&(-117440513&l|0)==(0|n)){s=0|He(0|u,0|l,56),_(),b=1+(s&=7)|0,M=0|He(0|u,0|l,45),_();n:do{if(0|x(127&M)){if(u=0|He(0|u,0|l,52),_(),!(u&=15)){l=6;break}for(l=1;;){if(!(0==((M=0|ze(7,0,3*(15-l|0)|0))&A|0)&0==((0|_())&n|0))){l=7;break n}if(!(l>>>0<u>>>0)){l=6;break}l=l+1|0}}else l=7}while(0);if((s+2|0)>>>0>l>>>0){v=42;break e}M=0|ze(0|b,0,56),n=0|_()|-117440513&n,i[(b=c)>>2]=0,i[b+4>>2]=0,A|=M}else o=(o+1|0)%(0|r)|0;if(0==(0|(u=0|i[(l=c=Q+(o<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2]))){o=c;break}g=g+1|0}i[(M=o)>>2]=A,i[M+4>>2]=n}if((0|(f=f+1|0))>=(0|r))break r;A=0|i[(n=E+(f<<3)|0)>>2],n=0|i[n+4>>2]}}}while(0);if((r+5|0)>>>0<11){v=85;break}if(!(B=0|pe((0|r)/6|0,8))){v=49;break}r:do{if(k){g=0,b=0;do{if(!(0==(0|(f=0|i[(n=l=Q+(g<<3)|0)>>2]))&0==(0|(n=0|i[n+4>>2])))){u=0|He(0|f,0|n,56),_(),A=1+(u&=7)|0,c=-117440513&n,M=0|He(0|f,0|n,45),_();n:do{if(0|x(127&M)){if(s=0|He(0|f,0|n,52),_(),0|(s&=15))for(o=1;;){if(!(0==(f&(M=0|ze(7,0,3*(15-o|0)|0))|0)&0==(c&(0|_())|0)))break n;if(!(o>>>0<s>>>0))break;o=o+1|0}f|=n=0|ze(0|A,0,56),n=0|_()|c,i[(A=l)>>2]=f,i[A+4>>2]=n,A=u+2|0}}while(0);7==(0|A)&&(i[(M=B+(b<<3)|0)>>2]=f,i[M+4>>2]=-117440513&n,b=b+1|0)}g=g+1|0}while((0|g)!=(0|r));if(k){if(g=((0|r)<0)<<31>>31,d=0|ze(0|D,0,52),w=0|_(),D>>>0>15){if(!(0==(0|h)&0==(0|a))){a=4,v=84;break e}for(a=0;;){if((0|(a=a+1|0))>=(0|r)){f=0,a=b;break r}if(!(0==(0|i[(M=E+(a<<3)|0)>>2])&0==(0|i[M+4>>2]))){a=4,v=84;break e}}}for(s=0,f=0,c=h;;){do{if(!(0==(0|c)&0==(0|a))){if(l=0|He(0|c,0|a,52),_(),(0|(l&=15))<(0|D)){a=12,v=84;break e}do{if((0|l)==(0|D))n=c,l=a;else{if(n=c|d,A=-15728641&a|w,l>>>0<m>>>0){l=A;break}o=D;do{M=0|ze(7,0,3*(14-o|0)|0),o=o+1|0,n|=M,A=0|_()|A}while(o>>>0<l>>>0);l=A}}while(0);for(o=0|Ye(0|n,0|l,0|r,0|g),_(),A=0;;){if((0|A)>(0|r)){v=77;break e}if((-117440513&(u=0|i[4+(M=Q+(o<<3)|0)>>2])|0)==(0|l)&&(0|i[M>>2])==(0|n)){v=79;break}if((0|i[(M=Q+((o=(o+1|0)%(0|r)|0)<<3)|0)>>2])==(0|n)&&(0|i[M+4>>2])==(0|l))break;A=A+1|0}if(79==(0|v)&&(v=0,!0&100663296==(117440512&u|0)))break;i[(M=e+(f<<3)|0)>>2]=c,i[M+4>>2]=a,f=f+1|0}}while(0);if((0|(a=s+1|0))>=(0|r)){a=b;break r}s=a,c=0|i[(M=E+(a<<3)|0)>>2],a=0|i[M+4>>2]}}else f=0,a=b}else f=0,a=0}while(0);if(We(0|Q,0,0|t),Ne(0|E,0|B,a<<3|0),Fe(B),!a)break A;e=e+(f<<3)|0,r=a}if(17==(0|v))!0&0==(117440512&a|0)?(a=4,v=28):v=22;else if(32==(0|v))C(23313,22674,362,22684);else{if(42==(0|v))return Fe(E),Fe(Q),10;if(49==(0|v))return Fe(E),Fe(Q),13;if(77==(0|v))C(23313,22674,462,22684);else{if(84==(0|v))return Fe(B),Fe(E),Fe(Q),0|a;if(85==(0|v)){Ne(0|e,0|E,r<<3|0);break}}}if(22==(0|v))return Fe(E),Fe(Q),5;if(28==(0|v))return Fe(E),Fe(Q),0|a}}while(0);return Fe(E),Fe(Q),0},_destroyLinkedMultiPolygon:ae,_directedEdgeToBoundary:EA,_directedEdgeToCells:function(A,e,r){A|=0;var n,t,a,f=0;return n=T,T=T+16|0,f=n,!0&268435456==(2013265920&(e|=0)|0)?(t=-2130706433&e|134217728,i[(a=r|=0)>>2]=A,i[a+4>>2]=t,i[f>>2]=0,e=0|He(0|A,0|e,56),_(),f=0|V(A,t,7&e,f,r+8|0),T=n,0|f):(T=n,0|(f=6))},_edgeLengthKm:function(A,e,r){r|=0;var n,a=0,f=0,o=0,l=0,c=0,g=0,d=0;if(n=T,T=T+176|0,0|(A=0|EA(A|=0,e|=0,l=n)))return l=A,o=+t[r>>3],t[r>>3]=o*=6371.007180918475,T=n,0|l;if(t[r>>3]=0,(0|(A=0|i[l>>2]))<=1)return l=0,o=0,t[r>>3]=o*=6371.007180918475,T=n,0|l;e=A+-1|0,A=0,a=+t[l+8>>3],f=+t[l+16>>3],o=0;do{g=a,c=f,c=(d=+b(.5*((a=+t[l+8+((A=A+1|0)<<4)>>3])-g)))*d+(c=+b(.5*((f=+t[l+8+(A<<4)+8>>3])-c)))*(+s(+g)*+s(+a)*c),o+=2*+k(+ +u(+c),+ +u(+(1-c)))}while((0|A)!=(0|e));return t[r>>3]=o,l=0,d=o,t[r>>3]=d*=6371.007180918475,T=n,0|l},_edgeLengthM:function(A,e,r){r|=0;var n,a=0,f=0,o=0,l=0,c=0,g=0,d=0;if(n=T,T=T+176|0,0|(A=0|EA(A|=0,e|=0,l=n)))return l=A,o=+t[r>>3],o*=6371.007180918475,t[r>>3]=o*=1e3,T=n,0|l;if(t[r>>3]=0,(0|(A=0|i[l>>2]))<=1)return l=0,o=0,o*=6371.007180918475,t[r>>3]=o*=1e3,T=n,0|l;e=A+-1|0,A=0,a=+t[l+8>>3],f=+t[l+16>>3],o=0;do{g=a,c=f,c=(d=+b(.5*((a=+t[l+8+((A=A+1|0)<<4)>>3])-g)))*d+(c=+b(.5*((f=+t[l+8+(A<<4)+8>>3])-c)))*(+s(+g)*+s(+a)*c),o+=2*+k(+ +u(+c),+ +u(+(1-c)))}while((0|A)!=(0|e));return t[r>>3]=o,l=0,d=o,d*=6371.007180918475,t[r>>3]=d*=1e3,T=n,0|l},_edgeLengthRads:function(A,e,r){r|=0;var n,a,f=0,o=0,l=0,c=0,g=0,d=0;if(n=T,T=T+176|0,0|(A=0|EA(A|=0,e|=0,a=n)))return T=n,0|A;if(t[r>>3]=0,(0|(A=0|i[a>>2]))<=1)return T=n,0;e=A+-1|0,A=0,f=+t[a+8>>3],o=+t[a+16>>3],l=0;do{g=f,c=o,c=(d=+b(.5*((f=+t[a+8+((A=A+1|0)<<4)>>3])-g)))*d+(c=+b(.5*((o=+t[a+8+(A<<4)+8>>3])-c)))*(+s(+f)*+s(+g)*c),l+=2*+k(+ +u(+c),+ +u(+(1-c)))}while((0|A)<(0|e));return t[r>>3]=l,T=n,0},_emscripten_replace_memory:function(A){return n=new Int8Array(A),new Uint8Array(A),i=new Int32Array(A),new Float32Array(A),t=new Float64Array(A),r=A,!0},_free:Fe,_getBaseCellNumber:PA,_getDirectedEdgeDestination:function(A,e,r){A|=0,e|=0,r|=0;var n,t,a=0;return n=T,T=T+16|0,i[(a=n)>>2]=0,!0&268435456==(2013265920&e|0)?(t=0|He(0|A,0|e,56),_(),a=0|V(A,-2130706433&e|134217728,7&t,a,r),T=n,0|a):(T=n,0|(a=6))},_getDirectedEdgeOrigin:function(A,e,r){return r|=0,!0&268435456==(2013265920&(e|=0)|0)?(i[r>>2]=A|=0,i[r+4>>2]=-2130706433&e|134217728,0|(r=0)):0|(r=6)},_getHexagonAreaAvgKm2:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20528+(A<<3)>>3],0|(e=0))},_getHexagonAreaAvgM2:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20656+(A<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgKm:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20784+(A<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgM:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20912+(A<<3)>>3],0|(e=0))},_getIcosahedronFaces:function A(e,r,n){n|=0;var t,a=0,f=0,o=0,l=0,u=0,c=0,s=0,b=0;t=T,T=T+128|0,s=t+112|0,o=t+96|0,b=t,f=0|He(0|(e|=0),0|(r|=0),52),_(),i[s>>2]=u=15&f,l=0|He(0|e,0|r,45),_(),l&=127;A:do{if(0|x(l)){if(0|u)for(a=1;;){if(!(0==((c=0|ze(7,0,3*(15-a|0)|0))&e|0)&0==((0|_())&r|0))){f=0;break A}if(!(a>>>0<u>>>0))break;a=a+1|0}if(!(1&f))return c=0|ze(u+1|0,0,52),b=0|_()|-15728641&r,b=0|A((c|e)&~(s=0|ze(7,0,3*(14-u|0)|0)),b&~(0|_()),n),T=t,0|b;f=1}else f=0}while(0);if(!(a=0|NA(e,r,o))){f?(yA(o,s,b),c=5):(TA(o,s,b),c=6);A:do{if(0|x(l))if(u)for(a=1;;){if(!(0==((l=0|ze(7,0,3*(15-a|0)|0))&e|0)&0==((0|_())&r|0))){e=2;break A}if(!(a>>>0<u>>>0)){e=5;break}a=a+1|0}else e=5;else e=2}while(0);We(0|n,-1,e<<2|0);A:do{if(f)for(o=0;;){if(FA(l=b+(o<<4)|0,0|i[s>>2]),-1==(0|(u=0|i[n>>2]))|(0|u)==(0|(l=0|i[l>>2])))a=n;else{f=0;do{if((f=f+1|0)>>>0>=e>>>0){a=1;break A}u=0|i[(a=n+(f<<2)|0)>>2]}while(!(-1==(0|u)|(0|u)==(0|l)))}if(i[a>>2]=l,(o=o+1|0)>>>0>=c>>>0){a=0;break}}else for(o=0;;){if(IA(l=b+(o<<4)|0,0|i[s>>2],0,1),-1==(0|(u=0|i[n>>2]))|(0|u)==(0|(l=0|i[l>>2])))a=n;else{f=0;do{if((f=f+1|0)>>>0>=e>>>0){a=1;break A}u=0|i[(a=n+(f<<2)|0)>>2]}while(!(-1==(0|u)|(0|u)==(0|l)))}if(i[a>>2]=l,(o=o+1|0)>>>0>=c>>>0){a=0;break}}}while(0)}return T=t,0|a},_getNumCells:ee,_getPentagons:JA,_getRes0Cells:function(A){A|=0;var e=0,r=0,n=0;e=0;do{ze(0|e,0,45),n=134225919|_(),i[(r=A+(e<<3)|0)>>2]=-1,i[r+4>>2]=n,e=e+1|0}while(122!=(0|e));return 0},_getResolution:function(A,e){return e=0|He(0|(A|=0),0|(e|=0),52),_(),15&e|0},_greatCircleDistanceKm:Ae,_greatCircleDistanceM:function(A,e){var r,n,i,a=0;return a=(i=+b(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+b(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+s(+n)*+s(+r)*a),2*+k(+ +u(+a),+ +u(+(1-a)))*6371.007180918475*1e3},_greatCircleDistanceRads:function(A,e){var r,n,i,a=0;return a=(i=+b(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+b(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+s(+n)*+s(+r)*a),2*+k(+ +u(+a),+ +u(+(1-a)))},_gridDisk:P,_gridDiskDistances:G,_gridDistance:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f,o=0,l=0;return f=T,T=T+32|0,l=f,0|(a=0|le(A|=0,e|=0,A,e,o=f+12|0))?(T=f,0|(l=a)):0|(A=0|le(A,e,r,n,l))?(T=f,0|(l=A)):(o=0|kA(o,l),i[(l=t)>>2]=o,i[l+4>>2]=((0|o)<0)<<31>>31,T=f,0|(l=0))},_gridPathCells:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f,o=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0,E=0,v=0,M=0,y=0;if(a=T,T=T+48|0,c=a+12|0,f=a,!(o=0|le(A|=0,e|=0,A,e,u=a+24|0))&&!(o=0|le(A,e,r,n,c))){M=((0|(v=0|kA(u,c)))<0)<<31>>31,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,0|le(A,e,A,e,u)&&C(23313,23090,691,23299),0|le(A,e,r,n,c)&&C(23313,23090,696,23299),DA(u),DA(c),v?(E=u,n=d=0|i[u>>2],o=w=0|i[(D=u+4|0)>>2],r=B=0|i[(Q=u+8|0)>>2],h=+((0|i[c>>2])-d|0)/(k=+(0|v)),m=+((0|i[c+4>>2])-w|0)/k,k=+((0|i[c+8>>2])-B|0)/k):(D=o=u+4|0,Q=r=u+8|0,E=u,n=0|i[u>>2],o=0|i[o>>2],r=0|i[r>>2],h=0,m=0,k=0),i[f>>2]=n,i[(B=f+4|0)>>2]=o,i[(w=f+8|0)>>2]=r;A:do{if((0|v)<0)o=0;else for(g=0,d=0,o=n;;){y=h*(b=+(d>>>0)+4294967296*+(0|g))+ +(0|o),s=m*b+ +(0|i[D>>2]),b=k*b+ +(0|i[Q>>2]),r=~~+Ze(+y),u=~~+Ze(+s),o=~~+Ze(+b),y=+l(+(+(0|r)-y)),s=+l(+(+(0|u)-s)),b=+l(+(+(0|o)-b));do{if(!(y>s&y>b)){if(c=0-r|0,s>b){n=c-o|0;break}n=u,o=c-u|0;break}r=0-(u+o)|0,n=u}while(0);if(i[f>>2]=r,i[B>>2]=n,i[w>>2]=o,QA(f),0|(o=0|ue(A,e,f,t+(d<<3)|0)))break A;if(!((0|g)<(0|M)|(0|g)==(0|M)&d>>>0<v>>>0)){o=0;break A}o=0|Te(0|d,0|g,1,0),g=c=0|_(),d=o,o=0|i[E>>2]}}while(0);return T=a,0|o}return T=a,0|o},_gridPathCellsSize:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f=0,o=0,l=0;return a=T,T=T+32|0,l=a,(f=0|le(A|=0,e|=0,A,e,o=a+12|0))||(f=0|le(A,e,r,n,l))?(T=a,0|(l=f)):(n=0|Te(0|(n=0|kA(o,l)),((0|n)<0)<<31>>31|0,1,0),o=0|_(),i[(l=t)>>2]=n,i[l+4>>2]=o,T=a,0|(l=0))},_gridRingUnsafe:function(A,e,r,n){e|=0,r|=0,n|=0;var t,a,f=0,o=0,l=0,u=0,c=0,s=0,b=0,g=0,d=0;if(a=T,T=T+16|0,d=a+8|0,i[(g=t=a)>>2]=A|=0,i[g+4>>2]=e,!r)return i[(d=n)>>2]=A,i[d+4>>2]=e,T=a,0;i[d>>2]=0;A:do{if(0|VA(A,e))A=9;else{if(o=(0|r)>0){f=0,g=A;do{if(0|(A=0|V(g,e,4,d,t)))break A;if(f=f+1|0,0|VA(g=0|i[(e=t)>>2],e=0|i[e+4>>2])){A=9;break A}}while((0|f)<(0|r));if(i[(b=n)>>2]=g,i[b+4>>2]=e,b=r+-1|0,o){s=0,A=1;do{if(f=22384+(s<<2)|0,5==(0|s))for(l=0|i[f>>2],o=0,f=A;;){if(0|(A=0|V(0|i[(A=t)>>2],0|i[A+4>>2],l,d,t)))break A;if((0|o)!=(0|b)){if(u=0|i[(c=t)>>2],c=0|i[c+4>>2],i[(A=n+(f<<3)|0)>>2]=u,i[A+4>>2]=c,0|VA(u,c)){A=9;break A}A=f+1|0}else A=f;if((0|(o=o+1|0))>=(0|r))break;f=A}else for(c=0|i[f>>2],u=0,f=A,o=0|i[(l=t)>>2],l=0|i[l+4>>2];;){if(0|(A=0|V(o,l,c,d,t)))break A;if(o=0|i[(l=t)>>2],l=0|i[l+4>>2],i[(A=n+(f<<3)|0)>>2]=o,i[A+4>>2]=l,A=f+1|0,0|VA(o,l)){A=9;break A}if((0|(u=u+1|0))>=(0|r))break;f=A}s=s+1|0}while(s>>>0<6);l=g,f=0|i[(A=t)>>2],o=e,A=0|i[A+4>>2]}else l=g,f=g,o=e,A=e}else i[(l=n)>>2]=A,i[l+4>>2]=e,l=A,f=A,o=e,A=e;A=(0|l)==(0|f)&(0|o)==(0|A)?0:9}}while(0);return T=a,0|A},_i64Add:Te,_i64Subtract:Pe,_isPentagon:VA,_isResClassIII:function(A,e){return e=0|He(0|(A|=0),0|(e|=0),52),_(),1&e|0},_isValidCell:GA,_isValidDirectedEdge:function(A,e){var r=0;switch(r=0|He(0|(A|=0),0|(e|=0),56),_(),7&r){case 0:case 7:return 0}return r=-2130706433&e|134217728,!0&268435456==(2013265920&e|0)?!0&16777216==(117440512&e|0)&0!=(0|VA(A,r))?0|(r=0):0|(r=0|GA(A,r)):0|(r=0)},_isValidVertex:function(A,e){A|=0;var r,n,t=0,a=0;return n=T,T=T+16|0,r=n,!0&536870912==(2013265920&(e|=0)|0)&&0|GA(A,t=-2130706433&e|134217728)?(a=0|He(0|A,0|e,56),_(),a=0==(0|me(A,t,7&a,r)),T=n,0|(t=a&((0|i[(t=r)>>2])==(0|A)?(0|i[t+4>>2])==(0|e):0)&1)):(T=n,0|(t=0))},_latLngToCell:OA,_llvm_maxnum_f64:Se,_llvm_minnum_f64:Oe,_llvm_round_f64:Ze,_localIjToCell:function(A,e,r,n,i){var t,a;return A|=0,e|=0,r|=0,i|=0,a=T,T=T+16|0,t=a,(n|=0)?r=15:(r=0|mA(r,t))||(r=0|ue(A,e,t,i)),T=a,0|r},_malloc:Ie,_maxFaceCount:function(A,e,r){r|=0;var n=0,t=0;if(t=0|He(0|(A|=0),0|(e|=0),45),_(),!(0|x(127&t)))return i[r>>2]=t=2,0;if(t=0|He(0|A,0|e,52),_(),!(t&=15))return i[r>>2]=t=5,0;for(n=1;;){if(!(0==((0|ze(7,0,3*(15-n|0)|0))&A|0)&0==((0|_())&e|0))){n=2,A=6;break}if(!(n>>>0<t>>>0)){n=5,A=6;break}n=n+1|0}return 6==(0|A)?(i[r>>2]=n,0):0},_maxGridDiskSize:function(A,e){e|=0;var r=0,n=0,t=0;return(0|(A|=0))<0?0|(e=2):(0|A)>13780509?0|(e=0|ee(15,e)):(t=0|Ve(0|A,0|(r=((0|A)<0)<<31>>31),3,0),n=0|_(),r=0|Te(0|A,0|r,1,0),r=0|Te(0|(r=0|Ve(0|t,0|n,0|r,0|_())),0|_(),1,0),A=0|_(),i[e>>2]=r,i[e+4>>2]=A,0|(e=0))},_maxPolygonToCellsSize:function(A,e,r,n){e|=0,n|=0;var t,a,f=0,o=0,l=0,u=0;if(t=T,T=T+48|0,f=t+16|0,a=t,0|(r|=0))return T=t,15;if(l=0|i[4+(u=A|=0)>>2],i[(r=o=t+8|0)>>2]=i[u>>2],i[r+4>>2]=l,be(o,f),!(e=0|J(f,e,a))){if(r=0|i[o>>2],(0|(o=0|i[A+8>>2]))>0){f=0|i[A+12>>2],e=0;do{r=(0|i[f+(e<<3)>>2])+r|0,e=e+1|0}while((0|e)<(0|o))}f=0|i[(e=a)>>2],(0|(e=0|i[e+4>>2]))<(0|(o=((0|r)<0)<<31>>31))|(0|e)==(0|o)&f>>>0<r>>>0?(i[(e=a)>>2]=r,i[e+4>>2]=o,e=o):r=f,l=0|Te(0|r,0|e,12,0),u=0|_(),i[(e=a)>>2]=l,i[e+4>>2]=u,i[(e=n)>>2]=l,i[e+4>>2]=u,e=0}return T=t,0|e},_memcpy:Ne,_memset:We,_originToDirectedEdges:function(A,e,r){r|=0;var n,t=0;return n=0==(0|VA(A|=0,e|=0)),e&=-2130706433,i[(t=r)>>2]=n?A:0,i[t+4>>2]=n?285212672|e:0,i[(t=r+8|0)>>2]=A,i[t+4>>2]=301989888|e,i[(t=r+16|0)>>2]=A,i[t+4>>2]=318767104|e,i[(t=r+24|0)>>2]=A,i[t+4>>2]=335544320|e,i[(t=r+32|0)>>2]=A,i[t+4>>2]=352321536|e,i[(r=r+40|0)>>2]=A,i[r+4>>2]=369098752|e,0},_pentagonCount:function(){return 12},_polygonToCells:function(A,e,r,n){e|=0,n|=0;var t,a,f,o,l,u=0,c=0,s=0,b=0,g=0,d=0,w=0,B=0,k=0,h=0,m=0,D=0,Q=0,E=0,v=0,C=0,M=0,y=0,I=0,F=0,p=0,P=0,G=0,V=0,R=0,x=0;if(o=T,T=T+112|0,t=o+80|0,g=o+72|0,a=o,f=o+56|0,0|(r|=0))return T=o,15;if(!(l=0|Ie(32+(i[(d=8+(A|=0)|0)>>2]<<5)|0)))return T=o,13;if(ge(A,l),x=0|i[(R=A)+4>>2],i[(r=g)>>2]=i[R>>2],i[r+4>>2]=x,be(g,t),r=0|J(t,e,a))R=0,x=0;else{if(r=0|i[g>>2],(0|(c=0|i[d>>2]))>0){s=0|i[A+12>>2],u=0;do{r=(0|i[s+(u<<3)>>2])+r|0,u=u+1|0}while((0|u)!=(0|c));u=r}else u=r;c=0|i[(r=a)>>2],(0|(r=0|i[r+4>>2]))<(0|(s=((0|u)<0)<<31>>31))|(0|r)==(0|s)&c>>>0<u>>>0?(i[(r=a)>>2]=u,i[r+4>>2]=s,r=s):u=c,R=0|Te(0|u,0|r,12,0),x=0|_(),i[(r=a)>>2]=R,i[r+4>>2]=x,r=0}if(0|r)return Fe(l),T=o,0|r;if(!(u=0|pe(R,8)))return Fe(l),T=o,13;if(!(b=0|pe(R,8)))return Fe(l),Fe(u),T=o,13;i[(G=t)>>2]=0,i[G+4>>2]=0,V=0|i[(G=A)+4>>2],i[(r=g)>>2]=i[G>>2],i[r+4>>2]=V,r=0|Y(g,R,x,e,t,u,b);A:do{if(r)Fe(u),Fe(b),Fe(l);else{e:do{if((0|i[d>>2])>0){for(s=A+12|0,c=0;r=0|Y((0|i[s>>2])+(c<<3)|0,R,x,e,t,u,b),c=c+1|0,!(0|r);)if((0|c)>=(0|i[d>>2]))break e;Fe(u),Fe(b),Fe(l);break A}}while(0);(0|x)>0|0==(0|x)&R>>>0>0&&We(0|b,0,R<<3|0),G=0|i[(V=t)+4>>2];e:do{if((0|G)>0|0==(0|G)&(0|i[V>>2])>>>0>0){F=u,p=b,P=u,G=b,V=u,r=u,M=u,y=b,I=b,u=b;r:for(;;){for(Q=0,E=0,v=0,C=0,c=0,s=0;;){g=(b=a)+56|0;do{i[b>>2]=0,b=b+4|0}while((0|b)<(0|g));if(0|L(d=0|i[(e=F+(Q<<3)|0)>>2],e=0|i[e+4>>2],1,a,0)){g=(b=a)+56|0;do{i[b>>2]=0,b=b+4|0}while((0|b)<(0|g));0|(b=0|pe(7,4))&&(U(d,e,1,a,b,7,0,0),Fe(b))}for(D=0;;){h=0|i[(m=a+(D<<3)|0)>>2],m=0|i[m+4>>2];n:do{if(0==(0|h)&0==(0|m))b=c,g=s;else{if(w=0|Ye(0|h,0|m,0|R,0|x),d=0|_(),!(0==(0|(g=0|i[(e=b=n+(w<<3)|0)>>2]))&0==(0|(e=0|i[e+4>>2])))){B=0,k=0;do{if((0|B)>(0|x)|(0|B)==(0|x)&k>>>0>R>>>0)break r;if((0|g)==(0|h)&(0|e)==(0|m)){b=c,g=s;break n}w=0|Re(0|(b=0|Te(0|w,0|d,1,0)),0|_(),0|R,0|x),d=0|_(),k=0|Te(0|k,0|B,1,0),B=0|_(),g=0|i[(e=b=n+(w<<3)|0)>>2],e=0|i[e+4>>2]}while(!(0==(0|g)&0==(0|e)))}0==(0|h)&0==(0|m)?(b=c,g=s):(WA(h,m,f),0|de(A,l,f)&&(k=0|Te(0|c,0|s,1,0),s=0|_(),i[(B=b)>>2]=h,i[B+4>>2]=m,i[(c=p+(c<<3)|0)>>2]=h,i[c+4>>2]=m,c=k),b=c,g=s)}}while(0);if((D=D+1|0)>>>0>=7)break;c=b,s=g}if(Q=0|Te(0|Q,0|E,1,0),E=0|_(),v=0|Te(0|v,0|C,1,0),C=0|_(),c=0|i[(s=t)>>2],!((0|C)<(0|(s=0|i[s+4>>2]))|(0|C)==(0|s)&v>>>0<c>>>0))break;c=b,s=g}if((0|s)>0|0==(0|s)&c>>>0>0){c=0,s=0;do{i[(C=F+(c<<3)|0)>>2]=0,i[C+4>>2]=0,c=0|Te(0|c,0|s,1,0),s=0|_(),v=0|i[(C=t)+4>>2]}while((0|s)<(0|v)|((0|s)==(0|v)?c>>>0<(0|i[C>>2])>>>0:0))}if(i[(C=t)>>2]=b,i[C+4>>2]=g,!((0|g)>0|0==(0|g)&b>>>0>0))break e;D=u,Q=I,E=V,v=y,C=p,u=M,I=r,y=P,M=D,r=Q,V=G,G=E,P=v,p=F,F=C}Fe(P),Fe(G),Fe(l),r=1;break A}r=b}while(0);Fe(l),Fe(u),Fe(r),r=0}}while(0);return T=o,0|r},_readInt64AsDoubleFromPointer:function(A){return+(+((0|i[(A|=0)>>2])>>>0)+4294967296*+(0|i[A+4>>2]))},_res0CellCount:function(){return 122},_round:Ke,_sbrk:Je,_sizeOfCellBoundary:function(){return 168},_sizeOfCoordIJ:function(){return 8},_sizeOfGeoLoop:function(){return 8},_sizeOfGeoPolygon:function(){return 16},_sizeOfH3Index:function(){return 8},_sizeOfLatLng:function(){return 16},_sizeOfLinkedGeoPolygon:function(){return 12},_uncompactCells:function(A,e,r,n,t,a,f){A|=0,n|=0,t|=0,a|=0;var o,l=0,u=0,c=0,s=0,b=0,g=0,d=0,w=0;if(o=T,T=T+16|0,w=o,!((0|(r|=0))>0|0==(0|r)&(e|=0)>>>0>0))return T=o,0;if((0|(f|=0))>=16)return T=o,12;g=0,d=0,b=0,l=0;A:for(;;){if(s=0|He(0|(u=0|i[(c=A+(g<<3)|0)>>2]),0|(c=0|i[c+4>>2]),52),_(),(15&s|0)>(0|f)){l=12,u=11;break}if(XA(w,u,c,f),0==(0|(c=0|i[(s=w)>>2]))&0==(0|(s=0|i[s+4>>2])))u=b;else{u=b;do{if(!((0|l)<(0|a)|(0|l)==(0|a)&u>>>0<t>>>0)){u=10;break A}i[(b=n+(u<<3)|0)>>2]=c,i[b+4>>2]=s,u=0|Te(0|u,0|l,1,0),l=0|_(),jA(w),c=0|i[(b=w)>>2],s=0|i[b+4>>2]}while(!(0==(0|c)&0==(0|s)))}if(g=0|Te(0|g,0|d,1,0),!((0|(d=0|_()))<(0|r)|(0|d)==(0|r)&g>>>0<e>>>0)){l=0,u=11;break}b=u}return 10==(0|u)?(T=o,0|(w=14)):11==(0|u)?(T=o,0|l):0},_uncompactCellsSize:function(A,e,r,n,t){A|=0,e|=0,r|=0,n|=0,t|=0;var a,f,o=0,l=0,u=0,c=0,s=0,b=0;f=T,T=T+16|0,a=f;A:do{if((0|r)>0|0==(0|r)&e>>>0>0){for(s=0,l=0,o=0,b=0;;){if(!(0==(0|(u=0|i[(c=A+(s<<3)|0)>>2]))&0==(0|(c=0|i[c+4>>2]))||(c=0==(0|UA(u,c,n,a)),l=0|Te(0|i[(u=a)>>2],0|i[u+4>>2],0|l,0|o),o=0|_(),c))){o=12;break}if(s=0|Te(0|s,0|b,1,0),!((0|(b=0|_()))<(0|r)|(0|b)==(0|r)&s>>>0<e>>>0))break A}return T=f,0|o}l=0,o=0}while(0);return i[t>>2]=l,i[t+4>>2]=o,T=f,0},_vertexToLatLng:function(A,e,r){r|=0;var n,t,a,f,o=0,l=0;return f=T,T=T+192|0,t=f,a=f+168|0,o=0|He(0|(A|=0),0|(e|=0),56),_(),o&=7,0|(n=0|NA(A,l=-2130706433&e|134217728,a))?(T=f,0|(l=n)):(e=0|He(0|A,0|e,52),_(),e&=15,0|VA(A,l)?MA(a,e,o,1,t):pA(a,e,o,1,t),i[r>>2]=i[(l=t+8|0)>>2],i[r+4>>2]=i[l+4>>2],i[r+8>>2]=i[l+8>>2],i[r+12>>2]=i[l+12>>2],T=f,0|(l=0))},establishStackSpace:function(A,e){T=A|=0},stackAlloc:function(A){var e;return e=T,T=15+(T=T+(A|=0)|0)&-16,0|e},stackRestore:function(A){T=A|=0},stackSave:function(){return 0|T}}}({Math:Math,Int8Array:Int8Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:kA,b:function(A){k=A},c:function(){return k},d:function(A,e,r,n){kA("Assertion failed: "+F(A)+", at: "+[e?F(e):"unknown filename",r,n?F(n):"unknown function"])},e:function(A){return r.___errno_location&&(C[r.___errno_location()>>2]=A),A},f:AA,g:function(A,e,r){v.set(v.subarray(e,e+r),A)},h:function(A){var e=AA();if(A>2130706432)return!1;for(var r=Math.max(e,16777216);r<A;)r=r<=536870912?p(2*r,16777216):Math.min(p((3*r+2147483648)/4,16777216),2130706432);return!!eA(r)},i:function(A){kA("OOM")},j:j,k:q,l:eA,m:$,n:function(){var A=$();return r.extraStackTrace&&(A+="\n"+r.extraStackTrace()),q(A)},o:24144,p:24128},Q),oA=(r.___divdi3=fA.___divdi3,r.___muldi3=fA.___muldi3,r.___remdi3=fA.___remdi3,r.___uremdi3=fA.___uremdi3,r._areNeighborCells=fA._areNeighborCells,r._bitshift64Ashr=fA._bitshift64Ashr,r._bitshift64Lshr=fA._bitshift64Lshr,r._bitshift64Shl=fA._bitshift64Shl,r._calloc=fA._calloc,r._cellAreaKm2=fA._cellAreaKm2,r._cellAreaM2=fA._cellAreaM2,r._cellAreaRads2=fA._cellAreaRads2,r._cellToBoundary=fA._cellToBoundary,r._cellToCenterChild=fA._cellToCenterChild,r._cellToChildPos=fA._cellToChildPos,r._cellToChildren=fA._cellToChildren,r._cellToChildrenSize=fA._cellToChildrenSize,r._cellToLatLng=fA._cellToLatLng,r._cellToLocalIj=fA._cellToLocalIj,r._cellToParent=fA._cellToParent,r._cellToVertex=fA._cellToVertex,r._cellToVertexes=fA._cellToVertexes,r._cellsToDirectedEdge=fA._cellsToDirectedEdge,r._cellsToLinkedMultiPolygon=fA._cellsToLinkedMultiPolygon,r._childPosToCell=fA._childPosToCell,r._compactCells=fA._compactCells,r._destroyLinkedMultiPolygon=fA._destroyLinkedMultiPolygon,r._directedEdgeToBoundary=fA._directedEdgeToBoundary,r._directedEdgeToCells=fA._directedEdgeToCells,r._edgeLengthKm=fA._edgeLengthKm,r._edgeLengthM=fA._edgeLengthM,r._edgeLengthRads=fA._edgeLengthRads,r._emscripten_replace_memory=fA._emscripten_replace_memory),lA=(r._free=fA._free,r._getBaseCellNumber=fA._getBaseCellNumber,r._getDirectedEdgeDestination=fA._getDirectedEdgeDestination,r._getDirectedEdgeOrigin=fA._getDirectedEdgeOrigin,r._getHexagonAreaAvgKm2=fA._getHexagonAreaAvgKm2,r._getHexagonAreaAvgM2=fA._getHexagonAreaAvgM2,r._getHexagonEdgeLengthAvgKm=fA._getHexagonEdgeLengthAvgKm,r._getHexagonEdgeLengthAvgM=fA._getHexagonEdgeLengthAvgM,r._getIcosahedronFaces=fA._getIcosahedronFaces,r._getNumCells=fA._getNumCells,r._getPentagons=fA._getPentagons,r._getRes0Cells=fA._getRes0Cells,r._getResolution=fA._getResolution,r._greatCircleDistanceKm=fA._greatCircleDistanceKm,r._greatCircleDistanceM=fA._greatCircleDistanceM,r._greatCircleDistanceRads=fA._greatCircleDistanceRads,r._gridDisk=fA._gridDisk,r._gridDiskDistances=fA._gridDiskDistances,r._gridDistance=fA._gridDistance,r._gridPathCells=fA._gridPathCells,r._gridPathCellsSize=fA._gridPathCellsSize,r._gridRingUnsafe=fA._gridRingUnsafe,r._i64Add=fA._i64Add,r._i64Subtract=fA._i64Subtract,r._isPentagon=fA._isPentagon,r._isResClassIII=fA._isResClassIII,r._isValidCell=fA._isValidCell,r._isValidDirectedEdge=fA._isValidDirectedEdge,r._isValidVertex=fA._isValidVertex,r._latLngToCell=fA._latLngToCell,r._llvm_maxnum_f64=fA._llvm_maxnum_f64,r._llvm_minnum_f64=fA._llvm_minnum_f64,r._llvm_round_f64=fA._llvm_round_f64,r._localIjToCell=fA._localIjToCell,r._malloc=fA._malloc,r._maxFaceCount=fA._maxFaceCount,r._maxGridDiskSize=fA._maxGridDiskSize,r._maxPolygonToCellsSize=fA._maxPolygonToCellsSize,r._memcpy=fA._memcpy,r._memset=fA._memset,r._originToDirectedEdges=fA._originToDirectedEdges,r._pentagonCount=fA._pentagonCount,r._polygonToCells=fA._polygonToCells,r._readInt64AsDoubleFromPointer=fA._readInt64AsDoubleFromPointer,r._res0CellCount=fA._res0CellCount,r._round=fA._round,r._sbrk=fA._sbrk,r._sizeOfCellBoundary=fA._sizeOfCellBoundary,r._sizeOfCoordIJ=fA._sizeOfCoordIJ,r._sizeOfGeoLoop=fA._sizeOfGeoLoop,r._sizeOfGeoPolygon=fA._sizeOfGeoPolygon,r._sizeOfH3Index=fA._sizeOfH3Index,r._sizeOfLatLng=fA._sizeOfLatLng,r._sizeOfLinkedGeoPolygon=fA._sizeOfLinkedGeoPolygon,r._uncompactCells=fA._uncompactCells,r._uncompactCellsSize=fA._uncompactCellsSize,r._vertexToLatLng=fA._vertexToLatLng,r.establishStackSpace=fA.establishStackSpace,r.stackAlloc=fA.stackAlloc),uA=r.stackRestore=fA.stackRestore,cA=r.stackSave=fA.stackSave;if(r.asm=fA,r.cwrap=function(A,e,r,n){var i=(r=r||[]).every(function(A){return"number"===A});return"string"!==e&&i&&!n?D(A):function(){return function(A,e,r,n,i){var t={string:function(A){var e=0;return null!=A&&0!==A&&(e=lA(1+(A.length<<2))),e},array:function(A){var e=lA(A.length);return E.set(A,e),e}},a=D(A),f=[],o=0;if(n)for(var l=0;l<n.length;l++){var u=t[r[l]];u?(0===o&&(o=cA()),f[l]=u(n[l])):f[l]=n[l]}var c=a.apply(null,f);return c=function(A){return"string"===e?F(A):"boolean"===e?Boolean(A):A}(c),0!==o&&uA(o),c}(A,e,r,arguments)}},r.setValue=function(A,e,r,n){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":E[A>>0]=e;break;case"i16":_[A>>1]=e;break;case"i32":C[A>>2]=e;break;case"i64":W=[e>>>0,(N=e,+Y(N)>=1?N>0?(0|z(+H(N/4294967296),4294967295))>>>0:~~+x((N-+(~~N>>>0))/4294967296)>>>0:0)],C[A>>2]=W[0],C[A+4>>2]=W[1];break;case"float":M[A>>2]=e;break;case"double":y[A>>3]=e;break;default:kA("invalid type for setValue: "+r)}},r.getValue=function(A,e,r){switch("*"===(e=e||"i8").charAt(e.length-1)&&(e="i32"),e){case"i1":case"i8":return E[A>>0];case"i16":return _[A>>1];case"i32":case"i64":return C[A>>2];case"float":return M[A>>2];case"double":return y[A>>3];default:kA("invalid type for getValue: "+e)}return null},K)if(X(K)||(tA=K,K=r.locateFile?r.locateFile(tA,d):d+tA),l||f){var sA=s(K);v.set(sA,8)}else{S++,r.monitorRunDependencies&&r.monitorRunDependencies(S);var bA=function(A){A.byteLength&&(A=new Uint8Array(A)),v.set(A,8),r.memoryInitializerRequest&&delete r.memoryInitializerRequest.response,function(A){if(S--,r.monitorRunDependencies&&r.monitorRunDependencies(S),0==S&&(null!==O&&(clearInterval(O),O=null),Z)){var e=Z;Z=null,e()}}()},gA=function(){c(K,bA,function(){throw"could not load memory initializer "+K})},dA=iA(K);if(dA)bA(dA.buffer);else if(r.memoryInitializerRequest){var wA=function(){var A=r.memoryInitializerRequest,e=A.response;if(200!==A.status&&0!==A.status){var n=iA(r.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+A.status+", retrying "+K),void gA();e=n.buffer}bA(e)};r.memoryInitializerRequest.response?setTimeout(wA,0):r.memoryInitializerRequest.addEventListener("load",wA)}else gA()}function BA(A){function e(){aA||(aA=!0,h||(G(U),G(V),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)A=r.postRun.shift(),R.unshift(A);var A;G(R)}()))}A=A||o,S>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)A=r.preRun.shift(),L.unshift(A);var A;G(L)}(),S>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),e()},1)):e()))}function kA(A){throw r.onAbort&&r.onAbort(A),w(A+=""),B(A),h=!0,"abort("+A+"). Build with -s ASSERTIONS=1 for more info."}if(Z=function A(){aA||BA(),aA||(Z=A)},r.run=BA,r.abort=kA,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return BA(),A}("object"==typeof e?e:{}),r="number",n=[["sizeOfH3Index",r],["sizeOfLatLng",r],["sizeOfCellBoundary",r],["sizeOfGeoLoop",r],["sizeOfGeoPolygon",r],["sizeOfLinkedGeoPolygon",r],["sizeOfCoordIJ",r],["readInt64AsDoubleFromPointer",r],["isValidCell","number",["number","number"]],["latLngToCell","number",[r,r,"number",r]],["cellToLatLng","number",["number","number",r]],["cellToBoundary","number",["number","number",r]],["maxGridDiskSize","number",[r,r]],["gridDisk","number",["number","number",r,r]],["gridDiskDistances","number",["number","number",r,r,r]],["gridRingUnsafe","number",["number","number",r,r]],["maxPolygonToCellsSize","number",[r,"number",r,r]],["polygonToCells","number",[r,"number",r,r]],["cellsToLinkedMultiPolygon","number",[r,r,r]],["destroyLinkedMultiPolygon",null,[r]],["compactCells","number",[r,r,r,r]],["uncompactCells","number",[r,r,r,r,r,"number"]],["uncompactCellsSize","number",[r,r,r,"number",r]],["isPentagon","number",["number","number"]],["isResClassIII","number",["number","number"]],["getBaseCellNumber",r,["number","number"]],["getResolution",r,["number","number"]],["maxFaceCount","number",["number","number",r]],["getIcosahedronFaces","number",["number","number",r]],["cellToParent","number",["number","number","number",r]],["cellToChildren","number",["number","number","number",r]],["cellToCenterChild","number",["number","number","number",r]],["cellToChildrenSize","number",["number","number","number",r]],["cellToChildPos","number",["number","number","number",r]],["childPosToCell","number",[r,r,"number","number","number",r]],["areNeighborCells","number",["number","number","number","number",r]],["cellsToDirectedEdge","number",["number","number","number","number",r]],["getDirectedEdgeOrigin","number",["number","number",r]],["getDirectedEdgeDestination","number",["number","number",r]],["isValidDirectedEdge","number",["number","number"]],["directedEdgeToCells","number",["number","number",r]],["originToDirectedEdges","number",["number","number",r]],["directedEdgeToBoundary","number",["number","number",r]],["gridDistance","number",["number","number","number","number",r]],["gridPathCells","number",["number","number","number","number",r]],["gridPathCellsSize","number",["number","number","number","number",r]],["cellToLocalIj","number",["number","number","number","number",r,r]],["localIjToCell","number",["number","number",r,r,r]],["getHexagonAreaAvgM2","number",["number",r]],["getHexagonAreaAvgKm2","number",["number",r]],["getHexagonEdgeLengthAvgM","number",["number",r]],["getHexagonEdgeLengthAvgKm","number",["number",r]],["greatCircleDistanceM",r,[r,r]],["greatCircleDistanceKm",r,[r,r]],["greatCircleDistanceRads",r,[r,r]],["cellAreaM2","number",["number","number",r]],["cellAreaKm2","number",["number","number",r]],["cellAreaRads2","number",["number","number",r]],["edgeLengthM","number",["number","number",r]],["edgeLengthKm","number",["number","number",r]],["edgeLengthRads","number",["number","number",r]],["getNumCells","number",["number",r]],["getRes0Cells","number",[r]],["res0CellCount",r],["getPentagons","number",[r,r]],["pentagonCount",r],["cellToVertex","number",["number","number",r,r]],["cellToVertexes","number",["number","number",r]],["vertexToLatLng","number",["number","number",r]],["isValidVertex","number",["number","number"]]],i=4,t=5,a={0:"Success",1:"The operation failed but a more specific error is not available",2:"Argument was outside of acceptable range",3:"Latitude or longitude arguments were outside of acceptable range"};a[i]="Resolution argument was outside of acceptable range",a[t]="Cell argument was not valid",a[6]="Directed edge argument was not valid",a[7]="Undirected edge argument was not valid",a[8]="Vertex argument was not valid",a[9]="Pentagon distortion was encountered",a[10]="Duplicate input",a[11]="Cell arguments were not neighbors",a[12]="Cell arguments had incompatible resolutions",a[13]="Memory allocation failed",a[14]="Bounds of provided memory were insufficient",a[15]="Mode or flags argument was not valid";var f=1001,o=1002,l={1000:"Unknown unit"};l[f]="Array length out of bounds",l[o]="Got unexpected null value for H3 index";var u="Unknown error";function c(A,e,r){var n=new Error((A[e]||u)+" (code: "+e+(r&&"value"in r?", value: "+r.value:"")+")");return n.code=e,n}function s(A,e){return c(a,A,2===arguments.length?{value:e}:{})}function b(A,e){return c(l,A,2===arguments.length?{value:e}:{})}function g(A){if(0!==A)throw s(A)}var d={};n.forEach(function(A){d[A[0]]=e.cwrap.apply(e,A)});var w=16,B=4,k=8,h=8,m=d.sizeOfH3Index(),D=d.sizeOfLatLng(),Q=d.sizeOfCellBoundary(),E=d.sizeOfGeoPolygon(),v=d.sizeOfGeoLoop(),_=d.sizeOfLinkedGeoPolygon(),C=d.sizeOfCoordIJ(),M={m:"m",m2:"m2",km:"km",km2:"km2",rads:"rads",rads2:"rads2"};function y(A){if("number"!=typeof A||A<0||A>15||Math.floor(A)!==A)throw s(i,A);return A}function I(A){if(!A)throw b(o);return A}var F=Math.pow(2,32)-1;function p(A){if(A>F)throw b(f,A);return A}var T=/[^0-9a-fA-F]/;function P(A){if(Array.isArray(A)&&2===A.length&&Number.isInteger(A[0])&&Number.isInteger(A[1]))return A;if("string"!=typeof A||T.test(A))return[0,0];var e=parseInt(A.substring(0,A.length-8),w);return[parseInt(A.substring(A.length-8),w),e]}function G(A){if(A>=0)return A.toString(w);var e=U(8,(A&=2147483647).toString(w));return(parseInt(e[0],w)+8).toString(w)+e.substring(1)}function L(A,e){return G(e)+U(8,G(A))}function U(A,e){for(var r=A-e.length,n="",i=0;i<r;i++)n+="0";return n+e}var V=Math.pow(2,32);function R(A,r,n){for(var i=A.length,t=e._calloc(i,D),a=n?1:0,f=n?0:1,o=0;o<2*i;o+=2)e.HEAPF64.set([A[o/2][a],A[o/2][f]].map(q),t/k+o);return e.HEAPU32.set([i,t],r/B),r}function Y(A,r){void 0===r&&(r=0);var n=e.getValue(A+m*r,"i32"),i=e.getValue(A+m*r+B,"i32");return i?L(n,i):null}function x(A,r){return void 0===r&&(r=0),e.getValue(A+k*r,"double")}function H(A){return d.readInt64AsDoubleFromPointer(A)}function z(A,r,n){e.HEAPU32.set(P(A),r/B+2*n)}function S(A,e){for(var r=[],n=0;n<e;n++){var i=Y(A,n);null!==i&&r.push(i)}return r}function O(A,e){for(var r=e.length,n=0;n<r;n++)z(e[n],A,n)}function Z(A,r){var n=e._calloc(1,D);return e.HEAPF64.set([A,r].map(q),n/k),n}function N(A){return $(e.getValue(A,"double"))}function W(A){return[N(A),N(A+k)]}function K(A){return[N(A+k),N(A)]}function J(A,r,n){for(var i=e.getValue(A,"i32"),t=A+k,a=[],f=r?K:W,o=0;o<2*i;o+=2)a.push(f(t+k*o));return n&&a.push(a[0]),a}function X(A){var e=P(A);return Boolean(d.isValidCell(e[0],e[1]))}function j(A,r){if(!X(A))throw s(t);var n=P(A),i=n[0],a=n[1],f=e._malloc(h);try{return g(d.cellToChildrenSize(i,a,r,f)),H(f)}finally{e._free(f)}}function q(A){return A*Math.PI/180}function $(A){return 180*A/Math.PI}A.UNITS=M,A.h3IndexToSplitLong=P,A.splitLongToH3Index=L,A.isValidCell=X,A.isPentagon=function(A){var e=P(A);return Boolean(d.isPentagon(e[0],e[1]))},A.isResClassIII=function(A){var e=P(A);return Boolean(d.isResClassIII(e[0],e[1]))},A.getBaseCellNumber=function(A){var e=P(A);return d.getBaseCellNumber(e[0],e[1])},A.getIcosahedronFaces=function(A){var r=P(A),n=r[0],i=r[1],t=e._malloc(B);try{g(d.maxFaceCount(n,i,t));var a=e.getValue(t,"i32"),f=e._malloc(B*a);try{return g(d.getIcosahedronFaces(n,i,f)),function(A,r){for(var n=[],i=0;i<r;i++){var t=e.getValue(A+B*i,"i32");t>=0&&n.push(t)}return n}(f,a)}finally{e._free(f)}}finally{e._free(t)}},A.getResolution=function(A){var e=P(A),r=e[0],n=e[1];return d.isValidCell(r,n)?d.getResolution(r,n):-1},A.latLngToCell=function(A,r,n){var i=e._malloc(D);e.HEAPF64.set([A,r].map(q),i/k);var t=e._malloc(m);try{return g(d.latLngToCell(i,n,t)),I(Y(t))}finally{e._free(t),e._free(i)}},A.cellToLatLng=function(A){var r=e._malloc(D),n=P(A),i=n[0],t=n[1];try{return g(d.cellToLatLng(i,t,r)),W(r)}finally{e._free(r)}},A.cellToBoundary=function(A,r){var n=e._malloc(Q),i=P(A),t=i[0],a=i[1];try{return g(d.cellToBoundary(t,a,n)),J(n,r,r)}finally{e._free(n)}},A.cellToParent=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(m);try{return g(d.cellToParent(i,t,r,a)),I(Y(a))}finally{e._free(a)}},A.cellToChildren=function(A,r){if(!X(A))return[];var n=P(A),i=n[0],t=n[1],a=p(j(A,r)),f=e._calloc(a,m);try{return g(d.cellToChildren(i,t,r,f)),S(f,a)}finally{e._free(f)}},A.cellToChildrenSize=j,A.cellToCenterChild=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(m);try{return g(d.cellToCenterChild(i,t,r,a)),I(Y(a))}finally{e._free(a)}},A.cellToChildPos=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(h);try{return g(d.cellToChildPos(i,t,r,a)),H(a)}finally{e._free(a)}},A.childPosToCell=function(A,r,n){var i,t="number"!=typeof(i=A)?[0,0]:[0|i,i/V|0],a=t[0],f=t[1],o=P(r),l=o[0],u=o[1],c=e._malloc(m);try{return g(d.childPosToCell(a,f,l,u,n,c)),I(Y(c))}finally{e._free(c)}},A.gridDisk=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(h);try{g(d.maxGridDiskSize(r,a));var f=p(H(a)),o=e._calloc(f,m);try{return g(d.gridDisk(i,t,r,o)),S(o,f)}finally{e._free(o)}}finally{e._free(a)}},A.gridDiskDistances=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(h);try{g(d.maxGridDiskSize(r,a));var f=p(H(a)),o=e._calloc(f,m),l=e._calloc(f,B);try{g(d.gridDiskDistances(i,t,r,o,l));for(var u=[],c=0;c<r+1;c++)u.push([]);for(var s=0;s<f;s++){var b=Y(o,s),w=e.getValue(l+B*s,"i32");null!==b&&u[w].push(b)}return u}finally{e._free(o),e._free(l)}}finally{e._free(a)}},A.gridRingUnsafe=function(A,r){var n=0===r?1:6*r,i=e._calloc(n,m);try{return g(d.gridRingUnsafe.apply(d,P(A).concat([r],[i]))),S(i,n)}finally{e._free(i)}},A.polygonToCells=function(A,r,n){if(y(r),n=Boolean(n),0===A.length||0===A[0].length)return[];var i=function(A,r){var n,i=A.length-1,t=e._calloc(E),a=0+v,f=a+B;if(R(A[0],t+0,r),i>0){n=e._calloc(i,v);for(var o=0;o<i;o++)R(A[o+1],n+v*o,r)}return e.setValue(t+a,i,"i32"),e.setValue(t+f,n,"i32"),t}("number"==typeof A[0][0]?[A]:A,n),t=e._malloc(h);try{g(d.maxPolygonToCellsSize(i,r,0,t));var a=p(H(t)),f=e._calloc(a,m);try{return g(d.polygonToCells(i,r,0,f)),S(f,a)}finally{e._free(f)}}finally{e._free(t),function(A){var r=0+v,n=r+B,i=B;e._free(e.getValue(A+0+i,"i8*"));var t=e.getValue(A+r,"i32");if(t>0){for(var a=e.getValue(A+n,"i32"),f=0;f<t;f++)e._free(e.getValue(a+v*f+i,"i8*"));e._free(a)}e._free(A)}(i)}},A.cellsToMultiPolygon=function(A,r){if(!A||!A.length)return[];var n=A.length,i=e._calloc(n,m);O(i,A);var t=e._calloc(_);try{return g(d.cellsToLinkedMultiPolygon(i,n,t)),function(A,r){for(var n,i,t,a,f=[],o=r?K:W;A;){for(f.push(n=[]),i=e.getValue(A,"i8*");i;){for(n.push(t=[]),a=e.getValue(i,"i8*");a;)t.push(o(a)),a=e.getValue(a+2*k,"i8*");r&&t.push(t[0]),i=e.getValue(i+8,"i8*")}A=e.getValue(A+8,"i8*")}return f}(t,r)}finally{d.destroyLinkedMultiPolygon(t),e._free(t),e._free(i)}},A.compactCells=function(A){if(!A||!A.length)return[];var r=A.length,n=e._calloc(r,m);O(n,A);var i=e._calloc(r,m);try{return g(d.compactCells(n,i,r,0)),S(i,r)}finally{e._free(n),e._free(i)}},A.uncompactCells=function(A,r){if(y(r),!A||!A.length)return[];var n=A.length,i=e._calloc(n,m);O(i,A);var t=e._malloc(h);try{g(d.uncompactCellsSize(i,n,0,r,t));var a=p(H(t)),f=e._calloc(a,m);try{return g(d.uncompactCells(i,n,0,f,a,0,r)),S(f,a)}finally{e._free(i),e._free(f)}}finally{e._free(t)}},A.areNeighborCells=function(A,r){var n=P(A),i=n[0],t=n[1],a=P(r),f=a[0],o=a[1],l=e._malloc(B);try{return g(d.areNeighborCells(i,t,f,o,l)),function(A,r){void 0===r&&(r=0);var n=e.getValue(l+B*r,"i32");return Boolean(n)}()}finally{e._free(l)}},A.cellsToDirectedEdge=function(A,r){var n=P(A),i=n[0],t=n[1],a=P(r),f=a[0],o=a[1],l=e._malloc(m);try{return g(d.cellsToDirectedEdge(i,t,f,o,l)),I(Y(l))}finally{e._free(l)}},A.getDirectedEdgeOrigin=function(A){var r=P(A),n=r[0],i=r[1],t=e._malloc(m);try{return g(d.getDirectedEdgeOrigin(n,i,t)),I(Y(t))}finally{e._free(t)}},A.getDirectedEdgeDestination=function(A){var r=P(A),n=r[0],i=r[1],t=e._malloc(m);try{return g(d.getDirectedEdgeDestination(n,i,t)),I(Y(t))}finally{e._free(t)}},A.isValidDirectedEdge=function(A){var e=P(A);return Boolean(d.isValidDirectedEdge(e[0],e[1]))},A.directedEdgeToCells=function(A){var r=P(A),n=r[0],i=r[1],t=e._calloc(2,m);try{return g(d.directedEdgeToCells(n,i,t)),S(t,2)}finally{e._free(t)}},A.originToDirectedEdges=function(A){var r=P(A),n=r[0],i=r[1],t=e._calloc(6,m);try{return g(d.originToDirectedEdges(n,i,t)),S(t,6)}finally{e._free(t)}},A.directedEdgeToBoundary=function(A,r){var n=e._malloc(Q),i=P(A),t=i[0],a=i[1];try{return g(d.directedEdgeToBoundary(t,a,n)),J(n,r)}finally{e._free(n)}},A.gridDistance=function(A,r){var n=P(A),i=n[0],t=n[1],a=P(r),f=a[0],o=a[1],l=e._malloc(h);try{return g(d.gridDistance(i,t,f,o,l)),H(l)}finally{e._free(l)}},A.gridPathCells=function(A,r){var n=P(A),i=n[0],t=n[1],a=P(r),f=a[0],o=a[1],l=e._malloc(h);try{g(d.gridPathCellsSize(i,t,f,o,l));var u=p(H(l)),c=e._calloc(u,m);try{return d.gridPathCells(i,t,f,o,c),S(c,u)}finally{e._free(c)}}finally{e._free(l)}},A.cellToLocalIj=function(A,r){var n,i=e._malloc(C);try{return g(d.cellToLocalIj.apply(d,P(A).concat(P(r),[0],[i]))),{i:e.getValue(n=i,"i32"),j:e.getValue(n+B,"i32")}}finally{e._free(i)}},A.localIjToCell=function(A,r){if(!r||"number"!=typeof r.i||"number"!=typeof r.j)throw new Error("Coordinates must be provided as an {i, j} object");var n,i,t,a=e._malloc(C),f=e._malloc(m);t=(i=r).j,e.setValue(n=a,i.i,"i32"),e.setValue(n+B,t,"i32");try{return g(d.localIjToCell.apply(d,P(A).concat([a],[0],[f]))),I(Y(f))}finally{e._free(a),e._free(f)}},A.greatCircleDistance=function(A,r,n){var i,t=Z(A[0],A[1]),a=Z(r[0],r[1]);switch(n){case M.m:i=d.greatCircleDistanceM(t,a);break;case M.km:i=d.greatCircleDistanceKm(t,a);break;case M.rads:i=d.greatCircleDistanceRads(t,a);break;default:i=null}if(e._free(t),e._free(a),null===i)throw b(1e3,n);return i},A.cellArea=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(k);try{switch(r){case M.m2:g(d.cellAreaM2(i,t,a));break;case M.km2:g(d.cellAreaKm2(i,t,a));break;case M.rads2:g(d.cellAreaRads2(i,t,a));break;default:throw b(1e3,r)}return x(a)}finally{e._free(a)}},A.edgeLength=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(k);try{switch(r){case M.m:g(d.edgeLengthM(i,t,a));break;case M.km:g(d.edgeLengthKm(i,t,a));break;case M.rads:g(d.edgeLengthRads(i,t,a));break;default:throw b(1e3,r)}return x(a)}finally{e._free(a)}},A.getHexagonAreaAvg=function(A,r){y(A);var n=e._malloc(k);try{switch(r){case M.m2:g(d.getHexagonAreaAvgM2(A,n));break;case M.km2:g(d.getHexagonAreaAvgKm2(A,n));break;default:throw b(1e3,r)}return x(n)}finally{e._free(n)}},A.getHexagonEdgeLengthAvg=function(A,r){y(A);var n=e._malloc(k);try{switch(r){case M.m:g(d.getHexagonEdgeLengthAvgM(A,n));break;case M.km:g(d.getHexagonEdgeLengthAvgKm(A,n));break;default:throw b(1e3,r)}return x(n)}finally{e._free(n)}},A.cellToVertex=function(A,r){var n=P(A),i=n[0],t=n[1],a=e._malloc(m);try{return g(d.cellToVertex(i,t,r,a)),I(Y(a))}finally{e._free(a)}},A.cellToVertexes=function(A){var r=P(A),n=r[0],i=r[1],t=e._calloc(6,m);try{return g(d.cellToVertexes(n,i,t)),S(t,6)}finally{e._free(t)}},A.vertexToLatLng=function(A){var r=e._malloc(D),n=P(A),i=n[0],t=n[1];try{return g(d.vertexToLatLng(i,t,r)),W(r)}finally{e._free(r)}},A.isValidVertex=function(A){var e=P(A);return Boolean(d.isValidVertex(e[0],e[1]))},A.getNumCells=function(A){y(A);var r=e._malloc(h);try{return g(d.getNumCells(A,r)),H(r)}finally{e._free(r)}},A.getRes0Cells=function(){var A=d.res0CellCount(),r=e._malloc(m*A);try{return g(d.getRes0Cells(r)),S(r,A)}finally{e._free(r)}},A.getPentagons=function(A){y(A);var r=d.pentagonCount(),n=e._malloc(m*r);try{return g(d.getPentagons(A,n)),S(n,r)}finally{e._free(n)}},A.degsToRads=q,A.radsToDegs=$}); 2 + //# sourceMappingURL=h3-js.umd.js.map
static/images/layers-2x.png

This is a binary file and will not be displayed.

static/images/layers.png

This is a binary file and will not be displayed.

static/images/marker-icon-2x.png

This is a binary file and will not be displayed.

static/images/marker-icon.png

This is a binary file and will not be displayed.

static/images/marker-shadow.png

This is a binary file and will not be displayed.

+661
static/leaflet.css
···
··· 1 + /* required styles */ 2 + 3 + .leaflet-pane, 4 + .leaflet-tile, 5 + .leaflet-marker-icon, 6 + .leaflet-marker-shadow, 7 + .leaflet-tile-container, 8 + .leaflet-pane > svg, 9 + .leaflet-pane > canvas, 10 + .leaflet-zoom-box, 11 + .leaflet-image-layer, 12 + .leaflet-layer { 13 + position: absolute; 14 + left: 0; 15 + top: 0; 16 + } 17 + .leaflet-container { 18 + overflow: hidden; 19 + } 20 + .leaflet-tile, 21 + .leaflet-marker-icon, 22 + .leaflet-marker-shadow { 23 + -webkit-user-select: none; 24 + -moz-user-select: none; 25 + user-select: none; 26 + -webkit-user-drag: none; 27 + } 28 + /* Prevents IE11 from highlighting tiles in blue */ 29 + .leaflet-tile::selection { 30 + background: transparent; 31 + } 32 + /* Safari renders non-retina tile on retina better with this, but Chrome is worse */ 33 + .leaflet-safari .leaflet-tile { 34 + image-rendering: -webkit-optimize-contrast; 35 + } 36 + /* hack that prevents hw layers "stretching" when loading new tiles */ 37 + .leaflet-safari .leaflet-tile-container { 38 + width: 1600px; 39 + height: 1600px; 40 + -webkit-transform-origin: 0 0; 41 + } 42 + .leaflet-marker-icon, 43 + .leaflet-marker-shadow { 44 + display: block; 45 + } 46 + /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ 47 + /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ 48 + .leaflet-container .leaflet-overlay-pane svg { 49 + max-width: none !important; 50 + max-height: none !important; 51 + } 52 + .leaflet-container .leaflet-marker-pane img, 53 + .leaflet-container .leaflet-shadow-pane img, 54 + .leaflet-container .leaflet-tile-pane img, 55 + .leaflet-container img.leaflet-image-layer, 56 + .leaflet-container .leaflet-tile { 57 + max-width: none !important; 58 + max-height: none !important; 59 + width: auto; 60 + padding: 0; 61 + } 62 + 63 + .leaflet-container img.leaflet-tile { 64 + /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ 65 + mix-blend-mode: plus-lighter; 66 + } 67 + 68 + .leaflet-container.leaflet-touch-zoom { 69 + -ms-touch-action: pan-x pan-y; 70 + touch-action: pan-x pan-y; 71 + } 72 + .leaflet-container.leaflet-touch-drag { 73 + -ms-touch-action: pinch-zoom; 74 + /* Fallback for FF which doesn't support pinch-zoom */ 75 + touch-action: none; 76 + touch-action: pinch-zoom; 77 + } 78 + .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { 79 + -ms-touch-action: none; 80 + touch-action: none; 81 + } 82 + .leaflet-container { 83 + -webkit-tap-highlight-color: transparent; 84 + } 85 + .leaflet-container a { 86 + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); 87 + } 88 + .leaflet-tile { 89 + filter: inherit; 90 + visibility: hidden; 91 + } 92 + .leaflet-tile-loaded { 93 + visibility: inherit; 94 + } 95 + .leaflet-zoom-box { 96 + width: 0; 97 + height: 0; 98 + -moz-box-sizing: border-box; 99 + box-sizing: border-box; 100 + z-index: 800; 101 + } 102 + /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ 103 + .leaflet-overlay-pane svg { 104 + -moz-user-select: none; 105 + } 106 + 107 + .leaflet-pane { z-index: 400; } 108 + 109 + .leaflet-tile-pane { z-index: 200; } 110 + .leaflet-overlay-pane { z-index: 400; } 111 + .leaflet-shadow-pane { z-index: 500; } 112 + .leaflet-marker-pane { z-index: 600; } 113 + .leaflet-tooltip-pane { z-index: 650; } 114 + .leaflet-popup-pane { z-index: 700; } 115 + 116 + .leaflet-map-pane canvas { z-index: 100; } 117 + .leaflet-map-pane svg { z-index: 200; } 118 + 119 + .leaflet-vml-shape { 120 + width: 1px; 121 + height: 1px; 122 + } 123 + .lvml { 124 + behavior: url(#default#VML); 125 + display: inline-block; 126 + position: absolute; 127 + } 128 + 129 + 130 + /* control positioning */ 131 + 132 + .leaflet-control { 133 + position: relative; 134 + z-index: 800; 135 + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ 136 + pointer-events: auto; 137 + } 138 + .leaflet-top, 139 + .leaflet-bottom { 140 + position: absolute; 141 + z-index: 1000; 142 + pointer-events: none; 143 + } 144 + .leaflet-top { 145 + top: 0; 146 + } 147 + .leaflet-right { 148 + right: 0; 149 + } 150 + .leaflet-bottom { 151 + bottom: 0; 152 + } 153 + .leaflet-left { 154 + left: 0; 155 + } 156 + .leaflet-control { 157 + float: left; 158 + clear: both; 159 + } 160 + .leaflet-right .leaflet-control { 161 + float: right; 162 + } 163 + .leaflet-top .leaflet-control { 164 + margin-top: 10px; 165 + } 166 + .leaflet-bottom .leaflet-control { 167 + margin-bottom: 10px; 168 + } 169 + .leaflet-left .leaflet-control { 170 + margin-left: 10px; 171 + } 172 + .leaflet-right .leaflet-control { 173 + margin-right: 10px; 174 + } 175 + 176 + 177 + /* zoom and fade animations */ 178 + 179 + .leaflet-fade-anim .leaflet-popup { 180 + opacity: 0; 181 + -webkit-transition: opacity 0.2s linear; 182 + -moz-transition: opacity 0.2s linear; 183 + transition: opacity 0.2s linear; 184 + } 185 + .leaflet-fade-anim .leaflet-map-pane .leaflet-popup { 186 + opacity: 1; 187 + } 188 + .leaflet-zoom-animated { 189 + -webkit-transform-origin: 0 0; 190 + -ms-transform-origin: 0 0; 191 + transform-origin: 0 0; 192 + } 193 + svg.leaflet-zoom-animated { 194 + will-change: transform; 195 + } 196 + 197 + .leaflet-zoom-anim .leaflet-zoom-animated { 198 + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); 199 + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); 200 + transition: transform 0.25s cubic-bezier(0,0,0.25,1); 201 + } 202 + .leaflet-zoom-anim .leaflet-tile, 203 + .leaflet-pan-anim .leaflet-tile { 204 + -webkit-transition: none; 205 + -moz-transition: none; 206 + transition: none; 207 + } 208 + 209 + .leaflet-zoom-anim .leaflet-zoom-hide { 210 + visibility: hidden; 211 + } 212 + 213 + 214 + /* cursors */ 215 + 216 + .leaflet-interactive { 217 + cursor: pointer; 218 + } 219 + .leaflet-grab { 220 + cursor: -webkit-grab; 221 + cursor: -moz-grab; 222 + cursor: grab; 223 + } 224 + .leaflet-crosshair, 225 + .leaflet-crosshair .leaflet-interactive { 226 + cursor: crosshair; 227 + } 228 + .leaflet-popup-pane, 229 + .leaflet-control { 230 + cursor: auto; 231 + } 232 + .leaflet-dragging .leaflet-grab, 233 + .leaflet-dragging .leaflet-grab .leaflet-interactive, 234 + .leaflet-dragging .leaflet-marker-draggable { 235 + cursor: move; 236 + cursor: -webkit-grabbing; 237 + cursor: -moz-grabbing; 238 + cursor: grabbing; 239 + } 240 + 241 + /* marker & overlays interactivity */ 242 + .leaflet-marker-icon, 243 + .leaflet-marker-shadow, 244 + .leaflet-image-layer, 245 + .leaflet-pane > svg path, 246 + .leaflet-tile-container { 247 + pointer-events: none; 248 + } 249 + 250 + .leaflet-marker-icon.leaflet-interactive, 251 + .leaflet-image-layer.leaflet-interactive, 252 + .leaflet-pane > svg path.leaflet-interactive, 253 + svg.leaflet-image-layer.leaflet-interactive path { 254 + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ 255 + pointer-events: auto; 256 + } 257 + 258 + /* visual tweaks */ 259 + 260 + .leaflet-container { 261 + background: #ddd; 262 + outline-offset: 1px; 263 + } 264 + .leaflet-container a { 265 + color: #0078A8; 266 + } 267 + .leaflet-zoom-box { 268 + border: 2px dotted #38f; 269 + background: rgba(255,255,255,0.5); 270 + } 271 + 272 + 273 + /* general typography */ 274 + .leaflet-container { 275 + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; 276 + font-size: 12px; 277 + font-size: 0.75rem; 278 + line-height: 1.5; 279 + } 280 + 281 + 282 + /* general toolbar styles */ 283 + 284 + .leaflet-bar { 285 + box-shadow: 0 1px 5px rgba(0,0,0,0.65); 286 + border-radius: 4px; 287 + } 288 + .leaflet-bar a { 289 + background-color: #fff; 290 + border-bottom: 1px solid #ccc; 291 + width: 26px; 292 + height: 26px; 293 + line-height: 26px; 294 + display: block; 295 + text-align: center; 296 + text-decoration: none; 297 + color: black; 298 + } 299 + .leaflet-bar a, 300 + .leaflet-control-layers-toggle { 301 + background-position: 50% 50%; 302 + background-repeat: no-repeat; 303 + display: block; 304 + } 305 + .leaflet-bar a:hover, 306 + .leaflet-bar a:focus { 307 + background-color: #f4f4f4; 308 + } 309 + .leaflet-bar a:first-child { 310 + border-top-left-radius: 4px; 311 + border-top-right-radius: 4px; 312 + } 313 + .leaflet-bar a:last-child { 314 + border-bottom-left-radius: 4px; 315 + border-bottom-right-radius: 4px; 316 + border-bottom: none; 317 + } 318 + .leaflet-bar a.leaflet-disabled { 319 + cursor: default; 320 + background-color: #f4f4f4; 321 + color: #bbb; 322 + } 323 + 324 + .leaflet-touch .leaflet-bar a { 325 + width: 30px; 326 + height: 30px; 327 + line-height: 30px; 328 + } 329 + .leaflet-touch .leaflet-bar a:first-child { 330 + border-top-left-radius: 2px; 331 + border-top-right-radius: 2px; 332 + } 333 + .leaflet-touch .leaflet-bar a:last-child { 334 + border-bottom-left-radius: 2px; 335 + border-bottom-right-radius: 2px; 336 + } 337 + 338 + /* zoom control */ 339 + 340 + .leaflet-control-zoom-in, 341 + .leaflet-control-zoom-out { 342 + font: bold 18px 'Lucida Console', Monaco, monospace; 343 + text-indent: 1px; 344 + } 345 + 346 + .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { 347 + font-size: 22px; 348 + } 349 + 350 + 351 + /* layers control */ 352 + 353 + .leaflet-control-layers { 354 + box-shadow: 0 1px 5px rgba(0,0,0,0.4); 355 + background: #fff; 356 + border-radius: 5px; 357 + } 358 + .leaflet-control-layers-toggle { 359 + background-image: url(images/layers.png); 360 + width: 36px; 361 + height: 36px; 362 + } 363 + .leaflet-retina .leaflet-control-layers-toggle { 364 + background-image: url(images/layers-2x.png); 365 + background-size: 26px 26px; 366 + } 367 + .leaflet-touch .leaflet-control-layers-toggle { 368 + width: 44px; 369 + height: 44px; 370 + } 371 + .leaflet-control-layers .leaflet-control-layers-list, 372 + .leaflet-control-layers-expanded .leaflet-control-layers-toggle { 373 + display: none; 374 + } 375 + .leaflet-control-layers-expanded .leaflet-control-layers-list { 376 + display: block; 377 + position: relative; 378 + } 379 + .leaflet-control-layers-expanded { 380 + padding: 6px 10px 6px 6px; 381 + color: #333; 382 + background: #fff; 383 + } 384 + .leaflet-control-layers-scrollbar { 385 + overflow-y: scroll; 386 + overflow-x: hidden; 387 + padding-right: 5px; 388 + } 389 + .leaflet-control-layers-selector { 390 + margin-top: 2px; 391 + position: relative; 392 + top: 1px; 393 + } 394 + .leaflet-control-layers label { 395 + display: block; 396 + font-size: 13px; 397 + font-size: 1.08333em; 398 + } 399 + .leaflet-control-layers-separator { 400 + height: 0; 401 + border-top: 1px solid #ddd; 402 + margin: 5px -10px 5px -6px; 403 + } 404 + 405 + /* Default icon URLs */ 406 + .leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ 407 + background-image: url(images/marker-icon.png); 408 + } 409 + 410 + 411 + /* attribution and scale controls */ 412 + 413 + .leaflet-container .leaflet-control-attribution { 414 + background: #fff; 415 + background: rgba(255, 255, 255, 0.8); 416 + margin: 0; 417 + } 418 + .leaflet-control-attribution, 419 + .leaflet-control-scale-line { 420 + padding: 0 5px; 421 + color: #333; 422 + line-height: 1.4; 423 + } 424 + .leaflet-control-attribution a { 425 + text-decoration: none; 426 + } 427 + .leaflet-control-attribution a:hover, 428 + .leaflet-control-attribution a:focus { 429 + text-decoration: underline; 430 + } 431 + .leaflet-attribution-flag { 432 + display: inline !important; 433 + vertical-align: baseline !important; 434 + width: 1em; 435 + height: 0.6669em; 436 + } 437 + .leaflet-left .leaflet-control-scale { 438 + margin-left: 5px; 439 + } 440 + .leaflet-bottom .leaflet-control-scale { 441 + margin-bottom: 5px; 442 + } 443 + .leaflet-control-scale-line { 444 + border: 2px solid #777; 445 + border-top: none; 446 + line-height: 1.1; 447 + padding: 2px 5px 1px; 448 + white-space: nowrap; 449 + -moz-box-sizing: border-box; 450 + box-sizing: border-box; 451 + background: rgba(255, 255, 255, 0.8); 452 + text-shadow: 1px 1px #fff; 453 + } 454 + .leaflet-control-scale-line:not(:first-child) { 455 + border-top: 2px solid #777; 456 + border-bottom: none; 457 + margin-top: -2px; 458 + } 459 + .leaflet-control-scale-line:not(:first-child):not(:last-child) { 460 + border-bottom: 2px solid #777; 461 + } 462 + 463 + .leaflet-touch .leaflet-control-attribution, 464 + .leaflet-touch .leaflet-control-layers, 465 + .leaflet-touch .leaflet-bar { 466 + box-shadow: none; 467 + } 468 + .leaflet-touch .leaflet-control-layers, 469 + .leaflet-touch .leaflet-bar { 470 + border: 2px solid rgba(0,0,0,0.2); 471 + background-clip: padding-box; 472 + } 473 + 474 + 475 + /* popup */ 476 + 477 + .leaflet-popup { 478 + position: absolute; 479 + text-align: center; 480 + margin-bottom: 20px; 481 + } 482 + .leaflet-popup-content-wrapper { 483 + padding: 1px; 484 + text-align: left; 485 + border-radius: 12px; 486 + } 487 + .leaflet-popup-content { 488 + margin: 13px 24px 13px 20px; 489 + line-height: 1.3; 490 + font-size: 13px; 491 + font-size: 1.08333em; 492 + min-height: 1px; 493 + } 494 + .leaflet-popup-content p { 495 + margin: 17px 0; 496 + margin: 1.3em 0; 497 + } 498 + .leaflet-popup-tip-container { 499 + width: 40px; 500 + height: 20px; 501 + position: absolute; 502 + left: 50%; 503 + margin-top: -1px; 504 + margin-left: -20px; 505 + overflow: hidden; 506 + pointer-events: none; 507 + } 508 + .leaflet-popup-tip { 509 + width: 17px; 510 + height: 17px; 511 + padding: 1px; 512 + 513 + margin: -10px auto 0; 514 + pointer-events: auto; 515 + 516 + -webkit-transform: rotate(45deg); 517 + -moz-transform: rotate(45deg); 518 + -ms-transform: rotate(45deg); 519 + transform: rotate(45deg); 520 + } 521 + .leaflet-popup-content-wrapper, 522 + .leaflet-popup-tip { 523 + background: white; 524 + color: #333; 525 + box-shadow: 0 3px 14px rgba(0,0,0,0.4); 526 + } 527 + .leaflet-container a.leaflet-popup-close-button { 528 + position: absolute; 529 + top: 0; 530 + right: 0; 531 + border: none; 532 + text-align: center; 533 + width: 24px; 534 + height: 24px; 535 + font: 16px/24px Tahoma, Verdana, sans-serif; 536 + color: #757575; 537 + text-decoration: none; 538 + background: transparent; 539 + } 540 + .leaflet-container a.leaflet-popup-close-button:hover, 541 + .leaflet-container a.leaflet-popup-close-button:focus { 542 + color: #585858; 543 + } 544 + .leaflet-popup-scrolled { 545 + overflow: auto; 546 + } 547 + 548 + .leaflet-oldie .leaflet-popup-content-wrapper { 549 + -ms-zoom: 1; 550 + } 551 + .leaflet-oldie .leaflet-popup-tip { 552 + width: 24px; 553 + margin: 0 auto; 554 + 555 + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; 556 + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); 557 + } 558 + 559 + .leaflet-oldie .leaflet-control-zoom, 560 + .leaflet-oldie .leaflet-control-layers, 561 + .leaflet-oldie .leaflet-popup-content-wrapper, 562 + .leaflet-oldie .leaflet-popup-tip { 563 + border: 1px solid #999; 564 + } 565 + 566 + 567 + /* div icon */ 568 + 569 + .leaflet-div-icon { 570 + background: #fff; 571 + border: 1px solid #666; 572 + } 573 + 574 + 575 + /* Tooltip */ 576 + /* Base styles for the element that has a tooltip */ 577 + .leaflet-tooltip { 578 + position: absolute; 579 + padding: 6px; 580 + background-color: #fff; 581 + border: 1px solid #fff; 582 + border-radius: 3px; 583 + color: #222; 584 + white-space: nowrap; 585 + -webkit-user-select: none; 586 + -moz-user-select: none; 587 + -ms-user-select: none; 588 + user-select: none; 589 + pointer-events: none; 590 + box-shadow: 0 1px 3px rgba(0,0,0,0.4); 591 + } 592 + .leaflet-tooltip.leaflet-interactive { 593 + cursor: pointer; 594 + pointer-events: auto; 595 + } 596 + .leaflet-tooltip-top:before, 597 + .leaflet-tooltip-bottom:before, 598 + .leaflet-tooltip-left:before, 599 + .leaflet-tooltip-right:before { 600 + position: absolute; 601 + pointer-events: none; 602 + border: 6px solid transparent; 603 + background: transparent; 604 + content: ""; 605 + } 606 + 607 + /* Directions */ 608 + 609 + .leaflet-tooltip-bottom { 610 + margin-top: 6px; 611 + } 612 + .leaflet-tooltip-top { 613 + margin-top: -6px; 614 + } 615 + .leaflet-tooltip-bottom:before, 616 + .leaflet-tooltip-top:before { 617 + left: 50%; 618 + margin-left: -6px; 619 + } 620 + .leaflet-tooltip-top:before { 621 + bottom: 0; 622 + margin-bottom: -12px; 623 + border-top-color: #fff; 624 + } 625 + .leaflet-tooltip-bottom:before { 626 + top: 0; 627 + margin-top: -12px; 628 + margin-left: -6px; 629 + border-bottom-color: #fff; 630 + } 631 + .leaflet-tooltip-left { 632 + margin-left: -6px; 633 + } 634 + .leaflet-tooltip-right { 635 + margin-left: 6px; 636 + } 637 + .leaflet-tooltip-left:before, 638 + .leaflet-tooltip-right:before { 639 + top: 50%; 640 + margin-top: -6px; 641 + } 642 + .leaflet-tooltip-left:before { 643 + right: 0; 644 + margin-right: -12px; 645 + border-left-color: #fff; 646 + } 647 + .leaflet-tooltip-right:before { 648 + left: 0; 649 + margin-left: -12px; 650 + border-right-color: #fff; 651 + } 652 + 653 + /* Printing */ 654 + 655 + @media print { 656 + /* Prevent printers from removing background-images of controls. */ 657 + .leaflet-control { 658 + -webkit-print-color-adjust: exact; 659 + print-color-adjust: exact; 660 + } 661 + }
+6
static/leaflet.js
···
··· 1 + /* @preserve 2 + * Leaflet 1.9.4+v1.d15112c, a JS library for interactive maps. https://leafletjs.com 3 + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade 4 + */ 5 + !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n<o;n++)for(e in i=arguments[n])t[e]=i[e];return t}var R=Object.create||function(t){return N.prototype=t,new N};function N(){}function a(t,e){var i,n=Array.prototype.slice;return t.bind?t.bind.apply(t,n.call(arguments,1)):(i=n.call(arguments,2),function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)})}var D=0;function h(t){return"_leaflet_id"in t||(t._leaflet_id=++D),t._leaflet_id}function j(t,e,i){var n,o,s=function(){n=!1,o&&(r.apply(i,o),o=!1)},r=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(s,e),n=!0)};return r}function H(t,e,i){var n=e[1],e=e[0],o=n-e;return t===n&&i?t:((t-e)%o+o)%o+e}function u(){return!1}function i(t,e){return!1===e?t:(e=Math.pow(10,void 0===e?6:e),Math.round(t*e)/e)}function W(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function F(t){return W(t).split(/\s+/)}function c(t,e){for(var i in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?R(t.options):{}),e)t.options[i]=e[i];return t.options}function U(t,e,i){var n,o=[];for(n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var V=/\{ *([\w_ -]+) *\}/g;function q(t,i){return t.replace(V,function(t,e){e=i[e];if(void 0===e)throw new Error("No value provided for variable "+t);return e="function"==typeof e?e(i):e})}var d=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function G(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var K="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var X=0;function J(t){var e=+new Date,i=Math.max(0,16-(e-X));return X=e+i,window.setTimeout(t,i)}var $=window.requestAnimationFrame||Y("RequestAnimationFrame")||J,Q=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function x(t,e,i){if(!i||$!==J)return $.call(window,a(t,e));t.call(e)}function r(t){t&&Q.call(window,t)}var tt={__proto__:null,extend:l,create:R,bind:a,get lastId(){return D},stamp:h,throttle:j,wrapNum:H,falseFn:u,formatNum:i,trim:W,splitWords:F,setOptions:c,getParamString:U,template:q,isArray:d,indexOf:G,emptyImageUrl:K,requestFn:$,cancelFn:Q,requestAnimFrame:x,cancelAnimFrame:r};function et(){}et.extend=function(t){function e(){c(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var i,n=e.__super__=this.prototype,o=R(n);for(i in(o.constructor=e).prototype=o,this)Object.prototype.hasOwnProperty.call(this,i)&&"prototype"!==i&&"__super__"!==i&&(e[i]=this[i]);if(t.statics&&l(e,t.statics),t.includes){var s=t.includes;if("undefined"!=typeof L&&L&&L.Mixin){s=d(s)?s:[s];for(var r=0;r<s.length;r++)s[r]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}l.apply(null,[o].concat(t.includes))}return l(o,t),delete o.statics,delete o.includes,o.options&&(o.options=n.options?R(n.options):{},l(o.options,t.options)),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},et.include=function(t){var e=this.prototype.options;return l(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},et.mergeOptions=function(t){return l(this.prototype.options,t),this},et.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var e={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=F(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1===this._listens(t,e,i)&&(e={fn:e,ctx:i=i===this?void 0:i},n&&(e.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e))},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1===arguments.length){if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=u;delete this._events[t]}else"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1!==(e=this._listens(t,e,i))&&(i=n[e],this._firingCount&&(i.fn=u,this._events[t]=n=n.slice()),n.splice(e,1))},fire:function(t,e,i){if(this.listens(t,i)){var n=l({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s],h=a.fn;a.once&&this.off(t,h,a.ctx),h.call(a.ctx||this,n)}this._firingCount--}}i&&this._propagateEvent(n)}return this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e,s=("function"!=typeof e&&(n=!!e,i=o=void 0),this._events&&this._events[t]);if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(this._events){var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o}return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[h(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[h(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,l({layer:t.target,propagatedFrom:t.target},t),!0)}},it=(e.addEventListener=e.on,e.removeEventListener=e.clearAllEventListeners=e.off,e.addOneTimeEventListener=e.once,e.fireEvent=e.fire,e.hasEventListeners=e.listens,et.extend(e));function p(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var nt=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function m(t,e,i){return t instanceof p?t:d(t)?new p(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new p(t.x,t.y):new p(t,e,i)}function f(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function _(t,e){return!t||t instanceof f?t:new f(t,e)}function s(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function g(t,e){return t instanceof s?t:new s(t,e)}function v(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function w(t,e,i){return t instanceof v?t:d(t)&&"object"!=typeof t[0]?3===t.length?new v(t[0],t[1],t[2]):2===t.length?new v(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new v(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new v(t,e,i)}p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(m(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(m(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=nt(this.x),this.y=nt(this.y),this},distanceTo:function(t){var e=(t=m(t)).x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},equals:function(t){return(t=m(t)).x===this.x&&t.y===this.y},contains:function(t){return t=m(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+i(this.x)+", "+i(this.y)+")"}},f.prototype={extend:function(t){var e,i;if(t){if(t instanceof p||"number"==typeof t[0]||"x"in t)e=i=m(t);else if(e=(t=_(t)).min,i=t.max,!e||!i)return this;this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone())}return this},getCenter:function(t){return m((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return m(this.min.x,this.max.y)},getTopRight:function(){return m(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t=("number"==typeof t[0]||t instanceof p?m:_)(t))instanceof f?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.x<i.x,t=t.y>e.y&&n.y<i.y;return o&&t},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,t=Math.abs(e.y-i.y)*t;return _(m(e.x-n,e.y-t),m(i.x+n,i.y+t))},equals:function(t){return!!t&&(t=_(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},s.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof v)i=e=t;else{if(!(t instanceof s))return t?this.extend(w(t)||g(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new v(e.lat,e.lng),this._northEast=new v(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,t=Math.abs(e.lng-i.lng)*t;return new s(new v(e.lat-n,e.lng-t),new v(i.lat+n,i.lng+t))},getCenter:function(){return new v((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new v(this.getNorth(),this.getWest())},getSouthEast:function(){return new v(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=("number"==typeof t[0]||t instanceof v||"lat"in t?w:g)(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof s?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.lat<i.lat,t=t.lng>e.lng&&n.lng<i.lng;return o&&t},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=g(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}};var ot={latLngToPoint:function(t,e){t=this.projection.project(t),e=this.scale(e);return this.transformation._transform(t,e)},pointToLatLng:function(t,e){e=this.scale(e),t=this.transformation.untransform(t,e);return this.projection.unproject(t)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){var e;return this.infinite?null:(e=this.projection.bounds,t=this.scale(t),new f(this.transformation.transform(e.min,t),this.transformation.transform(e.max,t)))},infinite:!(v.prototype={equals:function(t,e){return!!t&&(t=w(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+i(this.lat,t)+", "+i(this.lng,t)+")"},distanceTo:function(t){return st.distance(this,w(t))},wrap:function(){return st.wrapLatLng(this)},toBounds:function(t){var t=180*t/40075017,e=t/Math.cos(Math.PI/180*this.lat);return g([this.lat-t,this.lng-e],[this.lat+t,this.lng+e])},clone:function(){return new v(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var e=this.wrapLng?H(t.lng,this.wrapLng,!0):t.lng;return new v(this.wrapLat?H(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,e=e.lng-i.lng;return 0==n&&0==e?t:(i=t.getSouthWest(),t=t.getNorthEast(),new s(new v(i.lat-n,i.lng-e),new v(t.lat-n,t.lng-e)))}},st=l({},ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),e=Math.sin((e.lng-t.lng)*i/2),t=s*s+Math.cos(n)*Math.cos(o)*e*e,i=2*Math.atan2(Math.sqrt(t),Math.sqrt(1-t));return this.R*i}}),rt=6378137,rt={R:rt,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,i=Math.max(Math.min(i,t.lat),-i),i=Math.sin(i*e);return new p(this.R*t.lng*e,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(t){var e=180/Math.PI;return new v((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:new f([-(rt=rt*Math.PI),-rt],[rt,rt])};function at(t,e,i,n){d(t)?(this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3]):(this._a=t,this._b=e,this._c=i,this._d=n)}function ht(t,e,i,n){return new at(t,e,i,n)}at.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new p((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var lt=l({},st,{code:"EPSG:3857",projection:rt,transformation:ht(lt=.5/(Math.PI*rt.R),.5,-lt,.5)}),ut=l({},lt,{code:"EPSG:900913"});function ct(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function dt(t,e){for(var i,n,o,s,r="",a=0,h=t.length;a<h;a++){for(i=0,n=(o=t[a]).length;i<n;i++)r+=(i?"L":"M")+(s=o[i]).x+" "+s.y;r+=e?b.svg?"z":"x":""}return r||"M0 0"}var _t=document.documentElement.style,pt="ActiveXObject"in window,mt=pt&&!document.addEventListener,n="msLaunchUri"in navigator&&!("documentMode"in document),ft=y("webkit"),gt=y("android"),vt=y("android 2")||y("android 3"),yt=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yt=gt&&y("Google")&&yt<537&&!("AudioNode"in window),xt=!!window.opera,wt=!n&&y("chrome"),bt=y("gecko")&&!ft&&!xt&&!pt,Pt=!wt&&y("safari"),Lt=y("phantom"),o="OTransition"in _t,Tt=0===navigator.platform.indexOf("Win"),Mt=pt&&"transition"in _t,zt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!vt,_t="MozPerspective"in _t,Ct=!window.L_DISABLE_3D&&(Mt||zt||_t)&&!o&&!Lt,Zt="undefined"!=typeof orientation||y("mobile"),St=Zt&&ft,Et=Zt&&zt,kt=!window.PointerEvent&&window.MSPointerEvent,Ot=!(!window.PointerEvent&&!kt),At="ontouchstart"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(At||Ot),It=Zt&&xt,Rt=Zt&&bt,Nt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Dt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),jt=!!document.createElement("canvas").getContext,Ht=!(!document.createElementNS||!ct("svg").createSVGRect),Wt=!!Ht&&((Wt=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='<v:shape adj="1"/>',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else ve(t,e)||ye(t,((i=xe(t))?i+" ":"")+e)}function z(t,e){void 0!==t.classList?t.classList.remove(e):ye(t,W((" "+xe(t)+" ").replace(" "+e+" "," ")))}function ye(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function xe(t){return void 0===(t=t.correspondingElement?t.correspondingElement:t).className.baseVal?t.className:t.className.baseVal}function C(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}}function we(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function be(t,e,i){e=e||new p(0,0);t.style[ue]=(b.ie3d?"translate("+e.x+"px,"+e.y+"px)":"translate3d("+e.x+"px,"+e.y+"px,0)")+(i?" scale("+i+")":"")}function Z(t,e){t._leaflet_pos=e,b.any3d?be(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function Pe(t){return t._leaflet_pos||new p(0,0)}function Le(){S(window,"dragstart",O)}function Te(){k(window,"dragstart",O)}function Me(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(ze(),le=(he=t).style.outlineStyle,t.style.outlineStyle="none",S(window,"keydown",ze))}function ze(){he&&(he.style.outlineStyle=le,le=he=void 0,k(window,"keydown",ze))}function Ce(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ze(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}ae="onselectstart"in document?(re=function(){S(window,"selectstart",O)},function(){k(window,"selectstart",O)}):(se=we(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),re=function(){var t;se&&(t=document.documentElement.style,oe=t[se],t[se]="none")},function(){se&&(document.documentElement.style[se]=oe,oe=void 0)});pt={__proto__:null,TRANSFORM:ue,TRANSITION:ce,TRANSITION_END:de,get:_e,getStyle:pe,create:P,remove:T,empty:me,toFront:fe,toBack:ge,hasClass:ve,addClass:M,removeClass:z,setClass:ye,getClass:xe,setOpacity:C,testProp:we,setTransform:be,setPosition:Z,getPosition:Pe,get disableTextSelection(){return re},get enableTextSelection(){return ae},disableImageDrag:Le,enableImageDrag:Te,preventOutline:Me,restoreOutline:ze,getSizedParentNode:Ce,getScale:Ze};function S(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)ke(t,o,e[o],i);else for(var s=0,r=(e=F(e)).length;s<r;s++)ke(t,e[s],i,n);return this}var E="_leaflet_events";function k(t,e,i,n){if(1===arguments.length)Se(t),delete t[E];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=F(e),2===arguments.length)Se(t,function(t){return-1!==G(e,t)});else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[E]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ee={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ke(e,t,i,n){var o,s,r=t+h(i)+(n?"_"+h(n):"");e[E]&&e[E][r]||(s=o=function(t){return i.call(n||e,t||window.event)},!b.touchNative&&b.pointer&&0===t.indexOf("touch")?o=Jt(e,t,o):b.touch&&"dblclick"===t?o=ne(e,o):"addEventListener"in e?"touchstart"===t||"touchmove"===t||"wheel"===t||"mousewheel"===t?e.addEventListener(Ee[t]||t,o,!!b.passiveEvents&&{passive:!1}):"mouseenter"===t||"mouseleave"===t?e.addEventListener(Ee[t],o=function(t){t=t||window.event,We(e,t)&&s(t)},!1):e.addEventListener(t,s,!1):e.attachEvent("on"+t,o),e[E]=e[E]||{},e[E][r]=o)}function Oe(t,e,i,n,o){o=o||e+h(i)+(n?"_"+h(n):"");var s,r,i=t[E]&&t[E][o];i&&(!b.touchNative&&b.pointer&&0===e.indexOf("touch")?(n=t,r=i,Gt[s=e]?n.removeEventListener(Gt[s],r,!1):console.warn("wrong event specified:",s)):b.touch&&"dblclick"===e?(n=i,(r=t).removeEventListener("dblclick",n.dblclick),r.removeEventListener("click",n.simDblclick)):"removeEventListener"in t?t.removeEventListener(Ee[e]||e,i,!1):t.detachEvent("on"+e,i),t[E][o]=null)}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Be(t){return ke(t,"wheel",Ae),this}function Ie(t){return S(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function O(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return O(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){var i,n;return e?(n=(i=Ze(e)).boundingClientRect,new p((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)):new p(t.clientX,t.clientY)}var je=b.linux&&b.chrome?window.devicePixelRatio:b.mac?3*window.devicePixelRatio:0<window.devicePixelRatio?2*window.devicePixelRatio:1;function He(t){return b.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/je:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function We(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var mt={__proto__:null,on:S,off:k,stopPropagation:Ae,disableScrollPropagation:Be,disableClickPropagation:Ie,preventDefault:O,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:We,addListener:S,removeListener:k},Fe=it.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pe(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=x(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){t=this._startPos.add(this._offset.multiplyBy(t));e&&t._round(),Z(this._el,t),this.fire("step")},_complete:function(){r(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),A=it.extend({options:{crs:lt,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=c(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(w(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ce&&b.any3d&&!b.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),S(this._proxy,de,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if((e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(w(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=l({animate:i.animate},i.zoom),i.pan=l({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),t=(t instanceof p?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),n=this.containerPointToLatLng(o.add(t));return this.setView(n,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():g(t);var i=m(e.paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));return(o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0?{center:t.getCenter(),zoom:o}:(e=n.subtract(i).divideBy(2),n=this.project(t.getSouthWest(),o),i=this.project(t.getNorthEast(),o),{center:this.unproject(n.add(i).divideBy(2).add(e),o),zoom:o})},fitBounds:function(t,e){if((t=g(t)).isValid())return t=this._getBoundsCenterZoom(t,e),this.setView(t.center,t.zoom,e);throw new Error("Bounds are not valid.")},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){var i;return e=e||{},(t=m(t).round()).x||t.y?(!0===e.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Fe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate?(M(this._mapPane,"leaflet-pan-anim"),i=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)):(this._rawPanBy(t),this.fire("move").fire("moveend"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire("moveend")},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!b.any3d)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),e=this.getSize(),a=this._zoom,h=(n=w(n),o=void 0===o?a:o,Math.max(e.x,e.y)),i=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,u=1.42,c=u*u;function d(t){t=(i*i-h*h+(t?-1:1)*c*c*l*l)/(2*(t?i:h)*c*l),t=Math.sqrt(t*t+1)-t;return t<1e-9?-18:Math.log(t)}function _(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=d(0);function f(t){return h*(p(m)*(_(t=m+u*t)/p(t))-_(m))/c}var g=Date.now(),v=(d(1)-m)/u,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var e=(Date.now()-g)/y,i=(1-Math.pow(1-e,1.5))*v;e<=1?(this._flyToFrame=x(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(i)/l)),a),this.getScaleZoom(h/(e=i,h*(p(m)/p(m+u*e))),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){t=this._getBoundsCenterZoom(t,e);return this.flyTo(t.center,t.zoom,e)},setMaxBounds:function(t){return t=g(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;s<i.length;s++)i[s].listens(e,!0)&&o.push(i[s]);n=o.concat(n)}if(n.length){"contextmenu"===e&&O(t);var r,a=n[0],h={originalEvent:t};for("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(r=a.getLatLng&&(!a._radius||a._radius<=10),h.containerPoint=r?this.latLngToContainerPoint(a.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=r?a.getLatLng():this.layerPointToLatLng(h.layerPoint)),s=0;s<n.length;s++)if(n[s].fire(e,h,!0),h.originalEvent._stopped||!1===n[s].options.bubblingMouseEvents&&-1!==G(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return Pe(this._mapPane)||new p(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){i=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,i){i=this._getNewPixelOrigin(i,e);return _([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){var n,o;return!i||(n=this.project(t,e),o=this.getSize().divideBy(2),o=new f(n.subtract(o),n.add(o)),o=this._getBoundsOffset(o,i,e),Math.abs(o.x)<=1&&Math.abs(o.y)<=1)?t:this.unproject(n.add(o),e)},_limitOffset:function(t,e){var i;return e?(i=new f((i=this.getPixelBounds()).min.add(t),i.max.add(t)),t.add(this._getBoundsOffset(i,e))):t},_getBoundsOffset:function(t,e,i){e=_(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),i=e.min.subtract(t.min),e=e.max.subtract(t.max);return new p(this._rebound(i.x,-e.x),this._rebound(i.y,-e.y))},_rebound:function(t,e){return 0<t+e?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=b.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){t=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(t))&&(this.panBy(t,e),!0)},_createAnimProxy:function(){var t=this._proxy=P("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=ue,i=this._proxy.style[e];be(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){T(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();be(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(!this._animatingZoom){if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}}),Ve=(A.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var i=this._controlCorners={},n="leaflet-",o=this._controlContainer=P("div",n+"control-container",this._container);function t(t,e){i[t+e]=P("div",n+t+" "+n+e,o)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)T(this._controlCorners[t]);T(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}),B.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in c(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return B.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);t=this._getLayer(h(t));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){M(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(M(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=P("div",t),i=this.options.collapsed,n=(e.setAttribute("aria-haspopup",!0),Ie(e),Be(e),this._section=P("section",t+"-list")),o=(i&&(this._map.on("click",this.collapse,this),S(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this)),this._layersLink=P("a",t+"-toggle",e));o.href="#",o.title="Layers",o.setAttribute("role","button"),S(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){O(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=P("div",t+"-base",n),this._separator=P("div",t+"-separator",n),this._overlaysList=P("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&h(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(a(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(this._container){me(this._baseLayersList),me(this._overlaysList),this._layerControlInputs=[];for(var t,e,i,n=0,o=0;o<this._layers.length;o++)i=this._layers[o],this._addItem(i),e=e||i.overlay,t=t||!i.overlay,n+=i.overlay?0:1;this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&1<n)?"":"none"),this._separator.style.display=e&&t?"":"none"}return this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(h(t.target)),t=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;t&&this._map.fire(t,e)},_createRadioElement:function(t,e){t='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;0<=o;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280<t?(i=this._getRoundNum(e=t/5280),this._updateScale(this._iScale,i+" mi",i/e)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+" ft",i/t))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),t=t/e;return e*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}})),Ke=B.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(b.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:!(e=new p((e=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,e.clientY)._subtract(this._startPoint)).x&&!e.y||Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,O(t),this._moved||(this.fire("dragstart"),this._moved=!0,M(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),M(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,this._lastEvent=t,this._updatePosition()))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Z(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),k(document,"mousemove touchmove",this._onMove,this),k(document,"mouseup touchend touchcancel",this._onUp,this),Te(),ae();var e=this._moved&&this._moving;this._moving=!1,Xe._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function Je(t,e,i){for(var n,o,s,r,a,h,l,u=[1,4,2,8],c=0,d=t.length;c<d;c++)t[c]._code=si(t[c],e);for(s=0;s<4;s++){for(h=u[s],n=[],c=0,o=(d=t.length)-1;c<d;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)):(a._code&h&&((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)),n.push(r));t=n}return t}function $e(t,e){var i,n,o,s,r,a,h;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var l=w([0,0]),u=g(t),c=(u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(l=Qe(t)),t.length),d=[],_=0;_<c;_++){var p=w(t[_]);d.push(e.project(w([p.lat-l.lat,p.lng-l.lng])))}for(_=r=a=h=0,i=c-1;_<c;i=_++)n=d[_],o=d[i],s=n.y*o.x-o.y*n.x,a+=(n.x+o.x)*s,h+=(n.y+o.y)*s,r+=3*s;u=0===r?d[0]:[a/r,h/r],u=e.unproject(m(u));return w([u.lat+l.lat,u.lng+l.lng])}function Qe(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=w(t[o]);e+=s.lat,i+=s.lng,n++}return w([e/n,i/n])}var ti,gt={__proto__:null,clipPolygon:Je,polygonCenter:$e,centroid:Qe};function ei(t,e){if(e&&t.length){var i=t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,e){var i=e.x-t.x,e=e.y-t.y;return i*i+e*e})(t[n],t[o])>e&&(i.push(t[n]),o=n);o<s-1&&i.push(t[s-1]);return i}(t,e=e*e),n=i.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);o[0]=o[n-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)h=ri(e[a],e[o],e[s],!0),l<h&&(r=a,l=h);n<l&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(i,o,e,0,n-1);var s,r=[];for(s=0;s<n;s++)o[s]&&r.push(i[s]);return r}return t.slice()}function ii(t,e,i){return Math.sqrt(ri(t,e,i,!0))}function ni(t,e,i,n,o){var s,r,a,h=n?ti:si(t,i),l=si(e,i);for(ti=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=si(r=oi(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function oi(t,e,i,n,o){var s,r,a=e.x-t.x,e=e.y-t.y,h=n.min,n=n.max;return 8&i?(s=t.x+a*(n.y-t.y)/e,r=n.y):4&i?(s=t.x+a*(h.y-t.y)/e,r=h.y):2&i?(s=n.x,r=t.y+e*(n.x-t.x)/a):1&i&&(s=h.x,r=t.y+e*(h.x-t.x)/a),new p(s,r,o)}function si(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0<a&&(1<(a=((t.x-o)*s+(t.y-e)*r)/a)?(o=i.x,e=i.y):0<a&&(o+=s*a,e+=r*a)),s=t.x-o,r=t.y-e,n?s*s+r*r:new p(o,e)}function I(t){return!d(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function ai(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),I(t)}function hi(t,e){var i,n,o,s,r,a;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var h=w([0,0]),l=g(t),u=(l.getNorthWest().distanceTo(l.getSouthWest())*l.getNorthEast().distanceTo(l.getNorthWest())<1700&&(h=Qe(t)),t.length),c=[],d=0;d<u;d++){var _=w(t[d]);c.push(e.project(w([_.lat-h.lat,_.lng-h.lng])))}for(i=d=0;d<u-1;d++)i+=c[d].distanceTo(c[d+1])/2;if(0===i)a=c[0];else for(n=d=0;d<u-1;d++)if(o=c[d],s=c[d+1],i<(n+=r=o.distanceTo(s))){a=[s.x-(r=(n-i)/r)*(s.x-o.x),s.y-r*(s.y-o.y)];break}l=e.unproject(m(a));return w([l.lat+h.lat,l.lng+h.lng])}var vt={__proto__:null,simplify:ei,pointToSegmentDistance:ii,closestPointOnSegment:function(t,e,i){return ri(t,e,i)},clipSegment:ni,_getEdgeIntersection:oi,_getBitCode:si,_sqClosestPointOnSegment:ri,isFlat:I,_flat:ai,polylineCenter:hi},yt={project:function(t){return new p(t.lng,t.lat)},unproject:function(t){return new v(t.y,t.x)},bounds:new f([-180,-90],[180,90])},xt={R:6378137,R_MINOR:6356752.314245179,bounds:new f([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,o=Math.sqrt(1-o*o),s=o*Math.sin(n),s=Math.tan(Math.PI/4-n/2)/Math.pow((1-s)/(1+s),o/2),n=-i*Math.log(Math.max(s,1e-10));return new p(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&1e-7<Math.abs(l);h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new v(a*i,t.x*i/n)}},wt={__proto__:null,LonLat:yt,Mercator:xt,SphericalMercator:rt},Pt=l({},st,{code:"EPSG:3395",projection:xt,transformation:ht(bt=.5/(Math.PI*xt.R),.5,-bt,.5)}),li=l({},st,{code:"EPSG:4326",projection:yt,transformation:ht(1/180,1,-1/180,.5)}),Lt=l({},ot,{projection:yt,transformation:ht(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,e=e.lat-t.lat;return Math.sqrt(i*i+e*e)},infinite:!0}),o=(ot.Earth=st,ot.EPSG3395=Pt,ot.EPSG3857=lt,ot.EPSG900913=ut,ot.EPSG4326=li,ot.Simple=Lt,it.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[h(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[h(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e,i=t.target;i.hasLayer(this)&&(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents&&(e=this.getEvents(),i.on(e,this),this.once("remove",function(){i.off(e,this)},this)),this.onAdd(i),this.fire("add"),i.fire("layeradd",{layer:this}))}})),ui=(A.include({addLayer:function(t){var e;if(t._layerAdd)return e=h(t),this._layers[e]||((this._layers[e]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this;throw new Error("The provided object is not a Layer.")},removeLayer:function(t){var e=h(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return h(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?d(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[h(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){t=h(t);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var t,e=1/0,i=-1/0,n=this._getZoomSpan();for(t in this._zoomBoundLayers)var o=this._zoomBoundLayers[t].options,e=void 0===o.minZoom?e:Math.min(e,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}}),o.extend({initialize:function(t,e){var i,n;if(c(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){t=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:h})),ci=ui.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ui.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?((t=t in this._layers?this._layers[t]:t).removeEventParent(this),ui.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t,e=new s;for(t in this._layers){var i=this._layers[t];e.extend(i.getBounds?i.getBounds():i.getLatLng())}return e}}),di=et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(i)return i=this._createImg(i,e&&"IMG"===e.tagName?e:null),this._setIconStyles(i,t),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i;if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"],n=m(n="number"==typeof n?[n,n]:n),o=m("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return b.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var _i=di.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof _i.imagePath&&(_i.imagePath=this._detectIconPath()),(this.options.imagePath||_i.imagePath)+di.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){function e(t,e,i){return(e=e.exec(t))&&e[i]}return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=P("div","leaflet-default-icon-path",document.body),e=pe(t,"background-image")||pe(t,"backgroundImage");return document.body.removeChild(t),(e=this._stripUrl(e))?e:(t=document.querySelector('link[href$="leaflet.css"]'))?t.href.substring(0,t.href.length-"leaflet.css".length-1):""}}),pi=n.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Xe(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),M(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pe(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),a=_(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));a.contains(s)||(o=m((Math.max(a.max.x,s.x)-a.max.x)/(r.max.x-a.max.x)-(Math.min(a.min.x,s.x)-a.min.x)/(r.min.x-a.min.x),(Math.max(a.max.y,s.y)-a.max.y)/(r.max.y-a.max.y)-(Math.min(a.min.y,s.y)-a.min.y)/(r.min.y-a.min.y)).multiplyBy(n),i.panBy(o,{animate:!1}),this._draggable._newPos._add(o),this._draggable._startPos._add(o),Z(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(r(this._panRequest),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=Pe(e._icon),o=e._map.layerPointToLatLng(n);i&&Z(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){r(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),mi=o.extend({options:{icon:new _i,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){c(this,e),this._latlng=w(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1,i=(i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),M(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&S(i,"focus",this._panOnFocus,this),t.icon.createShadow(this._shadow)),o=!1;i!==this._shadow&&(this._removeShadow(),o=!0),i&&(M(i,e),i.alt=""),this._shadow=i,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&o&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&k(this._icon,"focus",this._panOnFocus,this),T(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&T(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&Z(this._icon,t),this._shadow&&Z(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(t)},_initInteraction:function(){var t;this.options.interactive&&(M(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),pi&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pi(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&C(this._icon,t),this._shadow&&C(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t,e,i=this._map;i&&(t=(e=this.options.icon.options).iconSize?m(e.iconSize):m(0,0),e=e.iconAnchor?m(e.iconAnchor):m(0,0),i.panInside(this._latlng,{paddingTopLeft:e,paddingBottomRight:t.subtract(e)}))},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var fi=o.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),gi=fi.extend({options:{fill:!0,radius:10},initialize:function(t,e){c(this,e),this._latlng=w(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return fi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),t=[t+i,e+i];this._pxBounds=new f(this._point.subtract(t),this._point.add(t))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var vi=gi.extend({initialize:function(t,e,i){if(c(this,e="number"==typeof e?l({},i,{radius:e}):e),this._latlng=w(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new s(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:fi.prototype.setStyle,_project:function(){var t,e,i,n,o,s=this._latlng.lng,r=this._latlng.lat,a=this._map,h=a.options.crs;h.distance===st.distance?(n=Math.PI/180,o=this._mRadius/st.R/n,t=a.project([r+o,s]),e=a.project([r-o,s]),e=t.add(e).divideBy(2),i=a.unproject(e).lat,n=Math.acos((Math.cos(o*n)-Math.sin(r*n)*Math.sin(i*n))/(Math.cos(r*n)*Math.cos(i*n)))/n,!isNaN(n)&&0!==n||(n=o/Math.cos(Math.PI/180*r)),this._point=e.subtract(a.getPixelOrigin()),this._radius=isNaN(n)?0:e.x-a.project([i,s-n]).x,this._radiusY=e.y-t.y):(o=h.unproject(h.project(this._latlng).subtract([this._mRadius,0])),this._point=a.latLngToLayerPoint(this._latlng),this._radius=this._point.x-a.latLngToLayerPoint(o).x),this._updateBounds()}});var yi=fi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){c(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,n=ri,o=0,s=this._parts.length;o<s;o++)for(var r=this._parts[o],a=1,h=r.length;a<h;a++){var l,u,c=n(t,l=r[a-1],u=r[a],!0);c<e&&(e=c,i=n(t,l,u))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(this._map)return hi(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=w(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new s,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return I(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=I(t),n=0,o=t.length;n<o;n++)i?(e[n]=w(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new f;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),t=new p(t,t);this._rawPxBounds&&(this._pxBounds=new f([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof v,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var e,i,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(e=0,i=(o=this._rings[r]).length;e<i-1;e++)(n=ni(o[e],o[e+1],t,e,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[e+1]&&e!==i-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=ei(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(this._pxBounds&&this._pxBounds.contains(t))for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&ii(t,a[o],a[n])<=h)return!0;return!1}});yi._flat=ai;var xi=yi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(this._map)return $e(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},_convertLatLngs:function(t){var t=yi.prototype._convertLatLngs.call(this,t),e=t.length;return 2<=e&&t[0]instanceof v&&t[0].equals(t[e-1])&&t.pop(),t},_setLatLngs:function(t){yi.prototype._setLatLngs.call(this,t),I(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return(I(this._latlngs[0])?this._latlngs:this._latlngs[0])[0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,e=new p(e,e),t=new f(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,n=0,o=this._rings.length;n<o;n++)(i=Je(this._rings[n],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s,r=this.options;return(!r.filter||r.filter(t))&&(s=bi(t,r))?(s.feature=Zi(t),s.defaultOptions=s.options,this.resetStyle(s),r.onEachFeature&&r.onEachFeature(t,s),this.addLayer(s)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=l({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function bi(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Li;if(!a&&!r)return null;switch(r.type){case"Point":return Pi(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Pi(l,t,i,e));return new ci(h);case"LineString":case"MultiLineString":return n=Ti(a,"LineString"===r.type?0:1,u),new yi(n,e);case"Polygon":case"MultiPolygon":return n=Ti(a,"Polygon"===r.type?1:2,u),new xi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=bi({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new ci(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=bi(r.features[o],e);d&&h.push(d)}return new ci(h);default:throw new Error("Invalid GeoJSON object.")}}function Pi(t,e,i,n){return t?t(e,i):new mi(i,n&&n.markersInheritOptions&&n)}function Li(t){return new v(t[1],t[0],t[2])}function Ti(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Ti(t[s],e-1,i):(i||Li)(t[s]),o.push(n);return o}function Mi(t,e){return void 0!==(t=w(t)).alt?[i(t.lng,e),i(t.lat,e),i(t.alt,e)]:[i(t.lng,e),i(t.lat,e)]}function zi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?zi(t[s],I(t[s])?0:e-1,i,n):Mi(t[s],n));return!e&&i&&0<o.length&&o.push(o[0].slice()),o}function Ci(t,e){return t.feature?l({},t.feature,{geometry:e}):Zi(e)}function Zi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}Tt={toGeoJSON:function(t){return Ci(this,{type:"Point",coordinates:Mi(this.getLatLng(),t)})}};function Si(t,e){return new wi(t,e)}mi.include(Tt),vi.include(Tt),gi.include(Tt),yi.include({toGeoJSON:function(t){var e=!I(this._latlngs);return Ci(this,{type:(e?"Multi":"")+"LineString",coordinates:zi(this._latlngs,e?1:0,!1,t)})}}),xi.include({toGeoJSON:function(t){var e=!I(this._latlngs),i=e&&!I(this._latlngs[0]),t=zi(this._latlngs,i?2:e?1:0,!0,t);return Ci(this,{type:(i?"Multi":"")+"Polygon",coordinates:t=e?t:[t]})}}),ui.include({toMultiPoint:function(e){var i=[];return this.eachLayer(function(t){i.push(t.toGeoJSON(e).geometry.coordinates)}),Ci(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(e){var i,n,t=this.feature&&this.feature.geometry&&this.feature.geometry.type;return"MultiPoint"===t?this.toMultiPoint(e):(i="GeometryCollection"===t,n=[],this.eachLayer(function(t){t.toGeoJSON&&(t=t.toGeoJSON(e),i?n.push(t.geometry):"FeatureCollection"===(t=Zi(t)).type?n.push.apply(n,t.features):n.push(t))}),i?Ci(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n})}});var Mt=Si,Ei=o.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=g(e),c(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){T(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&fe(this._image),this},bringToBack:function(){return this._map&&ge(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=g(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:P("img");M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onload=a(this.fire,this,"load"),e.onerror=a(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),t=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;be(this._image,t,e)},_reset:function(){var t=this._image,e=new f(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Z(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){C(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ki=Ei.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:P("video");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onloadeddata=a(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=0<i.length?n:[e.src]}else{d(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;s<this._url.length;s++){var r=P("source");r.src=this._url[s],e.appendChild(r)}}}});var Oi=Ei.extend({_initImage:function(){var t=this._image=this._url;M(t,"leaflet-image-layer"),this._zoomAnimated&&M(t,"leaflet-zoom-animated"),this.options.className&&M(t,this.options.className),t.onselectstart=u,t.onmousemove=u}});var Ai=o.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof v||d(t))?(this._latlng=w(t),c(this,e)):(c(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&C(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&C(this._container,1),this.bringToFront(),this.options.interactive&&(M(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(C(this._container,0),this._removeTimeout=setTimeout(a(T,void 0,this._container),200)):T(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=w(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&fe(this._container),this},bringToBack:function(){return this._map&&ge(this._container),this},_prepareOpen:function(t){if(!(i=this._source)._map)return!1;if(i instanceof ci){var e,i=null,n=this._source._layers;for(e in n)if(n[e]._map){i=n[e];break}if(!i)return!1;this._source=i}if(!t)if(i.getCenter)t=i.getCenter();else if(i.getLatLng)t=i.getLatLng();else{if(!i.getBounds)throw new Error("Unable to get source layer LatLng.");t=i.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){var t,e,i;this._map&&(e=this._map.latLngToLayerPoint(this._latlng),t=m(this.options.offset),i=this._getAnchor(),this._zoomAnimated?Z(this._container,e.add(i)):t=t.add(e).add(i),e=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x,this._container.style.bottom=e+"px",this._container.style.left=i+"px")},_getAnchor:function(){return[0,0]}}),Bi=(A.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),o.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(c(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}}),Ai.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Ai.prototype.openOn.call(this,t)},onAdd:function(t){Ai.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof fi||this._source.on("preclick",Ae))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof fi||this._source.off("preclick",Ae))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=P("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=P("div",t+"-content-wrapper",e);this._contentNode=P("div",t+"-content",i),Ie(e),Be(this._contentNode),S(e,"contextmenu",Ae),this._tipContainer=P("div",t+"-tip-container",e),this._tip=P("div",t+"-tip",this._tipContainer),this.options.closeButton&&((i=this._closeButton=P("a",t+"-close-button",e)).setAttribute("role","button"),i.setAttribute("aria-label","Close popup"),i.href="#close",i.innerHTML='<span aria-hidden="true">&#215;</span>',S(i,"click",function(t){O(t),this.close()},this))},_updateLayout:function(){var t=this._contentNode,e=t.style,i=(e.width="",e.whiteSpace="nowrap",t.offsetWidth),i=Math.min(i,this.options.maxWidth),i=(i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="",t.offsetHeight),n=this.options.maxHeight,o="leaflet-popup-scrolled";(n&&n<i?(e.height=n+"px",M):z)(t,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Z(this._container,t.add(e))},_adjustPan:function(){var t,e,i,n,o,s,r,a;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning?this._autopanning=!1:(t=this._map,e=parseInt(pe(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+e,a=this._containerWidth,(i=new p(this._containerLeft,-e-this._containerBottom))._add(Pe(this._container)),i=t.layerPointToContainerPoint(i),o=m(this.options.autoPanPadding),n=m(this.options.autoPanPaddingTopLeft||o),o=m(this.options.autoPanPaddingBottomRight||o),s=t.getSize(),r=0,i.x+a+o.x>s.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.x<o.x?(s="right",0):(s="left",r+2*(h.x+l.x)),a/2);t=t.subtract(m(e,i,!0)).add(h).add(l),z(n,"leaflet-tooltip-right"),z(n,"leaflet-tooltip-left"),z(n,"leaflet-tooltip-top"),z(n,"leaflet-tooltip-bottom"),M(n,"leaflet-tooltip-"+s),Z(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&C(this._container,t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(t)},_getAnchor:function(){return m(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}})),Ri=(A.include({openTooltip:function(t,e,i){return this._initOverlay(Ii,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),o.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Ii,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var e,i;!t&&this._tooltipHandlersAdded||(e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t)},openTooltip:function(t){return this._tooltip&&(this instanceof ci||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(S(e,"focus",function(){this._tooltip._source=t,this.openTooltip()},this),S(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){t="function"==typeof t.getElement&&t.getElement();t&&t.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){var e;this._tooltip&&this._map&&(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag?(this._openOnceFlag=!0,(e=this)._map.once("moveend",function(){e._openOnceFlag=!1,e._openTooltip(t)})):(this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)))},_moveTooltip:function(t){var e=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(t=this._map.mouseEventToContainerPoint(t.originalEvent),t=this._map.containerPointToLayerPoint(t),e=this._map.layerPointToLatLng(t)),this._tooltip.setLatLng(e)}}),di.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var t=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;return e.html instanceof Element?(me(t),t.appendChild(e.html)):t.innerHTML=!1!==e.html?e.html:"",e.bgPos&&(e=m(e.bgPos),t.style.backgroundPosition=-e.x+"px "+-e.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}}));di.Default=_i;var Ni=o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:b.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),T(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ge(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){var t;return this._map&&(this._removeAllTiles(),(t=this._clampZoom(this._map.getZoom()))!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=j(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof p?t:new p(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!b.ielt9){C(this._container,this.options.opacity);var t,e=+new Date,i=!1,n=!1;for(t in this._tiles){var o,s=this._tiles[t];s.current&&s.loaded&&(o=Math.min(1,(e-s.loaded)/200),C(s.el,o),o<1?i=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0))}n&&!this._noPrune&&this._pruneTiles(),i&&(r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this))}},_onOpaqueTile:u,_initContainer:function(){this._container||(this._container=P("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(T(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=P("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),u(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:u,_onRemoveLevel:u,_onCreateLevel:u,_pruneTiles:function(){if(this._map){var t,e,i,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(e=i.coords,this._retainParent(e.x,e.y,e.z,e.z-5)||this._retainChildren(e.x,e.y,e.z,e.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)T(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var t=Math.floor(t/2),e=Math.floor(e/2),i=i-1,o=new p(+t,+e),o=(o.z=i,this._tileCoordsToKey(o)),o=this._tiles[o];return o&&o.active?o.retain=!0:(o&&o.loaded&&(o.retain=!0),n<i&&this._retainParent(t,e,i,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s),r=(r.z=i+1,this._tileCoordsToKey(r)),r=this._tiles[r];r&&r.active?r.retain=!0:(r&&r.loaded&&(r.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){t=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),e=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();b.any3d?be(t.el,e,n):Z(t.el,e)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(i,this._tileZoom),t=e.project(t,this._tileZoom).floor(),e=e.getSize().divideBy(2*i);return new f(t.subtract(e),t.add(e))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n,e=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(e),s=o.getCenter(),r=[],e=this.options.keepBuffer,a=new f(o.getBottomLeft().subtract([e,-e]),o.getTopRight().add([e,-e]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(n in this._tiles){var h=this._tiles[n].coords;h.z===this._tileZoom&&a.contains(new p(h.x,h.y))||(this._tiles[n].current=!1)}if(1<Math.abs(i-this._tileZoom))this._setView(t,i);else{for(var l=o.min.y;l<=o.max.y;l++)for(var u=o.min.x;u<=o.max.x;u++){var c,d=new p(u,l);d.z=this._tileZoom,this._isValidTile(d)&&((c=this._tiles[this._tileCoordsToKey(d)])?c.current=!0:r.push(d))}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));for(var _=document.createDocumentFragment(),u=0;u<r.length;u++)this._addTile(r[u],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0<e.maxZoom?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return S(i,"load",a(this._tileOnLoad,this,e,i)),S(i,"error",a(this._tileOnError,this,e,i)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:b.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(t=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=t),e["-y"]=t),q(this._url,l(e,this.options))},_tileOnLoad:function(t,e){b.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return(t=this.options.zoomReverse?e-t:t)+this.options.zoomOffset},_getSubdomain:function(t){t=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,e,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=u,i.onerror=u,i.complete||(i.src=K,e=this._tiles[t].coords,T(i),delete this._tiles[t],this.fire("tileabort",{tile:i,coords:e})))},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",K),Ni.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==K))return Ni.prototype._tileReady.call(this,t,e,i)}});function ji(t,e){return new Di(t,e)}var Hi=Di.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i,n=l({},this.defaultWmsParams);for(i in e)i in this.options||(n[i]=e[i]);var t=(e=c(this,e)).detectRetina&&b.retina?2:1,o=this.getTileSize();n.width=o.x*t,n.height=o.y*t,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[e]=this._crs.code,Di.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,i=_(i.project(e[0]),i.project(e[1])),e=i.min,i=i.max,e=(1.3<=this._wmsVersion&&this._crs===li?[e.y,e.x,i.y,i.x]:[e.x,e.y,i.x,i.y]).join(","),i=Di.prototype.getTileUrl.call(this,t);return i+U(this.wmsParams,i,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+e},setParams:function(t,e){return l(this.wmsParams,t),e||this.redraw(),this}});Di.WMS=Hi,ji.wms=function(t,e){return new Hi(t,e)};var Wi=o.extend({options:{padding:.1},initialize:function(t){c(this,t),h(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),n=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));b.any3d?be(this._container,n,i):Z(this._container,n)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new f(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Fi=Wi.extend({options:{tolerance:0},getEvents:function(){var t=Wi.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");S(t,"mousemove",this._onMouseMove,this),S(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),S(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){r(this._redrawRequest),delete this._ctx,T(this._container),k(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,e,i,n;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),t=this._bounds,e=this._container,i=t.getSize(),n=b.retina?2:1,Z(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",b.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update"))},_reset:function(){Wi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);t=(this._layers[h(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,e=e.prev;i?i.prev=e:this._drawLast=e,e?e.next=i:this._drawFirst=i,delete t._order,delete this._layers[h(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){for(var e,i=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<i.length;o++){if(e=Number(i[o]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||x(this._redraw,this))},_extendRedrawBounds:function(t){var e;t._pxBounds&&(e=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new f,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,e=this._redrawBounds;e?(t=e.getSize(),this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,e,i=this._redrawBounds;this._ctx.save(),i&&(e=i.getSize(),this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var e,i,n,o;this._drawing&&!t._empty()&&(e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!=o&&i.restore(),this._fillStroke(i,t))},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&(("click"===t.type||"preclick"===t.type)&&this._map._draggableMoved(e)||(i=e));this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){var e;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(e=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,e))},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(z(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(M(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e,i,n=t._order;n&&(e=n.next,i=n.prev,e&&((e.prev=i)?i.next=e:e&&(this._drawFirst=e),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var e,i,n=t._order;n&&(e=n.next,(i=n.prev)&&((i.next=e)?e.prev=i:i&&(this._drawLast=i),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function Ui(t){return b.canvas?new Fi(t):null}var Vi=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){var t,e;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit,t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)<Math.abs(n+i)?o:n;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=t},_onDragEnd:function(t){var e,i,n,o,s=this._map,r=s.options,a=!r.inertia||t.noInertia||this._times.length<2;s.fire("dragend",t),!a&&(this._prunePositions(+new Date),t=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,e=r.easeLinearity,a=(t=t.multiplyBy(e/a)).distanceTo([0,0]),i=Math.min(r.inertiaMaxSpeed,a),t=t.multiplyBy(i/a),n=i/(r.inertiaDeceleration*e),(o=t.multiplyBy(-n/2).round()).x||o.y)?(o=s._limitOffset(o,s.options.maxBounds),x(function(){s.panBy(o,{duration:n,easeLinearity:e,noMoveStart:!0,animate:!0})})):s.fire("moveend")}})),St=(A.addInitHook("addHandler","dragging",Zt),A.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),S(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),k(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,e,i;this._focused||(i=document.body,t=document.documentElement,e=i.scrollTop||t.scrollTop,i=i.scrollLeft||t.scrollLeft,this._map._container.focus(),window.scrollTo(i,e))},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){for(var e=this._panKeys={},i=this.keyCodes,n=0,o=i.left.length;n<o;n++)e[i.left[n]]=[-1*t,0];for(n=0,o=i.right.length;n<o;n++)e[i.right[n]]=[t,0];for(n=0,o=i.down.length;n<o;n++)e[i.down[n]]=[0,t];for(n=0,o=i.up.length;n<o;n++)e[i.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var e=this._zoomKeys={},i=this.keyCodes,n=0,o=i.zoomIn.length;n<o;n++)e[i.zoomIn[n]]=t;for(n=0,o=i.zoomOut.length;n<o;n++)e[i.zoomOut[n]]=-t},_addHooks:function(){S(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){k(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i,n=t.keyCode,o=this._map;if(n in this._panKeys)o._panAnim&&o._panAnim._inProgress||(i=this._panKeys[n],t.shiftKey&&(i=m(i).multiplyBy(3)),o.options.maxBounds&&(i=o._limitOffset(m(i),o.options.maxBounds)),o.options.worldCopyJump?(e=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(i))),o.panTo(e)):o.panBy(i));else if(n in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}})),Et=(A.addInitHook("addHandler","keyboard",St),A.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),n.extend({addHooks:function(){S(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){k(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime,e=(this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date),Math.max(i-(+new Date-this._startTime),0));clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),e),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0,n=(t._stop(),this._delta/(4*this._map.options.wheelPxPerZoomLevel)),n=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,i=i?Math.ceil(n/i)*i:n,n=t._limitZoom(e+(0<this._delta?i:-i))-e;this._delta=0,this._startTime=null,n&&("center"===t.options.scrollWheelZoom?t.setZoom(e+n):t.setZoomAround(this._lastMousePos,e+n))}})),kt=(A.addInitHook("addHandler","scrollWheelZoom",Et),A.mergeOptions({tapHold:b.touchNative&&b.safari&&b.mobile,tapTolerance:15}),n.extend({addHooks:function(){S(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){k(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){var e;clearTimeout(this._holdTimeout),1===t.touches.length&&(e=t.touches[0],this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(S(document,"touchend",O),S(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),S(document,"touchend touchcancel contextmenu",this._cancel,this),S(document,"touchmove",this._onMove,this))},_cancelClickPrevent:function t(){k(document,"touchend",O),k(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),k(document,"touchend touchcancel contextmenu",this._cancel,this),k(document,"touchmove",this._onMove,this)},_onMove:function(t){t=t.touches[0];this._newPos=new p(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){t=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});t._simulated=!0,e.target.dispatchEvent(t)}})),Ot=(A.addInitHook("addHandler","tapHold",kt),A.mergeOptions({touchZoom:b.touch,bounceAtZoomLimits:!0}),n.extend({addHooks:function(){M(this._map._container,"leaflet-touch-zoom"),S(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),k(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e,i,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(e=n.mouseEventToContainerPoint(t.touches[0]),i=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),"center"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(e.add(i)._divideBy(2))),this._startDist=e.distanceTo(i),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),S(document,"touchmove",this._onTouchMove,this),S(document,"touchend touchcancel",this._onTouchEnd,this),O(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&1<o)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{i=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===i.x&&0===i.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(i),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),r(this._animRequest);n=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=x(n,this,!0),O(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,r(this._animRequest),k(document,"touchmove",this._onTouchMove,this),k(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}})),Xi=(A.addInitHook("addHandler","touchZoom",Ot),A.BoxZoom=_t,A.DoubleClickZoom=Ct,A.Drag=Zt,A.Keyboard=St,A.ScrollWheelZoom=Et,A.TapHold=kt,A.TouchZoom=Ot,t.Bounds=f,t.Browser=b,t.CRS=ot,t.Canvas=Fi,t.Circle=vi,t.CircleMarker=gi,t.Class=et,t.Control=B,t.DivIcon=Ri,t.DivOverlay=Ai,t.DomEvent=mt,t.DomUtil=pt,t.Draggable=Xe,t.Evented=it,t.FeatureGroup=ci,t.GeoJSON=wi,t.GridLayer=Ni,t.Handler=n,t.Icon=di,t.ImageOverlay=Ei,t.LatLng=v,t.LatLngBounds=s,t.Layer=o,t.LayerGroup=ui,t.LineUtil=vt,t.Map=A,t.Marker=mi,t.Mixin=ft,t.Path=fi,t.Point=p,t.PolyUtil=gt,t.Polygon=xi,t.Polyline=yi,t.Popup=Bi,t.PosAnimation=Fe,t.Projection=wt,t.Rectangle=Yi,t.Renderer=Wi,t.SVG=Gi,t.SVGOverlay=Oi,t.TileLayer=Di,t.Tooltip=Ii,t.Transformation=at,t.Util=tt,t.VideoOverlay=ki,t.bind=a,t.bounds=_,t.canvas=Ui,t.circle=function(t,e,i){return new vi(t,e,i)},t.circleMarker=function(t,e){return new gi(t,e)},t.control=Ue,t.divIcon=function(t){return new Ri(t)},t.extend=l,t.featureGroup=function(t,e){return new ci(t,e)},t.geoJSON=Si,t.geoJson=Mt,t.gridLayer=function(t){return new Ni(t)},t.icon=function(t){return new di(t)},t.imageOverlay=function(t,e,i){return new Ei(t,e,i)},t.latLng=w,t.latLngBounds=g,t.layerGroup=function(t,e){return new ui(t,e)},t.map=function(t,e){return new A(t,e)},t.marker=function(t,e){return new mi(t,e)},t.point=m,t.polygon=function(t,e){return new xi(t,e)},t.polyline=function(t,e){return new yi(t,e)},t.popup=function(t,e){return new Bi(t,e)},t.rectangle=function(t,e){return new Yi(t,e)},t.setOptions=c,t.stamp=h,t.svg=Ki,t.svgOverlay=function(t,e,i){return new Oi(t,e,i)},t.tileLayer=ji,t.tooltip=function(t,e){return new Ii(t,e)},t.transformation=ht,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new ki(t,e,i)},window.L);t.noConflict=function(){return window.L=Xi,this},window.L=t}); 6 + //# sourceMappingURL=leaflet.js.map
+64
templates/en-us/view_event.common.html
··· 3 <span class="icon"><i class="fa fa-circle-check"></i></span> 4 {%- endif -%} 5 {%- endmacro %} 6 <style> 7 /* ============================================ 8 MINIMAL CUSTOM STYLES ··· 184 .event-header-flex + .notification { 185 margin-top: 1.5rem; 186 } 187 } 188 </style> 189 ··· 651 </div> 652 </div> 653 {% endif %} 654 </div> 655 {% endif %} 656 ··· 670 </div> 671 </section> 672
··· 3 <span class="icon"><i class="fa fa-circle-check"></i></span> 4 {%- endif -%} 5 {%- endmacro %} 6 + {% if event.geo_latitude and event.geo_longitude %} 7 + <link rel="stylesheet" href="/static/leaflet.css" /> 8 + {% endif %} 9 <style> 10 /* ============================================ 11 MINIMAL CUSTOM STYLES ··· 187 .event-header-flex + .notification { 188 margin-top: 1.5rem; 189 } 190 + } 191 + 192 + /* Event Map Styles */ 193 + #event-map { 194 + z-index: 1; 195 + border-radius: 6px; 196 + overflow: hidden; 197 + } 198 + 199 + .h3-hex { 200 + fill-opacity: 0.2; 201 + stroke-width: 2; 202 } 203 </style> 204 ··· 666 </div> 667 </div> 668 {% endif %} 669 + 670 + <!-- Event Map --> 671 + {% if event.geo_latitude and event.geo_longitude %} 672 + <div id="event-map" class="mt-4" style="height: 250px; border-radius: 6px; overflow: hidden;"></div> 673 + <p class="help mt-2"> 674 + {% if event.geo_name %}{{ event.geo_name }}: {% endif %}{{ event.geo_latitude }}, {{ event.geo_longitude }} 675 + </p> 676 + {% endif %} 677 </div> 678 {% endif %} 679 ··· 693 </div> 694 </section> 695 696 + {% if event.geo_latitude and event.geo_longitude %} 697 + <script src="/static/leaflet.js"></script> 698 + <script src="/static/h3-js.umd.js"></script> 699 + <script> 700 + document.addEventListener('DOMContentLoaded', function() { 701 + const lat = {{ event.geo_latitude }}; 702 + const lng = {{ event.geo_longitude }}; 703 + const H3_RESOLUTION = 9; 704 + 705 + // Get H3 index and hex center 706 + const h3Index = h3.latLngToCell(lat, lng, H3_RESOLUTION); 707 + const hexCenter = h3.cellToLatLng(h3Index); 708 + 709 + // Initialize map centered on hex center 710 + const map = L.map('event-map', { 711 + zoomControl: true, 712 + scrollWheelZoom: false, 713 + dragging: true, 714 + }).setView([hexCenter[0], hexCenter[1]], 16); 715 + 716 + // Add OpenStreetMap tiles 717 + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 718 + attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>', 719 + maxZoom: 19 720 + }).addTo(map); 721 + 722 + // Get hex boundary and draw hexagon 723 + const boundary = h3.cellToBoundary(h3Index); 724 + const latLngs = boundary.map(coord => [coord[0], coord[1]]); 725 + 726 + // Draw H3 hexagon 727 + L.polygon(latLngs, { 728 + color: '#3273dc', 729 + fillColor: '#3273dc', 730 + fillOpacity: 0.2, 731 + weight: 2, 732 + className: 'h3-hex' 733 + }).addTo(map); 734 + }); 735 + </script> 736 + {% endif %}