@zwishing/emap 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- importScripts("mapshaper-vendor.js"),function(i){"use strict";function t(i,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if("default"!==n&&!(n in i)){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(i,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(i)}function n(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function a(i){if(i.__esModule)return i;var t=i.default;if("function"==typeof t){var n=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(i).forEach(function(t){var a=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return i[t]}})}),n}var e={exports:{}},s=a(Object.freeze({__proto__:null,default:{}}));function r(i,t){for(var n=0,a=i.length-1;a>=0;a--){var e=i[a];"."===e?i.splice(a,1):".."===e?(i.splice(a,1),n++):n&&(i.splice(a,1),n--)}if(t)for(;n--;n)i.unshift("..");return i}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,h=function(i){return o.exec(i).slice(1)};function p(){for(var i="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var a=n>=0?arguments[n]:"/";if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(i=a+"/"+i,t="/"===a.charAt(0))}return(t?"/":"")+(i=r(v(i.split("/"),function(i){return!!i}),!t).join("/"))||"."}function l(i){var t=c(i),n="/"===A(i,-1);return(i=r(v(i.split("/"),function(i){return!!i}),!t).join("/"))||t||(i="."),i&&n&&(i+="/"),(t?"/":"")+i}function c(i){return"/"===i.charAt(0)}function u(){return l(v(Array.prototype.slice.call(arguments,0),function(i,t){if("string"!=typeof i)throw new TypeError("Arguments to path.join must be strings");return i}).join("/"))}function _(i,t){function n(i){for(var t=0;t<i.length&&""===i[t];t++);for(var n=i.length-1;n>=0&&""===i[n];n--);return t>n?[]:i.slice(t,n-t+1)}i=p(i).substr(1),t=p(t).substr(1);for(var a=n(i.split("/")),e=n(t.split("/")),s=Math.min(a.length,e.length),r=s,o=0;o<s;o++)if(a[o]!==e[o]){r=o;break}var h=[];for(o=r;o<a.length;o++)h.push("..");return(h=h.concat(e.slice(r))).join("/")}function f(i){var t=h(i),n=t[0],a=t[1];return n||a?(a&&(a=a.substr(0,a.length-1)),n+a):"."}function m(i,t){var n=h(i)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function d(i){return h(i)[3]}var y={extname:d,basename:m,dirname:f,sep:"/",delimiter:":",relative:_,join:u,isAbsolute:c,normalize:l,resolve:p};function v(i,t){if(i.filter)return i.filter(t);for(var n=[],a=0;a<i.length;a++)t(i[a],a,i)&&n.push(i[a]);return n}var g,A="b"==="ab".substr(-1)?function(i,t,n){return i.substr(t,n)}:function(i,t,n){return t<0&&(t=i.length+t),i.substr(t,n)},C=a(Object.freeze({__proto__:null,basename:m,default:y,delimiter:":",dirname:f,extname:d,isAbsolute:c,join:u,normalize:l,relative:_,resolve:p,sep:"/"}));g=e,function(){var i=Math.abs,t=Math.floor,n=Math.sin,a=Math.cos,e=Math.tan,r=Math.asin,o=Math.acos,h=Math.atan,p=Math.atan2,l=Math.sqrt,c=Math.pow,u=Math.exp,_=Math.log,f=Math.hypot,m=Math.sinh,d=Math.cosh,y=Math.min,v=Math.max,A=1/0,S=Math.PI,x=57.29577951308232,M=.017453292519943295,E=6378137,b=.0066943799901413165,w=S/4,N=S/2,I=1.5*S,G=2*S,k=2/S,P=-45,T=-47,D=1e-10,O={last_errno:0,debug_level:0,logger:null},L=["no arguments in initialization list","no options found in 'init' file","invalid init= string","projection not named","unknown projection id","effective eccentricity = 1","unknown unit conversion id","invalid boolean param argument","unknown elliptical parameter name","reciprocal flattening (1/f) = 0","|radius reference latitude| > 90","squared eccentricity < 0","major axis or radius = 0 or not given","latitude or longitude exceeded limits","invalid x or y","improperly formed DMS value","non-convergent inverse meridional dist","non-convergent inverse phi2","acos/asin: |arg| >1+1e-14","tolerance condition error","conic lat_1 = -lat_2","lat_1 >= 90","lat_1 = 0","lat_ts >= 90","no distance between control points","projection not selected to be rotated","W <= 0 or M <= 0","lsat not in 1-5 range","path not in range","h <= 0","k <= 0","lat_0 = 0 or 90 or alpha = 90","lat_1=lat_2 or lat_1=0 or lat_2=90","elliptical usage required","invalid UTM zone number","arg(s) out of range for Tcheby eval","failed to find projection to be rotated","failed to load datum shift file","both n & m must be spec'd and > 0","n <= 0, n > 1 or not specified","lat_1 or lat_2 not specified","|lat_1| == |lat_2|","lat_0 is pi/2 from mean lat","unparseable coordinate system definition","geocentric transformation missing z or ellps","unknown prime meridian conversion id","illegal axis orientation combination","point not within available datum shift grids","invalid sweep axis, choose x or y","invalid value for h","point outside of projection domain"];function R(){var i=O.last_errno;i&&(i>0||!function(i){return q.indexOf(i)>-1}(i))&&B(i)}var q=[-14,-15,-17,-18,-19,-20,-27,-48];function U(i){O.last_errno=i}function z(){U(-20)}function j(){U(-20)}function W(i){B(i)}function B(i){U(i),H()}function H(i,t){var n;throw t||(t={}),t.code||(t.code=O.last_errno||0),i||(n=t.code,i=L[~n]||"unknown error"),O.last_errno=0,new F(i,t)}function F(i,t){var n=new Error(i);return n.name="ProjError",Object.keys(t).forEach(function(i){n[i]=t[i]}),n}function K(i){return V(i)*M}function V(i){var t=/(-?[0-9.]+)d?([0-9.]*)'?([0-9.]*)"?([nsew]?)$/i.exec(i),n=NaN;return t&&(n=+(t[1]||"0")+ +(t[2]||"0")/60+ +(t[3]||"0")/3600,/[ws]/i.test(t[4])&&(n=-n)),isNaN(n)&&B(-16),n}function J(i){return Y(i)}function Y(i){return parseFloat(i)}function X(i,t){var n,a,e=t[0],s=i[t.substr(1)],r=void 0!==s;return"t"==e?n=r:r?(a=s.param,s.used=!0,"i"==e?n=parseInt(a):"d"==e?n=J(a):"r"==e?n=K(a):"s"==e?n=String(a):"b"==e&&("T"==a||"t"==a||!0===a?n=!0:("F"==a||"f"==a||U(-8),n=!1))):n={i:0,b:!1,d:0,r:0,s:""}[e],void 0===n&&H("invalid request to pj_param, fatal"),n}function Z(i){for(var t,n=/\+([a-z][a-z0-9_]*(?:=[^\s]*)?)/gi,a={};t=n.exec(i);)$(a,t[1]);return a}function $(i,t){var n,a,e=t.split("=");1==e.length?(n=t,a=!0):(n=e[0],a=t.substr(e[0].length+1)),i[n]={used:!1,param:a}}var Q={};function ii(i,t,n,a){Q[t]={init:i,name:n,description:a}}function ti(i){return!i||i.is_latlong}function ni(i){var t=!1,n="";return"datum"in i.params?(t=!0,n+=ei(i,"datum")):"R"in i.params?n+=ei(i,"R"):"ellps"in i.params?n+=ei(i,"ellps"):"a"in i.params?(n+=ei(i,"a"),"b"in i.params?n+=ei(i,"b"):"es"in i.params?n+=ei(i,"es"):"f"in i.params?n+=ei(i,"f"):n+=" +es="+i.es):W(-13),t||(n+=ei(i,"towgs84"),n+=ei(i,"nadgrids")),n+=ei(i,"R_A"),n+=ei(i,"R_V"),n+=ei(i,"R_a"),n+=ei(i,"R_lat_a"),n+=ei(i,"R_lat_g"),n+=ei(i,"pm")}function ai(i){var t="datum,ellps,a,b,es,rf,f,towgs84,nadgrids,R,R_A,R_V,R_a,R_lat_a,R_lat_g,pm,init,no_defs".split(","),n="";return Object.keys(i.params).forEach(function(a){-1==t.indexOf(a)&&(n+=ei(i,a))}),(n+=ni(i)).trim()}function ei(i,t){var n="";return t in i.params&&(n=" +"+t,!0!==i.params[t].param&&(n+="="+X(i.params,"s"+t))),n}var si=[["WGS84","towgs84=0,0,0","WGS84","WGS_1984"],["GGRS87","towgs84=-199.87,74.79,246.62","GRS80","Greek_Geodetic_Reference_System_1987"],["NAD83","towgs84=0,0,0","GRS80","North_American_Datum_1983"],["NAD27","nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat","clrk66","North_American_Datum_1927"],["potsdam","towgs84=598.1,73.7,418.2,0.202,0.045,-2.455,6.7","bessel","Potsdam Rauenberg 1950 DHDN"],["carthage","towgs84=-263.0,6.0,431.0","clrk80ign","Carthage 1934 Tunisia"],["hermannskogel","towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232","bessel","Hermannskogel"],["ire65","towgs84=482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15","mod_airy","Ireland 1965"],["nzgd49","towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993","intl","New Zealand Geodetic Datum 1949"],["OSGB36","towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894","airy","OSGB 1936"],[null,null,null,null]],ri=[["greenwich","0dE"],["lisbon","9d07'54.862\"W"],["paris","2d20'14.025\"E"],["bogota","74d04'51.3\"W"],["madrid","3d41'16.58\"W"],["rome","12d27'8.4\"E"],["bern","7d26'22.5\"E"],["jakarta","106d48'27.79\"E"],["ferro","17d40'W"],["brussels","4d22'4.71\"E"],["stockholm","18d3'29.8\"E"],["athens","23d42'58.815\"E"],["oslo","10d43'22.5\"E"],[null,null]];function oi(i){var t=si.reduce(function(t,n){return n[0]===i?n:t},null);return t?{id:t[0],defn:t[1],ellipse_id:t[2],name:t[3]}:null}var hi=[["MERIT","a=6378137.0","rf=298.257","MERIT 1983"],["SGS85","a=6378136.0","rf=298.257","Soviet Geodetic System 85"],["GRS80","a=6378137.0","rf=298.257222101","GRS 1980(IUGG, 1980)"],["IAU76","a=6378140.0","rf=298.257","IAU 1976"],["airy","a=6377563.396","b=6356256.910","Airy 1830"],["APL4.9","a=6378137.0","rf=298.25","Appl. Physics. 1965"],["NWL9D","a=6378145.0","rf=298.25","Naval Weapons Lab., 1965"],["mod_airy","a=6377340.189","b=6356034.446","Modified Airy"],["andrae","a=6377104.43","rf=300.0","Andrae 1876 (Den., Iclnd.)"],["aust_SA","a=6378160.0","rf=298.25","Australian Natl & S. Amer. 1969"],["GRS67","a=6378160.0","rf=298.2471674270","GRS 67(IUGG 1967)"],["bessel","a=6377397.155","rf=299.1528128","Bessel 1841"],["bess_nam","a=6377483.865","rf=299.1528128","Bessel 1841 (Namibia)"],["clrk66","a=6378206.4","b=6356583.8","Clarke 1866"],["clrk80","a=6378249.145","rf=293.4663","Clarke 1880 mod."],["clrk80ign","a=6378249.2","rf=293.4660212936269","Clarke 1880 (IGN)."],["CPM","a=6375738.7","rf=334.29","Comm. des Poids et Mesures 1799"],["delmbr","a=6376428","rf=311.5","Delambre 1810 (Belgium)"],["engelis","a=6378136.05","rf=298.2566","Engelis 1985"],["evrst30","a=6377276.345","rf=300.8017","Everest 1830"],["evrst48","a=6377304.063","rf=300.8017","Everest 1948"],["evrst56","a=6377301.243","rf=300.8017","Everest 1956"],["evrst69","a=6377295.664","rf=300.8017","Everest 1969"],["evrstSS","a=6377298.556","rf=300.8017","Everest (Sabah & Sarawak)"],["fschr60","a=6378166","rf=298.3","Fischer (Mercury Datum) 1960"],["fschr60m","a=6378155","rf=298.3","Modified Fischer 1960"],["fschr68","a=6378150","rf=298.3","Fischer 1968"],["helmert","a=6378200","rf=298.3","Helmert 1906"],["hough","a=6378270.0","rf=297","Hough"],["intl","a=6378388.0","rf=297","International 1909 (Hayford)"],["krass","a=6378245.0","rf=298.3","Krasovsky 1940"],["kaula","a=6378163","rf=298.24","Kaula 1961"],["lerch","a=6378139","rf=298.257","Lerch 1979"],["mprts","a=6397300","rf=191","Maupertius 1738"],["new_intl","a=6378157.5","b=6356772.2","New International 1967"],["plessis","a=6376523","b=6355863","Plessis 1817 (France)"],["SEasia","a=6378155.0","b=6356773.3205","Southeast Asia"],["walbeck","a=6376896.0","b=6355834.8467","Walbeck"],["WGS60","a=6378165.0","rf=298.3","WGS 60"],["WGS66","a=6378145.0","rf=298.25","WGS 66"],["WGS72","a=6378135.0","rf=298.26","WGS 72"],["WGS84","a=6378137.0","rf=298.257223563","WGS 84"],["sphere","a=6370997.0","b=6370997.0","Normal Sphere (r=6370997)"],[null,null,null,null]];function pi(i){var t=hi.reduce(function(t,n){return n[0]===i?n:t},null);return t?{id:t[0],major:t[1],ell:t[2],name:t[3]}:null}var li=[["km","1000","Kilometer"],["m","1","Meter"],["dm","1/10","Decimeter"],["cm","1/100","Centimeter"],["mm","1/1000","Millimeter"],["kmi","1852.0","International Nautical Mile"],["in","0.0254","International Inch"],["ft","0.3048","International Foot"],["yd","0.9144","International Yard"],["mi","1609.344","International Statute Mile"],["fath","1.8288","International Fathom"],["ch","20.1168","International Chain"],["link","0.201168","International Link"],["us-in","1/39.37","U.S. Surveyor's Inch"],["us-ft","0.304800609601219","U.S. Surveyor's Foot"],["us-yd","0.914401828803658","U.S. Surveyor's Yard"],["us-ch","20.11684023368047","U.S. Surveyor's Chain"],["us-mi","1609.347218694437","U.S. Surveyor's Statute Mile"],["ind-yd","0.91439523","Indian Yard"],["ind-ft","0.30479841","Indian Foot"],["ind-ch","20.11669506","Indian Chain"],[null,null,null]];function ci(i){var t=li.reduce(function(t,n){return i===n[0]?n:t},null);return t?{id:t[0],to_meter:t[1],name:t[2]}:null}var ui={},_i={};function fi(i){return _i[i]||null}function mi(i){var t,n,a,e,r,o,h,p,l=i.split(":"),c=l[0],u=l[1];return u&&c||W(-3),(t=fi(c=c.toLowerCase()))||(n=c,e=s,o=(r=C).join(r.dirname("/Users/zhang/code/emap/node_modules/mproj/dist"),"../nad"),h=r.join(o,n.toUpperCase()),p=r.join(o,n.toLowerCase()),e.existsSync(h)?a=e.readFileSync(h,"utf8"):e.existsSync(p)?a=e.readFileSync(p,"utf8"):H("unable to read from 'init' file named "+n),t=a,_i[c]=t),t?function(i,t){var n,a,e="",s="";return(n=i.indexOf("<"+t+">"))>-1&&((a=i.lastIndexOf("#",n))>-1&&(s=i.substring(a+1,n).trim(),/\n/.test(s)&&(s="")),e=(e=(e=" "+(e=(e=(e=(e=(e=i.substr(n+t.length+2)).substr(0,e.indexOf("<"))).replace(/#.*/g,"")).replace(/[\s]+/g," ")).replace(/\+title=[^+]*[^ +]/g,function(i){return i.replace(/ /g,"\t")}))).replace(/ (?=[a-z])/gi," +")).replace(/\t/g," ").trim()),e?{opts:e,comment:s}:null}(t,u):null}function di(t){var a,e,s=Z(t),r={params:s,is_latlong:!1,is_geocent:!1,is_long_wrap_set:!1,long_wrap_center:0,axis:"enu",gridlist:null,gridlist_count:0,vgridlist_geoid:null,vgridlist_geoid_count:0};return Object.keys(s).length||W(-1),X(s,"tinit")&&function(i,t){var n=ui[t.toLowerCase()]||null;n||function(i,t){ui[i.toLowerCase()]=t}(t,n=mi(t)),n||W(-2),yi(i,n.opts)}(s,X(s,"sinit")),(a=X(s,"sproj"))||W(-4),(e=Q[a])||W(-5),X(s,"bno_defs")||function(i){yi(i,"+ellps=WGS84")}(r.params),function(i){var t,n,a,e,s=484813681109536e-20,r=i.datum_params=[0,0,0,0,0,0,0];i.datum_type=0,(t=X(i.params,"sdatum"))&&((n=oi(t))||W(-9),n.ellipse_id&&$(i.params,"ellps="+n.ellipse_id),n.defn&&$(i.params,n.defn)),(a=X(i.params,"snadgrids"))&&"@null"!=a&&H("+nadgrids is not implemented"),X(i.params,"scatalog")&&H("+catalog is not implemented"),(e=X(i.params,"stowgs84"))&&(e.split(",").forEach(function(i,t){r[t]=J(i)||0}),0!=r[3]||0!=r[4]||0!=r[5]||0!=r[6]?(i.datum_type=2,r[3]*=s,r[4]*=s,r[5]*=s,r[6]=r[6]/1e6+1):i.datum_type=1)}(r),function(t){var a,e,s,r,o,h=.16666666666666666,p=t.params,c=0,u=0;X(p,"tR")?c=X(p,"dR"):((a=X(p,"sellps"))&&((e=pi(a))||W(-9),$(p,e.major),$(p,e.ell)),c=X(p,"da"),X(p,"tes")?u=X(p,"des"):X(p,"te")?u=(s=X(p,"de"))*s:X(p,"trf")?((s=X(p,"drf"))||W(-10),u=(s=1/s)*(2-s)):X(p,"tf")?u=(s=X(p,"df"))*(2-s):X(p,"tb")&&(u=1-(r=X(p,"db"))*r/(c*c)),r||(r=c*l(1-u)),X(p,"bR_A")?(c*=1-u*(h+u*(.04722222222222222+.022156084656084655*u)),u=0):X(p,"bR_V")?c*=1-u*(h+u*(.06944444444444445+.04243827160493827*u)):X(p,"bR_a")?(c=.5*(c+r),u=0):X(p,"bR_g")?(c=l(c*r),u=0):X(p,"bR_h")?(c+r===0&&W(-20),c=2*c*r/(c+r),u=0):(o=X(p,"tR_lat_a")||X(p,"tR_lat_g"))&&(s=n(X(p,o?"rR_lat_a":"rR_lat_g")),i(s)>N&&W(-11),s=1-u*s*s,c*=o?.5*(1-u+s)/(s*l(s)):l(1-u)/s,u=0)),u<0&&W(-12),c<=0&&W(-13),t.es=u,t.a=c}(r),r.a_orig=r.a,r.es_orig=r.es,r.e=l(r.es),r.ra=1/r.a,r.one_es=1-r.es,r.one_es||W(-6),r.rone_es=1/r.one_es,function(i){return 1==i.datum_type&&i.datum_params[0]==i.datum_params[1]==i.datum_params[2]===0&&6378137==i.a&&Math.abs(i.es-.00669437999)<5e-11}(r)&&(r.datum_type=4),r.geoc=!!r.es&&X(s,"bgeoc"),r.over=X(s,"bover"),r.has_geoid_vgrids=X(s,"tgeoidgrids"),r.has_geoid_vgrids&&X(s,"sgeoidgrids"),r.is_long_wrap_set=X(s,"tlon_wrap"),r.is_long_wrap_set&&(r.long_wrap_center=X(s,"rlon_wrap"),i(r.long_wrap_center)<10*G==0&&W(-14)),X(s,"saxis")&&function(i){var t="ewnsud",n=X(i.params,"saxis");3!=n.length&&W(T),-1!=t.indexOf(n[0])&&-1!=t.indexOf(n[1])&&-1!=t.indexOf(n[2])||W(T),i.axis=n}(r),r.lam0=X(s,"rlon_0"),r.phi0=X(s,"rlat_0"),r.x0=X(s,"dx_0"),r.y0=X(s,"dy_0"),X(s,"tk_0")?r.k0=X(s,"dk_0"):X(s,"tk")?r.k0=X(s,"dk"):r.k0=1,r.k0<=0&&W(-31),function(i){var t,n,a,e=i.params;(t=X(e,"sunits"))&&((a=ci(t))||W(-7),n=a.to_meter),n||(n=X(e,"sto_meter"))?(i.to_meter=vi(n),i.fr_meter=1/i.to_meter):i.to_meter=i.fr_meter=1,n=null,(t=X(e,"svunits"))&&((a=ci(t))||W(-7),n=a.to_meter),n||X(e,"svto_meter")?(i.vto_meter=vi(n),i.vfr_meter=1/i.vto_meter):(i.vto_meter=i.to_meter,i.vfr_meter=i.fr_meter)}(r),function(i){var t,n,a,e=i.params;(t=X(e,"spm"))?(n=function(i){var t=ri.reduce(function(t,n){return n[0]===i?n:t},null);return t?{id:t[0],definition:t[1]}:null}(t),a=K(n?n.definition:t),isNaN(a)&&W(-46),i.from_greenwich=a):i.from_greenwich=0}(r),e.init(r),r}function yi(i,t){var n=Z(t),a=["datum","ellps","a","b","rf","f"].reduce(function(t,n){return t||n in i},!1);Object.keys(n).forEach(function(t){t in i||"ellps"==t&&a||(i[t]=n[t])})}function vi(i){var t=i.split("/"),n=Y(t[0]);return t.length>1&&(n/=Y(t[1])),n}function gi(i,t){var n=0,a=i*i,e=t*t;return i<=0&&(n|=4),t<=0&&(n|=8),i<t&&(n|=16),n?null:{a:i,b:t,a2:a,b2:e,e2:(a-e)/a,ep2:(a-e)/e}}function Ai(i,t,e,s,r){var o,h,p,c,u=0,_=e[t],f=s[t],m=r[t];return f<-N&&f>-1.001*N?f=-N:f>N&&f<1.001*N?f=N:(f<-N||f>N)&&(u|=1),u||(_>S&&(_-=2*S),h=n(f),c=a(f),p=h*h,o=i.a/l(1-i.e2*p),e[t]=(o+m)*c*a(_),s[t]=(o+m)*c*n(_),r[t]=(o*(1-i.e2)+m)*h),u}function Ci(t,n,a,e,s){var r,o,c,u,_,f,m,d,y,v,g,A,C,S,x,M,E=1e-12,b=a[n],w=e[n],I=s[n];if(u=l(b*b+w*w),_=l(b*b+w*w+I*I),u/t.a<E){if(o=0,_/t.a<E)return a[n]=0,e[n]=N,s[n]=-t.b,0}else o=p(w,b);f=I/_,m=u/_,d=1/l(1-t.e2*(2-t.e2)*m*m),g=m*(1-t.e2)*d,A=f*d,M=0;do{M++,c=u*g+I*A-(y=t.a/l(1-t.e2*A*A))*(1-t.e2*A*A),v=t.e2*y/(y+c),x=(S=f*(d=1/l(1-v*(2-v)*m*m)))*g-(C=m*(1-v)*d)*A,g=C,A=S}while(x*x>1e-24&&M<30);r=h(S/i(C)),a[n]=o,e[n]=r,s[n]=c}function Si(i,t,n){var a=n.length>2,e=[n[0]],s=[n[1]],r=[a?n[2]:0];i.is_latlong&&(e[0]*=M,s[0]*=M),O.last_errno=0,xi(i,t,e,s,r),(O.last_errno||e[0]==A)&&H(null,{point:n}),t.is_latlong&&(e[0]*=x,s[0]*=x),n[0]=e[0],n[1]=s[0],a&&(n[2]=r[0])}function xi(i,t,n,a,e){var s,r,o=n.length,h={},p={};if("enu"!=i.axis&&Mi(i.axis,!1,n,a,e),1!=i.vto_meter&&e)for(s=0;s<o;s++)e[s]*=i.vto_meter;if(i.is_geocent){if(e||W(P),1!=i.to_meter)for(s=0;s<o;s++)n[s]!=A&&(n[s]*=i.to_meter,a[s]*=i.to_meter);Ei(i.a_orig,i.es_orig,n,a,e)}else if(!i.is_latlong)if(i.inv3d||i.inv||H("source projection not invertible"),i.inv3d)H("inverse 3d transformations not supported");else for(s=0;s<o;s++)p.x=n[s],p.y=a[s],r=Ii(p,i),n[s]=r.lam,a[s]=r.phi,R();if(0!==i.from_greenwich)for(s=0;s<o;s++)n[s]!=A&&(n[s]+=i.from_greenwich);if(i.has_geoid_vgrids&&e&&H("vgrid transformation not supported"),function(i,t,n,a,e){var s,r,o,h,p=n.length;0!=i.datum_type&&0!=t.datum_type&&(function(i,t){return i.datum_type==t.datum_type&&(!(i.a_orig!=t.a_orig||Math.abs(i.es_orig-t.es_orig)>5e-11)&&(1==i.datum_type?i.datum_params[0]==t.datum_params[0]&&i.datum_params[1]==t.datum_params[1]&&i.datum_params[2]==t.datum_params[2]:2==i.datum_type?i.datum_params[0]==t.datum_params[0]&&i.datum_params[1]==t.datum_params[1]&&i.datum_params[2]==t.datum_params[2]&&i.datum_params[3]==t.datum_params[3]&&i.datum_params[4]==t.datum_params[4]&&i.datum_params[5]==t.datum_params[5]&&i.datum_params[6]==t.datum_params[6]:3!=i.datum_type||X(i.params,"snadgrids")==X(t.params,"snadgrids")))}(i,t)||(s=i.a_orig,r=i.es_orig,o=t.a_orig,h=t.es_orig,e||(e=new Float64Array(p)),3==i.datum_type&&(H("gridshift not implemented"),s=E,r=b),3==t.datum_type&&(o=E,h=b),r==h&&s==o&&1!=i.datum_type&&2!=i.datum_type&&1!=t.datum_type&&2!=t.datum_type||(bi(s,r,n,a,e),1!=i.datum_type&&2!=i.datum_type||function(i,t,n,a){var e,s,r,o,h,p,l,c,u=t.length,_=i.datum_params,f=_[0],m=_[1],d=_[2];if(1==i.datum_type)for(c=0;c<u;c++)t[c]!=A&&(t[c]+=f,n[c]+=m,a[c]+=d);else if(2==i.datum_type)for(o=_[3],h=_[4],p=_[5],l=_[6],c=0;c<u;c++)t[c]!=A&&(e=l*(t[c]-p*n[c]+h*a[c])+f,s=l*(p*t[c]+n[c]-o*a[c])+m,r=l*(-h*t[c]+o*n[c]+a[c])+d,t[c]=e,n[c]=s,a[c]=r)}(i,n,a,e),1!=t.datum_type&&2!=t.datum_type||function(i,t,n,a){var e,s,r,o,h,p,l,c,u=t.length,_=i.datum_params,f=_[0],m=_[1],d=_[2];if(1==i.datum_type)for(c=0;c<u;c++)t[c]!=A&&(t[c]-=f,n[c]-=m,a[c]-=d);else if(2==i.datum_type)for(o=_[3],h=_[4],p=_[5],l=_[6],c=0;c<u;c++)t[c]!=A&&(e=(t[c]-f)/l,s=(n[c]-m)/l,r=(a[c]-d)/l,t[c]=e+p*s-h*r,n[c]=-p*e+s+o*r,a[c]=h*e-o*s+r)}(t,n,a,e),Ei(o,h,n,a,e),3==t.datum_type&&pj_apply_gridshift_2(t,1,n,a,e))))}(i,t,n,a,e),t.has_geoid_vgrids&&e&&H("vgrid transformation not supported"),0!==t.from_greenwich)for(s=0;s<o;s++)n[s]!=A&&(n[s]-=t.from_greenwich);if(t.is_geocent){if(e||W(P),bi(t.a_orig,t.es_orig,n,a,e),1!=t.fr_meter)for(s=0;s<o;s++)n[s]!=A&&(n[s]*=t.fr_meter,a[s]*=t.fr_meter)}else if(t.is_latlong){if(t.is_latlong&&t.is_long_wrap_set)for(s=0;s<o;s++)if(n[s]!=A){for(;n[s]<t.long_wrap_center-S;)n[s]+=G;for(;n[s]>t.long_wrap_center+S;)n[s]-=G}}else if(t.fwd3d)H("3d transformation not supported");else for(s=0;s<o;s++)h.lam=n[s],h.phi=a[s],r=Ni(h,t),n[s]=r.x,a[s]=r.y,R();if(1!=t.vto_meter&&e)for(s=0;s<o;s++)e[s]*=t.vfr_meter;return"enu"!=t.axis&&Mi(t.axis,!0,n,a,e),1==o?O.last_errno:0}function Mi(i,t,n,a,e){var s,r,o,h,p,l,c=n.length,u=0;if(t){for(o=0;o<c;o++)if(s=n[o],r=a[o],s!=A)for(e&&(u=e[o]),h=0;h<3;h++)if(2!=h||e)switch(l=0==h?n:1==h?a:e,i[h]){case"e":l[o]=s;break;case"w":l[o]=-s;break;case"n":l[o]=r;break;case"s":l[o]=-r;break;case"u":l[o]=u;break;case"d":l[o]=-u;break;default:W(T)}}else for(o=0;o<c;o++)if(s=n[o],r=a[o],s!=A)for(e&&(u=e[o]),h=0;h<3;h++)switch(p=0==h?s:1==h?r:u,i[h]){case"e":n[o]=p;break;case"w":n[o]=-p;break;case"n":a[o]=p;break;case"s":a[o]=-p;break;case"u":e&&(e[o]=p);break;case"d":e&&(e[o]=-p);break;default:W(T)}}function Ei(i,t,n,a,e){var s,r,o=n.length;for((r=gi(i,0==t?i:i*l(1-t)))||W(P),s=0;s<o;s++)n[s]!=A&&Ci(r,s,n,a,e)}function bi(i,t,n,a,e){var s,r,o=n.length;for((r=gi(i,0===t?i:i*l(1-t)))||W(P),s=0;s<o;s++)n[s]!=A&&Ai(r,s,n,a,e)&&(n[s]=a[s]=A)}function wi(n){var a=6.283185307179586,e=3.141592653589793;return i(n)>3.14159265359&&(n+=e,n-=a*t(n/a),n-=e),n}function Ni(t,n){var a={x:0,y:0},s=i(t.phi)-N;return s<=1e-12&&i(t.lam)<=10?(O.last_errno=0,i(s)<=1e-12?t.phi=t.phi<0?-N:N:n.geoc&&(t.phi=h(n.rone_es*e(t.phi))),t.lam-=n.lam0,n.over||(t.lam=wi(t.lam)),n.fwd?(n.fwd(t,a),a.x=n.fr_meter*(n.a*a.x+n.x0),a.y=n.fr_meter*(n.a*a.y+n.y0)):a.x=a.y=A):U(-14),!O.last_errno&&isFinite(a.x)&&isFinite(a.y)||(a.x=a.y=A),a}function Ii(t,n){var a={lam:0,phi:0};return t.x<A&&t.y<A?(O.last_errno=0,n.inv?(t.x=(t.x*n.to_meter-n.x0)*n.ra,t.y=(t.y*n.to_meter-n.y0)*n.ra,n.inv(t,a),a.lam+=n.lam0,n.over||(a.lam=wi(a.lam)),n.geoc&&i(i(a.phi)-N)>1e-12&&(a.phi=h(n.one_es*e(a.phi)))):a.lam=a.phi=A):U(-15),!O.last_errno&&isFinite(a.lam)&&isFinite(a.phi)||(a.lam=a.phi=A),a}function Gi(i,n,a,e){var s,r,o;for((i<0||i>=9)&&(i=3),s=1,o=0;o<i;o++)s*=10;return r=3600*s,function(o){var h,p,l,c,u="",_="",f="";return o===A||isNaN(o)?"":(o<0?(o=-o,(l=e||"")||(u="-")):l=a||"",p=(o=t(o*r+.5))/s%60,h=(o=t(o/(60*s)))%60,c=t(o/60)+"d",f=p.toFixed(i),f=(p=parseFloat(f))?(n?f:String(p))+'"':"",(p||h)&&2==(_=String(h)+"'").length&&n&&(_="0"+_),u+c+_+f+l)}}function ki(i,t,n){var a,e,s,r,o,h;return"string"!=typeof i?Tn:("string"!=typeof t?(e="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs",s=i,a=t):(e=i,s=t,a=n),h=Pi(r=di(e),o=di(s)),a?h(a):{forward:h,inverse:Pi(o,r)})}function Pi(i,t){return function(n){var a=Array.isArray(n);return n=a?n.concat():[n.x,n.y],Si(i,t,n),a||(n={x:n[0],y:n[1]}),n}}function Ti(i){var t=i.proj in Q?Q[i.proj].name:"",n=ai(i),a=$i(i);return{PROJCS:{NAME:t?a.NAME+" / "+t:"unnamed",GEOGCS:a,PROJECTION:"custom_proj4",PARAMETER:[],UNIT:Ki(i),EXTENSION:["PROJ4",n+" +wktext"]}}}function Di(i){var t=i.EXTENSION;return t&&"PROJ4"==t[0]?(t[1]||"").replace(" +wktext",""):null}ki.WGS84="+proj=longlat +datum=WGS84",ki.toPoint=function(i){var t={x:i[0],y:i[1]};return i.length>2&&(t.z=i[2]),i.length>3&&(t.m=i[3]),t};var Oi=[],Li=[];function Ri(i){return"string"==typeof i}function qi(i){var t=zi(i,Li);return t||(t=function(i){return Di(i)?Di:null}(i)),t||Hi("unsupported WKT definition: "+(i.NAME||"[unknown]")),t}function Ui(i){var t=zi(i,Oi);return t||(t=Ti),t||Hi("unsupported projection: "+function(i){return ji(i)||"[unknown]"}(i)),t}function zi(i,t){for(var n=0;n<t.length;n++)if((0,t[n][0])(i))return t[n][1];return null}function ji(i){return X(i.params,"sproj")}function Wi(i){return i.replace(/[-_ \/]+/g,"_").toLowerCase()}function Bi(i){var t;return Array.isArray(i)?t=i:i&&i.length>0&&(t=i.split(",")),t}function Hi(i){throw new Error(i)}function Fi(i){return{to_meter:i.UNIT[1]}}function Ki(i){return["Meter",i.to_meter||1]}function Vi(i,t){var n,a,e=i.DATUM,s=e.SPHEROID,r=function(i){var t,n={northamerican1983:"NAD83",newzealand1949:"nzgd49"},a=Ji(i.NAME);if(a in n)return n[a];for(var e=0;e<si.length&&Ji((t=si[e])[3])!=a&&Ji(t[0])!=a;e++);return t?t[0]:null}(e),o=function(i){var t,n={international1924:"intl"},a=Ji(i[0]);if(a in n)return n[a];if(/^grs1980/.test(a))return"GRS80";if("sphere"==a)return null;for(var e=0;e<hi.length&&Ji((t=hi[e])[3])!=a&&Ji(t[0])!=a;e++);return t?t[0]:null}(s),h=t&&t.aux_sphere,p=s[1],l=s[2];return Yi(i.UNIT,"degree"),h?n="+a="+s[1]:r?n="+datum="+r:o?n="+ellps="+o:(n="+a="+p,l>0&&(n+=" +rf="+l)),!e.TOWGS84||h||r||(n+=" +towgs84="+e.TOWGS84.join(",")),((a=i.PRIMEM?i.PRIMEM[1]:0)>0||a<0)&&(n+=" +pm="+a),n}function Ji(i){return(i||"").replace(/^(GCS|D)_/i,"").replace(/[ _]/g,"").toLowerCase()}function Yi(i,t){i&&i[0].toLowerCase()!=t&&Hi("unexpected geographic units: "+geogcs.UNIT[0])}function Xi(i){return function(){return"+proj="+i}}function Zi(i){return function(t){var n,a;return[i.PROJECTION(t),i.PARAMETER(t),i.GEOGCS?i.GEOGCS(t):Vi(t.GEOGCS),(n=Fi(t),a="",1!=n.to_meter&&(a="+to_meter="+n.to_meter),a),"+no_defs"].filter(function(i){return!!i}).join(" ")}}function $i(i){return{NAME:tt(i),DATUM:Qi(i),PRIMEM:["Greenwich",0],UNIT:["degree",.017453292519943295]}}function Qi(i){var t={NAME:at(i),SPHEROID:it(i)},n=X(i.params,"stowgs84");return/[1-9]/.test(n)&&(t.TOWGS84=n),t}function it(i){var t;return t=X(i.params,"trf")?X(i.params,"drf"):i.es?1/(1-Math.sqrt(1-i.es)):0,[nt(i),i.a,t]}function tt(i){var t;return ti(i)&&(t=ht(i)),t||(t=et(i),t=/^[a-z]+$/.test(t)?t[0].toUpperCase()+t.substr(1):t.toUpperCase()),t||"UNK"}function nt(i){var t=pi(function(i){var t=et(i),n=t?oi(t):null;return(n?n.ellipse_id:X(i.params,"sellps"))||""}(i));return t?t.name:"Unknown ellipsoid"}function at(i){var t=oi(et(i));return t&&t.name||"Unknown datum"}function et(i){return X(i.params,"sdatum")}function st(i){return Ui(i)(i)}function rt(i,t){return ot({PROJECTION:i,PARAMETER:kt(t)})}function ot(i){return function(t){var n={GEOGCS:i.GEOGCS&&i.GEOGCS(t)||$i(t),PROJECTION:Ri(i.PROJECTION)?i.PROJECTION:i.PROJECTION(t),PARAMETER:i.PARAMETER(t),UNIT:Ki(t)};return n.NAME=i.NAME&&i.NAME(t,n)||function(i,t){var n=ht(i);return n||t.GEOGCS.NAME+" / "+t.PROJECTION}(t,n),{PROJCS:n}}}function ht(i){var t;return X(i.params,"tinit")&&(t=mi(X(i.params,"sinit"))),t?t.comment:""}function pt(i,t,n){var a=ct(t),e=function(i,t){return Zi({PROJECTION:Xi(i),PARAMETER:Gt(t)})}(i,n);_t(a,e)}function lt(i,t,n){ft(ut(i),rt(t,n))}function ct(i){var t=Bi(i).map(Wi);return function(i){var n=i.PROJECTION[0];return t.indexOf(Wi(n))>-1}}function ut(i){return function(t){var n=ji(t);return n&&n==i}}function _t(i,t){"function"!=typeof i&&Hi("Missing WKT parser test"),"function"!=typeof t&&Hi("Missing WKT parse function"),Li.push([i,t])}function ft(i,t){"function"!=typeof i&&Hi("Missing WKT maker test"),"function"!=typeof t&&Hi("Missing WKT maker function"),Oi.push([i,t])}_t(function(i){return mt.test(Wi(i.NAME))},function(i){return Zi({PROJECTION:Xi("utm"),PARAMETER:function(i){var t=mt.exec(Wi(i.NAME)),n="+zone="+t[1];return"s"==t[2].toLowerCase()&&(n+=" +south"),n}})(i)}),_t(function(i){return dt.test(Wi(i.NAME))},function(i){return Zi({PROJECTION:Xi("ups"),PARAMETER:function(i){var t=dt.exec(Wi(i.NAME));return"south"==t[1].toLowerCase()?"+south":""}})(i)}),ft(ut("utm"),function(i){return ot({NAME:yt,PROJECTION:function(){return"Transverse_Mercator"},PARAMETER:gt})(i)}),ft(ut("ups"),function(i){return ot({NAME:vt,PROJECTION:function(){return"Polar_Stereographic"},PARAMETER:At})(i)});var mt=/UTM_zone_([0-9]{1,2})(N|S)/i,dt=/UPS_(North|South)/i;function yt(i,t){return t.GEOGCS.NAME+" / UTM zone "+X(i.params,"szone")+(X(i.params,"tsouth")?"S":"N")}function vt(i,t){return t.GEOGCS.NAME+" / UPS "+(X(i.params,"tsouth")?"South":"North")}function gt(i){return[["latitude_of_origin",0],["central_meridian",180*i.lam0/S],["scale_factor",i.k0],["false_easting",i.x0],["false_northing",i.y0]]}function At(i){return[["latitude_of_origin",-90],["central_meridian",0],["scale_factor",.994],["false_easting",2e6],["false_northing",2e6]]}function Ct(i){return X(i.params,"tlat_ts")&&0!=X(i.params,"dlat_ts")}function St(i){return 0===i.es&&6378137==i.a}_t(ct("Mercator_2SP,Mercator_1SP,Mercator,Mercator_Auxiliary_Sphere"),Zi({GEOGCS:function(i){var t=function(i){return/(Web_Mercator|Pseudo_Mercator)/i.test(Wi(i.NAME))}(i)?{aux_sphere:!0}:null;return Vi(i.GEOGCS,t)},PROJECTION:Xi("merc"),PARAMETER:function(i){return Gt(function(i){var t=Nt(i,"standard_parallel_1");return t&&0!=t[1]}(i)?"lat_ts,lat_0b":"lat_tsb,lat_ts")(i)}})),ft(ut("merc"),ot({GEOGCS:function(i){return St(i)?$i(di("+proj=longlat +datum=WGS84")):null},PROJECTION:function(i){return Ct(i)?"Mercator_2SP":"Mercator_1SP"},PARAMETER:function(i){return kt(Ct(i)?"lat_ts,lat_0b":"lat_tsb")(i)},NAME:function(i){return St(i)?"WGS 84 / Pseudo-Mercator":null}}));var xt=[["x_0","false_easting","m"],["y_0","false_northing","m"],["k_0","scale_factor","f"],["lat_0","latitude_of_center"],["lon_0","central_meridian"]],Mt={lat_0b:["lat_0","latitude_of_origin"],lat_0c:["lat_0",null],lat_0d:["lat_0","standard_parallel_1"],lat_1:["lat_1","standard_parallel_1"],lat_1b:["lat_1","latitude_of_point_1"],lat_1c:["lat_1","latitude_of_origin"],lat_2:["lat_2","standard_parallel_2"],lat_2b:["lat_2","latitude_of_point_2"],lat_ts:["lat_ts","standard_parallel_1"],lat_tsb:["lat_ts","latitude_of_origin"],lonc:["lonc","central_meridian"],lon_1:["lon_1","longitude_of_point_1"],lon_2:["lon_2","longitude_of_point_2"],alpha:["alpha","azimuth"],gamma:["gamma","rectified_grid_angle"],h:["h","height","f"]},Et={longitude_of_center:"central_meridian",latitude_of_origin:"latitude_of_center",latitude_of_center:"latitude_of_origin",longitude_of_1st_point:"longitude_of_point_1",longitude_of_2nd_point:"longitude_of_point_2",latitude_of_1st_point:"latitude_of_point_1",latitude_of_2nd_point:"latitude_of_point_2",k:"k_0"};function bt(i,t,n){for(var a=0;a<n.length;a++)if(n[a][t]===i)return n[a];return null}function wt(i,t,n){var a=null;return!(a=bt(i=i.toLowerCase(),t,n))&&i in Et&&(a=bt(Et[i],t,n)),a}function Nt(i,t){for(var n,a=i.PARAMETER||[],e=0;e<a.length;e++)if(t===(n=a[e][0].toLowerCase())||t===Et[n])return a[e];return null}function It(i){var t=null;return i&&(t=Bi(i).reduce(function(i,t){var n=Mt[t];return n||Hi("missing parameter rule: "+t),i.push(n),i},[])),(t||[]).concat(xt)}function Gt(i){return function(t){var n=[],a=It(i),e=Fi(t);return(t.PARAMETER||[]).forEach(function(i){var t,s,r=wt(i[0],1,a);r?(t=function(i,t,n){var a=i[0];if("m"==i[2]&&(t*=n.to_meter),!("x_0,y_0,lat_0,lon_0".indexOf(a)>-1&&0===t||"k_0"==a&&1==t))return"+"+a+"="+t}(r,i[1],e),t&&n.push(t)):(s="unhandled parameter: "+i[0],console.error("[wkt] "+s))}),n.join(" ")}}function kt(i){return function(t){var n=[],a=It(i);return Object.keys(t.params).forEach(function(i){var e,s=wt(i,0,a);s&&s[1]&&(e=X(t.params,"s"+i),n.push(function(i,t,n){var a,e=i[2];return a="m"==e?parseFloat(t)/n:"f"==e?parseFloat(t):V(t),[i[1],a]}(s,e,t.to_meter)))}),n}}function Pt(i){return!("lat_1"in i.params&&"lat_2"in i.params)}function Tt(i){return"omerc"==ji(i)&&("alpha"in i.params||"gamma"in i.params)}function Dt(i){return Tt(i)&&("no_uoff"in i.params||"no_off"in i.params)}function Ot(i){return X(i.params,"tlat_ts")}function Lt(i){var t=JSON.stringify(qt(i));return t=(t=t.replace(/\["([A-Z0-9]+)",/g,"$1[")).replace(/"(EAST|NORTH|SOUTH|WEST)"/g,"$1")}function Rt(i){return"NAME,PROJCS,GEOGCS,GEOCCS,DATUM,SPHEROID,PRIMEM,PROJECTION,PARAMETER,UNIT,AXIS".indexOf(i)+1||999}function qt(i,t){var n,a=[];return t=t||0,function(i){return Object.keys(i).sort(function(i,t){return Rt(i)-Rt(t)})}(i).forEach(function(e){var s=i[e];!function(i){return!!i&&"object"==typeof i&&!Array.isArray(i)}(s)?"NAME"==e?a.push(Ri(s)?s:s[0]):"PARAMETER"==e||"AXIS"==e?s.forEach(function(i){a.push([e].concat(i))}):Ri(s)?a.push([e,s]):Array.isArray(s)?a.push([e].concat(s)):((n={})[e]=s,Hi("Incorrectly formatted WKT element: "+JSON.stringify(n))):a.push([e].concat(qt(s,t+1)))}),0===t&&1==a.length&&(a=a[0]),a}function Ut(i){var t={};return zt(i).forEach(function(i){Wt(i,t)}),t}function zt(i){var t;i="["+(i=(i=(i=jt(i)).replace(/([A-Z0-9]+)\[(?![^"]*[^\[,"]")/g,'["$1",')).replace(/, *([a-zA-Z]+) *(?=[,\]])/g,',"$1"'))+"]";try{t=JSON.parse(i)}catch(i){Hi("unparsable WKT format")}return t}function jt(i){var t=0;return i.replace(/"+/g,function(i){var n=t%2==0;return t+=i.length,'"'==i||'""'==i&&n?i:n?'"'+i.substring(1).replace(/""/g,'\\"'):i.replace(/""/g,'\\"')})}function Wt(i,t){var n,a=i[0];if("GEOGCS"==a||"GEOCCS"==a||"PROJCS"==a||"DATUM"==a||"VERTCS"==a)for(t[a]={NAME:i[1]},n=2;n<i.length;n++){if(!Array.isArray(i[n]))throw Hi("WKT parse error");Wt(i[n],t[a])}else"AXIS"==a||"PARAMETER"==a?(a in t==0&&(t[a]=[]),t[a].push(i.slice(1))):t[a]=i.slice(1);return t}_t(ct("Lambert_Conformal_Conic,Lambert_Conformal_Conic_1SP,Lambert_Conformal_Conic_2SP"),Zi({PROJECTION:Xi("lcc"),PARAMETER:function(i){return Gt(function(i){return!Nt(i,"standard_parallel_2")}(i)?"lat_1c":"lat_0b,lat_1,lat_2")(i)}})),ft(ut("lcc"),ot({PROJECTION:function(i){return Pt(i)?"Lambert_Conformal_Conic_1SP":"Lambert_Conformal_Conic_2SP"},PARAMETER:function(i){return kt(Pt(i)?"lat_1c,lat_0c":"lat_0b,lat_1,lat_2")(i)}})),_t(ct("Hotine_Oblique_Mercator,Hotine_Oblique_Mercator_Azimuth_Natural_Origin"),Zi({PROJECTION:Xi("omerc"),PARAMETER:function(i){return Gt("alpha,gamma,lonc")(i)+" +no_uoff"}})),ft(Dt,rt("Hotine_Oblique_Mercator","alpha,gamma,lonc")),pt("omerc","Oblique_Mercator,Hotine_Oblique_Mercator_Azimuth_Center","alpha,gamma,lonc"),ft(function(i){return Tt(i)&&!Dt(i)},rt("Oblique_Mercator","alpha,gamma,lonc")),pt("omerc","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","lat_1b,lat_2b,lon_1,lon_2"),ft(function(i){return"omerc"==ji(i)&&"lat_2"in i.params&&"lon_2"in i.params},rt("Hotine_Oblique_Mercator_Two_Point_Natural_Origin","lat_1b,lat_2b,lon_1,lon_2")),_t(ct("Stereographic,Polar_Stereographic,Stereographic_North_Pole,Stereographic_South_Pole"),Zi({PROJECTION:Xi("stere"),PARAMETER:function(i){var t=Gt("lat_ts,lat_tsb")(i),n=/lat_ts=([^ ]+)/.exec(t);return n&&-1==t.indexOf("lat_0=")&&(t="+lat_0="+(parseFloat(n[1])<0?-90:90)+" "+t),t}})),ft(ut("stere"),ot({PROJECTION:function(i){return Ot(i)?"Polar_Stereographic":"Stereographic"},PARAMETER:function(i){return Ot(i)?kt("lat_tsb,lat_0c")(i):kt("lat_0b")(i)}})),lt("vandg","VanDerGrinten"),_t(ct("VanDerGrinten,Van_der_Grinten_I"),Zi({PROJECTION:Xi("vandg"),PARAMETER:function(i){var t=Gt("")(i);return t&&(t+=" "),t+"+R_A"}})),[["aitoff","Aitoff","lat1"],["aea","Albers_Conic_Equal_Area,Albers","lat_1,lat_2"],["aeqd","Azimuthal_Equidistant"],["bonne","Bonne","lat_1"],["cass","Cassini_Soldner,Cassini"],["cea","Cylindrical_Equal_Area","lat_ts"],["eck1","Eckert_I"],["eck2","Eckert_II"],["eck3","Eckert_III"],["eck4","Eckert_IV"],["eck5","Eckert_V"],["eck6","Eckert_VI"],["eqdc","Equidistant_Conic","lat_1,lat_2"],["eqc","Plate_Carree,Equirectangular,Equidistant_Cylindrical","lat_ts"],["gall","Gall_Stereographic"],["gnom","Gnomonic"],["laea","Lambert_Azimuthal_Equal_Area"],["loxim","Loximuthal","lat_1"],["mill","Miller_Cylindrical"],["moll","Mollweide"],["nsper","Vertical_Near_Side_Perspective","h"],["nzmg","New_Zealand_Map_Grid","lat_0b"],["ortho","Orthographic","lat_0b"],["poly","Polyconic"],["robin","Robinson"],["sinu","Sinusoidal"],["sterea","Oblique_Stereographic,Double_Stereographic"],["tmerc","Transverse_Mercator,Gauss_Kruger","lat_0b"],["tpeqd","Two_Point_Equidistant","lat_1b,lat_2b,lon_1,lon_2"],["wag1","Wagner_I"],["wag2","Wagner_II"],["wag3","Wagner_III","lat_ts"],["wag4","Wagner_IV"],["wag5","Wagner_V"],["wag6","Wagner_VI"],["wag7","Wagner_VII"],["wink1","Winkel_I","lat_ts"],["wink2","Winkel_II"],["wintri","Winkel_Tripel","lat_1"]].forEach(function(i){var t=i[2]||null;pt(i[0],i[1],t),lt(i[0],i[1].split(",")[0],t)});var Bt,Ht,Ft={};function Kt(i,t,n){var a;return t>=1e-7?n*(i/(1-(a=t*i)*a)-.5/t*_((1-a)/(1+a))):i+i}function Vt(i,t,n){return t/l(1-n*i*i)}function Jt(t,e,s){var o,h,c,u,m,d,y,v,g,C,S,x,M,E;t.fwd=function(i,e){var s,r=i.lam;(s=c-(y?h*Kt(n(i.phi),t.e,t.one_es):m*n(i.phi)))<0&&z(),s=u*l(s),e.x=s*n(r*=h),e.y=d-s*a(r)},t.inv=function(e,s){var l=e.x,v=d-e.y,g=f(l,v);0!=g?(h<0&&(g=-g,l=-l,v=-v),s.phi=g/u,y?(s.phi=(c-s.phi*s.phi)/h,i(o-i(s.phi))>1e-7?(s.phi=function(t,e,s){var o,h,p,l,c,u,f=15,m=1e-7,d=1e-10;if(o=r(.5*t),e<m)return o;u=f;do{o+=c=.5*(l=1-(p=e*(h=n(o)))*p)*l/a(o)*(t/s-h/l+.5/e*_((1-p)/(1+p)))}while(i(c)>d&&--u);return u?o:A}(s.phi,t.e,t.one_es))==A&&j():s.phi=s.phi<0?-N:N):i(s.phi=(c-s.phi*s.phi)/m)<=1?s.phi=r(s.phi):s.phi=s.phi<0?-N:N,s.lam=p(l,v)/h):(s.lam=0,s.phi=h>0?N:-N)},i(e+s)<D&&B(-21),h=g=n(e),v=a(e),C=i(e-s)>=D,(y=t.es>0)?(Yt(t.es),E=Vt(g,v,t.es),M=Kt(g,t.e,t.one_es),C&&(x=Vt(g=n(s),v=a(s),t.es),S=Kt(g,t.e,t.one_es),h=(E*E-x*x)/(S-M)),o=1-.5*t.one_es*_((1-t.e)/(1+t.e))/t.e,d=(u=1/h)*l((c=E*E+h*M)-h*Kt(n(t.phi0),t.e,t.one_es))):(C&&(h=.5*(h+n(s))),d=(u=1/h)*l((c=v*v+(m=h+h)*g)-m*n(t.phi0)))}function Yt(i){var t,n=.046875,a=.01953125,e=.01068115234375,s=[];return s[0]=1-i*(.25+i*(n+i*(a+i*e))),s[1]=i*(.75-i*(n+i*(a+i*e))),s[2]=(t=i*i)*(.46875-i*(.013020833333333334+.007120768229166667*i)),s[3]=(t*=i)*(.3645833333333333-.005696614583333333*i),s[4]=t*i*.3076171875,s}function Xt(i,t,n,a){return n*=t,t*=t,a[0]*i-n*(a[1]+t*(a[2]+t*(a[3]+t*a[4])))}function Zt(t,e,s){var r,o,h,p=1/(1-e);h=t;for(var c=10;c>0;--c)if(o=1-e*(r=n(h))*r,h-=o=(Xt(h,r,a(h),s)-t)*(o*l(o))*p,i(o)<1e-11)return h;return U(O),h}function $t(t){var n=i(t);return n>=1?(n>1.00000000000001&&U(-19),t<0?-N:N):r(t)}function Qt(t){var n=i(t);return n>=1?(n>1.00000000000001&&U(-19),t<0?S:0):o(t)}function tn(i){return i<=0?0:l(i)}function nn(t,n){return i(t)<1e-50&&i(n)<1e-50?0:p(t,n)}function an(t){var e=t.opaque||{mode:0};t.inv=function(t,s){var r,h,p,l,u,_,f,m,d,y,v,g,A,C,x,M,E,b=1e-12,w=0;if(i(t.x)<b&&i(t.y)<b)return s.phi=0,void(s.lam=0);s.phi=t.y,s.lam=t.x;do{r=0;do{for(g=n(.5*s.lam),x=a(.5*s.lam),A=n(s.phi),p=1-(h=(C=a(s.phi))*x)*h,l=2*(h=o(h)/c(p,1.5))*p*C*g,u=h*p*A,_=2*(g*x*A*C/p-h*A*g),f=C*C*g*g/p+h*C*x*A*A,m=A*A*x/p+h*g*g*C,d=.5*(A*C*g/p-h*A*C*C*g*x),e.mode&&(l=.5*(l+s.lam*e.cosphi1),u=.5*(u+s.phi),_*=.5,f=.5*(f+e.cosphi1),m=.5*(m+1),d*=.5),l-=t.x,v=((u-=t.y)*_-l*m)/(y=_*d-m*f),y=(l*d-u*f)/y;v>S;)v-=S;for(;v<-S;)v+=S;s.phi-=y,s.lam-=v}while((i(y)>b||i(v)>b)&&r++<10);s.phi>N&&(s.phi-=2*(s.phi-N)),s.phi<-N&&(s.phi-=2*(s.phi+N)),i(i(s.phi)-N)<b&&!e.mode&&(s.lam=0),(h=o(a(s.phi)*a(p=.5*s.lam)))?(M=2*h*a(s.phi)*n(p)*(E=1/n(h)),E*=h*n(s.phi)):M=E=0,e.mode&&(M=.5*(M+s.lam*e.cosphi1),E=.5*(E+s.phi))}while((i(t.x-M)>b||i(t.y-E)>b)&&w++<20)},t.fwd=function(i,t){var s,r;(r=o(a(i.phi)*a(s=.5*i.lam)))?(t.x=2*r*a(i.phi)*n(s)*(t.y=1/n(r)),t.y*=r*n(i.phi)):t.x=t.y=0,e.mode&&(t.x=.5*(t.x+i.lam*e.cosphi1),t.y=.5*(t.y+i.phi))},t.es=0}function en(t,a,e){t.es=0,t.fwd=function(t,s){var r,o,h=2.4674011002723395;s.y=a?N*n(t.phi):t.phi,(r=i(t.lam))>=1e-10?(e&&r>=N?s.x=l(h-t.phi*t.phi+1e-10)+r-N:(o=.5*(h/r+r),s.x=r-o+l(o*o-s.y*s.y)),t.lam<0&&(s.x=-s.x)):s.x=0}}function sn(i){var t,n=[];return n[0]=.3333333333333333*i,t=i*i,n[0]+=.17222222222222222*t,n[1]=.06388888888888888*t,t*=i,n[0]+=.10257936507936508*t,n[1]+=.0664021164021164*t,n[2]=.01677689594356261*t,n}function rn(i,t){var a=i+i;return i+t[0]*n(a)+t[1]*n(a+a)+t[2]*n(a+a+a)}function on(i,t){i.es=0,i.fwd=function(i,n){n.y=t.C_y*i.phi,n.x=t.C_x*i.lam*(t.A+tn(1-t.B*i.phi*i.phi))},i.inv=function(i,n){n.phi=i.y/t.C_y,n.lam=i.x/(t.C_x*(t.A+tn(1-t.B*n.phi*n.phi)))}}function hn(t){var s,r,o,c,u,y,v=[],g=[],C=[],S=[];function x(i,t){for(var e,s=2*a(2*t),r=i.length-1,o=i[r],h=0;--r>=0;)e=s*o-h+i[r],h=o,o=e;return t+e*n(2*t)}function M(i,t,e){for(var s,r,o=n(t),h=a(t),p=m(e),l=d(e),c=2*h*l,u=-2*o*p,_=i.length-1,f=i[_],y=0,v=0,g=0;--_>=0;)s=v,r=y,f=c*(v=f)-s-u*(y=g)+i[_],g=u*v-r+c*y;return[(c=o*l)*f-(u=h*p)*g,c*g+u*f]}t.es<=0&&B(-34),u=c=(o=t.es/(1+l(1-t.es)))/(2-o),v[0]=c*(2+c*(-2/3+c*(c*(116/45+c*(26/45+c*(-2854/675)))-2))),g[0]=c*(c*(2/3+c*(4/3+c*(-82/45+c*(32/45+c*(4642/4725)))))-2),u*=c,v[1]=u*(7/3+c*(c*(-227/45+c*(2704/315+c*(2323/945)))-1.6)),g[1]=u*(5/3+c*(-16/15+c*(-13/9+c*(904/315+c*(-1522/945))))),u*=c,v[2]=u*(56/15+c*(-136/35+c*(-1262/105+c*(73814/2835)))),g[2]=u*(-26/15+c*(34/21+c*(1.6+c*(-12686/2835)))),u*=c,v[3]=u*(4279/630+c*(-332/35+c*(-399572/14175))),g[3]=u*(1237/630+c*(c*(-24832/14175)-2.4)),u*=c,v[4]=u*(4174/315+c*(-144838/6237)),g[4]=u*(-734/315+c*(109598/31185)),u*=c,v[5]=u*(601676/22275),g[5]=u*(444337/155925),u=c*c,s=t.k0/(1+c)*(1+u*(1/4+u*(1/64+u/256))),C[0]=c*(c*(2/3+c*(-37/96+c*(1/360+c*(81/512+c*(-96199/604800)))))-.5),S[0]=c*(.5+c*(-2/3+c*(5/16+c*(41/180+c*(-127/288+c*(7891/37800)))))),C[1]=u*(-1/48+c*(-1/15+c*(437/1440+c*(-46/105+c*(1118711/3870720))))),S[1]=u*(13/48+c*(c*(557/1440+c*(281/630+c*(-1983433/1935360)))-.6)),u*=c,C[2]=u*(-17/480+c*(37/840+c*(209/4480+c*(-5569/90720)))),S[2]=u*(61/240+c*(-103/140+c*(15061/26880+c*(167603/181440)))),u*=c,C[3]=u*(-4397/161280+c*(11/504+c*(830251/7257600))),S[3]=u*(49561/161280+c*(-179/168+c*(6601661/7257600))),u*=c,C[4]=u*(-4583/161280+c*(108847/3991680)),S[4]=u*(34729/80640+c*(-3418889/1995840)),u*=c,C[5]=u*(-20648693/638668800),S[5]=.6650675310896665*u,y=x(g,t.phi0),r=-s*(y+function(i,t){for(var e,s=2*a(t),r=i.length-1,o=i[r],h=0;--r>=0;)e=s*o-h+i[r],h=o,o=e;return n(t)*e}(S,2*y)),t.fwd=function(t,o){var h,l,c,u,m,d,y,v=t.phi,C=t.lam;v=x(g,v),h=n(v),l=a(v),u=n(C),c=a(C),v=p(h,c*l),C=p(u*l,f(h,l*c)),d=e(C),y=function(i){var t=1+i,n=t-1;return 0===n?i:i*_(t)/n}((y=i(d))*(1+y/(f(1,y)+1))),m=M(S,2*v,2*(C=d<0?-y:y)),v+=m[0],C+=m[1],i(C)<=2.623395162778?(o.y=s*v+r,o.x=s*C):o.x=o.y=A},t.inv=function(t,e){var o,l,c,u,_,d=t.y,y=t.x;d=(d-r)/s,i(y/=s)<=2.623395162778?(d+=(_=M(C,2*d,2*y))[0],y+=_[1],y=h(m(y)),o=n(d),l=a(d),u=n(y),c=a(y),y=p(u,c*l),d=p(o*c,f(u,c*l)),e.phi=x(v,d),e.lam=y):e.phi=e.lam=A}}function pn(t){var e;t.es?(e=Yt(t.es),t.fwd=function(i,s){var r,o;s.y=Xt(i.phi,r=n(i.phi),o=a(i.phi),e),s.x=i.lam*o/l(1-t.es*r*r)},t.inv=function(s,r){var o=i(r.phi=Zt(s.y,t.es,e));o<N?(o=n(r.phi),r.lam=s.x*l(1-t.es*o*o)/a(r.phi)):o-D<N?r.lam=0:j()}):ln(t,0,1)}function ln(t,e,s){var r,o;r=(o=l((e+1)/s))/(e+1),t.es=0,t.fwd=function(t,h){var p,l,c;if(e){for(p=s*n(t.phi),c=8;c&&(t.phi-=l=(e*t.phi+n(t.phi)-p)/(e+a(t.phi)),!(i(l)<1e-7));--c);c||z()}else t.phi=1!=s?$t(s*n(t.phi)):t.phi;h.x=r*t.lam*(e+a(t.phi)),h.y=o*t.phi},t.inv=function(i,t){i.y/=o,t.phi=e?$t((e*i.y+n(i.y))/s):1!=s?$t(n(i.y)/s):i.y,t.lam=i.x/(r*(e+a(i.y)))}}function cn(i){_n(i,un(0,N))}function un(i,t){var a=n(t),e=t+t,s=l(G*a/(e+n(e)));return{C_x:2*s/S,C_y:s/a,C_p:e+n(e)}}function _n(t,e){t.fwd=function(t,s){var r,o,h;for(r=e.C_p*n(t.phi),h=10;h&&(t.phi-=o=(t.phi+n(t.phi)-r)/(1+a(t.phi)),!(i(o)<1e-7));--h);h?t.phi*=.5:t.phi=t.phi<0?-N:N,s.x=e.C_x*t.lam*a(t.phi),s.y=e.C_y*n(t.phi)},t.inv=function(t,s){s.phi=$t(t.y/e.C_y),s.lam=t.x/(e.C_x*a(s.phi)),i(s.lam)-S<D?(s.phi+=s.phi,s.phi=$t((s.phi+n(s.phi))/e.C_p)):s.lam=s.phi=A},t.es=0}function fn(a,e){var s,o,h,p,u,_=[[0,-1],[1,0]],f=[[-1,0],[0,-1]],m=[[0,1],[-1,0]],d=[[[1,0],[0,1]],_,f,m,m,f,_],g=1e-15;function C(a,e){var s=a.lam,o=a.phi,h=r(2/3);if(i(o)<=h)e.x=s,e.y=3*S/8*n(o);else{var p,c=l(3*(1-i(n(o)))),u=t(2*s/S+2);u>=4&&(u=3),p=-3*w+N*u,e.x=p+(s-p)*c,e.y=M(o)*w*(2-c)}}function x(n,a){var e=n.x,s=n.y,o=w;if(i(s)<=o)a.lam=e,a.phi=r(8*s/(3*S));else if(i(s)<N){var h,p,l=t(2*e/S+2);l>=4&&(l=3),h=-3*w+N*l,p=2-4*i(s)/S,a.lam=h+(e-h)/p,a.phi=M(s)*r(1-c(p,2)/3)}else a.lam=-S,a.phi=M(s)*N}function M(i){return i>0?1:i<0?-1:0}function E(i){switch(i){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case-1:return 4;case-2:return 5;case-3:return 6}return 0}function b(i,t){return function(i,t,n){var a,e,s,r,o,h=0,p=i.length;for(o=0;o<p;o++)if(t==i[o][0]&&n==i[o][1])return!0;for(a=i[0][0],e=i[0][1],o=1;o<p;o++)s=i[o%p][0],r=i[o%p][1],n>y(e,r)&&n<=v(e,r)&&t<=v(a,s)&&e!=r&&(a==s||t<=(n-e)*(s-a)/(r-e)+a)&&h++,a=s,e=r;return h%2!=0}(u,i,t)}function I(t,a,e){if(e)return rn(a,p);var s=Kt(n(a),t.e,1-t.es)/h;return i(s)>1&&(s=M(s)),r(s)}function G(i,t,n,a){var e,s,r,o,h,p,l=0,c=function(i,t,n,a,e){var s,r={};if(r.x=i,r.y=t,e){if(t>w)r.region="north",r.x=-3*w+n*N,r.y=N,i-=n*N;else{if(!(t<-w))return r.region="equatorial",r.cn=0,r;r.region="south",r.x=-3*w+a*N,r.y=-N,i-=a*N}"north"==r.region?r.cn=t>=-i-w-g&&t<i+5*w-g?(n+1)%4:t>-i-w+g&&t>=i+5*w-g?(n+2)%4:t<=-i-w+g&&t>i+5*w+g?(n+3)%4:n:"south"==r.region&&(r.cn=t<=i+w+g&&t>-i-5*w+g?(a+1)%4:t<i+w-g&&t<=-i-5*w+g?(a+2)%4:t>=i+w-g&&t<-i-5*w-g?(a+3)%4:a)}else{if(t>w)r.region="north",s=N;else{if(!(t<-w))return r.region="equatorial",r.cn=0,r;r.region="south",s=-N}i<-N?(r.cn=0,r.x=-3*w,r.y=s):i>=-N&&i<0?(r.cn=1,r.x=-w,r.y=s):i>=0&&i<N?(r.cn=2,r.x=w,r.y=s):(r.cn=3,r.x=3*w,r.y=s)}return r}(i.x,i.y,t,n,a);if("equatorial"==c.region)return i.x=c.x,void(i.y=c.y);e=[i.x,i.y],s=[c.x,c.y],a?"north"==c.region?(l=t,p=d[E(-1*(c.cn-l))]):(l=n,p=d[E(c.cn-l)]):"north"==c.region?(l=t,p=d[E(c.cn-l)]):(l=n,p=d[E(-1*(c.cn-l))]),o=function(i,t){return[i[0]-t[0],i[1]-t[1]]}(e,s),h=function(i,t){var n,a,e=[0,0];for(n=0;n<2;n++)for(a=0;a<2;a++)e[n]+=i[n][a]*t[a];return e}(p,o),r=function(i,t){return[i[0]+t[0],i[1]+t[1]]}(h,[-3*w+(a?c.cn:0)*N,N]),i.x=r[0],i.y=r[1]}e?(s=X(a.params,"inorth_square"),o=X(a.params,"isouth_square"),(s<0||s>3)&&B(-47),(o<0||o>3)&&B(-47),u=[[-S-g,w+g],[s*N-S-g,w+g],[s*N-S-g,3*w+g],[(s+1)*N-S+g,3*w+g],[(s+1)*N-S+g,w+g],[S+g,w+g],[S+g,-w-g],[(o+1)*N-S+g,-w-g],[(o+1)*N-S+g,-3*w-g],[o*N-S-g,-3*w-g],[o*N-S-g,-w-g],[-S-g,-w-g]],0!=a.es?(p=sn(a.es),h=Kt(1,a.e,a.one_es),a.a=a.a*l(.5*h),a.ra=1/a.a,a.fwd=function(i,t){return i.phi=I(a,i.phi,0),C(i,t),G(t,s,o,0)},a.inv=function(i,t){if(!b(i.x,i.y))return t.lam=A,t.phi=A,void U(-15);G(i,s,o,1),x(i,t),t.phi=I(a,t.phi,1)}):(a.fwd=function(i,t){C(i,t),G(t,s,o,0)},a.inv=function(i,t){if(!b(i.x,i.y))return t.lam=A,t.phi=A,void U(-15);G(i,s,o,1),x(i,t)})):(u=[[-S-g,w],[-3*w,N+g],[-N,w+g],[-w,N+g],[0,w+g],[w,N+g],[N,w+g],[3*w,N+g],[S+g,w],[S+g,-w],[3*w,-N-g],[N,-w-g],[w,-N-g],[0,-w-g],[-w,-N-g],[-N,-w-g],[-3*w,-N-g],[-S-g,-w]],0!=a.es?(p=sn(a.es),h=Kt(1,a.e,a.one_es),a.a=a.a*l(.5*h),a.ra=1/a.a,a.fwd=function(i,t){i.phi=I(a,i.phi,0),C(i,t)},a.inv=function(i,t){if(!b(i.x,i.y))return t.lam=A,t.phi=A,void U(-15);x(i,t),t.phi=I(a,t.phi,1)}):(a.fwd=function(i,t){C(i,t)},a.inv=function(i,t){if(!b(i.x,i.y))return t.lam=A,t.phi=A,void U(-15);x(i,t)}))}function mn(i){i.x0=0,i.y0=0,i.is_latlong=!0,i.fwd=function(t,n){n.x=t.lam/i.a,n.y=t.phi/i.a},i.inv=function(t,n){n.lam=t.x*i.a,n.phi=t.y*i.a}}function dn(i,t,n){return t*=n,e(.5*(N-i))/c((1-t)/(1+t),.5*n)}function yn(t,a){var e,s,r=.5*a,o=N-2*h(t),p=15;do{e=a*n(o),o+=s=N-2*h(t*c((1-e)/(1+e),r))-o}while(i(s)>1e-10&&--p);return p<=0&&U(-18),o}function vn(i,t){var n,a,e,s=t.length-1;for(a=t[s][0],e=t[s][1];--s>=0;)n=a,a=t[s][0]+i.r*n-i.i*e,e=t[s][1]+i.r*e+i.i*n;return{r:i.r*a-i.i*e,i:i.r*e+i.i*a}}function gn(i,t,n){var a,e,s,r,o,h=!0,p=t.length-1;for(e=r=t[p][0],a=s=t[p][1];--p>=0;)h?h=!1:(r=e+i.r*(o=r)-i.i*s,s=a+i.r*s+i.i*o),e=t[p][0]+i.r*(o=e)-i.i*a,a=t[p][1]+i.r*a+i.i*o;return n.r=e+i.r*r-i.i*s,n.i=a+i.r*s+i.i*r,{r:i.r*e-i.i*a,i:i.r*a+i.i*e}}function An(t,s){var r,o,l,u,_=1e-12;0!=t.es?(r=t.e*n(t.phi0),o=2*h(e(.5*(N+t.phi0))*c((1-r)/(1+r),.5*t.e))-N):o=t.phi0,u=n(o),l=a(o),t.inv=function(r,o){var m,d,y,v,g,C,S,x={},M={},E={},b=0,w=0,I=0,G=0;for(x.r=r.x,x.i=r.y,m=20;m&&((d=gn(x,s,M)).r-=r.x,d.i-=r.y,y=M.r*M.r+M.i*M.i,E.r=-(d.r*M.r+d.i*M.i)/y,E.i=-(d.i*M.r-d.r*M.i)/y,x.r+=E.r,x.i+=E.i,!(i(E.r)+i(E.i)<=_));--m);if(m){if(b=f(x.r,x.i),v=2*h(.5*b),w=n(v),I=a(v),o.lam=t.lam0,i(b)<=_)return o.lam=0,void(o.phi=t.phi0);for(G=g=$t(I*u+x.i*w*l/b),m=20;m&&(C=t.e*n(G),G+=S=2*h(e(.5*(N+g))*c((1+C)/(1-C),.5*t.e))-N-G,!(i(S)<=_));--m);}m?(o.phi=G,o.lam=p(x.r*w,b*l*I-x.i*u*w)):o.lam=o.phi=A},t.fwd=function(i,r){var o,p,_,f,m,d,y,v={};o=n(i.lam),p=a(i.lam),_=t.e*n(i.phi),f=2*h(e(.5*(N+i.phi))*c((1-_)/(1+_),.5*t.e))-N,m=n(f),d=a(f),y=2/(1+u*m+l*d*p),v.r=y*d*o,v.i=y*(l*m-u*d*p),v=vn(v,s),r.x=v.r,r.y=v.i}}function Cn(t,e,s,o){var h,c,u,_,m,d,y,v,g,A,C,S,x=!isNaN(s)&&!isNaN(o);e<=0&&B(-30),x&&(g=a(o),A=n(o),S=a(s),C=n(s)),i(i(t.phi0)-N)<D?h=t.phi0<0?1:0:i(t.phi0)<D?h=2:(h=3,c=n(t.phi0),u=a(t.phi0)),d=e/t.a,m=1/(_=1+d),y=(_+1)*(v=1/d),t.fwd=function(i,t){var e,s,r,o,p;switch(r=n(i.phi),s=a(i.phi),e=a(i.lam),h){case 3:t.y=c*r+u*s*e;break;case 2:t.y=s*e;break;case 1:t.y=-r;break;case 0:t.y=r}switch(t.y<m&&z(),t.y=d/(_-t.y),t.x=t.y*s*n(i.lam),h){case 3:t.y*=u*r-c*s*e;break;case 2:t.y*=r;break;case 0:e=-e;case 1:t.y*=s*e}x&&(p=1/((o=t.y*g+t.x*A)*C*v+S),t.x=(t.x*g-t.y*A)*S*p,t.y=o*p)},t.inv=function(a,e){var s,o,m,v,M,E;if(x&&(E=1/(d-a.y*C),v=d*a.x*E,M=d*a.y*S*E,a.x=v*g+M*A,a.y=M*g-v*A),s=f(a.x,a.y),(m=1-s*s*y)<0&&j(),m=(_-l(m))/(d/s+s/d),o=l(1-m*m),i(s)<=D)e.lam=0,e.phi=t.phi0;else{switch(h){case 3:e.phi=r(o*c+a.y*m*u/s),a.y=(o-c*n(e.phi))*s,a.x*=m*u;break;case 2:e.phi=r(a.y*m/s),a.y=o*s,a.x*=m;break;case 0:e.phi=r(o),a.y=-a.y;break;case 1:e.phi=-r(o)}e.lam=p(a.x,a.y)}},t.es=0}function Sn(i,t){var n=.79788456,a=.1013211836*(t?2:4);i.es=0,i.fwd=function(i,t){t.x=n*i.lam*(1-a*i.phi*i.phi),t.y=n*i.phi},i.inv=function(i,t){t.phi=i.y/n,t.lam=i.x/(n*(1-a*t.phi*t.phi))}}function xn(i,t,e){i.es=0,i.fwd=function(i,s){i.phi=$t(.883883476*n(i.phi)),s.x=t*i.lam*a(i.phi),s.x/=a(i.phi*=.333333333333333),s.y=e*n(i.phi)},i.inv=function(i,s){s.phi=$t(i.y/e),s.lam=i.x*a(s.phi)/t,s.phi*=3,s.lam/=a(s.phi),s.phi=$t(1.13137085*n(s.phi))}}function Mn(i,t){var n=t?1.5:2,a=t?.5:1,e=1.01346,s=1.2158542;i.es=0,i.fwd=function(i,t){t.x=e*i.lam*(n-a*l(1+s*i.phi*i.phi)),t.y=e*i.phi},i.inv=function(i,t){t.phi=i.y/e,t.lam=i.x/(e*(n-a*l(1+s*t.phi*t.phi)))}}function En(t,a){var e,s,r,o,h,p=1.732050807568877;a?(r=.44329,o=.80404,e=6,s=5.61125,h=3):(r=1.01346,o=.9191,e=4,s=2.147143718212938,h=2),t.es=0,t.fwd=function(t,a){var c,u,f,m;for(c=s*n(t.phi),t.phi*=1.10265779,m=10;m&&(u=l(1+t.phi*t.phi),t.phi-=f=((e-u)*t.phi-_(t.phi+u)-c)/(e-2*u),!(i(f)<1e-10));--m);m||(t.phi=c<0?-p:p),a.x=r*t.lam*(h-l(1+t.phi*t.phi)),a.y=o*t.phi},t.inv=function(i,t){var n;t.phi=i.y/o,n=l(1+t.phi*t.phi),t.lam=i.x/(r*(h-n)),t.phi=$t(((e-n)*t.phi-_(t.phi+n))/s)}}function bn(t){return function(s){!function(t,s){var r,o,c,u,_,m,d,y,v,g,A=1e-10;switch(X(t.params,"tlat_1")&&X(t.params,"tlat_2")?(c=X(t.params,"rlat_1"),u=X(t.params,"rlat_2"),y=.5*(u+c),(i(r=.5*(u-c))<A||i(y)<A)&&B(-42)):B(-41),s){case"TISSOT":_=n(y),o=a(r),d=l(((m=_/o+o/_)-2*n(t.phi0))/_);break;case"MURD1":m=n(r)/(r*e(y))+y,d=m-t.phi0,_=n(y);break;case"MURD2":m=(o=l(a(r)))/e(y),d=m+e(y-t.phi0),_=n(y)*o;break;case"MURD3":m=r/(e(y)*e(r))+y,d=m-t.phi0,_=n(y)*n(r)*e(r)/(r*r);break;case"EULER":_=n(y)*n(r)/r,m=(r*=.5)/(e(r)*e(y))+y,d=m-t.phi0;break;case"PCONIC":_=n(y),g=a(r),v=1/e(y),i(r=t.phi0-y)-A>=N&&B(-43),d=g*(v-e(r));break;case"VITK1":_=(o=e(r))*n(y)/r,m=r/(o*e(y))+y,d=m-t.phi0}function C(i,t){var r;switch(s){case"MURD2":r=m+e(y-i.phi);break;case"PCONIC":r=g*(v-e(i.phi-y));break;default:r=m-i.phi}t.x=r*n(i.lam*=_),t.y=d-r*a(i.lam)}function S(i,t){var n;switch(n=f(i.x,i.y=d-i.y),_<0&&(n=-n,i.x=-i.x,i.y=-i.y),t.lam=p(i.x,i.y)/_,s){case"PCONIC":t.phi=h(v-n/g)+y;break;case"MURD2":t.phi=y-h(n-m);break;default:t.phi=m-n}}t.inv=S,t.fwd=C,t.es=0}(s,t)}}function wn(t,s){var o,u,_,m,d,y,v,g,A=1e-10;if(g=i((u=i(t.phi0))-N)<A?t.phi0<0?0:1:u>A?2:3,s=i(s),t.es){switch(g){case 1:case 0:i(s-N)<A?v=2*t.k0/l(c(1+t.e,1+t.e)*c(1-t.e,1-t.e)):(v=a(s)/dn(s,u=n(s),t.e),u*=t.e,v/=l(1-u*u));break;case 3:case 2:u=n(t.phi0),o=2*h(C(t.phi0,u,t.e))-N,u*=t.e,v=2*t.k0*a(t.phi0)/l(1-u*u),d=n(o),y=a(o)}t.fwd=function(i,e){var s,r,o,p,l,c=0,u=0;switch(s=a(i.lam),r=n(i.lam),l=n(i.phi),(2==g||3==g)&&(c=n(o=2*h(C(i.phi,l,t.e))-N),u=a(o)),g){case 2:p=v/(y*(1+d*c+y*u*s)),e.y=p*(y*c-d*u*s),e.x=p*u;break;case 3:p=v/(1+u*s),e.y=p*c,e.x=p*u;break;case 0:i.phi=-i.phi,s=-s,l=-l;case 1:e.x=v*dn(i.phi,l,t.e),e.y=-e.x*s}e.x=e.x*r},t.inv=function(s,o){o.phi;var l,u,_,m,A=0,C=0,S=0,x=0;switch(_=f(s.x,s.y),g){case 2:case 3:l=a(A=2*p(_*y,v)),u=n(A),C=r(0==_?l*d:l*d+s.y*u*y/_),A=e(.5*(N+C)),s.x*=u,s.y=_*y*l-s.y*d*u,x=N,S=.5*t.e;break;case 1:s.y=-s.y;case 0:C=N-2*h(A=-_/v),x=-N,S=-.5*t.e}for(m=0;m<8;m++,C=o.phi)if(u=t.e*n(C),o.phi=2*h(A*c((1+u)/(1-u),S))-x,i(C-o.phi)<1e-10)return 0==g&&(o.phi=-o.phi),void(o.lam=0==s.x&&0==s.y?0:p(s.x,s.y));j()}}else{switch(g){case 2:_=n(t.phi0),m=a(t.phi0);case 3:v=2*t.k0;break;case 0:case 1:v=i(s-N)>=A?a(s)/e(w-.5*s):2*t.k0}t.fwd=function(t,s){var r=t.phi,o=n(r),h=a(r),p=a(t.lam),l=n(t.lam);switch(g){case 3:case 2:s.y=3==g?1+h*p:1+_*o+m*h*p,s.y<=A&&z(),s.x=(s.y=v/s.y)*h*l,s.y*=3==g?o:m*o-_*h*p;break;case 1:p=-p,r=-r;case 0:i(r-N)<1e-8&&z(),s.x=l*(s.y=v*e(w+.5*r)),s.y*=p}},t.inv=function(e,s){var o,l,c,u;switch(c=n(o=2*h((l=f(e.x,e.y))/v)),u=a(o),s.lam=0,g){case 3:i(l)<=A?s.phi=0:s.phi=r(e.y*c/l),0==u&&0==e.x||(s.lam=p(e.x*c,u*l));break;case 2:i(l)<=A?s.phi=t.phi0:s.phi=r(u*_+e.y*c*m/l),0==(o=u-_*n(s.phi))&&0==e.x||(s.lam=p(e.x*c*m,o*l));break;case 1:e.y=-e.y;case 0:i(l)<=A?s.phi=t.phi0:s.phi=r(0==g?-u:u),s.lam=0==e.x&&0==e.y?0:p(e.x,e.y)}}}function C(i,t,n){return t*=n,e(.5*(N+i))*c((1-t)/(1+t),.5*n)}}function Nn(i,t){return c((1-i)/(1+i),t)}function In(i,t,s,r){var o=s/t,p=t,l=1/s;i.inv=function(i,t){var n;i.y/=p,n=a(t.phi=r?h(i.y):$t(i.y)),t.phi/=l,t.lam=i.x/(o*a(t.phi)),r?t.lam/=n*n:t.lam*=n},i.fwd=function(i,t){var s;t.x=o*i.lam*a(i.phi),t.y=p,i.phi*=l,s=a(i.phi),r?(t.x*=s*s,t.y*=e(i.phi)):(t.x/=s,t.y*=n(i.phi))},i.es=0}function Gn(t){var e,s,h,c=1e-10,f=.5,m=.16666666666666666,d=.08333333333333333,y=.05,v=.03333333333333333,g=.023809523809523808,A=.017857142857142856;t.es?((h=Yt(t.es))||e_error_0(),s=Xt(t.phi0,n(t.phi0),a(t.phi0),h),e=t.es/(1-t.es),t.fwd=function(r,o){var p,u,_,f,C,S;r.lam<-N||r.lam>N?U(-14):(p=n(r.phi),u=a(r.phi),_=i(u)>c?p/u:0,_*=_,f=u*r.lam,C=f*f,f/=l(1-t.es*p*p),S=e*u*u,o.x=t.k0*f*(1+m*C*(1-_+S+y*C*(5+_*(_-18)+S*(14-58*_)+g*C*(61+_*(_*(179-_)-479))))),o.y=t.k0*(Xt(r.phi,p,u,h)-s+p*f*r.lam*.5*(1+d*C*(5-_+S*(9+4*S)+v*C*(61+_*(_-58)+S*(270-330*_)+A*C*(1385+_*(_*(543-_)-3111)))))))},t.inv=function(r,o){var p,c,u,_,C,S,x;o.phi=Zt(s+r.y/t.k0,t.es,h),i(o.phi)>=N?(o.phi=r.y<0?-N:N,o.lam=0):(S=n(o.phi),u=a(o.phi),x=i(u)>1e-10?S/u:0,p=e*u*u,_=r.x*l(c=1-t.es*S*S)/t.k0,c*=x,x*=x,C=_*_,o.phi-=c*C/(1-t.es)*f*(1-C*d*(5+x*(3-9*p)+p*(1-4*p)-C*v*(61+x*(90-252*p+45*x)+46*p-C*A*(1385+x*(3633+x*(4095+1575*x)))))),o.lam=_*(1-C*m*(1+2*x+p-C*y*(5+x*(28+24*x+8*p)+6*p-C*g*(61+x*(662+x*(1320+720*x))))))/u)}):(e=t.k0,s=.5*e,t.fwd=function(r,h){var p,u;r.lam<-N||r.lam>N?U(-14):(u=a(r.phi),p=u*n(r.lam),i(i(p)-1)<=c&&z(),h.x=s*_((1+p)/(1-p)),h.y=u*a(r.lam)/l(1-p*p),(p=i(h.y))>=1?p-1>c?z():h.y=0:h.y=o(h.y),r.phi<0&&(h.y=-h.y),h.y=e*(h.y-t.phi0))},t.inv=function(i,n){var s=u(i.x/e),o=.5*(s-1/s);s=a(t.phi0+i.y/e),n.phi=r(l((1-s*s)/(1+o*o))),i.y<0&&-n.phi+t.phi0<0&&(n.phi=-n.phi),n.lam=o||s?p(o,s):0})}function kn(i,t){var e=.8773826753,s=1.139753528477/t;i.es=0,i.fwd=function(i,r){var o=$t(t*n(i.phi));r.x=e*i.lam*a(o),r.y=s*o},i.inv=function(i,r){i.y/=s,r.phi=$t(n(i.y)/t),r.lam=i.x/(e*a(i.y))}}function Pn(t,n){t.fwd=function(t,a){var e,s,r,o;r=i(k*t.phi),o=(o=1-r*r)<0?0:l(o),i(t.lam)<1e-10?(a.x=0,a.y=S*(t.phi<0?-r:r)/(1+o)):(s=.5*i(S/t.lam-t.lam/S),n?(e=r/(1+o),a.x=S*(l(s*s+1-e*e)-s),a.y=S*e):(e=(o*l(1+s*s)-s*o*o)/(1+s*s*r*r),a.x=S*e,a.y=S*l(1-e*(e+2*s)+1e-10)),t.lam<0&&(a.x=-a.x),t.phi<0&&(a.y=-a.y))},t.es=0}Ft.Constants={},Ft.Math={},Ft.Accumulator={},(Bt=Ft.Constants).WGS84={a:6378137,f:1/298.257223563},Bt.version={major:1,minor:48,patch:0},Bt.version_string="1.48",(Ht=Ft.Math).digits=53,Ht.epsilon=Math.pow(.5,Ht.digits-1),Ht.degree=Math.PI/180,Ht.sq=function(i){return i*i},Ht.hypot=function(i,t){var n,a;return i=Math.abs(i),t=Math.abs(t),n=Math.max(i,t),a=Math.min(i,t)/(n||1),n*Math.sqrt(1+a*a)},Ht.cbrt=function(i){var t=Math.pow(Math.abs(i),1/3);return i<0?-t:t},Ht.log1p=function(i){var t=1+i,n=t-1;return 0===n?i:i*Math.log(t)/n},Ht.atanh=function(i){var t=Math.abs(i);return t=Ht.log1p(2*t/(1-t))/2,i<0?-t:t},Ht.copysign=function(i,t){return Math.abs(i)*(t<0||0===t&&1/t<0?-1:1)},Ht.sum=function(i,t){var n=i+t,a=n-t,e=n-a;return{s:n,t:-((a-=i)+(e-=t))}},Ht.polyval=function(i,t,n,a){for(var e=i<0?0:t[n++];--i>=0;)e=e*a+t[n++];return e},Ht.AngRound=function(i){if(0===i)return i;var t=1/16,n=Math.abs(i);return n=n<t?t-(t-n):n,i<0?-n:n},Ht.AngNormalize=function(i){return(i%=360)<=-180?i+360:i<=180?i:i-360},Ht.LatFix=function(i){return Math.abs(i)>90?Number.NaN:i},Ht.AngDiff=function(i,t){var n=Ht.sum(Ht.AngNormalize(-i),Ht.AngNormalize(t)),a=Ht.AngNormalize(n.s),e=n.t;return Ht.sum(180===a&&e>0?-180:a,e)},Ht.sincosd=function(i){var t,n,a,e,s,r;switch(t=i%360,t-=90*(n=Math.floor(t/90+.5)),t*=this.degree,a=Math.sin(t),e=Math.cos(t),3&n){case 0:s=a,r=e;break;case 1:s=e,r=-a;break;case 2:s=-a,r=-e;break;default:s=-e,r=a}return i&&(s+=0,r+=0),{s:s,c:r}},Ht.atan2d=function(i,t){var n,a,e=0;switch(Math.abs(i)>Math.abs(t)&&(n=t,t=i,i=n,e=2),t<0&&(t=-t,++e),a=Math.atan2(i,t)/this.degree,e){case 1:a=(i>=0?180:-180)-a;break;case 2:a=90-a;break;case 3:a=-90+a}return a},function(i,t){i.Accumulator=function(i){this.Set(i)},i.Accumulator.prototype.Set=function(t){t||(t=0),t.constructor===i.Accumulator?(this._s=t._s,this._t=t._t):(this._s=t,this._t=0)},i.Accumulator.prototype.Add=function(i){var n=t.sum(i,this._t),a=t.sum(n.s,this._s);n=n.t,this._s=a.s,this._t=a.t,0===this._s?this._s=n:this._t+=n},i.Accumulator.prototype.Sum=function(t){var n;return t?((n=new i.Accumulator(this)).Add(t),n._s):this._s},i.Accumulator.prototype.Negate=function(){this._s*=-1,this._t*=-1}}(Ft.Accumulator,Ft.Math),Ft.Geodesic={},Ft.GeodesicLine={},Ft.PolygonArea={},function(i,t,n,a,e){var s,r,o,h,p,l,c,u,_,f,m,d=20+a.digits+10,y=a.epsilon,v=200*y,g=Math.sqrt(y),A=y*v,C=1e3*g;i.tiny_=Math.sqrt(Number.MIN_VALUE),i.nC1_=6,i.nC1p_=6,i.nC2_=6,i.nC3_=6,i.nC4_=6,s=i.nC3_*(i.nC3_-1)/2,r=i.nC4_*(i.nC4_+1)/2,i.CAP_C1=1,i.CAP_C1p=2,i.CAP_C2=4,i.CAP_C3=8,i.CAP_C4=16,i.NONE=0,i.ARC=64,i.LATITUDE=128,i.LONGITUDE=256|i.CAP_C3,i.AZIMUTH=512,i.DISTANCE=1024|i.CAP_C1,i.STANDARD=i.LATITUDE|i.LONGITUDE|i.AZIMUTH|i.DISTANCE,i.DISTANCE_IN=2048|i.CAP_C1|i.CAP_C1p,i.REDUCEDLENGTH=4096|i.CAP_C1|i.CAP_C2,i.GEODESICSCALE=8192|i.CAP_C1|i.CAP_C2,i.AREA=16384|i.CAP_C4,i.ALL=32671,i.LONG_UNROLL=32768,i.OUT_MASK=32640|i.LONG_UNROLL,i.SinCosSeries=function(i,t,n,a){var e=a.length,s=e-(i?1:0),r=2*(n-t)*(n+t),o=1&s?a[--e]:0,h=0;for(s=Math.floor(s/2);s--;)o=r*(h=r*o-h+a[--e])-o+a[--e];return i?2*t*n*o:n*(o-h)},o=function(i,t){var n,e,s,r,o,h,p,l,c,u,_,f,m=a.sq(i),d=a.sq(t),y=(m+d-1)/6;return 0===d&&y<=0?n=0:(h=y,(o=(e=m*d/4)*(e+2*(r=y*(s=a.sq(y)))))>=0?(p=e+r,p+=p<0?-Math.sqrt(o):Math.sqrt(o),h+=(l=a.cbrt(p))+(0!==l?s/l:0)):(c=Math.atan2(Math.sqrt(-o),-(e+r)),h+=2*y*Math.cos(c/3)),u=Math.sqrt(a.sq(h)+d),f=((_=h<0?d/(u-h):h+u)-d)/(2*u),n=_/(Math.sqrt(_+a.sq(f))+f)),n},h=[1,4,64,0,256],i.A1m1f=function(i){var t=Math.floor(3);return(a.polyval(t,h,0,a.sq(i))/h[t+1]+i)/(1-i)},p=[-1,6,-16,32,-9,64,-128,2048,9,-16,768,3,-5,512,-7,1280,-7,2048],i.C1f=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC1_;++e)s=Math.floor((i.nC1_-e)/2),n[e]=o*a.polyval(s,p,h,r)/p[h+s+1],h+=s+2,o*=t},l=[205,-432,768,1536,4005,-4736,3840,12288,-225,116,384,-7173,2695,7680,3467,7680,38081,61440],i.C1pf=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC1p_;++e)s=Math.floor((i.nC1p_-e)/2),n[e]=o*a.polyval(s,l,h,r)/l[h+s+1],h+=s+2,o*=t},c=[-11,-28,-192,0,256],i.A2m1f=function(i){var t=Math.floor(3);return(a.polyval(t,c,0,a.sq(i))/c[t+1]-i)/(1+i)},u=[1,2,16,32,35,64,384,2048,15,80,768,7,35,512,63,1280,77,2048],i.C2f=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC2_;++e)s=Math.floor((i.nC2_-e)/2),n[e]=o*a.polyval(s,u,h,r)/u[h+s+1],h+=s+2,o*=t},i.Geodesic=function(i,t){if(this.a=i,this.f=t,this._f1=1-this.f,this._e2=this.f*(2-this.f),this._ep2=this._e2/a.sq(this._f1),this._n=this.f/(2-this.f),this._b=this.a*this._f1,this._c2=(a.sq(this.a)+a.sq(this._b)*(0===this._e2?1:(this._e2>0?a.atanh(Math.sqrt(this._e2)):Math.atan(Math.sqrt(-this._e2)))/Math.sqrt(Math.abs(this._e2))))/2,this._etol2=.1*g/Math.sqrt(Math.max(.001,Math.abs(this.f))*Math.min(1,1-this.f/2)/2),!(isFinite(this.a)&&this.a>0))throw new Error("Equatorial radius is not positive");if(!(isFinite(this._b)&&this._b>0))throw new Error("Polar semi-axis is not positive");this._A3x=new Array(6),this._C3x=new Array(s),this._C4x=new Array(r),this.A3coeff(),this.C3coeff(),this.C4coeff()},_=[-3,128,-2,-3,64,-1,-3,-1,16,3,-1,-2,8,1,-1,2,1,1],i.Geodesic.prototype.A3coeff=function(){var i,t,n=0,e=0;for(i=5;i>=0;--i)t=Math.min(6-i-1,i),this._A3x[e++]=a.polyval(t,_,n,this._n)/_[n+t+1],n+=t+2},f=[3,128,2,5,128,-1,3,3,64,-1,0,1,8,-1,1,4,5,256,1,3,128,-3,-2,3,64,1,-3,2,32,7,512,-10,9,384,5,-9,5,192,7,512,-14,7,512,21,2560],i.Geodesic.prototype.C3coeff=function(){var t,n,e,s=0,r=0;for(t=1;t<i.nC3_;++t)for(n=i.nC3_-1;n>=t;--n)e=Math.min(i.nC3_-n-1,n),this._C3x[r++]=a.polyval(e,f,s,this._n)/f[s+e+1],s+=e+2},m=[97,15015,1088,156,45045,-224,-4784,1573,45045,-10656,14144,-4576,-858,45045,64,624,-4576,6864,-3003,15015,100,208,572,3432,-12012,30030,45045,1,9009,-2944,468,135135,5792,1040,-1287,135135,5952,-11648,9152,-2574,135135,-64,-624,4576,-6864,3003,135135,8,10725,1856,-936,225225,-8448,4992,-1144,225225,-1440,4160,-4576,1716,225225,-136,63063,1024,-208,105105,3584,-3328,1144,315315,-128,135135,-2560,832,405405,128,99099],i.Geodesic.prototype.C4coeff=function(){var t,n,e,s=0,r=0;for(t=0;t<i.nC4_;++t)for(n=i.nC4_-1;n>=t;--n)e=i.nC4_-n-1,this._C4x[r++]=a.polyval(e,m,s,this._n)/m[s+e+1],s+=e+2},i.Geodesic.prototype.A3f=function(i){return a.polyval(5,this._A3x,0,i)},i.Geodesic.prototype.C3f=function(t,n){var e,s,r=1,o=0;for(e=1;e<i.nC3_;++e)s=i.nC3_-e-1,r*=t,n[e]=r*a.polyval(s,this._C3x,o,t),o+=s+1},i.Geodesic.prototype.C4f=function(t,n){var e,s,r=1,o=0;for(e=0;e<i.nC4_;++e)s=i.nC4_-e-1,n[e]=r*a.polyval(s,this._C4x,o,t),o+=s+1,r*=t},i.Geodesic.prototype.Lengths=function(t,n,a,e,s,r,o,h,p,l,c,u,_){var f,m,d,y,v={},g=0,A=0,C=0,S=0;if((c&=i.OUT_MASK)&(i.DISTANCE|i.REDUCEDLENGTH|i.GEODESICSCALE)&&(C=i.A1m1f(t),i.C1f(t,u),c&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(S=i.A2m1f(t),i.C2f(t,_),g=C-S,S=1+S),C=1+C),c&i.DISTANCE)f=i.SinCosSeries(!0,r,o,u)-i.SinCosSeries(!0,a,e,u),v.s12b=C*(n+f),c&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(A=g*n+(C*f-S*(i.SinCosSeries(!0,r,o,_)-i.SinCosSeries(!0,a,e,_))));else if(c&(i.REDUCEDLENGTH|i.GEODESICSCALE)){for(m=1;m<=i.nC2_;++m)_[m]=C*u[m]-S*_[m];A=g*n+(i.SinCosSeries(!0,r,o,_)-i.SinCosSeries(!0,a,e,_))}return c&i.REDUCEDLENGTH&&(v.m0=g,v.m12b=h*(e*r)-s*(a*o)-e*o*A),c&i.GEODESICSCALE&&(d=e*o+a*r,y=this._ep2*(p-l)*(p+l)/(s+h),v.M12=d+(y*r-o*A)*a/s,v.M21=d-(y*a-e*A)*r/h),v},i.Geodesic.prototype.InverseStart=function(t,n,e,s,r,h,p,l,c,u,_){var f,m,d,y,g,A,S,x,M,E,b,w,N,I,G,k,P,T,D,O,L={},R=s*n-r*t,q=r*n+s*t;return L.sig12=-1,f=s*n,f+=r*t,(m=q>=0&&R<.5&&r*p<.5)?(y=a.sq(t+s),y/=y+a.sq(n+r),L.dnm=Math.sqrt(1+this._ep2*y),d=p/(this._f1*L.dnm),g=Math.sin(d),A=Math.cos(d)):(g=l,A=c),L.salp1=r*g,L.calp1=A>=0?R+r*t*a.sq(g)/(1+A):f-r*t*a.sq(g)/(1-A),x=a.hypot(L.salp1,L.calp1),M=t*s+n*r*A,m&&x<this._etol2?(L.salp2=n*g,L.calp2=R-n*s*(A>=0?a.sq(g)/(1+A):1-A),S=a.hypot(L.salp2,L.calp2),L.salp2/=S,L.calp2/=S,L.sig12=Math.atan2(x,M)):Math.abs(this._n)>.1||M>=0||x>=6*Math.abs(this._n)*Math.PI*a.sq(n)||(O=Math.atan2(-l,-c),this.f>=0?(I=(N=a.sq(t)*this._ep2)/(2*(1+Math.sqrt(1+N))+N),E=O/(w=this.f*n*this.A3f(I)*Math.PI),b=f/(w*n)):(G=r*n-s*t,k=Math.atan2(f,G),b=p/(w=((E=(P=this.Lengths(this._n,Math.PI+k,t,-n,e,s,r,h,n,r,i.REDUCEDLENGTH,u,_)).m12b/(n*r*P.m0*Math.PI)-1)<-.01?f/E:-this.f*a.sq(n)*Math.PI)/n)),b>-v&&E>-1-C?this.f>=0?(L.salp1=Math.min(1,-E),L.calp1=-Math.sqrt(1-a.sq(L.salp1))):(L.calp1=Math.max(E>-v?0:-1,E),L.salp1=Math.sqrt(1-a.sq(L.calp1))):(T=o(E,b),D=w*(this.f>=0?-E*T/(1+T):-b*(1+T)/T),g=Math.sin(D),A=-Math.cos(D),L.salp1=r*g,L.calp1=f-r*t*a.sq(g)/(1-A))),L.salp1<=0?(L.salp1=1,L.calp1=0):(S=a.hypot(L.salp1,L.calp1),L.salp1/=S,L.calp1/=S),L},i.Geodesic.prototype.Lambda12=function(t,n,e,s,r,o,h,p,l,c,u,_,f,m){var d,y,v,g,A,C,S,x,M,E,b,w,N,I={};return 0===t&&0===p&&(p=-i.tiny_),y=h*n,v=a.hypot(p,h*t),I.ssig1=t,g=y*t,I.csig1=A=p*n,d=a.hypot(I.ssig1,I.csig1),I.ssig1/=d,I.csig1/=d,I.salp2=r!==n?y/r:h,I.calp2=r!==n||Math.abs(s)!==-t?Math.sqrt(a.sq(p*n)+(n<-t?(r-n)*(n+r):(t-s)*(t+s)))/r:Math.abs(p),I.ssig2=s,C=y*s,I.csig2=S=I.calp2*r,d=a.hypot(I.ssig2,I.csig2),I.ssig2/=d,I.csig2/=d,I.sig12=Math.atan2(Math.max(0,I.csig1*I.ssig2-I.ssig1*I.csig2),I.csig1*I.csig2+I.ssig1*I.ssig2),x=Math.max(0,A*C-g*S),M=A*S+g*C,b=Math.atan2(x*c-M*l,M*c+x*l),w=a.sq(v)*this._ep2,I.eps=w/(2*(1+Math.sqrt(1+w))+w),this.C3f(I.eps,m),E=i.SinCosSeries(!0,I.ssig2,I.csig2,m)-i.SinCosSeries(!0,I.ssig1,I.csig1,m),I.domg12=-this.f*this.A3f(I.eps)*y*(I.sig12+E),I.lam12=b+I.domg12,u&&(0===I.calp2?I.dlam12=-2*this._f1*e/t:(N=this.Lengths(I.eps,I.sig12,I.ssig1,I.csig1,e,I.ssig2,I.csig2,o,n,r,i.REDUCEDLENGTH,_,f),I.dlam12=N.m12b,I.dlam12*=this._f1/(I.calp2*r))),I},i.Geodesic.prototype.Inverse=function(t,n,e,s,r){var o,h;return r||(r=i.STANDARD),r===i.LONG_UNROLL&&(r|=i.STANDARD),r&=i.OUT_MASK,h=(o=this.InverseInt(t,n,e,s,r)).vals,r&i.AZIMUTH&&(h.azi1=a.atan2d(o.salp1,o.calp1),h.azi2=a.atan2d(o.salp2,o.calp2)),h},i.Geodesic.prototype.InverseInt=function(t,n,e,s,r){var o,h,p,l,c,u,_,f,m,v,g,C,S,x,M,E,b,w,N,I,G,k,P,T,D,O,L,R,q,U,z,j,W,B,H,F,K,V,J,Y,X,Z,$,Q,ii,ti,ni,ai,ei,si,ri,oi,hi,pi,li,ci,ui,_i,fi,mi,di,yi,vi,gi,Ai,Ci={};if(Ci.lat1=t=a.LatFix(t),Ci.lat2=e=a.LatFix(e),t=a.AngRound(t),e=a.AngRound(e),h=(o=a.AngDiff(n,s)).t,o=o.s,r&i.LONG_UNROLL?(Ci.lon1=n,Ci.lon2=n+o+h):(Ci.lon1=a.AngNormalize(n),Ci.lon2=a.AngNormalize(s)),o=(p=o>=0?1:-1)*a.AngRound(o),h=a.AngRound(180-o-p*h),M=o*a.degree,E=(l=a.sincosd(o>90?h:o)).s,b=(o>90?-1:1)*l.c,(c=Math.abs(t)<Math.abs(e)?-1:1)<0&&(p*=-1,l=t,t=e,e=l),t*=u=t<0?1:-1,e*=u,l=a.sincosd(t),_=this._f1*l.s,f=l.c,_/=l=a.hypot(_,f),f/=l,f=Math.max(i.tiny_,f),l=a.sincosd(e),m=this._f1*l.s,v=l.c,m/=l=a.hypot(m,v),v/=l,v=Math.max(i.tiny_,v),f<-_?v===f&&(m=m<0?_:-_):Math.abs(m)===-_&&(v=f),S=Math.sqrt(1+this._ep2*a.sq(_)),x=Math.sqrt(1+this._ep2*a.sq(m)),P=new Array(i.nC1_+1),T=new Array(i.nC2_+1),D=new Array(i.nC3_),(O=-90===t||0===E)&&(I=E,k=0,R=_,q=(N=b)*f,U=m,z=(G=1)*v,w=Math.atan2(Math.max(0,q*U-R*z),q*z+R*U),g=(L=this.Lengths(this._n,w,R,q,S,U,z,x,f,v,r|i.DISTANCE|i.REDUCEDLENGTH,P,T)).s12b,C=L.m12b,0!==(r&i.GEODESICSCALE)&&(Ci.M12=L.M12,Ci.M21=L.M21),w<1||C>=0?(w<3*i.tiny_&&(w=C=g=0),C*=this._b,g*=this._b,Ci.a12=w/a.degree):O=!1),ui=2,!O&&0===_&&(this.f<=0||h>=180*this.f))N=G=0,I=k=1,g=this.a*M,w=W=M/this._f1,C=this._b*Math.sin(w),r&i.GEODESICSCALE&&(Ci.M12=Ci.M21=Math.cos(w)),Ci.a12=o/this._f1;else if(!O)if(w=(L=this.InverseStart(_,f,S,m,v,x,M,E,b,P,T)).sig12,I=L.salp1,N=L.calp1,w>=0)k=L.salp2,G=L.calp2,B=L.dnm,g=w*this._b*B,C=a.sq(B)*this._b*Math.sin(w/B),r&i.GEODESICSCALE&&(Ci.M12=Ci.M21=Math.cos(w/B)),Ci.a12=w/a.degree,W=M/(this._f1*B);else{for(H=0,F=i.tiny_,K=1,V=i.tiny_,J=-1,Y=!1,X=!1;H<d&&(Z=(L=this.Lambda12(_,f,S,m,v,x,I,N,E,b,H<20,P,T,D)).lam12,k=L.salp2,G=L.calp2,w=L.sig12,R=L.ssig1,q=L.csig1,U=L.ssig2,z=L.csig2,j=L.eps,fi=L.domg12,$=L.dlam12,!X&&Math.abs(Z)>=(Y?8:1)*y);++H)Z>0&&(H<20||N/I>J/V)?(V=I,J=N):Z<0&&(H<20||N/I<K/F)&&(F=I,K=N),H<20&&$>0&&(Q=-Z/$,ii=Math.sin(Q),(ni=I*(ti=Math.cos(Q))+N*ii)>0&&Math.abs(Q)<Math.PI)?(N=N*ti-I*ii,I=ni,I/=l=a.hypot(I,N),N/=l,Y=Math.abs(Z)<=16*y):(I=(F+V)/2,N=(K+J)/2,I/=l=a.hypot(I,N),N/=l,Y=!1,X=Math.abs(F-I)+(K-N)<A||Math.abs(I-V)+(N-J)<A);ai=r|(r&(i.REDUCEDLENGTH|i.GEODESICSCALE)?i.DISTANCE:i.NONE),g=(L=this.Lengths(j,w,R,q,S,U,z,x,f,v,ai,P,T)).s12b,C=L.m12b,0!==(r&i.GEODESICSCALE)&&(Ci.M12=L.M12,Ci.M21=L.M21),C*=this._b,g*=this._b,Ci.a12=w/a.degree,r&i.AREA&&(gi=Math.sin(fi),ui=E*(Ai=Math.cos(fi))-b*gi,_i=b*Ai+E*gi)}return r&i.DISTANCE&&(Ci.s12=0+g),r&i.REDUCEDLENGTH&&(Ci.m12=0+C),r&i.AREA&&(ei=I*f,0!==(si=a.hypot(N,I*_))&&0!==ei?(R=_,q=N*f,U=m,z=G*v,j=(oi=a.sq(si)*this._ep2)/(2*(1+Math.sqrt(1+oi))+oi),hi=a.sq(this.a)*si*ei*this._e2,R/=l=a.hypot(R,q),q/=l,U/=l=a.hypot(U,z),z/=l,pi=new Array(i.nC4_),this.C4f(j,pi),li=i.SinCosSeries(!1,R,q,pi),ci=i.SinCosSeries(!1,U,z,pi),Ci.S12=hi*(ci-li)):Ci.S12=0,!O&&ui>1&&(ui=Math.sin(W),_i=Math.cos(W)),!O&&_i>-.7071&&m-_<1.75?(fi=1+_i,mi=1+f,di=1+v,ri=2*Math.atan2(ui*(_*di+m*mi),fi*(_*m+mi*di))):(vi=G*N+k*I,0===(yi=k*N-G*I)&&vi<0&&(yi=i.tiny_*N,vi=-1),ri=Math.atan2(yi,vi)),Ci.S12+=this._c2*ri,Ci.S12*=c*p*u,Ci.S12+=0),c<0&&(l=I,I=k,k=l,l=N,N=G,G=l,r&i.GEODESICSCALE&&(l=Ci.M12,Ci.M12=Ci.M21,Ci.M21=l)),{vals:Ci,salp1:I*=c*p,calp1:N*=c*u,salp2:k*=c*p,calp2:G*=c*u}},i.Geodesic.prototype.GenDirect=function(n,a,e,s,r,o){return o?o===i.LONG_UNROLL&&(o|=i.STANDARD):o=i.STANDARD,s||(o|=i.DISTANCE_IN),new t.GeodesicLine(this,n,a,e,o).GenPosition(s,r,o)},i.Geodesic.prototype.Direct=function(i,t,n,a,e){return this.GenDirect(i,t,n,!1,a,e)},i.Geodesic.prototype.ArcDirect=function(i,t,n,a,e){return this.GenDirect(i,t,n,!0,a,e)},i.Geodesic.prototype.Line=function(i,n,a,e){return new t.GeodesicLine(this,i,n,a,e)},i.Geodesic.prototype.DirectLine=function(i,t,n,a,e){return this.GenDirectLine(i,t,n,!1,a,e)},i.Geodesic.prototype.ArcDirectLine=function(i,t,n,a,e){return this.GenDirectLine(i,t,n,!0,a,e)},i.Geodesic.prototype.GenDirectLine=function(n,a,e,s,r,o){var h;return o||(o=i.STANDARD|i.DISTANCE_IN),s||(o|=i.DISTANCE_IN),(h=new t.GeodesicLine(this,n,a,e,o)).GenSetDistance(s,r),h},i.Geodesic.prototype.InverseLine=function(n,e,s,r,o){var h,p,l;return o||(o=i.STANDARD|i.DISTANCE_IN),h=this.InverseInt(n,e,s,r,i.ARC),l=a.atan2d(h.salp1,h.calp1),o&i.OUT_MASK&i.DISTANCE_IN&&(o|=i.DISTANCE),(p=new t.GeodesicLine(this,n,e,l,o,h.salp1,h.calp1)).SetArc(h.vals.a12),p},i.Geodesic.prototype.Polygon=function(i){return new n.PolygonArea(this,i)},i.WGS84=new i.Geodesic(e.WGS84.a,e.WGS84.f)}(Ft.Geodesic,Ft.GeodesicLine,Ft.PolygonArea,Ft.Math,Ft.Constants),function(i,t,n){t.GeodesicLine=function(t,a,e,s,r,o,h){var p,l,c,u,_,f;r||(r=i.STANDARD|i.DISTANCE_IN),this.a=t.a,this.f=t.f,this._b=t._b,this._c2=t._c2,this._f1=t._f1,this.caps=r|i.LATITUDE|i.AZIMUTH|i.LONG_UNROLL,this.lat1=n.LatFix(a),this.lon1=e,void 0===o||void 0===h?(this.azi1=n.AngNormalize(s),p=n.sincosd(n.AngRound(this.azi1)),this.salp1=p.s,this.calp1=p.c):(this.azi1=s,this.salp1=o,this.calp1=h),p=n.sincosd(n.AngRound(this.lat1)),c=this._f1*p.s,l=p.c,c/=p=n.hypot(c,l),l/=p,l=Math.max(i.tiny_,l),this._dn1=Math.sqrt(1+t._ep2*n.sq(c)),this._salp0=this.salp1*l,this._calp0=n.hypot(this.calp1,this.salp1*c),this._ssig1=c,this._somg1=this._salp0*c,this._csig1=this._comg1=0!==c||0!==this.calp1?l*this.calp1:1,p=n.hypot(this._ssig1,this._csig1),this._ssig1/=p,this._csig1/=p,this._k2=n.sq(this._calp0)*t._ep2,u=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2),this.caps&i.CAP_C1&&(this._A1m1=i.A1m1f(u),this._C1a=new Array(i.nC1_+1),i.C1f(u,this._C1a),this._B11=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C1a),_=Math.sin(this._B11),f=Math.cos(this._B11),this._stau1=this._ssig1*f+this._csig1*_,this._ctau1=this._csig1*f-this._ssig1*_),this.caps&i.CAP_C1p&&(this._C1pa=new Array(i.nC1p_+1),i.C1pf(u,this._C1pa)),this.caps&i.CAP_C2&&(this._A2m1=i.A2m1f(u),this._C2a=new Array(i.nC2_+1),i.C2f(u,this._C2a),this._B21=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C2a)),this.caps&i.CAP_C3&&(this._C3a=new Array(i.nC3_),t.C3f(u,this._C3a),this._A3c=-this.f*this._salp0*t.A3f(u),this._B31=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C3a)),this.caps&i.CAP_C4&&(this._C4a=new Array(i.nC4_),t.C4f(u,this._C4a),this._A4=n.sq(this.a)*this._calp0*this._salp0*t._e2,this._B41=i.SinCosSeries(!1,this._ssig1,this._csig1,this._C4a)),this.a13=this.s13=Number.NaN},t.GeodesicLine.prototype.GenPosition=function(t,a,e){var s,r,o,h,p,l,c,u,_,f,m,d,y,v,g,A,C,S,x,M,E,b,w,N,I,G,k={};return e?e===i.LONG_UNROLL&&(e|=i.STANDARD):e=i.STANDARD,e&=this.caps&i.OUT_MASK,k.lat1=this.lat1,k.azi1=this.azi1,k.lon1=e&i.LONG_UNROLL?this.lon1:n.AngNormalize(this.lon1),t?k.a12=a:k.s12=a,t||this.caps&i.DISTANCE_IN&i.OUT_MASK?(h=0,p=0,t?(s=a*n.degree,r=(w=n.sincosd(a)).s,o=w.c):(u=a/(this._b*(1+this._A1m1)),_=Math.sin(u),f=Math.cos(u),s=u-((h=-i.SinCosSeries(!0,this._stau1*f+this._ctau1*_,this._ctau1*f-this._stau1*_,this._C1pa))-this._B11),r=Math.sin(s),o=Math.cos(s),Math.abs(this.f)>.01&&(l=this._ssig1*o+this._csig1*r,c=this._csig1*o-this._ssig1*r,h=i.SinCosSeries(!0,l,c,this._C1a),s-=((1+this._A1m1)*(s+(h-this._B11))-a/this._b)/Math.sqrt(1+this._k2*n.sq(l)),r=Math.sin(s),o=Math.cos(s))),l=this._ssig1*o+this._csig1*r,c=this._csig1*o-this._ssig1*r,x=Math.sqrt(1+this._k2*n.sq(l)),e&(i.DISTANCE|i.REDUCEDLENGTH|i.GEODESICSCALE)&&((t||Math.abs(this.f)>.01)&&(h=i.SinCosSeries(!0,l,c,this._C1a)),p=(1+this._A1m1)*(h-this._B11)),y=this._calp0*l,0===(v=n.hypot(this._salp0,this._calp0*c))&&(v=c=i.tiny_),C=this._salp0,S=this._calp0*c,t&&e&i.DISTANCE&&(k.s12=this._b*((1+this._A1m1)*s+p)),e&i.LONGITUDE&&(g=this._salp0*l,A=c,d=n.copysign(1,this._salp0),m=((e&i.LONG_UNROLL?d*(s-(Math.atan2(l,c)-Math.atan2(this._ssig1,this._csig1))+(Math.atan2(d*g,A)-Math.atan2(d*this._somg1,this._comg1))):Math.atan2(g*this._comg1-A*this._somg1,A*this._comg1+g*this._somg1))+this._A3c*(s+(i.SinCosSeries(!0,l,c,this._C3a)-this._B31)))/n.degree,k.lon2=e&i.LONG_UNROLL?this.lon1+m:n.AngNormalize(n.AngNormalize(this.lon1)+n.AngNormalize(m))),e&i.LATITUDE&&(k.lat2=n.atan2d(y,this._f1*v)),e&i.AZIMUTH&&(k.azi2=n.atan2d(C,S)),e&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(M=i.SinCosSeries(!0,l,c,this._C2a),E=(1+this._A2m1)*(M-this._B21),b=(this._A1m1-this._A2m1)*s+(p-E),e&i.REDUCEDLENGTH&&(k.m12=this._b*(x*(this._csig1*l)-this._dn1*(this._ssig1*c)-this._csig1*c*b)),e&i.GEODESICSCALE&&(w=this._k2*(l-this._ssig1)*(l+this._ssig1)/(this._dn1+x),k.M12=o+(w*l-c*b)*this._ssig1/this._dn1,k.M21=o-(w*this._ssig1-this._csig1*b)*l/x)),e&i.AREA&&(N=i.SinCosSeries(!1,l,c,this._C4a),0===this._calp0||0===this._salp0?(I=C*this.calp1-S*this.salp1,G=S*this.calp1+C*this.salp1):(I=this._calp0*this._salp0*(o<=0?this._csig1*(1-o)+r*this._ssig1:r*(this._csig1*r/(1+o)+this._ssig1)),G=n.sq(this._salp0)+n.sq(this._calp0)*this._csig1*c),k.S12=this._c2*Math.atan2(I,G)+this._A4*(N-this._B41)),t||(k.a12=s/n.degree),k):(k.a12=Number.NaN,k)},t.GeodesicLine.prototype.Position=function(i,t){return this.GenPosition(!1,i,t)},t.GeodesicLine.prototype.ArcPosition=function(i,t){return this.GenPosition(!0,i,t)},t.GeodesicLine.prototype.GenSetDistance=function(i,t){i?this.SetArc(t):this.SetDistance(t)},t.GeodesicLine.prototype.SetDistance=function(t){var n;this.s13=t,n=this.GenPosition(!1,this.s13,i.ARC),this.a13=0+n.a12},t.GeodesicLine.prototype.SetArc=function(t){var n;this.a13=t,n=this.GenPosition(!0,this.a13,i.DISTANCE),this.s13=0+n.s12}}(Ft.Geodesic,Ft.GeodesicLine,Ft.Math),function(i,t,n,a){var e,s;e=function(i,t){var a;return i=n.AngNormalize(i),t=n.AngNormalize(t),a=n.AngDiff(i,t).s,i<=0&&t>0&&a>0?1:t<=0&&i>0&&a<0?-1:0},s=function(i,t){return((t%=720)>=0&&t<360||t<-360?0:1)-((i%=720)>=0&&i<360||i<-360?0:1)},i.PolygonArea=function(i,n){this._geod=i,this.a=this._geod.a,this.f=this._geod.f,this._area0=4*Math.PI*i._c2,this.polyline=n||!1,this._mask=t.LATITUDE|t.LONGITUDE|t.DISTANCE|(this.polyline?t.NONE:t.AREA|t.LONG_UNROLL),this.polyline||(this._areasum=new a.Accumulator(0)),this._perimetersum=new a.Accumulator(0),this.Clear()},i.PolygonArea.prototype.Clear=function(){this.num=0,this._crossings=0,this.polyline||this._areasum.Set(0),this._perimetersum.Set(0),this._lat0=this._lon0=this.lat=this.lon=Number.NaN},i.PolygonArea.prototype.AddPoint=function(i,t){var n;0===this.num?(this._lat0=this.lat=i,this._lon0=this.lon=t):(n=this._geod.Inverse(this.lat,this.lon,i,t,this._mask),this._perimetersum.Add(n.s12),this.polyline||(this._areasum.Add(n.S12),this._crossings+=e(this.lon,t)),this.lat=i,this.lon=t),++this.num},i.PolygonArea.prototype.AddEdge=function(i,t){var n;this.num&&(n=this._geod.Direct(this.lat,this.lon,i,t,this._mask),this._perimetersum.Add(t),this.polyline||(this._areasum.Add(n.S12),this._crossings+=s(this.lon,n.lon2)),this.lat=n.lat2,this.lon=n.lon2),++this.num},i.PolygonArea.prototype.Compute=function(i,t){var n,s,r={number:this.num};return this.num<2?(r.perimeter=0,this.polyline||(r.area=0),r):this.polyline?(r.perimeter=this._perimetersum.Sum(),r):(n=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,this._mask),r.perimeter=this._perimetersum.Sum(n.s12),(s=new a.Accumulator(this._areasum)).Add(n.S12),1&this._crossings+e(this.lon,this._lon0)&&s.Add((s.Sum()<0?1:-1)*this._area0/2),i||s.Negate(),t?s.Sum()>this._area0/2?s.Add(-this._area0):s.Sum()<=-this._area0/2&&s.Add(+this._area0):(s.Sum()>=this._area0||s<0)&&s.Add(-this._area0),r.area=s.Sum(),r)},i.PolygonArea.prototype.TestPoint=function(i,t,n,a){var s,r,o,h,p={number:this.num+1};if(0===this.num)return p.perimeter=0,this.polyline||(p.area=0),p;for(p.perimeter=this._perimetersum.Sum(),r=this.polyline?0:this._areasum.Sum(),o=this._crossings,h=0;h<(this.polyline?1:2);++h)s=this._geod.Inverse(0===h?this.lat:i,0===h?this.lon:t,0!==h?this._lat0:i,0!==h?this._lon0:t,this._mask),p.perimeter+=s.s12,this.polyline||(r+=s.S12,o+=e(0===h?this.lon:t,0!==h?this._lon0:t));return this.polyline||(1&o&&(r+=(r<0?1:-1)*this._area0/2),n||(r*=-1),a?r>this._area0/2?r-=this._area0:r<=-this._area0/2&&(r+=this._area0):r>=this._area0?r-=this._area0:r<0&&(r+=this._area0),p.area=r),p},i.PolygonArea.prototype.TestEdge=function(i,t,n,a){var r,o,h,p={number:this.num?this.num+1:0};return 0===this.num||(p.perimeter=this._perimetersum.Sum()+t,this.polyline||(o=this._areasum.Sum(),h=this._crossings,o+=(r=this._geod.Direct(this.lat,this.lon,i,t,this._mask)).S12,h+=s(this.lon,r.lon2),r=this._geod.Inverse(r.lat2,r.lon2,this._lat0,this._lon0,this._mask),p.perimeter+=r.s12,o+=r.S12,1&(h+=e(r.lon2,this._lon0))&&(o+=(o<0?1:-1)*this._area0/2),n||(o*=-1),a?o>this._area0/2?o-=this._area0:o<=-this._area0/2&&(o+=this._area0):o>=this._area0?o-=this._area0:o<0&&(o+=this._area0),p.area=o)),p}}(Ft.PolygonArea,Ft.Geodesic,Ft.Math,Ft.Accumulator),ii(function(i){var t=X(i.params,"rlat_1"),n=X(i.params,"rlat_2");Jt(i,t,n)},"aea","Albers Equal Area","Conic Sph&Ell\nlat_1= lat_2="),ii(function(i){var t=X(i.params,"rlat_1"),n=X(i.params,"bsouth")?-N:N;Jt(i,t,n)},"leac","Lambert Equal Area Conic","Conic, Sph&Ell\nlat_1= south"),ii(function(t){var s,r,h,c,u,_,m,d=1e-10;if(t.phi0=X(t.params,"rlat_0"),i(i(t.phi0)-N)<d?(u=t.phi0<0?1:0,s=t.phi0<0?-1:1,r=0):i(t.phi0)<d?(u=2,s=0,r=1):(u=3,s=n(t.phi0),r=a(t.phi0)),t.es)if(m=new Ft.Geodesic.Geodesic(t.a,t.es/(1+l(t.one_es))),_=Yt(t.es),X(t.params,"bguam"))h=Xt(t.phi0,s,r,_),t.inv=function(i,s){var r,o,p;for(r=.5*i.x*i.x,s.phi=t.phi0,p=0;p<3;++p)o=t.e*n(s.phi),s.phi=Zt(h+i.y-r*e(s.phi)*(o=l(1-o*o)),t.es,_);s.lam=i.x*o/a(s.phi)},t.fwd=function(i,e){var s,r,o;s=a(i.phi),r=n(i.phi),o=1/l(1-t.es*r*r),e.x=i.lam*s*o,e.y=Xt(i.phi,r,s,_)-h+.5*i.lam*i.lam*s*r*o};else{switch(u){case 0:c=Xt(N,1,0,_);break;case 1:c=Xt(-N,-1,0,_);break;case 2:case 3:t.inv=v,t.fwd=y,l(1-t.es*s*s),t.e,l(t.one_es)}t.inv=v,t.fwd=y}else t.inv=function(i,e){var o,h,l,c=i.x,_=i.y;if((h=f(c,_))>S)h-d>S&&j(),h=S;else if(h<d)return e.phi=t.phi0,void(e.lam=0);3==u||2==u?(l=n(h),o=a(h),2==u?(e.phi=$t(_*l/h),c*=l,_=o*h):(e.phi=$t(o*s+_*l*r/h),_=(o-s*n(e.phi))*h,c*=l*r),e.lam=0==_?0:p(c,_)):0==u?(e.phi=N-h,e.lam=p(c,-_)):(e.phi=h-N,e.lam=p(c,_))},t.fwd=function(t,e){var h,p,l;switch(l=n(t.phi),p=a(t.phi),h=a(t.lam),u){case 2:case 3:e.y=2==u?p*h:s*l+r*p*h,i(i(e.y)-1)<1e-14?e.y<0?z():e.x=e.y=0:(e.y=o(e.y),e.y/=n(e.y),e.x=e.y*p*n(t.lam),e.y*=2==u?l:r*l-s*p*h);break;case 0:t.phi=-t.phi,h=-h;case 1:i(t.phi-N)<d&&z(),e.x=(e.y=N+t.phi)*n(t.lam),e.y*=h}};function y(e,s){var r,o,h,p,l,f,y,v,g,A,C;switch(r=a(e.lam),o=a(e.phi),h=n(e.phi),u){case 0:r=-r;case 1:s.x=(p=i(c-Xt(e.phi,h,o,_)))*n(e.lam),s.y=p*r;break;case 2:case 3:if(i(e.lam)<d&&i(e.phi-t.phi0)<d){s.x=s.y=0;break}v=t.phi0/M,y=t.lam0/M,A=e.phi/M,g=(e.lam+t.lam0)/M,l=(C=m.Inverse(v,y,A,g,m.AZIMUTH)).azi1*M,f=C.s12,s.x=f*n(l)/t.a,s.y=f*a(l)/t.a}}function v(i,n){var a,e,s,r,o,h,y,v;if((a=f(i.x,i.y))<d)return n.phi=t.phi0,n.lam=0,n;3==u||2==u?(r=i.x*t.a,o=i.y*t.a,h=t.phi0/M,y=t.lam0/M,e=p(r,o)/M,s=l(r*r+o*o),v=m.Direct(h,y,e,s,m.STANDARD),n.phi=v.lat2*M,n.lam=v.lon2*M,n.lam-=t.lam0):(n.phi=Zt(0==u?c-a:c+a,t.es,_),n.lam=p(i.x,0==u?-i.y:i.y))}},"aeqd","Azimuthal Equidistant","Azi, Sph&Ell\nlat_0 guam"),ii(function(t){var s,r,o,h,p,l,c=1e-10;t.es=0,t.fwd=function(t,l){var u,f,m,d,y,v,g,A;switch(u=n(t.lam),f=a(t.lam),h){case 2:case 3:d=n(t.phi),A=(m=a(t.phi))*f,3==h&&(A=s*d+r*A),!p&&A<-c&&z(),g=i(v=1-A)>c?-_(y=.5*(1+A))/v-o/y:.5-o,l.x=g*m*u,l.y=3==h?g*(r*d-s*m*f):g*d;break;case 1:case 0:t.phi=i(p_halfpi-t.phi),!p&&t.phi-c>N&&z(),(t.phi*=.5)>c?(y=e(t.phi),g=-2*(_(a(t.phi))/y+y*o),l.x=g*u,l.y=g*f,0==h&&(l.y=-l.y)):l.x=l.y=0}},p=X(t.params,"bno_cut"),l=.5*(N-X(t.params,"rlat_b")),i(l)<c?o=-.5:(o=1/e(l),o*=o*_(a(l))),i(i(t.phi0)-N)<c?t.phi0<0?(p_halfpi=-N,h=1):(p_halfpi=N,h=0):i(t.phi0)<c?h=2:(h=3,s=n(t.phi0),r=a(t.phi0))},"airy","Airy","Misc Sph, no inv.\nno_cut lat_b="),ii(function(i){var t=i.opaque={mode:1};X(i.params,"tlat_1")?0===(t.cosphi1=a(X(i.params,"rlat_1")))&&B(-22):t.cosphi1=.6366197723675814,an(i)},"wintri","Winkel Tripel","Misc Sph\nlat_1"),ii(an,"aitoff","Aitoff","Misc Sph"),ii(function(i){i.fwd=function(i,t){var s,r,o,h,p,c,u,_=4/3,f=i.lam;s=e(.5*i.phi),o=1+(r=l(1-s*s))*a(f*=.5),h=n(f)*r/o,c=s/o,t.x=_*h*(3+(p=h*h)-3*(u=c*c)),t.y=_*c*(3+3*p-u)},i.es=0},"august","August Epicycloidal","Misc Sph, no inv."),ii(function(i){en(i,!1,!1)},"apian","Apian Globular I","Misc Sph, no inv."),ii(function(i){en(i,!1,!0)},"ortel","Ortelius Oval","Misc Sph, no inv."),ii(function(i){en(i,!0,!1)},"bacon","Bacon Globular","Misc Sph, no inv."),ii(function(i){var t,e,s,o;i.es=0,i.fwd=function(i,h){var c,u,_,f,m,d;return i.lam+=-16.5*M,u=a(i.phi),_=a(i.lam)*u,f=n(i.lam)*u,d=(m=n(i.phi))*t+_*e,i.lam=p(f*s-d*o,_*t-m*e),d=d*s+f*o,i.phi=r(d),i.lam=wi(i.lam),i.lam+i.phi<-1.4&&(c=(i.lam-i.phi+1.6)*(i.lam+i.phi+1.4)/8,i.lam+=c,i.phi-=.8*c*n(i.phi+S/2)),u=a(i.phi),c=l(2/(1+u*a(i.lam/2))),h.x=1.68*c*u*n(i.lam/2),h.y=c*n(i.phi),c=(1-a(i.lam*i.phi))/12,h.y<0&&(h.x*=1+c),h.y>0&&(h.y*=1+c/1.5*h.x*h.x),h},i.lam0=0,i.phi0=-42*M,t=a(i.phi0),e=n(i.phi0),s=1,o=0},"bertin1953","Bertin 1953","Misc., Sph., NoInv."),ii(function(t){var e=l(2);t.fwd=function(t,s){var r,o,h,p;if(r=t.phi,i(i(t.phi)-N)<1e-7)s.x=0;else{for(h=n(r)*S,p=20;p&&(r-=o=(r+n(r)-h)/(1+a(r)),!(i(o)<1e-7));--p);r*=.5,s.x=2.00276*t.lam/(1/a(t.phi)+1.11072/a(r))}s.y=.49931*(t.phi+e*n(r))},t.es=0},"boggs","Boggs Eumorphic","PCyl., no inv., Sph."),ii(function(t){var s,r,o,h,c,u,_=1e-10;s=X(t.params,"rlat_1"),i(s)<_&&B(-23),t.es?(c=Yt(t.es),h=Xt(s,o=n(s),u=a(s),c),o=u/(l(1-t.es*o*o)*o),t.inv=function(e,s){var r,u;u=f(e.x,e.y=o-e.y),s.phi=Zt(o+h-u,t.es,c),(r=i(s.phi))<N?(r=n(s.phi),s.lam=u*p(e.x,e.y)*l(1-t.es*r*r)/a(s.phi)):i(r-N)<=_?s.lam=0:j()},t.fwd=function(i,e){var s,r,p;s=o+h-Xt(i.phi,r=n(i.phi),p=a(i.phi),c),r=p*i.lam/(s*l(1-t.es*r*r)),e.x=s*n(r),e.y=o-s*a(r)}):(r=i(s)+_>=N?0:1/e(s),t.inv=function(t,n){var e=f(t.x,t.y=r-t.y);n.phi=r+s-e,i(n.phi)>N&&j(),i(i(n.phi)-N)<=_?n.lam=0:n.lam=e*p(t.x,t.y)/a(n.phi)},t.fwd=function(t,e){var o,h;h=r+s-t.phi,i(h)>_?(e.x=h*n(o=t.lam*a(t.phi)/h),e.y=r-h*a(o)):e.x=e.y=0})},"bonne","Bonne (Werner lat_1=90)","Conic Sph&Ell\nlat_1="),ii(function(i){var t,s,o=.16666666666666666,h=.008333333333333333,c=.041666666666666664,u=.06666666666666667;i.es?(s=Yt(i.es),t=Xt(i.phi0,n(i.phi0),a(i.phi0),s),i.fwd=function(r,p){var u,_,f,m,d,y;p.y=Xt(r.phi,u=n(r.phi),m=a(r.phi),s),u=1/l(1-i.es*u*u),y=e(r.phi),_=y*y,f=r.lam*m,m*=i.es*m/(1-i.es),d=f*f,p.x=u*f*(1-d*_*(o-(8-_+8*m)*d*h)),p.y-=t-u*y*d*(.5+(5-_+6*m)*d*c)},i.inv=function(r,o){var h,p,_,f,m,d,y;y=Zt(t+r.y,i.es,s),d=e(y),p=d*d,h=n(y),_=1/(1-i.es*h*h),h=l(_),_*=(1-i.es)*h,f=r.x/h,m=f*f,o.phi=y-h*d/_*m*(.5-(1+3*p)*m*c),o.lam=f*(1+p*m*((1+3*p)*m*u-.3333333333333333))/a(y)}):(i.fwd=function(t,s){s.x=r(a(t.phi)*n(t.lam)),s.y=p(e(t.phi),a(t.lam))-i.phi0},i.inv=function(t,s){var o=t.y+i.phi0;s.phi=r(n(o)*a(t.x)),s.lam=p(e(t.x),a(o))})},"cass","Cassini","Cyl, Sph&Ell"),ii(function(t){var e,s,o=0;X(t.params,"tlat_ts")&&(t.k0=a(o=X(t.params,"rlat_ts")),t.k0<0&&B(-24)),t.es?(o=n(o),t.k0/=l(1-t.es*o*o),t.e=l(t.es),(s=sn(t.es))||e_error_0(),e=Kt(1,t.e,t.one_es),t.fwd=function(i,a){a.x=t.k0*i.lam,a.y=.5*Kt(n(i.phi),t.e,t.one_es)/t.k0},t.inv=function(i,n){n.phi=rn(r(2*i.y*t.k0/e),s),n.lam=i.x/t.k0}):(t.fwd=function(i,a){a.x=t.k0*i.lam,a.y=n(i.phi)/t.k0},t.inv=function(n,a){var e,s=n.x,o=n.y;(e=i(o*=t.k0))-D<=1?(a.phi=e>=1?o<0?-N:N:r(o),a.lam=s/t.k0):j()})},"cea","Equal Area Cylindrical","Cyl, Sph&Ell\nlat_ts="),ii(function(t){var e,s,r,o,h,c,u,_=1/3,f=[];for(c=0;c<3;++c)f[c]={p:{}},f[c].phi=X(t.params,"rlat_"+(c+1)),f[c].lam=X(t.params,"rlon_"+(c+1)),f[c].lam=wi(f[c].lam-t.lam0),f[c].cosphi=a(f[c].phi),f[c].sinphi=n(f[c].phi);for(c=0;c<3;++c)u=2==c?0:c+1,f[c].v=m(f[u].phi-f[c].phi,f[c].cosphi,f[c].sinphi,f[u].cosphi,f[u].sinphi,f[u].lam-f[c].lam),f[c].v.r||B(-25);function m(t,e,s,r,o,h){var c,u,_,f={};return c=a(h),i(t)>1||i(h)>1?f.r=Qt(cs1*o+e*r*c):(u=n(.5*t),_=n(.5*h),f.r=2*$t(l(u*u+e*r*_*_))),i(f.r)>1e-9?f.Az=p(r*n(h),e*o-s*r*c):f.r=f.Az=0,f}function d(i,t,n){return Qt(.5*(i*i+t*t-n*n)/(i*t))}r=d(f[0].v.r,f[2].v.r,f[1].v.r),o=d(f[0].v.r,f[1].v.r,f[2].v.r),h=S-r,s=2*(f[0].p.y=f[1].p.y=f[2].v.r*n(r)),f[2].p.y=0,f[0].p.x=-(f[1].p.x=.5*f[0].v.r),e=f[2].p.x=f[0].p.x+f[2].v.r*a(r),t.es=0,t.fwd=function(i,t){var r,p,l,c,u,y,v,g=[];for(r=n(i.phi),p=a(i.phi),c=0;c<3&&(g[c]=m(i.phi-f[c].phi,f[c].cosphi,f[c].sinphi,p,r,i.lam-f[c].lam),g[c].r);++c)g[c].Az=wi(g[c].Az-f[c].v.Az);if(c<3)y=f[c].p.x,v=f[c].p.y;else{for(y=e,v=s,c=0;c<3;++c)u=2==c?0:c+1,l=d(f[c].v.r,g[c].r,g[u].r),g[c].Az<0&&(l=-l),c?1==c?(l=o-l,y-=g[c].r*a(l),v-=g[c].r*n(l)):(l=h-l,y+=g[c].r*a(l),v+=g[c].r*n(l)):(y+=g[c].r*a(l),v-=g[c].r*n(l));y*=_,v*=_}t.x=y,t.y=v}},"chamb","Chamberlin Trimetric","Misc Sph, no inv.\nlat_1= lon_1= lat_2= lon_2= lat_3= lon_3="),ii(function(i){var t=1/3;i.inv=function(i,n){n.phi=3*r(.32573500793527993*i.y),n.lam=1.0233267079464885*i.x/(2*a((n.phi+n.phi)*t)-1)},i.fwd=function(i,e){i.phi*=t,e.x=.9772050238058398*i.lam*(2*a(i.phi+i.phi)-1),e.y=3.0699801238394655*n(i.phi)},i.es=0},"crast","Craster Parabolic (Putnins P4)","PCyl., Sph."),ii(function(i){var t=.5253,e=.7264,s=1/Math.sqrt(t*e),o=.9701,h=_(22*M),p=f(0),c=n(h),u=a(h);function _(i){return r(e*n(i)+.4188*l(t*e))}function f(i){return t*i}X(i.params,"tlon_0")||(i.lam0=11.023*M),i.es=0,i.fwd=function(i,t){var e=_(i.phi),r=f(i.lam),m=n(e),d=a(e),y=n(r-p),v=a(r-p),g=l(2/(1+n(h)*m+u*d*v));t.x=s*g*d*y*o,t.y=s*g*(u*m-c*d*v)/o}},"cupola","Cupola","PCyl., Sph., NoInv."),ii(function(t){t.fwd=function(t,n){var e=i(t.lam);n.y=t.phi,n.x=t.lam,n.x*=a((.95+e*(e*e*.0016666666666666666-.08333333333333333))*(t.phi*(.9+.03*t.phi*t.phi*t.phi*t.phi)))},t.es=0},"denoy","Denoyer Semi-Elliptical","PCyl, Sph., no inv."),ii(function(t){var n=.9213177319235613,a=.3183098861837907;t.es=0,t.fwd=function(t,e){e.x=n*t.lam*(1-a*i(t.phi)),e.y=n*t.phi},t.inv=function(t,e){e.phi=t.y/n,e.lam=t.x/(n*(1-a*i(e.phi)))}},"eck1","Eckert I","PCyl Sph"),ii(function(t){var a=.46065886596178063,e=1.4472025091165353;t.es=0,t.fwd=function(t,s){s.x=a*t.lam*(s.y=l(4-3*n(i(t.phi)))),s.y=e*(2-s.y),t.phi<0&&(s.y=-s.y)},t.inv=function(t,n){n.lam=t.x/(a*(n.phi=2-i(t.y)/e)),n.phi=.3333333333333333*(4-n.phi*n.phi),i(n.phi)>=1?i(n.phi)>1.0000001?j():n.phi=n.phi<0?-N:N:n.phi=r(n.phi),t.y<0&&(n.phi=-n.phi)}},"eck2","Eckert II","PCyl Sph"),ii(function(i){on(i,{C_x:.4222382003157712,C_y:.8444764006315424,A:1,B:.4052847345693511})},"eck3","Eckert III","PCyl Sph"),ii(function(i){on(i,{C_x:.94745,C_y:.94745,A:0,B:.3039635509270133})},"wag6","Wagner VI","PCyl Sph"),ii(function(i){on(i,{C_x:.8660254037844,C_y:1,A:0,B:.3039635509270133})},"kav7","Kavraisky VII","PCyl Sph"),ii(function(i){on(i,{C_x:1.8949,C_y:.94745,A:-.5,B:.3039635509270133})},"putp1","Putnins P1","PCyl Sph"),ii(function(t){var e=.4222382003157712,s=1.3265004281770023,r=3.5707963267948966;t.es=0,t.fwd=function(t,o){var h,p,l,c,u;for(h=r*n(t.phi),p=t.phi*t.phi,t.phi*=.895168+p*(.0218849+.00826809*p),u=6;u&&(c=a(t.phi),l=n(t.phi),t.phi-=p=(t.phi+l*(c+2)-h)/(1+c*(c+2)-l*l),!(i(p)<1e-7));--u);u?(o.x=e*t.lam*(1+a(t.phi)),o.y=s*n(t.phi)):(o.x=e*t.lam,o.y=t.phi<0?-s:s)},t.inv=function(i,t){var o;t.phi=$t(i.y/s),t.lam=i.x/(e*(1+(o=a(t.phi)))),t.phi=$t((t.phi+n(t.phi)*(o+2))/r)}},"eck4","Eckert IV","PCyl Sph"),ii(function(i){i.es=0,i.fwd=function(i,t){t.x=.4410127717245515*(1+a(i.phi))*i.lam,t.y=.882025543449103*i.phi},i.inv=function(i,t){t.lam=2.267508027238226*i.x/(1+a(t.phi=1.133754013619113*i.y))}},"eck5","Eckert V","PCyl Sph"),ii(function(i){var t=a(X(i.params,"rlat_ts"));t<=0&&B(-24),i.es=0,i.fwd=function(n,a){a.x=t*n.lam,a.y=n.phi-i.phi0},i.inv=function(n,a){a.lam=n.x/t,a.phi=n.y+i.phi0}},"eqc","Equidistant Cylindrical (Plate Caree)","Cyl, Sph\nlat_ts=[, lat_0=0]"),ii(function(t){var e,s,r,o,h,l,c,u,_,m,d,y,v;e=X(t.params,"rlat_1"),s=X(t.params,"rlat_2"),i(e+s)<D&&B(-21),(c=Yt(t.es))||e_error_0(),r=m=n(e),_=a(e),d=i(e-s)>=D,(u=t.es>0)?(v=Vt(m,_,t.es),y=Xt(e,m,_,c),d&&(m=n(s),_=a(s),r=(v-Vt(m,_,t.es))/(Xt(s,m,_,c)-y)),h=(l=y+v/r)-Xt(t.phi0,n(t.phi0),a(t.phi0),c)):(d&&(r=(_-a(s))/(s-e)),l=e+a(e)/r,h=l-t.phi0),t.fwd=function(i,t){o=l-(u?Xt(i.phi,n(i.phi),a(i.phi),c):i.phi),t.x=o*n(i.lam*=r),t.y=h-o*a(i.lam)},t.inv=function(i,n){0!=(o=f(i.x,i.y=h-i.y))?(r<0&&(o=-o,i.x=-i.x,i.y=-i.y),n.phi=l-o,u&&(n.phi=Zt(n.phi,t.es,c)),n.lam=p(i.x,i.y)/r):(n.lam=0,n.phi=r>0?N:-N)}},"eqdc","Equidistant Conic","Conic, Sph&Ell\nlat_1= lat_2="),ii(function(i){var t=1.340264,n=-.081106,a=893e-6,e=.003796,s=Math.sqrt(3)/2;i.es=0,i.fwd=function(i,r){var o=Math.asin(s*Math.sin(i.phi)),h=o*o,p=h*h*h;r.x=i.lam*Math.cos(o)/(s*(t+3*n*h+p*(7*a+9*e*h))),r.y=o*(t+n*h+p*(a+e*h))},i.inv=function(i,r){var o,h,p,l,c=i.y;for(l=0;l<12&&(c-=p=(c*(t+n*(o=c*c)+(h=o*o*o)*(a+e*o))-i.y)/(t+3*n*o+h*(7*a+9*e*o)),!(Math.abs(p)<1e-9));++l);h=(o=c*c)*o*o,r.lam=s*i.x*(t+3*n*o+h*(7*a+9*e*o))/Math.cos(c),r.phi=Math.asin(Math.sin(c)/s)}},"eqearth","Equal Earth","PCyl., Sph."),ii(hn,"etmerc","Extended Transverse Mercator","Cyl, Sph\nlat_ts=(0)\nlat_0=(0)"),ii(function(i){i.fwd=function(i,t){t.x=.7071067811865476*i.lam,t.y=1.7071067811865475*e(.5*i.phi)},i.inv=function(i,t){t.lam=1.4142135623730951*i.x,t.phi=2*h(.585786437626905*i.y)},i.es=0},"gall","Gall (Gall Stereographic)","Cyl, Sph"),ii(function(i){i.is_geocent=!0,i.x0=0,i.y0=0,i.fwd=function(i,t){t.x=i.lam,t.y=i.phi},i.inv=function(i,t){t.phi=i.y,t.lam=i.x}},"geocent","Geocentric",""),ii(function(i){var t,s,r,o,c,u,_,m=X(i.params,"dh"),d=X(i.params,"ssweep");d?"x"==d?_=1:"y"==d?_=0:B(-49):_=0,((c=m/i.a)<=0||c>1e10)&&B(-50),u=(o=1+c)*o-1,0!=i.es?(t=l(i.one_es),s=i.one_es,r=i.rone_es,i.inv=function(i,n){var s,m,d,y,v,g;s=-1,_?(d=e(i.y/c),m=e(i.x/c)*f(1,d)):(m=e(i.x/c),d=e(i.y/c)*f(1,m));var A=(v=2*o*s)*v-4*(y=m*m+(y=d/t)*y+s*s)*u;A<0&&B(-51),g=(-v-l(A))/(2*y),s=o+g*s,m*=g,d*=g,n.lam=p(m,s),n.phi=h(d*a(n.lam)/s),n.phi=h(r*e(n.phi))},i.fwd=function(i,p){var l,u,m,d,y;i.phi=h(s*e(i.phi)),l=t/f(t*a(i.phi),n(i.phi)),u=l*a(i.lam)*a(i.phi),m=l*n(i.lam)*a(i.phi),d=l*n(i.phi),(o-u)*u-m*m-d*d*r<0&&B(-51),y=o-u,_?(p.x=c*h(m/f(d,y)),p.y=c*h(d/y)):(p.x=c*h(m/y),p.y=c*h(d/f(m,y)))}):(t=s=r=1,i.inv=function(i,t){var n,s,r,f,m,d;n=-1,_?(r=e(i.y/c),s=e(i.x/c)*l(1+r*r)):(s=e(i.x/c),r=e(i.y/c)*l(1+s*s));var y=(m=2*o*n)*m-4*(f=s*s+r*r+n*n)*u;y<0&&B(-51),d=(-m-l(y))/(2*f),n=o+d*n,s*=d,r*=d,t.lam=p(s,n),t.phi=h(r*a(t.lam)/n)},i.fwd=function(i,t){var e=a(i.phi),s=a(i.lam)*e,r=n(i.lam)*e,p=n(i.phi);e=o-s,_?(t.x=c*h(r/f(p,e)),t.y=c*h(p/e)):(t.x=c*h(r/e),t.y=c*h(p/f(r,e)))})},"geos","Geostationary Satellite View","Azi, Sph&Ell"),ii(function(i){var t=o(X(i.params,"tlat_1")?X(i.params,"rlat_1"):0),s=n(t),r=a(t);function o(i){return $t(e(.5*i))}i.fwd=function(i,t){var e=.5*i.lam,h=o(i.phi),p=n(h),l=a(h),c=a(e);s*p+r*l*c>=0?(t.x=l*n(e),t.y=r*p-s*l*c):z()},i.es=0},"gilbert","Gilbert Two World Perspective","PCyl., Sph., NoInv.\nlat_1="),ii(function(i){i.fwd=function(i,t){var n=i.phi*i.phi;t.y=i.phi*(1+.08333333333333333*n),t.x=i.lam*(1-.162388*n),n=i.lam*i.lam,t.x*=.87-952426e-9*n*n},i.es=0},"gins8","Ginsburg VIII (TsNIIGAiK)","PCyl, Sph., no inv."),ii(function(i){X(i.params,"tn"),X(i.params,"tm")?ln(i,X(i.params,"dm"),X(i.params,"dn")):B(-99)},"gn_sinu","General Sinusoidal Series","PCyl, Sph.\nm= n="),ii(pn,"sinu","Sinusoidal (Sanson-Flamsteed)","PCyl, Sph&Ell"),ii(function(i){ln(i,1,2.5707963267948966)},"eck6","Eckert VI","PCyl, Sph.\nm= n="),ii(function(i){ln(i,.5,1.7853981633974483)},"mbtfps","McBryde-Thomas Flat-Polar Sinusoidal","PCyl, Sph."),ii(function(t){var e,s,o=1e-10;i(i(t.phi0)-N)<o?s=t.phi0<0?1:0:i(t.phi0)<o?s=2:(s=3,sinph0=n(t.phi0),e=a(t.phi0)),t.inv=function(a,c){var u,_,m,d=a.x,y=a.y;if(u=f(d,y),m=n(c.phi=h(u)),_=l(1-m*m),i(u)<=o)c.phi=t.phi0,c.lam=0;else{switch(s){case 3:c.phi=_*sinph0+y*m*e/u,i(c.phi)>=1?c.phi=c.phi>0?N:-N:c.phi=r(c.phi),y=(_-sinph0*n(c.phi))*u,d*=m*e;break;case 2:c.phi=y*m/u,i(c.phi)>=1?c.phi=c.phi>0?N:-N:c.phi=r(c.phi),y=_*u,d*=m;break;case 1:c.phi-=N;break;case 0:c.phi=N-c.phi,y=-y}c.lam=p(d,y)}},t.fwd=function(i,t){var r,h,p;switch(p=n(i.phi),h=a(i.phi),r=a(i.lam),s){case 2:t.y=h*r;break;case 3:t.y=sinph0*p+e*h*r;break;case 1:t.y=-p;break;case 0:t.y=p}switch(t.y<=o&&z(),t.x=(t.y=1/t.y)*h*n(i.lam),s){case 2:t.y*=p;break;case 3:t.y*=e*p-sinph0*h*r;break;case 0:r=-r;case 1:t.y*=h*r}},t.es=0},"gnom","Gnomonic","Azi, Sph."),ii(cn,"moll","Mollweide","PCyl Sph"),ii(function(i){_n(i,un(0,S/3))},"wag4","Wagner IV","PCyl Sph"),ii(function(i){_n(i,{C_x:.90977,C_y:1.65014,C_p:3.00896})},"wag5","Wagner V","PCyl Sph"),ii(function(t){var n,a,e,s,r=.0528,o=.7109307819790236;t.es=0,pn(t),n=t.fwd,a=t.inv,cn(t),e=t.fwd,s=t.inv,t.fwd=function(t,a){i(t.phi)<o?n(t,a):(e(t,a),a.y-=t.phi>0?r:-r)},t.inv=function(t,n){i(t.y)<=o?a(t,n):(t.y+=t.y>0?r:-r,s(t,n))}},"goode","Goode Homolosine","PCyl, Sph."),ii(function(t){var e,s,r;t.inv=function(t,n){var a=l(1-.25*e*e*t.x*t.x-.25*t.y*t.y);i(2*a*a-1)<1e-10?(n.lam=A,n.phi=A,pj_errno=-14):(n.lam=nn(e*t.x*a,2*a*a-1)/e,n.phi=$t(a*t.y))},t.fwd=function(i,t){var o,h;h=l(2/(1+(o=a(i.phi))*a(i.lam*=e))),t.x=s*h*o*n(i.lam),t.y=r*h*n(i.phi)},t.es=0,X(t.params,"tW")?(e=i(X(t.params,"dW")))<=0&&B(-27):e=.5,X(t.params,"tM")?(s=i(X(t.params,"dM")))<=0&&B(-27):s=1,r=1/s,s/=e},"hammer","Hammer & Eckert-Greifendorff","Misc Sph,\nW= M="),ii(function(t){var e=1.000001;t.inv=function(t,s){var o=t.y*(t.y<0?.5179951515653813:.5686373742600607);i(o)>1?i(o)>e?j():o=o>0?N:-N:o=r(o),s.lam=1.1764705882352942*t.x/a(o),o+=o,s.phi=(o+n(o))*(t.y<0?.4102345310814193:.3736990601468637),i(s.phi)>1?i(s.phi)>e?j():s.phi=s.phi>0?N:-N:s.phi=r(s.phi)},t.fwd=function(t,e){var s,r,o;for(r=n(t.phi)*(t.phi<0?2.43763:2.67595),o=20;o&&(t.phi-=s=(t.phi+n(t.phi)-r)/(1+a(t.phi)),!(i(s)<1e-7));--o);e.x=.85*t.lam*a(t.phi*=.5),e.y=n(t.phi)*(t.phi<0?1.93052:1.75859)},t.es=0},"hatano","Hatano Asymmetrical Equal Area","PCyl., Sph."),ii(fn,"healpix","HEALPix","Sph., Ellps."),ii(function(i){fn(i,!0)},"rhealpix","rHEALPix","Sph., Ellps.\nnorth_square= south_square="),ii(function(t){var e,s=n(.5),h=r(s),c=2*l(S/(e=S+4*h*2)),u=.5*c*(2+l(3));t.es=0,t.fwd=function(t,s){var r,o,_=1-n(t.phi);if(_&&_<2){var f,m,d,y,v,g=N-t.phi,A=25;do{m=n(g),d=a(g),v=h+p(m,2-d),g-=f=(g-1*h-2*m+(y=5-4*d)*v-.5*_*e)/(4*m*v)}while(i(f)>1e-12&&--A>0);r=c*l(y),o=t.lam*v/S}else r=c*(1+_),o=t.lam*h/S;s.x=r*n(o),s.y=u-r*a(o)},t.inv=function(i,t){var a=i.x,s=i.y,_=a*a+(s-=u)*s,f=(5-_/(c*c))/4,m=o(f),d=n(m),y=h+p(d,2-f);t.lam=r(a/l(_))*S/y,t.phi=r(1-2*(m-1*h-2*d+(5-4*f)*y)/e)}},"hill","Hill Eucyclic","PCyl., Sph."),ii(function(t){var s,o,u,_,f,m,d,y,v,g=.785398163397448,A=1.37008346281555;t.a=6377397.155,t.e=l(t.es=.006674372230614),X(t.params,"tlat_0")||(t.phi0=.863937979737193),X(t.params,"tlon_0")||(t.lam0=.4334234309119251),X(t.params,"tk")||(t.k0=.9999),v=1,X(t.params,"tczech")||(v=-1),_=l(1+t.es*c(a(t.phi0),4)/(1-t.es)),s=r(n(t.phi0)/_),u=c((1+t.e*n(t.phi0))/(1-t.e*n(t.phi0)),_*t.e/2),f=e(s/2+g)/c(e(t.phi0/2+g),_)*u,o=l(1-t.es)/(1-t.es*c(n(t.phi0),2)),m=n(A),d=t.k0*o/e(A),y=.5286277629901559,t.inv=function(s,o){var u,C,S,x,M,E,b,w;b=s.x,s.x=s.y,s.y=b,s.x*=v,s.y*=v,M=l(s.x*s.x+s.y*s.y),x=p(s.y,s.x)/n(A),S=2*(h(c(d/M,1/m)*e(A/2+g))-g),u=r(a(y)*n(S)-n(y)*a(S)*a(x)),C=r(a(S)*n(x)/a(u)),o.lam=t.lam0-C/_,E=u,w=0;do{o.phi=2*(h(c(f,-1/_)*c(e(u/2+g),1/_)*c((1+t.e*n(E))/(1-t.e*n(E)),t.e/2))-g),i(E-o.phi)<1e-15&&(w=1),E=o.phi}while(0===w);o.lam-=t.lam0},t.fwd=function(i,s){var o,p,l,u,C,S,x;o=c((1+t.e*n(i.phi))/(1-t.e*n(i.phi)),_*t.e/2),p=2*(h(f*c(e(i.phi/2+g),_)/o)-g),l=-i.lam*_,u=r(a(y)*n(p)+n(y)*a(p)*a(l)),C=r(a(p)*n(l)/a(u)),S=m*C,x=d*c(e(A/2+g),m)/c(e(u/2+g),m),s.y=x*a(S),s.x=x*n(S),s.y*=v,s.x*=v}},"krovak","Krovak","PCyl., Ellps."),ii(function(t){var e,s,o,h,c,u,_,m,d,y,v,g=1e-10;if(y=i(t.phi0),d=i(y-N)<g?t.phi0<0?1:0:i(y)<g?2:3,t.es){switch(t.e=l(t.es),c=Kt(1,t.e,t.one_es),t.es,m=sn(t.es),d){case 0:case 1:u=1;break;case 2:u=1/(_=l(.5*c)),o=1,h=.5*c;break;case 3:_=l(.5*c),v=n(t.phi0),e=Kt(v,t.e,t.one_es)/c,s=l(1-e*e),u=a(t.phi0)/(l(1-t.es*v*v)*_*s),h=(o=_)/u,o*=u}t.inv=function(i,o){var h,l,y,v,A=0;switch(d){case 2:case 3:if(i.x/=u,i.y*=u,(v=f(i.x,i.y))<g)return o.lam=0,o.phi=t.phi0,o;l=2*r(.5*v/_),h=a(l),l=n(l),i.x*=l,3==d?(A=h*e+i.y*l*s/v,i.y=v*s*h-i.y*e*l):(A=i.y*l/v,i.y=v*h);break;case 0:i.y=-i.y;case 1:if(!(y=i.x*i.x+i.y*i.y))return o.lam=0,o.phi=t.phi0,o;A=1-y/c,1==d&&(A=-A)}return o.lam=p(i.x,i.y),o.phi=rn(r(A),m),o},t.fwd=function(r,p){var u,_,f,m,y=0,v=0,A=0;switch(u=a(r.lam),_=n(r.lam),f=n(r.phi),m=Kt(f,t.e,t.one_es),(3==d||2==d)&&(v=l(1-(y=m/c)*y)),d){case 3:A=1+e*y+s*v*u;break;case 2:A=1+v*u;break;case 0:A=N+r.phi,m=c-m;break;case 1:A=r.phi-N,m=c+m}switch(i(A)<g&&z(),d){case 3:case 2:3==d?(A=l(2/A),p.y=h*A*(s*y-e*v*u)):(A=l(2/(1+v*u)),p.y=A*y*h),p.x=o*A*v*_;break;case 0:case 1:m>=0?(A=l(m),p.x=A*_,p.y=u*(1==d?A:-A)):p.x=p.y=0}}}else 3==d&&(e=n(t.phi0),s=a(t.phi0)),t.inv=function(o,h){var l,c=0,u=0;switch(l=f(o.x,o.y),(h.phi=.5*l)>1&&j(),h.phi=2*r(h.phi),(3==d||2==d)&&(u=n(h.phi),c=a(h.phi)),d){case 2:h.phi=i(l)<=g?0:r(o.y*u/l),o.x*=u,o.y=c*l;break;case 3:h.phi=i(l)<=g?t.phi0:r(c*e+o.y*u*s/l),o.x*=u*s,o.y=(c-n(h.phi)*e)*l;break;case 0:o.y=-o.y,h.phi=N-h.phi;break;case 1:h.phi-=N}h.lam=0!=o.y||2!=d&&3!=d?p(o.x,o.y):0},t.fwd=function(r,o){var h,p,c;switch(c=n(r.phi),p=a(r.phi),h=a(r.lam),d){case 2:case 3:o.y=2==d?1+p*h:1+e*c+s*p*h,o.y<=g&&z(),o.y=l(2/o.y),o.x=o.y*p*n(r.lam),o.y*=2==d?c:s*c-e*p*h;break;case 0:h=-h;case 1:i(r.phi+t.phi0)<g&&z(),o.y=w-.5*r.phi,o.y=2*(1==d?a(o.y):n(o.y)),o.x=o.y*n(r.lam),o.y*=h}}},"laea","Lambert Azimuthal Equal Area","Azi, Sph&Ell"),ii(mn,"lonlat","Lat/long (Geodetic)",""),ii(mn,"longlat","Lat/long (Geodetic alias)",""),ii(mn,"latlon","Lat/long (Geodetic alias)",""),ii(mn,"latlong","Lat/long (Geodetic alias)",""),ii(function(t){var s,r,o,u,m,d,y,v,g,C,S,x=1e-10;t.inv=function(i,n){var a,e=i.x,s=i.y;e/=t.k0,s/=t.k0,0!=(a=f(e,s=y-s))?(d<0&&(a=-a,e=-e,s=-s),g?(n.phi=yn(c(a/v,1/d),t.e),n.phi==A&&j()):n.phi=2*h(c(v/a,1/d))-N,n.lam=p(e,s)/d):(n.lam=0,n.phi=d>0?N:-N)},t.fwd=function(s,r){var o,h=s.lam;i(i(s.phi)-N)<x?(s.phi*d<=0&&z(),o=0):o=v*(g?c(dn(s.phi,n(s.phi),t.e),d):c(e(w+.5*s.phi),-d)),h*=d,r.x=t.k0*(o*n(h)),r.y=t.k0*(y-o*a(h))},u=X(t.params,"rlat_1"),X(t.params,"tlat_2")?m=X(t.params,"rlat_2"):(m=u,X(t.params,"tlat_0")||(t.phi0=u)),i(u+m)<x&&B(-21),d=r=n(u),s=a(u),o=i(u-m)>=x,(g=0!=t.es)?(t.e=l(t.es),S=Vt(r,s,t.es),C=dn(u,r,t.e),o&&(r=n(m),d=_(S/Vt(r,a(m),t.es)),d/=_(C/dn(m,r,t.e))),v=y=S*c(C,-d)/d,y*=i(i(t.phi0)-N)<x?0:c(dn(t.phi0,n(t.phi0),t.e),d)):(o&&(d=_(s/a(m))/_(e(w+.5*m)/e(w+.5*u))),v=s*c(e(w+.5*u),d)/d,y=i(i(t.phi0)-N)<x?0:v*c(e(w+.5*t.phi0),-d))},"lcc","Lambert Conformal Conic","Conic, Sph&Ell\nlat_1= and lat_2= or lat_0="),ii(function(t){var n,s,r,o=1e-8;n=X(t.params,"rlat_1"),s=a(n),r=e(w+.5*n),s<o&&B(-22),t.fwd=function(t,a){a.y=t.phi-n,i(a.y)<o?a.x=t.lam*s:(a.x=w+.5*t.phi,i(a.x)<o||i(i(a.x)-N)<o?a.x=0:a.x=t.lam*a.y/_(e(a.x)/r))},t.inv=function(t,a){a.phi=t.y+n,i(t.y)<o?a.lam=t.x/s:(a.lam=w+.5*a.phi,i(a.lam)<o||i(i(a.lam)-N)<o?a.lam=0:a.lam=t.x*_(e(a.lam)/r)/t.y)},t.es=0},"loxim","Loximuthal","PCyl Sph"),ii(function(t){var e=.9525793444156804,s=.9258200997725514,o=3.401680257083045,h=2/3,p=1/3,l=1.0000001;t.fwd=function(i,t){i.phi=r(e*n(i.phi)),t.x=s*i.lam*(2*a(h*i.phi)-1),t.y=o*n(p*i.phi)},t.inv=function(t,p){p.phi=t.y/o,i(p.phi)>=1?i(p.phi)>l?j():p.phi=p.phi<0?-N:N:p.phi=r(p.phi),p.lam=t.x/(s*(2*a(h*(p.phi*=3))-1)),i(p.phi=n(p.phi)/e)>=1?i(p.phi)>l?j():p.phi=p.phi<0?-N:N:p.phi=r(p.phi)},t.es=0},"mbt_fpp","McBride-Thomas Flat-Polar Parabolic","Cyl., Sph."),ii(function(t){var e=1.000001;t.fwd=function(t,e){var s,r,o;for(r=1.7071067811865475*n(t.phi),o=20;o&&(t.phi-=s=(n(.5*t.phi)+n(t.phi)-r)/(.5*a(.5*t.phi)+a(t.phi)),!(i(s)<1e-7));--o);e.x=.3124597141037825*t.lam*(1+2*a(t.phi)/a(.5*t.phi)),e.y=1.874758284622695*n(.5*t.phi)},t.inv=function(t,s){var o;s.phi=.533402096794177*t.y,i(s.phi)>1?i(s.phi)>e?j():s.phi<0?(o=-1,s.phi=-S):(o=1,s.phi=S):s.phi=2*r(o=s.phi),s.lam=3.2004125807650623*t.x/(1+2*a(s.phi)/a(.5*s.phi)),s.phi=.585786437626905*(o+n(s.phi)),i(s.phi)>1?i(s.phi)>e?j():s.phi=s.phi<0?-N:N:s.phi=r(s.phi)},t.es=0},"mbt_fpq","McBryde-Thomas Flat-Polar Quartic","Cyl., Sph."),ii(function(t){var e=.45503,s=1.36509,r=1.41546,o=.22248,h=1.44492,p=1/3;t.fwd=function(t,l){var c,u,_,f;for(c=r*n(t.phi),f=10;f&&(_=t.phi/s,t.phi-=u=(e*n(_)+n(t.phi)-c)/(p*a(_)+a(t.phi)),!(i(u)<1e-7));--f);_=t.phi/s,l.x=o*t.lam*(1+3*a(t.phi)/a(_)),l.y=h*n(_)},t.inv=function(i,t){var p;t.phi=s*(p=$t(i.y/h)),t.lam=i.x/(o*(1+3*a(t.phi)/a(p))),t.phi=$t((e*n(p)+n(t.phi))/r)},t.es=0},"mbt_fps","McBryde-Thomas Flat-Pole Sine (No. 2)","Cyl., Sph."),ii(function(t){var s=1e-10,r=0,o=X(t.params,"tlat_ts");o&&(r=X(t.params,"rlat_ts"))>=N&&B(-24),t.es?(o&&(t.k0=Vt(n(r),a(r),t.es)),t.inv=function(i,n){n.phi=yn(u(-i.y/t.k0),t.e),n.phi===A&&j(),n.lam=i.x/t.k0},t.fwd=function(a,e){i(i(a.phi)-N)<=s&&z(),e.x=t.k0*a.lam,e.y=-t.k0*_(dn(a.phi,n(a.phi),t.e))}):(t.inv=function(i,n){n.phi=N-2*h(u(-i.y/t.k0)),n.lam=i.x/t.k0},t.fwd=function(n,a){i(i(n.phi)-N)<=s&&z(),a.x=t.k0*n.lam,a.y=t.k0*_(e(w+.5*n.phi))})},"merc","Mercator","Cyl, Sph&Ell\nlat_ts="),ii(function(t){t.k0=1,t.inv=function(i,n){n.phi=N-2*h(u(-i.y/t.k0)),n.lam=i.x/t.k0},t.fwd=function(n,a){i(i(n.phi)-N)<=D&&z(),a.x=t.k0*n.lam,a.y=t.k0*_(e(w+.5*n.phi))}},"webmerc","Web Mercator / Pseudo Mercator","Cyl, Ell"),ii(function(i){i.fwd=function(i,t){t.x=i.lam,t.y=1.25*_(e(w+.4*i.phi))},i.inv=function(i,t){t.lam=i.x,t.phi=2.5*(h(u(.8*i.y))-w)},i.es=0},"mill","Miller Cylindrical","Cyl, Sph"),ii(function(i){i.lam0=20*M,i.phi0=18*M,i.es=0,An(i,[[.9245,0],[0,0],[.01943,0]])},"mil_os","Miller Oblated Stereographic","Azi(mod)"),ii(function(i){i.lam0=-165*M,i.phi0=-10*M,i.es=0,An(i,[[.721316,0],[0,0],[-.0088162,-.00617325]])},"lee_os","Lee Oblated Stereographic","Azi(mod)"),ii(function(i){i.lam0=-96*M,i.phi0=39*M,i.es=0,i.a=6370997,An(i,[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]])},"gs48","Mod Stereographic of 48 U.S.","Azi(mod)"),ii(function(i){var t;i.lam0=-152*M,i.phi0=64*M,0!=i.es?(t=[[.9945303,0],[.0052083,-.0027404],[.0072721,.0048181],[-.0151089,-.1932526],[.0642675,-.1381226],[.3582802,-.2884586]],i.a=6378206.4,i.e=l(i.es=.00676866)):(t=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],i.a=6370997),An(i,t)},"alsk","Mod Stereographic of Alaska","Azi(mod)"),ii(function(i){var t;i.lam0=-120*M,i.phi0=45*M,0!=i.es?(t=[[.9827497,0],[.0210669,.0053804],[-.1031415,-.0571664],[-.0323337,-.0322847],[.0502303,.1211983],[.0251805,.0895678],[-.0012315,-.1416121],[.0072202,-.1317091],[-.0194029,.0759677],[-.0210072,.0834037]],i.a=6378206.4,i.e=l(i.es=.00676866)):(t=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],i.a=6370997),An(i,t)},"gs50","Mod Stereographic of 50 U.S.","Azi(mod)"),ii(function(t){var n=.8707,a=-.131979,e=-.013791,s=.003971,r=-.001529,o=1.007226,h=.015085,p=-.044475,l=.028874,c=-.005916,u=o,_=3*h,f=7*p,m=9*l,d=11*c,y=.8707*.52*S;t.es=0,t.fwd=function(i,t){var u,_;_=(u=i.phi*i.phi)*u,t.x=i.lam*(n+u*(a+u*(e+_*u*(s+u*r)))),t.y=i.phi*(o+u*(h+_*(p+l*u+c*_)))},t.inv=function(t,v){var g,A,C,S,x=t.x,M=t.y;for(M>y?M=y:M<-y&&(M=-y),g=M;g-=A=(g*(o+(C=g*g)*(h+(S=C*C)*(p+l*C+c*S)))-M)/(u+C*(_+S*(f+m*C+d*S))),!(i(A)<1e-11););v.phi=g,C=g*g,v.lam=x/(n+C*(a+C*(e+C*C*C*(s+C*r))))}},"natearth","Natural Earth","PCyl., Sph."),ii(function(t){var n=.84719,a=-.13063,e=-.04515,s=.05494,r=-.02326,o=.00331,h=1.01183,p=-.02625,l=.01926,c=-.00396,u=h,_=9*p,f=.45334622460635143*S;t.es=0,t.fwd=function(i,t){var u,_,f;f=(u=i.phi*i.phi)*(_=u*u),t.x=i.lam*(n+a*u+f*f*(e+s*u+r*_+o*f)),t.y=i.phi*(h+_*_*(p+l*u+c*_))},t.inv=function(t,m){var d,y,v,g,A,C=t.x,S=t.y;for(S>f?S=f:S<-f&&(S=-f),d=S;d-=y=(d*(h+(g=(v=d*d)*v)*g*(p+l*v+c*g))-S)/(u+g*g*(_+.21186*v+-.05148*g)),!(i(y)<1e-11););m.phi=d,A=(v=d*d)*(g=v*v),m.lam=C/(n+a*v+A*A*(e+s*v+r*g+o*A))}},"natearth2","Natural Earth 2","PCyl., Sph."),ii(function(t){t.inv=function(i,t){t.lam=2*i.x/(1+a(i.y)),t.phi=$t(.5*(i.y+n(i.y)))},t.fwd=function(t,e){var s,r,o;for(s=2*n(t.phi),r=t.phi*t.phi,t.phi*=1.00371+r*(-.011412*r-.0935382),o=10;o&&(t.phi-=r=(t.phi+n(t.phi)-s)/(1+a(t.phi)),!(i(r)<1e-7));--o);e.x=.5*t.lam*(1+a(t.phi)),e.y=t.phi},t.es=0},"nell","Nell","PCyl., Sph."),ii(function(t){t.es=0,t.fwd=function(i,t){t.x=.5*i.lam*(1+a(i.phi)),t.y=2*(i.phi-e(.5*i.phi))},t.inv=function(t,n){var s,r,o,h;for(o=.5*t.y,h=9;h>0&&(r=a(.5*n.phi),n.phi-=s=(n.phi-e(n.phi/2)-o)/(1-.5/(r*r)),!(i(s)<1e-7));--h);h?n.lam=2*t.x/(1+a(n.phi)):(n.phi=o<0?-N:N,n.lam=2*t.x)}},"nell_h","Nell-Hammer","PCyl., Sph."),ii(function(t){t.es=0,t.fwd=function(t,e){var s=1e-10;if(i(t.lam)<s)e.x=0,e.y=t.phi;else if(i(t.phi)<s)e.x=t.lam,e.y=0;else if(i(i(t.lam)-N)<s)e.x=t.lam*a(t.phi),e.y=N*n(t.phi);else if(i(i(t.phi)-N)<s)e.x=0,e.y=t.phi;else{var r=N/t.lam-t.lam/N,o=t.phi/N,h=n(t.phi),p=(1-o*o)/(h-o),c=r/p,u=(r*h/p-.5*r)/(1+(c*=c)),_=(h/c+.5*p)/(1+1/c);e.x=a(t.phi),e.x=l(u*u+e.x*e.x/(1+c)),e.x=N*(u+(t.lam<0?-e.x:e.x)),e.y=l(_*_-(h*h/c+p*h-1)/(1+1/c)),e.y=N*(_+(t.phi<0?e.y:-e.y))}}},"nicol","Nicolosi Globular","Misc Sph, no inv"),ii(function(i){Cn(i,X(i.params,"dh"))},"nsper","Near-sided perspective","Azi, Sph\nh="),ii(function(i){var t=X(i.params,"dtilt")*M,n=X(i.params,"dazi")*M,a=X(i.params,"dh");Cn(i,a,t,n)},"tpers","Tilted perspective","Azi, Sph\ntilt= azi= h="),ii(function(t){var n=[[.7557853228,0],[.249204646,.003371507],[-.001541739,.04105856],[-.10162907,.01727609],[-.26623489,-.36249218],[-.6870983,-1.1651967]],a=[1.5627014243,.5185406398,-.03333098,-.1052906,-.0368594,.007317,.0122,.00394,-.0013],e=[.6399175073,-.1358797613,.063294409,-.02526853,.0117879,-.0055161,.0026906,-.001333,67e-5,-34e-5];t.ra=1/(t.a=6378388),t.lam0=173*M,t.phi0=-41*M,t.x0=251e4,t.y0=6023150,t.inv=function(e,s){var r,o,h,p,l,c,u={r:e.y,i:e.x},_={};for(r=20;r>0&&((l=gn(u,n,_)).r-=e.y,l.i-=e.x,c=_.r*_.r+_.i*_.i,u.r+=h=-(l.r*_.r+l.i*_.i)/c,u.i+=p=-(l.i*_.r-l.r*_.i)/c,!(i(h)+i(p)<=1e-10));--r);if(r>0){for(s.lam=u.i,o=a.length-1,s.phi=a[o],--o;o>=0;--o)s.phi=a[o]+u.r*s.phi;s.phi=t.phi0+u.r*s.phi*.484813681109536}else s.lam=s.phi=A},t.fwd=function(i,a){var s=e.length-1,r={r:e[s]},o=2.0626480624709638*(i.phi-t.phi0);for(--s;s>=0;--s)r.r=e[s]+o*r.r;r.r*=o,r.i=i.lam,r=vn(r,n),a.x=r.i,a.y=r.r}},"nzmg","New Zealand Map Grid","fixed Earth"),ii(function(t){var s,r,o,l,c,u,_,f,m,d,y,v,g,C,S,E=1e-10;s=X(t.params,"so_proj"),r=Q[s],s||B(-26),r&&"ob_tran"!=s||B(-37),t.es=0,o={},Object.keys(t).forEach(function(i){o[i]=t[i]}),r.init(o),o.is_latlong&&1==t.to_meter&&(t.to_meter=M,t.fr_meter=x),X(t.params,"to_alpha")?(f=X(t.params,"ro_lon_c"),m=X(t.params,"ro_lat_c"),d=X(t.params,"ro_alpha"),i(i(m)-N)<=E&&B(-32),l=f+nn(-a(d),-n(d)*n(m)),_=$t(a(m)*n(d))):X(t.params,"to_lat_p")?(l=X(t.params,"ro_lon_p"),_=X(t.params,"ro_lat_p")):(y=X(t.params,"ro_lon_1"),g=X(t.params,"ro_lat_1"),v=X(t.params,"ro_lon_2"),C=X(t.params,"ro_lat_2"),(i(g-C)<=E||(S=i(g))<=E||i(S-N)<=E||i(i(C)-N)<=E)&&B(-33),l=p(a(g)*n(C)*a(y)-n(g)*a(C)*a(v),n(g)*a(C)*n(v)-a(g)*n(C)*n(y)),_=h(-a(l-y)/e(g))),i(_)>E?(c=a(_),u=n(_),t.fwd=function(i,t){var e,s,r;e=a(i.lam),s=n(i.phi),r=a(i.phi),i.lam=wi(nn(r*n(i.lam),u*r*e+c*s)+l),i.phi=$t(u*s-c*r*e),o.fwd(i,t)},t.inv=o.inv?function(i,t){var e,s,r;o.inv(i,t),t.lam!=A&&(e=a(t.lam-=l),s=n(t.phi),r=a(t.phi),t.phi=$t(u*s+c*r*e),t.lam=nn(r*n(t.lam),u*r*e-c*s))}:null):(t.fwd=function(i,t){var e,s;e=a(i.phi),s=a(i.lam),i.lam=wi(nn(e*n(i.lam),n(i.phi))+l),i.phi=$t(-e*s),o.fwd(i,t)},t.inv=o.inv?function(i,t){var e,s;o.inv(i,t),t.lam!=A&&(e=a(t.phi),s=t.lam-l,t.lam=nn(e*n(s),-n(t.phi)),t.phi=$t(e*a(s)))}:null)},"ob_tran","General Oblique Transformation","Misc Sph\no_proj= plus parameters for projection\no_lat_p= o_lon_p= (new pole) or\no_alpha= o_lon_c= o_lat_c= or\no_lon_1= o_lat_1= o_lon_2= o_lat_2="),ii(function(i){var t,s,o,c,u,_,f,m,d,y,v;f=1/i.k0,m=i.k0,X(i.params,"talpha")?(_=X(i.params,"ralpha"),u=X(i.params,"rlonc"),v=h(-a(_)/(-n(0)*n(_)))+u,d=r(a(0)*n(_))):(t=X(i.params,"rlat_1"),s=X(i.params,"rlat_2"),o=X(i.params,"rlon_1"),c=X(i.params,"rlon_2"),v=p(a(t)*n(s)*a(o)-n(t)*a(s)*a(c),n(t)*a(s)*n(c)-a(t)*n(s)*n(o)),o==-N&&(v=-v),d=h(-a(v-o)/e(t))),i.lam0=v+N,y=a(d),d=n(d),v=n(v),i.es=0,i.fwd=function(i,t){var s;t.y=n(i.lam),s=a(i.lam),t.x=h((e(i.phi)*y+d*t.y)/s),s<0&&(t.x+=S),t.x*=m,t.y=f*(d*n(i.phi)-y*a(i.phi)*t.y)},i.inv=function(i,t){var e,s;i.y/=f,i.x/=m,e=l(1-i.y*i.y),t.phi=r(i.y*d+e*y*(s=n(i.x))),t.lam=p(e*d*s-i.y*y,e*a(i.x))}},"ocea","Oblique Cylindrical Equal Area","Cyl, Sph lonc= alpha= or\nlat_1= lat_2= lon_1= lon_2="),ii(function(t){var s,o,f,m,d,y,v,g,C,x,M,E,b,I,k,P,T,O,L,R,q,U,W,H,F,K,V,J=1e-7,Y=0,Z=0,$=0,Q=0,ii=0,ti=0,ni=0,ai=0;V=X(t.params,"tno_rot"),0!=(E=X(t.params,"talpha"))&&(ni=X(t.params,"ralpha")),0!=(b=X(t.params,"tgamma"))&&(Y=X(t.params,"rgamma")),E||b?(Z=X(t.params,"rlonc"),(ai=X(t.params,"tno_off")||X(t.params,"tno_uoff"))&&(X(t.params,"sno_uoff"),X(t.params,"sno_off"))):($=X(t.params,"rlon_1"),ii=X(t.params,"rlat_1"),Q=X(t.params,"rlon_2"),ti=X(t.params,"rlat_2"),(i(ii-ti)<=J||(s=i(ii))<=J||i(s-N)<=J||i(i(t.phi0)-N)<=J||i(i(ti)-N)<=J)&&B(-33)),o=l(t.one_es),i(t.phi0)>D?(g=n(t.phi0),f=a(t.phi0),s=1-t.es*g*g,k=f*f,k=l(1+t.es*k*k/t.one_es),I=k*t.k0*o/s,(d=(m=k*o/(f*l(s)))*m-1)<=0?d=0:(d=l(d),t.phi0<0&&(d=-d)),P=d+=m,P*=c(dn(t.phi0,g,t.e),k)):(k=1/o,I=t.k0,P=m=d=1),E||b?(E?(M=r(n(ni)/m),b||(Y=ni)):ni=r(m*n(M=Y)),t.lam0=Z-r(.5*(d-1/d)*e(M))/k):(y=c(dn(ii,n(ii),t.e),k),v=c(dn(ti,n(ti),t.e),k),d=P/y,C=(v-y)/(v+y),x=((x=P*P)-v*y)/(x+v*y),(s=$-Q)<-S?Q-=G:s>S&&(Q+=G),t.lam0=wi(.5*($+Q)-h(x*e(.5*k*($-Q))/C)/k),M=h(2*n(k*wi($-t.lam0))/(d-1/d)),Y=ni=r(m*n(M))),R=n(M),q=a(M),U=n(Y),W=a(Y),O=1/(T=I*(L=1/k)),ai?K=0:(K=i(T*h(l(m*m-1)/a(ni))),t.phi0<0&&(K=-K)),H=T*_(e(w-(d=.5*M))),F=T*_(e(w+d)),t.fwd=function(e,s){var r,o,h,l,u,f,m,d;i(i(e.phi)-N)>D?(r=.5*((u=P/c(dn(e.phi,n(e.phi),t.e),k))-(f=1/u)),o=.5*(u+f),l=n(k*e.lam),i(i(h=(r*R-l*q)/o)-1)<D&&z(),d=.5*T*_((1-h)/(1+h)),f=a(k*e.lam),m=i(f)<J?I*e.lam:T*p(r*q+l*R,f)):(d=e.phi>0?H:F,m=T*e.phi),V?(s.x=m,s.y=d):(m-=K,s.x=d*W+m*U,s.y=m*W-d*U)},t.inv=function(e,s){var r,o,h,_,f,m,d;V?(o=e.y,r=e.x):(o=e.x*W-e.y*U,r=e.y*W+e.x*U+K),_=.5*((h=u(-O*o))-1/h),f=.5*(h+1/h),m=n(O*r),i(i(d=(m*q+_*R)/f)-1)<D?(s.lam=0,s.phi=d<0?-N:N):(s.phi=P/l((1+d)/(1-d)),(s.phi=yn(c(s.phi,1/k),t.e))==A&&j(),s.lam=-L*p(_*q-m*R,a(O*r)))}},"omerc","Oblique Mercator","Cyl, Sph&Ell no_rot\nalpha= [gamma=] [no_off] lonc= or\nlon_1= lat_1= lon_2= lat_2="),ii(function(t){var e=1e-10,s={};i(i(t.phi0)-N)<=e?s.mode=t.phi0<0?1:0:i(t.phi0)>e?(s.mode=3,s.sinph0=n(t.phi0),s.cosph0=a(t.phi0)):s.mode=2,t.fwd=function(r,o){var h,p,l;switch(p=a(r.phi),h=a(r.lam),s.mode){case 2:p*h<-1e-10&&z(),o.y=n(r.phi);break;case 3:s.sinph0*(l=n(r.phi))+s.cosph0*p*h<-1e-10&&z(),o.y=s.cosph0*l-s.sinph0*p*h;break;case 0:h=-h;case 1:i(r.phi-t.phi0)-e>N&&z(),o.y=p*h}o.x=p*n(r.lam)},t.inv=function(n,a){var h,c,u;if((u=h=f(n.x,n.y))>1&&(u-1>e&&j(),u=1),c=l(1-u*u),i(h)<=e)a.phi=t.phi0,a.lam=0;else{switch(s.mode){case 0:n.y=-n.y,a.phi=o(u);break;case 1:a.phi=-o(u);break;case 2:case 3:2==s.mode?(a.phi=n.y*u/h,n.x*=u,n.y=c*h):(a.phi=c*s.sinph0+n.y*u*s.cosph0/h,n.y=(c-s.sinph0*a.phi)*h,n.x*=u*s.cosph0),i(a.phi)>=1?a.phi=a.phi<0?-N:N:a.phi=r(a.phi)}a.lam=0!=n.y||3!=s.mode&&2!=s.mode?p(n.x,n.y):0==n.x?0:n.x<0?-N:N}},t.es=0},"ortho","Orthographic","Azi, Sph."),ii(function(t){var n=1.0148,a=.23185,e=-.14499,s=.02406,r=n,o=5*a,h=7*e,p=908571831.7;t.es=0,t.fwd=function(i,t){var r=i.phi*i.phi;t.x=i.lam,t.y=i.phi*(n+r*r*(a+r*(e+s*r)))},t.inv=function(t,l){var c,u,_,f;for(c=t.y,t.y>p?t.y=p:t.y<-p&&(t.y=-p),f=100;f&&(c-=u=(c*(n+(_=c*c)*_*(a+_*(e+s*_)))-t.y)/(r+_*_*(o+_*(h+.21654*_))),!(i(u)<1e-11));--f);l.phi=c,l.lam=t.x}},"patterson","Patterson Cylindrical","Cyl., Sph."),ii(function(t){var s,o,h=1e-10,p=1e-12;t.es?(o=Yt(t.es),s=Xt(t.phi0,n(t.phi0),a(t.phi0),o),t.fwd=function(e,r){var p,l,c;i(e.phi)<=h?(r.x=e.lam,r.y=-s):(l=n(e.phi),p=i(c=a(e.phi))>h?Vt(l,c,t.es)/l:0,r.x=p*n(e.lam*=l),r.y=Xt(e.phi,l,c,o)-s+p*(1-a(e.lam)))},t.inv=function(c,u){var _,f,m,d,y,v,g,A,C,S,x=c.x,M=c.y;if(i(M+=s)<=h)u.lam=x,u.phi=0;else{for(_=M*M+x*x,u.phi=M,S=20;S>0&&(y=(m=n(u.phi))*(d=a(u.phi)),i(d)<p&&j(),f=m*(A=l(1-t.es*m*m))/d,g=(v=Xt(u.phi,m,d,o))*v+_,A=t.one_es/(A*A*A),u.phi+=C=(v+v+f*g-2*M*(f*v+1))/(t.es*y*(g-2*M*v)/f+2*(M-v)*(f*A-1/y)-A-A),!(i(C)<=p));--S);S||j(),f=n(u.phi),u.lam=r(x*e(u.phi)*l(1-t.es*f*f))/n(u.phi)}}):(s=-t.phi0,t.fwd=function(r,o){var p,l;i(r.phi)<=h?(o.x=r.lam,o.y=s):(p=1/e(r.phi),o.x=n(l=r.lam*n(r.phi))*p,o.y=r.phi-t.phi0+p*(1-a(l)))},t.inv=function(a,s){var o,p,l,c;if(i(a.y=t.phi0+a.y)<=h)s.lam=a.x,s.phi=0;else{s.phi=a.y,o=a.x*a.x+a.y*a.y,c=10;do{l=e(s.phi),s.phi-=p=(a.y*(s.phi*l+1)-s.phi-.5*(s.phi*s.phi+o)*l)/((s.phi-a.y)/l-1)}while(i(p)>1e-10&&--c);c||j(),s.lam=r(a.x*e(s.phi))/n(s.phi)}})},"poly","Polyconic (American)","Conic, Sph&Ell"),ii(function(t){var e=1.8949,s=1.71848,r=.6141848493043784,o=1.0471975511965976;t.es=0,t.fwd=function(t,h){var p,l,c,u,_;for(p=r*n(t.phi),c=t.phi*t.phi,t.phi*=.615709+c*(.00909953+.0046292*c),_=10;_&&(l=a(t.phi),c=n(t.phi),t.phi-=u=(t.phi+c*(l-1)-p)/(1+l*(l-1)-c*c),!(i(u)<1e-10));--_);_||(t.phi=t.phi<0?-o:o),h.x=e*t.lam*(a(t.phi)-.5),h.y=s*n(t.phi)},t.inv=function(i,t){var o;t.phi=$t(i.y/s),t.lam=i.x/(e*((o=a(t.phi))-.5)),t.phi=$t((t.phi+n(t.phi)*(o-1))/r)}},"putp2","Putnins P2","PCyl., Sph."),ii(Sn,"putp3","Putnins P3","PCyl., Sph."),ii(function(i){Sn(i,!0)},"putp3p","Putnins P3'","PCyl., Sph."),ii(function(i){xn(i,.874038744,3.883251825)},"putp4p","Putnins P4'","PCyl., Sph."),ii(function(i){xn(i,1,4.442882938)},"weren","Werenskiold I","PCyl., Sph."),ii(Mn,"putp5","Putnins P5","PCyl., Sph."),ii(function(i){Mn(i,!0)},"putp5p","Putnins P5'","PCyl., Sph."),ii(En,"putp6","Putnins P6","PCyl., Sph."),ii(function(i){En(i,!0)},"putp6p","Putnins P6'","PCyl., Sph."),ii(function(t){var s,r,c,u;function _(t,n,a){var e,s;return t<1e-10?(e=0,s=0):(s=p(n,a),i(s)<=w?e=0:s>w&&s<=N+w?(e=1,s-=N):s>N+w||s<=-(N+w)?(e=2,s=s>=0?s-S:s+S):(e=3,s+=N)),{area:e,theta:s}}function f(i,t){var n=i+t;return n<-S?n+=G:n>+S&&(n-=G),n}s=t.phi0>=N-w/2?4:t.phi0<=-(N-w/2)?5:i(t.lam0)<=w?0:i(t.lam0)<=N+w?t.lam0>0?1:3:2,0!==t.es&&(t.a,t.a,r=t.a*l(1-t.es),c=1-(t.a-r)/t.a,u=c*c),t.fwd=function(i,r){var p,c,m,d,y,v,g,A,C,x,M,E,b,G;p=0!==t.es?h(u*e(i.phi)):i.phi,c=i.lam,4==s?(d=N-p,c>=w&&c<=N+w?(g=0,m=c-N):c>N+w||c<=-(N+w)?(g=1,m=c>0?c-S:c+S):c>-(N+w)&&c<=-w?(g=2,m=c+N):(g=3,m=c)):5==s?(d=N+p,c>=w&&c<=N+w?(g=0,m=-c+N):c<w&&c>=-w?(g=1,m=-c):c<-w&&c>=-(N+w)?(g=2,m=-c-N):(g=3,m=c>0?-c+S:-c-S)):(1==s?c=f(c,+N):2==s?c=f(c,+S):3==s&&(c=f(c,-N)),M=n(p),E=a(p),b=n(c),A=E*a(c),C=E*b,x=M,0==s?G=_(d=o(A),x,C):1==s?G=_(d=o(C),x,-A):2==s?G=_(d=o(-A),x,-C):3==s?G=_(d=o(-C),x,A):(d=0,G={area:0,theta:0}),m=G.theta,g=G.area),v=h(12/S*(m+o(n(m)*a(w))-N)),y=l((1-a(d))/(a(v)*a(v))/(1-a(h(1/a(m))))),1==g?v+=N:2==g?v+=S:3==g&&(v+=I),r.x=y*a(v),r.y=y*n(v)},t.inv=function(_,m){var d,y,v,g,A,C,x,M,E,b,w,I,G;if(y=h(l(_.x*_.x+_.y*_.y)),d=p(_.y,_.x),_.x>=0&&_.x>=i(_.y)?b=0:_.y>=0&&_.y>=i(_.x)?(b=1,d-=N):_.x<0&&-_.x>=i(_.y)?(b=2,d=d<0?d+S:d-S):(b=3,d+=N),E=S/12*e(d),A=n(E)/(a(E)-1/l(2)),C=h(A),(x=1-(v=a(d))*v*(g=e(y))*g*(1-a(h(1/a(C)))))<-1?x=-1:x>1&&(x=1),4==s)M=o(x),m.phi=N-M,m.lam=0==b?C+N:1==b?C<0?C+S:C-S:2==b?C-N:C;else if(5==s)M=o(x),m.phi=M-N,m.lam=0==b?-C+N:1==b?-C:2==b?-C-N:C<0?-C-S:-C+S;else{var k,P,T;E=(k=x)*k,P=(E+=(T=E>=1?0:l(1-E)*n(C))*T)>=1?0:l(1-E),1==b?(E=P,P=-T,T=E):2==b?(P=-P,T=-T):3==b&&(E=P,P=T,T=-E),1==s?(E=k,k=-P,P=E):2==s?(k=-k,P=-P):3==s&&(E=k,k=P,P=-E),m.phi=o(-T)-N,m.lam=p(P,k),1==s?m.lam=f(m.lam,-N):2==s?m.lam=f(m.lam,-S):3==s&&(m.lam=f(m.lam,+N))}0!==t.es&&(w=m.phi<0?1:0,I=e(m.phi),G=r/l(I*I+u),m.phi=h(l(t.a*t.a-G*G)/(c*G)),w&&(m.phi=-m.phi))}},"qsc","Quadrilateralized Spherical Cube","Azi, Sph."),ii(function(n){var a=p([[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]]),e=p([[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]]),s=.8487,r=1.3523;function o(i,t){return i[0]+t*(i[1]+t*(i[2]+t*i[3]))}function h(i,t){return i[1]+t*(i[2]+i[2]+3*t*i[3])}function p(i){return i.map(function(i){return new Float32Array(i)})}n.es=0,n.fwd=function(n,h){var p,l;(p=t(11.459155902616464*(l=i(n.phi))))<0&&z(),p>=18&&(p=17),l=x*(l-.08726646259971647*p),h.x=o(a[p],l)*s*n.lam,h.y=o(e[p],l)*r,n.phi<0&&(h.y=-h.y)},n.inv=function(n,p){var l,c,u,_;if(p.lam=n.x/s,p.phi=i(n.y/r),p.phi>=1)p.phi>1.000001?j():(p.phi=n.y<0?-N:N,p.lam/=a[18][0]);else{if((_=t(18*p.phi))<0||_>=18)return j();for(;;)if(e[_][0]>p.phi)--_;else{if(!(e[_+1][0]<=p.phi))break;++_}for(u=new Float32Array(e[_]),l=5*(p.phi-u[0])/(e[_+1][0]-u[0]),u[0]-=p.phi;l-=c=o(u,l)/h(u,l),!(i(c)<1e-8););p.phi=(5*_+l)*M,n.y<0&&(p.phi=-p.phi),p.lam/=o(a[_],l)}}},"robin","Robinson","PCyl., Sph."),ii(bn("EULER"),"euler","Euler","Conic, Sph\nlat_1= and lat_2="),ii(bn("MURD1"),"murd1","Murdoch I","Conic, Sph\nlat_1= and lat_2="),ii(bn("MURD2"),"murd2","Murdoch II","Conic, Sph\nlat_1= and lat_2="),ii(bn("MURD3"),"murd3","Murdoch III","Conic, Sph\nlat_1= and lat_2="),ii(bn("PCONIC"),"pconic","Perspective Conic","Conic, Sph\nlat_1= and lat_2="),ii(bn("TISSOT"),"tissot","Tissot","Conic, Sph\nlat_1= and lat_2="),ii(bn("VITK1"),"vitk1","Vitkovsky I","Conic, Sph\nlat_1= and lat_2="),ii(function(t){var s,r,o,p,c,f,m,d,y;o=.5*t.e,m=a(t.phi0),m*=m,r=l(1+t.es*m*m*t.rone_es),y=n(t.phi0),c=a(d=$t(f=y/r)),y*=t.e,s=_(e(w+.5*d))-r*(_(e(w+.5*t.phi0))-o*_((1+y)/(1-y))),p=t.k0*l(t.one_es)/(1-y*y),t.inv=function(l,m){var d,y,v,g,A,C,S,x,M;for(v=2*(h(u(l.y/p))-w),g=l.x/p,A=a(v),d=$t(c*n(v)+f*A*a(g)),y=$t(A*n(g)/a(d)),S=(s-_(e(w+.5*d)))/r,M=6;M&&(C=t.e*n(d),d-=x=(S+_(e(w+.5*d))-o*_((1+C)/(1-C)))*(1-C*C)*a(d)*t.rone_es,!(i(x)<1e-10));--M);M?(m.phi=d,m.lam=y/r):j()},t.fwd=function(i,l){var m,d,y,v,g,A;g=t.e*n(i.phi),m=2*h(u(r*(_(e(w+.5*i.phi))-o*_((1+g)/(1-g)))+s))-N,d=r*i.lam,A=a(m),y=$t(c*n(m)-f*A*a(d)),v=$t(A*n(d)/a(y)),l.x=p*v,l.y=p*_(e(w+.5*y))}},"somerc","Swiss. Obl. Mercator","Cyl, Ell\nFor CH1903"),ii(function(i){var t=X(i.params,"tlat_ts")?X(i.params,"rlat_ts"):N;wn(i,t)},"stere","Stereographic","Azi, Sph&Ell\nlat_ts="),ii(function(i){i.phi0=X(i.params,"bsouth")?-N:N,i.k0=.994,i.x0=2e6,i.y0=2e6,i.lam0=0,i.es||B(-34),wn(i,N)},"ups","Universal Polar Stereographic","Azi, Sph&Ell\nsouth"),ii(function(t){var s,o,u,_,m,d,y,v,g,A=(s=t.e,o=t.phi0,u=s*s,_=n(o),m=a(o),d=l(1-u)/(1-u*_*_),y=l(1+u*m*m*m*m/(1-u)),v=r(_/y),g=.5*y*s,{e:s,K:e(.5*v+w)/(c(e(.5*o+w),y)*Nn(s*_,g)),C:y,chi:v,ratexp:g,rc:d}),C=A.chi,S=2*A.rc,x=n(C),M=a(C);t.fwd=function(i,s){var r,o,p,l;i=function(i,t){return{phi:2*h(t.K*c(e(.5*i.phi+w),t.C)*Nn(t.e*n(i.phi),t.ratexp))-N,lam:t.C*i.lam}}(i,A),o=n(i.phi),r=a(i.phi),p=a(i.lam),l=t.k0*S/(1+x*o+M*r*p),s.x=l*r*n(i.lam),s.y=l*(M*o-x*r*p)},t.inv=function(s,o){var l,u,_,m,d=s.x/t.k0,y=s.y/t.k0;(l=f(d,y))?(u=2*p(l,S),_=n(u),m=a(u),o.phi=r(m*x+y*_*M/l),o.lam=p(d*_,l*M*m-y*x*_)):(o.phi=C,o.lam=0),function(t,a){t.phi;var s,r,o=c(e(.5*t.phi+w)/a.K,1/a.C);for(t.lam/=a.C,s=20;s>0&&(r=2*h(o*Nn(a.e*n(t.phi),-.5*a.e))-N,!(i(r-t.phi)<1e-14));--s)t.phi=r;s||U(-17)}(o,A)}},"sterea","Oblique Stereographic Alternative","Azimuthal, Sph&Ell"),ii(function(i){In(i,1.50488,1.35439,!1)},"kav5","Kavraisky V","PCyl., Sph."),ii(function(i){In(i,2,2,!1)},"qua_aut","Quartic Authalic","PCyl., Sph."),ii(function(i){In(i,2,2,!0)},"fouc","Foucaut","PCyl., Sph."),ii(function(i){In(i,1.48875,1.36509,!1)},"mbt_s","McBryde-Thomas Flat-Polar Sine (No. 1)","PCyl., Sph."),ii(function(i){i.es=0,i.fwd=function(t,s){s.x=a(t.phi)*n(t.lam)/i.k0,s.y=i.k0*(p(e(t.phi),a(t.lam))-i.phi0)},i.inv=function(t,e){var s;t.y=t.y/i.k0+i.phi0,t.x*=i.k0,s=l(1-t.x*t.x),e.phi=r(s*n(t.y)),e.lam=p(t.x,s*a(t.y))}},"tcea","Transverse Cylindrical Equal Area","Cyl, Sph"),ii(function(i){i.es=0,i.fwd=function(i,t){var a=e(i.phi/2),s=n(w*a);t.x=i.lam*(.74482-.34588*s*s),t.y=1.70711*a},i.inv=function(i,t){var a=i.y/1.70711,e=n(w*a);t.lam=i.x/(.74482-.34588*e*e),t.phi=2*h(a)}},"times","Times","Cyl, Sph"),ii(function(t){X(t.params,"bapprox")?Gn(t):function(t){if(0===t.es)return Gn(t);hn(t);var n=t.fwd,a=t.inv;Gn(t);var e=t.fwd,s=t.inv;t.fwd=function(t,a){i(t.lam)>3*M?n(t,a):e(t,a)},t.inv=function(t,n){i(t.x)>.053-.022*t.y*t.y?a(t,n):s(t,n)}}(t)},"tmerc","Transverse Mercator","Cyl, Sph&Ell"),ii(function(i){var n;i.es||B(-34),i.y0=X(i.params,"bsouth")?1e7:0,i.x0=5e5,X(i.params,"tzone")?(n=X(i.params,"izone"))>0&&n<=60?--n:B(-35):(n=t(30*(wi(i.lam0)+S)/S))<0?n=0:n>=60&&(n=59),i.lam0=(n+.5)*S/30-S,i.k0=.9996,i.phi0=0,hn(i)},"utm","Universal Transverse Mercator (UTM)","Cyl, Sph\nzone= south"),ii(function(i){var t,s,r,o,h,l,c,u,_,m,d,y,v,g,A,C,S,x,M,E,b,w,I;E=X(i.params,"rlat_1"),x=X(i.params,"rlon_1"),b=X(i.params,"rlat_2"),M=X(i.params,"rlon_2"),E==b&&x==M&&B(-25),i.lam0=wi(.5*(x+M)),m=wi(M-x),t=a(E),r=a(b),s=n(E),o=n(b),l=t*o,c=s*r,h=t*r*n(m),_=Qt(s*o+t*r*a(m)),d=.5*_,w=p(r*n(m),t*o-s*r*a(m)),g=a(I=$t(t*n(w))),A=n(I),C=wi(p(t*a(w),s)-d),m*=.5,S=N-p(n(w)*s,a(w))-m,y=e(d),v=.5/n(d),u=.5/_,_*=_,i.fwd=function(i,e){var p,f,d,y,v,g,A;g=n(i.phi),A=a(i.phi),f=Qt(s*g+t*A*a(y=i.lam+m)),d=Qt(o*g+r*A*a(v=i.lam-m)),f*=f,d*=d,e.x=u*(p=f-d),p=_-p,e.y=u*tn(4*_*d-p*p),h*g-A*(l*n(y)-c*n(v))<0&&(e.y=-e.y)},i.inv=function(i,t){var e,s,r,o,h,l;r=(e=a(f(i.y,i.x+d)))+(s=a(f(i.y,i.x-d))),o=e-s,t.lam=-p(o,r*y),t.phi=Qt(f(y*r,o)*v),i.y<0&&(t.phi=-t.phi),l=n(t.phi),h=a(t.phi),t.phi=$t(A*l+g*h*(r=a(t.lam-=C))),t.lam=p(h*n(t.lam),A*h*r-g*l)+S},i.es=0},"tpeqd","Two Point Equidistant","Misc Sph\nlat_1= lon_1= lat_2= lon_2="),ii(function(i){var t,e,s,r,o,h;(r=X(i.params,"dn"))>0&&r<=1==0&&B(-40),s=X(i.params,"dq")/3,o=X(i.params,"ralpha"),h=r*n(o),t=a(o)/l(1-h*h),e=1/(t*r),i.fwd=function(i,o){var h=i.phi=$t(r*n(i.phi));o.x=t*i.lam*a(i.phi),h*=h,o.y=i.phi*(1+h*s)*e},i.es=0},"urm5","Urmaev V","PCyl., Sph., no inv.\nn= q= alpha="),ii(function(i){var t=X(i.params,"dn");(t<=0||t>1)&&B(-40),kn(i,t)},"urmfps","Urmaev Flat-Polar Sinusoidal","PCyl, Sph.\nn="),ii(function(i){kn(i,.8660254037844386)},"wag1","Wagner I (Kavraisky VI)","PCyl, Sph."),ii(function(t){var n=1e-10,s=.3333333333333333,h=9.869604401089358,p=19.739208802178716,c=4.934802200544679;t.fwd=function(t,a){var s,o,h,p,c;(c=i(t.phi/N))-n>1&&z(),c>1&&(c=1),i(t.phi)<=n?(a.x=t.lam,a.y=0):i(t.lam)<=n||i(c-1)<n?(a.x=0,a.y=S*e(.5*r(c)),t.phi<0&&(a.y=-a.y)):(o=(s=.5*i(S/t.lam-t.lam/S))*s,h=l(1-c*c),p=(h/=c+h-1)*h,c=h*(2/c-1),c*=c,a.x=h-c,h=c+o,a.x=S*(s*a.x+l(o*a.x*a.x-h*(p-c)))/h,t.lam<0&&(a.x=-a.x),a.y=i(a.x/S),a.y=1-a.y*(a.y+2*s),a.y<-n&&z(),a.y<0?a.y=0:a.y=l(a.y)*(t.phi<0?-S:S))},t.inv=function(t,e){var r,u,_,f,m,d,y,v,g,A,C,x,M;if(x=t.x*t.x,(C=i(t.y))<n)return e.phi=0,r=x*x+p*(x+c),e.lam=i(t.x)<=n?0:.5*(x-h+l(r))/t.x,e;M=t.y*t.y,f=(_=-S*C*((v=x+M)+h))+h*(v-3*M),u=S*C,g=2*l(-s*(d=_/(m=(y=v*v)+G*(C*v+S*(M+S*(C+N))))-s*(f/=m)*f)),(r=i(A=3*(A=.07407407407407407*f*f*f+(u*u-s*f*_)/m)/(d*g)))-n<=1?(A=r>1?A>0?0:S:o(A),e.phi=S*(g*a(A*s+4.188790204786391)-s*f),t.y<0&&(e.phi=-e.phi),r=y+p*(x-M+c),e.lam=i(t.x)<=n?0:.5*(v-h+(r<=0?0:l(r)))/t.x):j()}},"vandg","van der Grinten (I)","Misc Sph"),ii(function(i){Pn(i,!1)},"vandg2","van der Grinten II","Misc Sph, no inv."),ii(function(i){Pn(i,!0)},"vandg3","van der Grinten III","Misc Sph, no inv."),ii(function(t){t.es=0,t.fwd=function(t,n){var a,e,s,r,o,h,p,c,u=1e-10;i(t.phi)<u?(n.x=t.lam,n.y=0):i(t.lam)<u||i(i(t.phi)-N)<u?(n.x=0,n.y=t.phi):(h=(r=.5*((s=i(k*t.phi))*(8-s*(2+(o=s*s)))-5)/(o*(s-1)))*r,p=k*t.lam,p=l((p+=1/p)*p-4),i(t.lam)-N<0&&(p=-p),a=s+r,a=(p*((a*=a)+h-1)+2*l(a*(o+h*(c=p*p)-1)+(1-o)*(o*((e=s+3*r)*e+4*h)+h*(12*s*r+4*h))))/(4*a+c),n.x=N*a,n.y=N*l(1+p*i(a)-a*a),t.lam<0&&(n.x=-n.x),t.phi<0&&(n.y=-n.y))}},"vandg4","van der Grinten IV","Misc Sph, no inv."),ii(function(i){var t=.92483,e=1.38725,s=.88022,r=.8855;i.fwd=function(i,o){i.phi=$t(s*n(r*i.phi)),o.x=t*i.lam*a(i.phi),o.y=e*i.phi},i.inv=function(i,o){o.phi=i.y/e,o.lam=i.x/(t*a(o.phi)),o.phi=$t(n(o.phi)/s)/r}},"wag2","Wagner II","PCyl., Sph."),ii(function(i){var t=.6666666666666666,n=X(i.params,"rlat_ts"),e=a(n)/a(2*n/3);i.es=0,i.fwd=function(i,n){n.x=e*i.lam*a(t*i.phi),n.y=i.phi},i.inv=function(i,n){n.phi=i.y,n.lam=i.x/(e*a(t*n.phi))}},"wag3","Wagner III","PCyl., Sph.\nlat_ts="),ii(function(i){i.es=0,i.fwd=function(i,t){var e,s,o;e=r(t.y=.9063077870366499*n(i.phi)),t.x=2.66723*(s=a(e))*n(i.lam/=3),t.y*=1.24104*(o=1/l(.5*(1+s*a(i.lam)))),t.x*=o}},"wag7","Wagner VII","Misc Sph, no inv."),ii(function(i){var t=a(X(i.params,"rlat_ts"));i.fwd=function(i,n){n.x=.5*i.lam*(t+a(i.phi)),n.y=i.phi},i.inv=function(i,n){n.phi=i.y,n.lam=2*i.x/(t+a(n.phi))},i.es=0},"wink1","Winkel I","PCyl., Sph.\nlat_ts="),ii(function(t){var e=a(X(t.params,"rlat_1"));t.fwd=function(t,s){var r,o,h,p=t.phi;for(s.y=p*k,r=S*n(p),p*=1.8,h=10;h&&(p-=o=(p+n(p)-r)/(1+a(p)),!(i(o)<1e-7));--h);h?p*=.5:p=p<0?-N:N,s.x=.5*t.lam*(a(p)+e),s.y=w*(n(p)+s.y)},t.inv=null,t.es=0},"wink2","Winkel II","PCyl., Sph., no inv.\nlat_1=");var Tn=ki;Tn.pj_init=di,Tn.pj_fwd=Ni,Tn.pj_inv=Ii,Tn.pj_transform=xi,Tn.pj_add=ii,Tn.pj_fwd_deg=function(i,t){return Ni({lam:i.lam*M,phi:i.phi*M},t)},Tn.pj_inv_deg=function(i,t){var n=Ii(i,t);return{lam:n.lam*x,phi:n.phi*x}},Tn.pj_transform_point=Si,Tn.internal={dmstod:V,dmstor:K,get_rtodms:function(i,t,n,a){var e=Gi(i,t,n,a);return function(i){return e(i*x)}},get_dtodms:Gi,get_proj_defn:ai,pj_latlong_from_proj:function(i){return di("+proj=latlong"+ni(i))},pj_get_params:Z,pj_datums:si,pj_list:Q,pj_ellps:hi,pj_units:li,pj_read_init_opts:mi,find_datum:oi,DEG_TO_RAD:M,RAD_TO_DEG:x,wkt_parse:Ut,wkt_unpack:zt,convert_wkt_quotes:jt,wkt_to_proj4:function(i){var t,n,a=Ut(i);return a.PROJCS?t=qi(n=a.PROJCS)(n):a.GEOGCS?t="+proj=longlat "+Vi(a.GEOGCS):a.GEOCCS?Hi("geocentric coordinates are not supported"):Hi("missing a supported WKT CS type"),t},wkt_from_proj4:function(i){return i.length&&(i=di(i)),Lt(ti(i)?{GEOGCS:$i(i)}:st(i))},wkt_make_projcs:st,wkt_get_geogcs_name:tt,wkt_stringify:Lt,mproj_insert_libcache:function(i,t){_i[i]=t},mproj_search_libcache:fi,GeographicLib:Ft},g.exports=Tn}();var S=e.exports,x=t({__proto__:null,default:n(S)},[S]);class M{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(i,t){let n=this.length++;for(;n>0;){const i=n-1>>1,a=this.values[i];if(t>=a)break;this.ids[n]=this.ids[i],this.values[n]=a,n=i}this.ids[n]=i,this.values[n]=t}pop(){if(0===this.length)return;const i=this.ids,t=this.values,n=i[0],a=--this.length;if(a>0){const n=i[a],e=t[a];let s=0;const r=a>>1;for(;s<r;){const n=1+(s<<1),r=n+1,o=n+(+(r<a)&+(t[r]<t[n]));if(t[o]>=e)break;i[s]=i[o],t[s]=t[o],s=o}i[s]=n,t[s]=e}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}const E=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class b{static from(i,t=0){if(t%8!=0)throw new Error("byteOffset must be 8-byte aligned.");if(!i||void 0===i.byteLength||i.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");const[n,a]=new Uint8Array(i,t+0,2);if(251!==n)throw new Error("Data does not appear to be in a Flatbush format.");const e=a>>4;if(3!==e)throw new Error(`Got v${e} data when expected v3.`);const s=E[15&a];if(!s)throw new Error("Unrecognized array type.");const[r]=new Uint16Array(i,t+2,1),[o]=new Uint32Array(i,t+4,1);return new b(o,r,s,void 0,i,t)}constructor(i,t=16,n=Float64Array,a=ArrayBuffer,e,s=0){if(void 0===i)throw new Error("Missing required argument: numItems.");if(isNaN(i)||i<=0)throw new Error(`Unexpected numItems value: ${i}.`);this.numItems=+i,this.nodeSize=Math.min(Math.max(+t,2),65535),this.byteOffset=s;let r=i,o=r;this._levelBounds=[4*r];do{r=Math.ceil(r/this.nodeSize),o+=r,this._levelBounds.push(4*o)}while(1!==r);this.ArrayType=n,this.IndexArrayType=o<16384?Uint16Array:Uint32Array;const h=E.indexOf(n),p=4*o*n.BYTES_PER_ELEMENT;if(h<0)throw new Error(`Unexpected typed array class: ${n}.`);if(e)this.data=e,this._boxes=new n(e,s+8,4*o),this._indices=new this.IndexArrayType(e,s+8+p,o),this._pos=4*o,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{const e=this.data=new a(8+p+o*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(e,8,4*o),this._indices=new this.IndexArrayType(e,8+p,o),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(e,0,2).set([251,48+h]),new Uint16Array(e,2,1)[0]=t,new Uint32Array(e,4,1)[0]=i}this._queue=new M}add(i,t,n=i,a=t){const e=this._pos>>2,s=this._boxes;return this._indices[e]=e,s[this._pos++]=i,s[this._pos++]=t,s[this._pos++]=n,s[this._pos++]=a,i<this.minX&&(this.minX=i),t<this.minY&&(this.minY=t),n>this.maxX&&(this.maxX=n),a>this.maxY&&(this.maxY=a),e}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);const i=this._boxes;if(this.numItems<=this.nodeSize)return i[this._pos++]=this.minX,i[this._pos++]=this.minY,i[this._pos++]=this.maxX,void(i[this._pos++]=this.maxY);const t=this.maxX-this.minX||1,n=this.maxY-this.minY||1,a=new Uint32Array(this.numItems);for(let e=0,s=0;e<this.numItems;e++){const r=i[s++],o=i[s++],h=i[s++],p=i[s++],l=Math.floor(65535*((r+h)/2-this.minX)/t),c=Math.floor(65535*((o+p)/2-this.minY)/n);a[e]=G(l,c)}N(a,i,this._indices,0,this.numItems-1,this.nodeSize);for(let t=0,n=0;t<this._levelBounds.length-1;t++){const a=this._levelBounds[t];for(;n<a;){const t=n;let e=i[n++],s=i[n++],r=i[n++],o=i[n++];for(let t=1;t<this.nodeSize&&n<a;t++)e=Math.min(e,i[n++]),s=Math.min(s,i[n++]),r=Math.max(r,i[n++]),o=Math.max(o,i[n++]);this._indices[this._pos>>2]=t,i[this._pos++]=e,i[this._pos++]=s,i[this._pos++]=r,i[this._pos++]=o}}}search(i,t,n,a,e){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4;const r=[],o=[];for(;void 0!==s;){const h=Math.min(s+4*this.nodeSize,w(s,this._levelBounds));for(let p=s;p<h;p+=4){const h=this._boxes[p];if(n<h)continue;const l=this._boxes[p+1];if(a<l)continue;const c=this._boxes[p+2];if(i>c)continue;const u=this._boxes[p+3];if(t>u)continue;const _=0|this._indices[p>>2];s>=4*this.numItems?r.push(_):(void 0===e||e(_,h,l,c,u))&&o.push(_)}s=r.pop()}return o}neighbors(i,t,n=1/0,a=1/0,e){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4;const r=this._queue,o=[],h=a*a;i:for(;void 0!==s;){const a=Math.min(s+4*this.nodeSize,w(s,this._levelBounds));for(let n=s;n<a;n+=4){const a=0|this._indices[n>>2],o=this._boxes[n],p=this._boxes[n+1],l=this._boxes[n+2],c=this._boxes[n+3],u=i<o?o-i:i>l?i-l:0,_=t<p?p-t:t>c?t-c:0,f=u*u+_*_;f>h||(s>=4*this.numItems?r.push(a<<1,f):(void 0===e||e(a))&&r.push(1+(a<<1),f))}for(;r.length&&1&r.peek();){if(r.peekValue()>h)break i;if(o.push(r.pop()>>1),o.length===n)break i}s=r.length?r.pop()>>1:void 0}return r.clear(),o}}function w(i,t){let n=0,a=t.length-1;for(;n<a;){const e=n+a>>1;t[e]>i?a=e:n=e+1}return t[n]}function N(i,t,n,a,e,s){if(Math.floor(a/s)>=Math.floor(e/s))return;const r=i[a],o=i[a+e>>1],h=i[e];let p=h;const l=Math.max(r,o);h>l?p=l:l===r?p=Math.max(o,h):l===o&&(p=Math.max(r,h));let c=a-1,u=e+1;for(;;){do{c++}while(i[c]<p);do{u--}while(i[u]>p);if(c>=u)break;I(i,t,n,c,u)}N(i,t,n,a,u,s),N(i,t,n,u+1,e,s)}function I(i,t,n,a,e){const s=i[a];i[a]=i[e],i[e]=s;const r=4*a,o=4*e,h=t[r],p=t[r+1],l=t[r+2],c=t[r+3];t[r]=t[o],t[r+1]=t[o+1],t[r+2]=t[o+2],t[r+3]=t[o+3],t[o]=h,t[o+1]=p,t[o+2]=l,t[o+3]=c;const u=n[a];n[a]=n[e],n[e]=u}function G(i,t){let n=i^t,a=65535^n,e=65535^(i|t),s=i&(65535^t),r=n|a>>1,o=n>>1^n,h=e>>1^a&s>>1^e,p=n&e>>1^s>>1^s;n=r,a=o,e=h,s=p,r=n&n>>2^a&a>>2,o=n&a>>2^a&(n^a)>>2,h^=n&e>>2^a&s>>2,p^=a&e>>2^(n^a)&s>>2,n=r,a=o,e=h,s=p,r=n&n>>4^a&a>>4,o=n&a>>4^a&(n^a)>>4,h^=n&e>>4^a&s>>4,p^=a&e>>4^(n^a)&s>>4,n=r,a=o,e=h,s=p,h^=n&e>>8^a&s>>8,p^=a&e>>8^(n^a)&s>>8,n=h^h>>1,a=p^p>>1;let l=i^t,c=a|65535^(l|n);return l=16711935&(l|l<<8),l=252645135&(l|l<<4),l=858993459&(l|l<<2),l=1431655765&(l|l<<1),c=16711935&(c|c<<8),c=252645135&(c|c<<4),c=858993459&(c|c<<2),c=1431655765&(c|c<<1),(c<<1|l)>>>0}const k=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class P{static from(i){if(!(i instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,n]=new Uint8Array(i,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const a=n>>4;if(1!==a)throw new Error(`Got v${a} data when expected v1.`);const e=k[15&n];if(!e)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(i,2,1),[r]=new Uint32Array(i,4,1);return new P(r,s,e,i)}constructor(i,t=64,n=Float64Array,a){if(isNaN(i)||i<0)throw new Error(`Unpexpected numItems value: ${i}.`);this.numItems=+i,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=i<65536?Uint16Array:Uint32Array;const e=k.indexOf(this.ArrayType),s=2*i*this.ArrayType.BYTES_PER_ELEMENT,r=i*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-r%8)%8;if(e<0)throw new Error(`Unexpected typed array class: ${n}.`);a&&a instanceof ArrayBuffer?(this.data=a,this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+r+o,2*i),this._pos=2*i,this._finished=!0):(this.data=new ArrayBuffer(8+s+r+o),this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+r+o,2*i),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+e]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=i)}add(i,t){const n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=i,this.coords[this._pos++]=t,n}finish(){const i=this._pos>>1;if(i!==this.numItems)throw new Error(`Added ${i} items when expected ${this.numItems}.`);return T(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(i,t,n,a){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:e,coords:s,nodeSize:r}=this,o=[0,e.length-1,0],h=[];for(;o.length;){const p=o.pop()||0,l=o.pop()||0,c=o.pop()||0;if(l-c<=r){for(let r=c;r<=l;r++){const o=s[2*r],p=s[2*r+1];o>=i&&o<=n&&p>=t&&p<=a&&h.push(e[r])}continue}const u=c+l>>1,_=s[2*u],f=s[2*u+1];_>=i&&_<=n&&f>=t&&f<=a&&h.push(e[u]),(0===p?i<=_:t<=f)&&(o.push(c),o.push(u-1),o.push(1-p)),(0===p?n>=_:a>=f)&&(o.push(u+1),o.push(l),o.push(1-p))}return h}within(i,t,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:a,coords:e,nodeSize:s}=this,r=[0,a.length-1,0],o=[],h=n*n;for(;r.length;){const p=r.pop()||0,l=r.pop()||0,c=r.pop()||0;if(l-c<=s){for(let n=c;n<=l;n++)R(e[2*n],e[2*n+1],i,t)<=h&&o.push(a[n]);continue}const u=c+l>>1,_=e[2*u],f=e[2*u+1];R(_,f,i,t)<=h&&o.push(a[u]),(0===p?i-n<=_:t-n<=f)&&(r.push(c),r.push(u-1),r.push(1-p)),(0===p?i+n>=_:t+n>=f)&&(r.push(u+1),r.push(l),r.push(1-p))}return o}}function T(i,t,n,a,e,s){if(e-a<=n)return;const r=a+e>>1;D(i,t,r,a,e,s),T(i,t,n,a,r-1,1-s),T(i,t,n,r+1,e,1-s)}function D(i,t,n,a,e,s){for(;e>a;){if(e-a>600){const r=e-a+1,o=n-a+1,h=Math.log(r),p=.5*Math.exp(2*h/3),l=.5*Math.sqrt(h*p*(r-p)/r)*(o-r/2<0?-1:1);D(i,t,n,Math.max(a,Math.floor(n-o*p/r+l)),Math.min(e,Math.floor(n+(r-o)*p/r+l)),s)}const r=t[2*n+s];let o=a,h=e;for(O(i,t,a,n),t[2*e+s]>r&&O(i,t,a,e);o<h;){for(O(i,t,o,h),o++,h--;t[2*o+s]<r;)o++;for(;t[2*h+s]>r;)h--}t[2*a+s]===r?O(i,t,a,h):(h++,O(i,t,h,e)),h<=n&&(a=h+1),n<=h&&(e=h-1)}}function O(i,t,n,a){L(i,n,a),L(t,2*n,2*a),L(t,2*n+1,2*a+1)}function L(i,t,n){const a=i[t];i[t]=i[n],i[n]=a}function R(i,t,n,a){const e=i-n,s=t-a;return e*e+s*s}var q={exports:{}};!function(i){var t,n,a,e;(e={}).Constants={},e.Math={},e.Accumulator={},(t=e.Constants).WGS84={a:6378137,f:1/298.257223563},t.version={major:2,minor:2,patch:0},t.version_string="2.2.0",(n=e.Math).digits=53,n.epsilon=Math.pow(.5,n.digits-1),n.degree=Math.PI/180,n.sq=function(i){return i*i},n.hypot=function(i,t){return Math.sqrt(i*i+t*t)},n.cbrt=Math.cbrt||function(i){var t=Math.pow(Math.abs(i),1/3);return i>0?t:i<0?-t:i},n.log1p=Math.log1p||function(i){var t=1+i,n=t-1;return 0===n?i:i*Math.log(t)/n},n.atanh=Math.atanh||function(i){var t=Math.abs(i);return t=n.log1p(2*t/(1-t))/2,i>0?t:i<0?-t:i},n.copysign=function(i,t){return Math.abs(i)*(t<0||0===t&&1/t<0?-1:1)},n.sum=function(i,t){var n=i+t,a=n-t,e=n-a;return a-=i,{s:n,t:n?0-(a+(e-=t)):n}},n.polyval=function(i,t,n,a){for(var e=i<0?0:t[n++];--i>=0;)e=e*a+t[n++];return e},n.AngRound=function(i){var t=1/16,a=Math.abs(i);return a=a<t?t-(t-a):a,n.copysign(a,i)},n.remainder=function(i,t){return(i%=t)<-t/2?i+t:i<t/2?i:i-t},n.AngNormalize=function(i){var t=n.remainder(i,360);return 180===Math.abs(t)?n.copysign(180,i):t},n.LatFix=function(i){return Math.abs(i)>90?NaN:i},n.AngDiff=function(i,t){var a,e,s=n.sum(n.remainder(-i,360),n.remainder(t,360));return a=(s=n.sum(n.remainder(s.s,360),s.t)).s,e=s.t,0!==a&&180!==Math.abs(a)||(a=n.copysign(a,0===e?t-i:-e)),{d:a,e:e}},n.sincosd=function(i){var t,a,e,s,r,o,h;switch(t=i%360,a=(t-=90*(e=Math.round(t/90)))*this.degree,s=Math.sin(a),r=Math.cos(a),45===Math.abs(t)?(r=Math.sqrt(.5),s=n.copysign(r,a)):30===Math.abs(t)&&(r=Math.sqrt(.75),s=n.copysign(.5,a)),3&e){case 0:o=s,h=r;break;case 1:o=r,h=-s;break;case 2:o=-s,h=-r;break;default:o=-r,h=s}return h+=0,0===o&&(o=n.copysign(o,i)),{s:o,c:h}},n.sincosde=function(i,t){var a,e,s,r,o,h,p;switch(a=i%360,s=Math.round(a/90),e=(a=n.AngRound(a-90*s+t))*this.degree,r=Math.sin(e),o=Math.cos(e),45===Math.abs(a)?(o=Math.sqrt(.5),r=n.copysign(o,e)):30===Math.abs(a)&&(o=Math.sqrt(.75),r=n.copysign(.5,e)),3&s){case 0:h=r,p=o;break;case 1:h=o,p=-r;break;case 2:h=-r,p=-o;break;default:h=-o,p=r}return p+=0,0===h&&(h=n.copysign(h,i+t)),{s:h,c:p}},n.atan2d=function(i,t){var a,e=0;switch(Math.abs(i)>Math.abs(t)&&([i,t]=[t,i],e=2),n.copysign(1,t)<0&&(t=-t,++e),a=Math.atan2(i,t)/this.degree,e){case 1:a=n.copysign(180,i)-a;break;case 2:a=90-a;break;case 3:a=-90+a}return a},function(i,t){i.Accumulator=function(i){this.Set(i)},i.Accumulator.prototype.Set=function(t){t||(t=0),t.constructor===i.Accumulator?(this._s=t._s,this._t=t._t):(this._s=t,this._t=0)},i.Accumulator.prototype.Add=function(i){var n=t.sum(i,this._t),a=t.sum(n.s,this._s);n=n.t,this._s=a.s,this._t=a.t,0===this._s?this._s=n:this._t+=n},i.Accumulator.prototype.Sum=function(t){var n;return t?((n=new i.Accumulator(this)).Add(t),n._s):this._s},i.Accumulator.prototype.Negate=function(){this._s*=-1,this._t*=-1},i.Accumulator.prototype.Remainder=function(i){this._s=t.remainder(this._s,i),this.Add(0)}}(e.Accumulator,e.Math),e.Geodesic={},e.GeodesicLine={},e.PolygonArea={},function(i,t,n,a,e){var s,r,o,h,p,l,c,u,_,f,m,d=20+a.digits+10,y=a.epsilon,v=200*y,g=Math.sqrt(y),A=y,C=1e3*g;i.tiny_=Math.sqrt(Number.MIN_VALUE/Number.EPSILON),i.nC1_=6,i.nC1p_=6,i.nC2_=6,i.nC3_=6,i.nC4_=6,s=i.nC3_*(i.nC3_-1)/2,r=i.nC4_*(i.nC4_+1)/2,i.CAP_C1=1,i.CAP_C1p=2,i.CAP_C2=4,i.CAP_C3=8,i.CAP_C4=16,i.NONE=0,i.ARC=64,i.LATITUDE=128,i.LONGITUDE=256|i.CAP_C3,i.AZIMUTH=512,i.DISTANCE=1024|i.CAP_C1,i.STANDARD=i.LATITUDE|i.LONGITUDE|i.AZIMUTH|i.DISTANCE,i.DISTANCE_IN=2048|i.CAP_C1|i.CAP_C1p,i.REDUCEDLENGTH=4096|i.CAP_C1|i.CAP_C2,i.GEODESICSCALE=8192|i.CAP_C1|i.CAP_C2,i.AREA=16384|i.CAP_C4,i.ALL=32671,i.LONG_UNROLL=32768,i.OUT_MASK=32640|i.LONG_UNROLL,i.SinCosSeries=function(i,t,n,a){var e=a.length,s=e-(i?1:0),r=2*(n-t)*(n+t),o=1&s?a[--e]:0,h=0;for(s=Math.floor(s/2);s--;)o=r*(h=r*o-h+a[--e])-o+a[--e];return i?2*t*n*o:n*(o-h)},o=function(i,t){var n,e,s,r,o,h,p,l,c,u,_,f,m=a.sq(i),d=a.sq(t),y=(m+d-1)/6;return 0===d&&y<=0?n=0:(h=y,(o=(e=m*d/4)*(e+2*(r=y*(s=a.sq(y)))))>=0?(p=e+r,p+=p<0?-Math.sqrt(o):Math.sqrt(o),h+=(l=a.cbrt(p))+(0!==l?s/l:0)):(c=Math.atan2(Math.sqrt(-o),-(e+r)),h+=2*y*Math.cos(c/3)),u=Math.sqrt(a.sq(h)+d),f=((_=h<0?d/(u-h):h+u)-d)/(2*u),n=_/(Math.sqrt(_+a.sq(f))+f)),n},h=[1,4,64,0,256],i.A1m1f=function(i){var t=Math.floor(3);return(a.polyval(t,h,0,a.sq(i))/h[t+1]+i)/(1-i)},p=[-1,6,-16,32,-9,64,-128,2048,9,-16,768,3,-5,512,-7,1280,-7,2048],i.C1f=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC1_;++e)s=Math.floor((i.nC1_-e)/2),n[e]=o*a.polyval(s,p,h,r)/p[h+s+1],h+=s+2,o*=t},l=[205,-432,768,1536,4005,-4736,3840,12288,-225,116,384,-7173,2695,7680,3467,7680,38081,61440],i.C1pf=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC1p_;++e)s=Math.floor((i.nC1p_-e)/2),n[e]=o*a.polyval(s,l,h,r)/l[h+s+1],h+=s+2,o*=t},c=[-11,-28,-192,0,256],i.A2m1f=function(i){var t=Math.floor(3);return(a.polyval(t,c,0,a.sq(i))/c[t+1]-i)/(1+i)},u=[1,2,16,32,35,64,384,2048,15,80,768,7,35,512,63,1280,77,2048],i.C2f=function(t,n){var e,s,r=a.sq(t),o=t,h=0;for(e=1;e<=i.nC2_;++e)s=Math.floor((i.nC2_-e)/2),n[e]=o*a.polyval(s,u,h,r)/u[h+s+1],h+=s+2,o*=t},i.Geodesic=function(i,t){if(this.a=i,this.f=t,this._f1=1-this.f,this._e2=this.f*(2-this.f),this._ep2=this._e2/a.sq(this._f1),this._n=this.f/(2-this.f),this._b=this.a*this._f1,this._c2=(a.sq(this.a)+a.sq(this._b)*(0===this._e2?1:(this._e2>0?a.atanh(Math.sqrt(this._e2)):Math.atan(Math.sqrt(-this._e2)))/Math.sqrt(Math.abs(this._e2))))/2,this._etol2=.1*g/Math.sqrt(Math.max(.001,Math.abs(this.f))*Math.min(1,1-this.f/2)/2),!(isFinite(this.a)&&this.a>0))throw new Error("Equatorial radius is not positive");if(!(isFinite(this._b)&&this._b>0))throw new Error("Polar semi-axis is not positive");this._A3x=new Array(6),this._C3x=new Array(s),this._C4x=new Array(r),this.A3coeff(),this.C3coeff(),this.C4coeff()},_=[-3,128,-2,-3,64,-1,-3,-1,16,3,-1,-2,8,1,-1,2,1,1],i.Geodesic.prototype.A3coeff=function(){var i,t,n=0,e=0;for(i=5;i>=0;--i)t=Math.min(6-i-1,i),this._A3x[e++]=a.polyval(t,_,n,this._n)/_[n+t+1],n+=t+2},f=[3,128,2,5,128,-1,3,3,64,-1,0,1,8,-1,1,4,5,256,1,3,128,-3,-2,3,64,1,-3,2,32,7,512,-10,9,384,5,-9,5,192,7,512,-14,7,512,21,2560],i.Geodesic.prototype.C3coeff=function(){var t,n,e,s=0,r=0;for(t=1;t<i.nC3_;++t)for(n=i.nC3_-1;n>=t;--n)e=Math.min(i.nC3_-n-1,n),this._C3x[r++]=a.polyval(e,f,s,this._n)/f[s+e+1],s+=e+2},m=[97,15015,1088,156,45045,-224,-4784,1573,45045,-10656,14144,-4576,-858,45045,64,624,-4576,6864,-3003,15015,100,208,572,3432,-12012,30030,45045,1,9009,-2944,468,135135,5792,1040,-1287,135135,5952,-11648,9152,-2574,135135,-64,-624,4576,-6864,3003,135135,8,10725,1856,-936,225225,-8448,4992,-1144,225225,-1440,4160,-4576,1716,225225,-136,63063,1024,-208,105105,3584,-3328,1144,315315,-128,135135,-2560,832,405405,128,99099],i.Geodesic.prototype.C4coeff=function(){var t,n,e,s=0,r=0;for(t=0;t<i.nC4_;++t)for(n=i.nC4_-1;n>=t;--n)e=i.nC4_-n-1,this._C4x[r++]=a.polyval(e,m,s,this._n)/m[s+e+1],s+=e+2},i.Geodesic.prototype.A3f=function(i){return a.polyval(5,this._A3x,0,i)},i.Geodesic.prototype.C3f=function(t,n){var e,s,r=1,o=0;for(e=1;e<i.nC3_;++e)s=i.nC3_-e-1,r*=t,n[e]=r*a.polyval(s,this._C3x,o,t),o+=s+1},i.Geodesic.prototype.C4f=function(t,n){var e,s,r=1,o=0;for(e=0;e<i.nC4_;++e)s=i.nC4_-e-1,n[e]=r*a.polyval(s,this._C4x,o,t),o+=s+1,r*=t},i.Geodesic.prototype.Lengths=function(t,n,a,e,s,r,o,h,p,l,c,u,_){var f,m,d,y,v={},g=0,A=0,C=0,S=0;if((c&=i.OUT_MASK)&(i.DISTANCE|i.REDUCEDLENGTH|i.GEODESICSCALE)&&(C=i.A1m1f(t),i.C1f(t,u),c&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(S=i.A2m1f(t),i.C2f(t,_),g=C-S,S=1+S),C=1+C),c&i.DISTANCE)f=i.SinCosSeries(!0,r,o,u)-i.SinCosSeries(!0,a,e,u),v.s12b=C*(n+f),c&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(A=g*n+(C*f-S*(i.SinCosSeries(!0,r,o,_)-i.SinCosSeries(!0,a,e,_))));else if(c&(i.REDUCEDLENGTH|i.GEODESICSCALE)){for(m=1;m<=i.nC2_;++m)_[m]=C*u[m]-S*_[m];A=g*n+(i.SinCosSeries(!0,r,o,_)-i.SinCosSeries(!0,a,e,_))}return c&i.REDUCEDLENGTH?(v.m0=g,v.m12b=h*(e*r)-s*(a*o)-e*o*A):v.m12b=NaN,c&i.GEODESICSCALE&&(d=e*o+a*r,y=this._ep2*(p-l)*(p+l)/(s+h),v.M12=d+(y*r-o*A)*a/s,v.M21=d-(y*a-e*A)*r/h),v},i.Geodesic.prototype.InverseStart=function(t,n,e,s,r,h,p,l,c,u,_){var f,m,d,y,g,A,S,x,M,E,b,w,N,I,G,k,P,T,D,O,L={},R=s*n-r*t,q=r*n+s*t;return L.sig12=-1,f=s*n,f+=r*t,(m=q>=0&&R<.5&&r*p<.5)?(y=a.sq(t+s),y/=y+a.sq(n+r),L.dnm=Math.sqrt(1+this._ep2*y),d=p/(this._f1*L.dnm),g=Math.sin(d),A=Math.cos(d)):(g=l,A=c),L.salp1=r*g,L.calp1=A>=0?R+r*t*a.sq(g)/(1+A):f-r*t*a.sq(g)/(1-A),x=a.hypot(L.salp1,L.calp1),M=t*s+n*r*A,m&&x<this._etol2?(L.salp2=n*g,L.calp2=R-n*s*(A>=0?a.sq(g)/(1+A):1-A),S=a.hypot(L.salp2,L.calp2),L.salp2/=S,L.calp2/=S,L.sig12=Math.atan2(x,M)):Math.abs(this._n)>.1||M>=0||x>=6*Math.abs(this._n)*Math.PI*a.sq(n)||(O=Math.atan2(-l,-c),this.f>=0?(I=(N=a.sq(t)*this._ep2)/(2*(1+Math.sqrt(1+N))+N),E=O/(w=this.f*n*this.A3f(I)*Math.PI),b=f/(w*n)):(G=r*n-s*t,k=Math.atan2(f,G),b=p/(w=((E=(P=this.Lengths(this._n,Math.PI+k,t,-n,e,s,r,h,n,r,i.REDUCEDLENGTH,u,_)).m12b/(n*r*P.m0*Math.PI)-1)<-.01?f/E:-this.f*a.sq(n)*Math.PI)/n)),b>-v&&E>-1-C?this.f>=0?(L.salp1=Math.min(1,-E),L.calp1=-Math.sqrt(1-a.sq(L.salp1))):(L.calp1=Math.max(E>-v?0:-1,E),L.salp1=Math.sqrt(1-a.sq(L.calp1))):(T=o(E,b),D=w*(this.f>=0?-E*T/(1+T):-b*(1+T)/T),g=Math.sin(D),A=-Math.cos(D),L.salp1=r*g,L.calp1=f-r*t*a.sq(g)/(1-A))),L.salp1<=0?(L.salp1=1,L.calp1=0):(S=a.hypot(L.salp1,L.calp1),L.salp1/=S,L.calp1/=S),L},i.Geodesic.prototype.Lambda12=function(t,n,e,s,r,o,h,p,l,c,u,_,f,m){var d,y,v,g,A,C,S,x,M,E,b,w,N,I={};return 0===t&&0===p&&(p=-i.tiny_),y=h*n,v=a.hypot(p,h*t),I.ssig1=t,g=y*t,I.csig1=A=p*n,d=a.hypot(I.ssig1,I.csig1),I.ssig1/=d,I.csig1/=d,I.salp2=r!==n?y/r:h,I.calp2=r!==n||Math.abs(s)!==-t?Math.sqrt(a.sq(p*n)+(n<-t?(r-n)*(n+r):(t-s)*(t+s)))/r:Math.abs(p),I.ssig2=s,C=y*s,I.csig2=S=I.calp2*r,d=a.hypot(I.ssig2,I.csig2),I.ssig2/=d,I.csig2/=d,I.sig12=Math.atan2(Math.max(0,I.csig1*I.ssig2-I.ssig1*I.csig2),I.csig1*I.csig2+I.ssig1*I.ssig2),x=Math.max(0,A*C-g*S),M=A*S+g*C,b=Math.atan2(x*c-M*l,M*c+x*l),w=a.sq(v)*this._ep2,I.eps=w/(2*(1+Math.sqrt(1+w))+w),this.C3f(I.eps,m),E=i.SinCosSeries(!0,I.ssig2,I.csig2,m)-i.SinCosSeries(!0,I.ssig1,I.csig1,m),I.domg12=-this.f*this.A3f(I.eps)*y*(I.sig12+E),I.lam12=b+I.domg12,u&&(0===I.calp2?I.dlam12=-2*this._f1*e/t:(N=this.Lengths(I.eps,I.sig12,I.ssig1,I.csig1,e,I.ssig2,I.csig2,o,n,r,i.REDUCEDLENGTH,_,f),I.dlam12=N.m12b,I.dlam12*=this._f1/(I.calp2*r))),I},i.Geodesic.prototype.Inverse=function(t,n,e,s,r){var o,h;return r||(r=i.STANDARD),r===i.LONG_UNROLL&&(r|=i.STANDARD),r&=i.OUT_MASK,h=(o=this.InverseInt(t,n,e,s,r)).vals,r&i.AZIMUTH&&(h.azi1=a.atan2d(o.salp1,o.calp1),h.azi2=a.atan2d(o.salp2,o.calp2)),h},i.Geodesic.prototype.InverseInt=function(t,n,e,s,r){var o,h,p,l,c,u,_,f,m,v,C,S,x,M,E,b,w,N,I,G,k,P,T,D,O,L,R,q,U,z,j,W,B,H,F,K,V,J,Y,X,Z,$,Q,ii,ti,ni,ai,ei,si,ri,oi,hi,pi,li,ci,ui,_i,fi,mi,di,yi,vi,gi,Ai,Ci,Si={};if(Si.lat1=t=a.LatFix(t),Si.lat2=e=a.LatFix(e),t=a.AngRound(t),e=a.AngRound(e),h=(o=a.AngDiff(n,s)).e,o=o.d,r&i.LONG_UNROLL?(Si.lon1=n,Si.lon2=n+o+h):(Si.lon1=a.AngNormalize(n),Si.lon2=a.AngNormalize(s)),h*=p=a.copysign(1,o),E=(o*=p)*a.degree,b=(l=a.sincosde(o,h)).s,w=l.c,h=180-o-h,(c=Math.abs(t)<Math.abs(e)||isNaN(e)?-1:1)<0&&(p*=-1,[e,t]=[t,e]),t*=u=a.copysign(1,-t),e*=u,l=a.sincosd(t),_=this._f1*l.s,f=l.c,_/=l=a.hypot(_,f),f/=l,f=Math.max(i.tiny_,f),l=a.sincosd(e),m=this._f1*l.s,v=l.c,m/=l=a.hypot(m,v),v/=l,v=Math.max(i.tiny_,v),f<-_?v===f&&(m=a.copysign(_,m)):Math.abs(m)===-_&&(v=f),x=Math.sqrt(1+this._ep2*a.sq(_)),M=Math.sqrt(1+this._ep2*a.sq(m)),T=new Array(i.nC1_+1),D=new Array(i.nC2_+1),O=new Array(i.nC3_),(L=-90===t||0===b)&&(G=b,P=0,q=_,U=(I=w)*f,z=m,j=(k=1)*v,N=Math.atan2(Math.max(0,U*z-q*j),U*j+q*z),C=(R=this.Lengths(this._n,N,q,U,x,z,j,M,f,v,r|i.DISTANCE|i.REDUCEDLENGTH,T,D)).s12b,S=R.m12b,r&i.GEODESICSCALE&&(Si.M12=R.M12,Si.M21=R.M21),N<g||S>=0?((N<3*i.tiny_||N<y&&(C<0||S<0))&&(N=S=C=0),S*=this._b,C*=this._b,Si.a12=N/a.degree):L=!1),_i=2,!L&&0===_&&(this.f<=0||h>=180*this.f))I=k=0,G=P=1,C=this.a*E,N=B=E/this._f1,S=this._b*Math.sin(N),r&i.GEODESICSCALE&&(Si.M12=Si.M21=Math.cos(N)),Si.a12=o/this._f1;else if(!L)if(N=(R=this.InverseStart(_,f,x,m,v,M,E,b,w,T,D)).sig12,G=R.salp1,I=R.calp1,N>=0)P=R.salp2,k=R.calp2,H=R.dnm,C=N*this._b*H,S=a.sq(H)*this._b*Math.sin(N/H),r&i.GEODESICSCALE&&(Si.M12=Si.M21=Math.cos(N/H)),Si.a12=N/a.degree,B=E/(this._f1*H);else{for(F=0,K=i.tiny_,V=1,J=i.tiny_,Y=-1,X=!1,Z=!1;$=(R=this.Lambda12(_,f,x,m,v,M,G,I,b,w,F<20,T,D,O)).lam12,P=R.salp2,k=R.calp2,N=R.sig12,q=R.ssig1,U=R.csig1,z=R.ssig2,j=R.csig2,W=R.eps,mi=R.domg12,Q=R.dlam12,!Z&&Math.abs($)>=(X?8:1)*y&&F!=d;++F)$>0&&(F<20||I/G>Y/J)?(J=G,Y=I):$<0&&(F<20||I/G<V/K)&&(K=G,V=I),F<20&&Q>0&&(ii=-$/Q,Math.abs(ii)<Math.PI&&(ti=Math.sin(ii),(ai=G*(ni=Math.cos(ii))+I*ti)>0))?(I=I*ni-G*ti,G=ai,G/=l=a.hypot(G,I),I/=l,X=Math.abs($)<=16*y):(G=(K+J)/2,I=(V+Y)/2,G/=l=a.hypot(G,I),I/=l,X=!1,Z=Math.abs(K-G)+(V-I)<A||Math.abs(G-J)+(I-Y)<A);ei=r|(r&(i.REDUCEDLENGTH|i.GEODESICSCALE)?i.DISTANCE:i.NONE),C=(R=this.Lengths(W,N,q,U,x,z,j,M,f,v,ei,T,D)).s12b,S=R.m12b,r&i.GEODESICSCALE&&(Si.M12=R.M12,Si.M21=R.M21),S*=this._b,C*=this._b,Si.a12=N/a.degree,r&i.AREA&&(Ai=Math.sin(mi),_i=b*(Ci=Math.cos(mi))-w*Ai,fi=w*Ci+b*Ai)}return r&i.DISTANCE&&(Si.s12=0+C),r&i.REDUCEDLENGTH&&(Si.m12=0+S),r&i.AREA&&(si=G*f,0!==(ri=a.hypot(I,G*_))&&0!==si?(q=_,U=I*f,z=m,j=k*v,W=(hi=a.sq(ri)*this._ep2)/(2*(1+Math.sqrt(1+hi))+hi),pi=a.sq(this.a)*ri*si*this._e2,q/=l=a.hypot(q,U),U/=l,z/=l=a.hypot(z,j),j/=l,li=new Array(i.nC4_),this.C4f(W,li),ci=i.SinCosSeries(!1,q,U,li),ui=i.SinCosSeries(!1,z,j,li),Si.S12=pi*(ui-ci)):Si.S12=0,L||2!=_i||(_i=Math.sin(B),fi=Math.cos(B)),!L&&fi>-.7071&&m-_<1.75?(mi=1+fi,di=1+f,yi=1+v,oi=2*Math.atan2(_i*(_*yi+m*di),mi*(_*m+di*yi))):(gi=k*I+P*G,0===(vi=P*I-k*G)&&gi<0&&(vi=i.tiny_*I,gi=-1),oi=Math.atan2(vi,gi)),Si.S12+=this._c2*oi,Si.S12*=c*p*u,Si.S12+=0),c<0&&([P,G]=[G,P],[k,I]=[I,k],r&i.GEODESICSCALE&&([Si.M21,Si.M12]=[Si.M12,Si.M21])),{vals:Si,salp1:G*=c*p,calp1:I*=c*u,salp2:P*=c*p,calp2:k*=c*u}},i.Geodesic.prototype.GenDirect=function(n,a,e,s,r,o){return o?o===i.LONG_UNROLL&&(o|=i.STANDARD):o=i.STANDARD,s||(o|=i.DISTANCE_IN),new t.GeodesicLine(this,n,a,e,o).GenPosition(s,r,o)},i.Geodesic.prototype.Direct=function(i,t,n,a,e){return this.GenDirect(i,t,n,!1,a,e)},i.Geodesic.prototype.ArcDirect=function(i,t,n,a,e){return this.GenDirect(i,t,n,!0,a,e)},i.Geodesic.prototype.Line=function(i,n,a,e){return new t.GeodesicLine(this,i,n,a,e)},i.Geodesic.prototype.DirectLine=function(i,t,n,a,e){return this.GenDirectLine(i,t,n,!1,a,e)},i.Geodesic.prototype.ArcDirectLine=function(i,t,n,a,e){return this.GenDirectLine(i,t,n,!0,a,e)},i.Geodesic.prototype.GenDirectLine=function(n,a,e,s,r,o){var h;return o||(o=i.STANDARD|i.DISTANCE_IN),s||(o|=i.DISTANCE_IN),(h=new t.GeodesicLine(this,n,a,e,o)).GenSetDistance(s,r),h},i.Geodesic.prototype.InverseLine=function(n,e,s,r,o){var h,p,l;return o||(o=i.STANDARD|i.DISTANCE_IN),h=this.InverseInt(n,e,s,r,i.ARC),l=a.atan2d(h.salp1,h.calp1),o&i.OUT_MASK&i.DISTANCE_IN&&(o|=i.DISTANCE),(p=new t.GeodesicLine(this,n,e,l,o,h.salp1,h.calp1)).SetArc(h.vals.a12),p},i.Geodesic.prototype.Polygon=function(i){return new n.PolygonArea(this,i)},i.WGS84=new i.Geodesic(e.WGS84.a,e.WGS84.f)}(e.Geodesic,e.GeodesicLine,e.PolygonArea,e.Math,e.Constants),function(i,t,n){t.GeodesicLine=function(t,a,e,s,r,o,h){var p,l,c,u,_,f;r||(r=i.STANDARD|i.DISTANCE_IN),this.a=t.a,this.f=t.f,this._b=t._b,this._c2=t._c2,this._f1=t._f1,this.caps=r|i.LATITUDE|i.AZIMUTH|i.LONG_UNROLL,this.lat1=n.LatFix(a),this.lon1=e,void 0===o||void 0===h?(this.azi1=n.AngNormalize(s),p=n.sincosd(n.AngRound(this.azi1)),this.salp1=p.s,this.calp1=p.c):(this.azi1=s,this.salp1=o,this.calp1=h),p=n.sincosd(n.AngRound(this.lat1)),c=this._f1*p.s,l=p.c,c/=p=n.hypot(c,l),l/=p,l=Math.max(i.tiny_,l),this._dn1=Math.sqrt(1+t._ep2*n.sq(c)),this._salp0=this.salp1*l,this._calp0=n.hypot(this.calp1,this.salp1*c),this._ssig1=c,this._somg1=this._salp0*c,this._csig1=this._comg1=0!==c||0!==this.calp1?l*this.calp1:1,p=n.hypot(this._ssig1,this._csig1),this._ssig1/=p,this._csig1/=p,this._k2=n.sq(this._calp0)*t._ep2,u=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2),this.caps&i.CAP_C1&&(this._A1m1=i.A1m1f(u),this._C1a=new Array(i.nC1_+1),i.C1f(u,this._C1a),this._B11=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C1a),_=Math.sin(this._B11),f=Math.cos(this._B11),this._stau1=this._ssig1*f+this._csig1*_,this._ctau1=this._csig1*f-this._ssig1*_),this.caps&i.CAP_C1p&&(this._C1pa=new Array(i.nC1p_+1),i.C1pf(u,this._C1pa)),this.caps&i.CAP_C2&&(this._A2m1=i.A2m1f(u),this._C2a=new Array(i.nC2_+1),i.C2f(u,this._C2a),this._B21=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C2a)),this.caps&i.CAP_C3&&(this._C3a=new Array(i.nC3_),t.C3f(u,this._C3a),this._A3c=-this.f*this._salp0*t.A3f(u),this._B31=i.SinCosSeries(!0,this._ssig1,this._csig1,this._C3a)),this.caps&i.CAP_C4&&(this._C4a=new Array(i.nC4_),t.C4f(u,this._C4a),this._A4=n.sq(this.a)*this._calp0*this._salp0*t._e2,this._B41=i.SinCosSeries(!1,this._ssig1,this._csig1,this._C4a)),this.a13=this.s13=NaN},t.GeodesicLine.prototype.GenPosition=function(t,a,e){var s,r,o,h,p,l,c,u,_,f,m,d,y,v,g,A,C,S,x,M,E,b,w,N,I,G,k={};return e?e===i.LONG_UNROLL&&(e|=i.STANDARD):e=i.STANDARD,e&=this.caps&i.OUT_MASK,k.lat1=this.lat1,k.azi1=this.azi1,k.lon1=e&i.LONG_UNROLL?this.lon1:n.AngNormalize(this.lon1),t?k.a12=a:k.s12=a,t||this.caps&i.DISTANCE_IN&i.OUT_MASK?(h=0,p=0,t?(s=a*n.degree,r=(w=n.sincosd(a)).s,o=w.c):(u=a/(this._b*(1+this._A1m1)),_=Math.sin(u),f=Math.cos(u),s=u-((h=-i.SinCosSeries(!0,this._stau1*f+this._ctau1*_,this._ctau1*f-this._stau1*_,this._C1pa))-this._B11),r=Math.sin(s),o=Math.cos(s),Math.abs(this.f)>.01&&(l=this._ssig1*o+this._csig1*r,c=this._csig1*o-this._ssig1*r,h=i.SinCosSeries(!0,l,c,this._C1a),s-=((1+this._A1m1)*(s+(h-this._B11))-a/this._b)/Math.sqrt(1+this._k2*n.sq(l)),r=Math.sin(s),o=Math.cos(s))),l=this._ssig1*o+this._csig1*r,c=this._csig1*o-this._ssig1*r,x=Math.sqrt(1+this._k2*n.sq(l)),e&(i.DISTANCE|i.REDUCEDLENGTH|i.GEODESICSCALE)&&((t||Math.abs(this.f)>.01)&&(h=i.SinCosSeries(!0,l,c,this._C1a)),p=(1+this._A1m1)*(h-this._B11)),y=this._calp0*l,0===(v=n.hypot(this._salp0,this._calp0*c))&&(v=c=i.tiny_),C=this._salp0,S=this._calp0*c,t&&e&i.DISTANCE&&(k.s12=this._b*((1+this._A1m1)*s+p)),e&i.LONGITUDE&&(g=this._salp0*l,A=c,d=n.copysign(1,this._salp0),m=((e&i.LONG_UNROLL?d*(s-(Math.atan2(l,c)-Math.atan2(this._ssig1,this._csig1))+(Math.atan2(d*g,A)-Math.atan2(d*this._somg1,this._comg1))):Math.atan2(g*this._comg1-A*this._somg1,A*this._comg1+g*this._somg1))+this._A3c*(s+(i.SinCosSeries(!0,l,c,this._C3a)-this._B31)))/n.degree,k.lon2=e&i.LONG_UNROLL?this.lon1+m:n.AngNormalize(n.AngNormalize(this.lon1)+n.AngNormalize(m))),e&i.LATITUDE&&(k.lat2=n.atan2d(y,this._f1*v)),e&i.AZIMUTH&&(k.azi2=n.atan2d(C,S)),e&(i.REDUCEDLENGTH|i.GEODESICSCALE)&&(M=i.SinCosSeries(!0,l,c,this._C2a),E=(1+this._A2m1)*(M-this._B21),b=(this._A1m1-this._A2m1)*s+(p-E),e&i.REDUCEDLENGTH&&(k.m12=this._b*(x*(this._csig1*l)-this._dn1*(this._ssig1*c)-this._csig1*c*b)),e&i.GEODESICSCALE&&(w=this._k2*(l-this._ssig1)*(l+this._ssig1)/(this._dn1+x),k.M12=o+(w*l-c*b)*this._ssig1/this._dn1,k.M21=o-(w*this._ssig1-this._csig1*b)*l/x)),e&i.AREA&&(N=i.SinCosSeries(!1,l,c,this._C4a),0===this._calp0||0===this._salp0?(I=C*this.calp1-S*this.salp1,G=S*this.calp1+C*this.salp1):(I=this._calp0*this._salp0*(o<=0?this._csig1*(1-o)+r*this._ssig1:r*(this._csig1*r/(1+o)+this._ssig1)),G=n.sq(this._salp0)+n.sq(this._calp0)*this._csig1*c),k.S12=this._c2*Math.atan2(I,G)+this._A4*(N-this._B41)),t||(k.a12=s/n.degree),k):(k.a12=NaN,k)},t.GeodesicLine.prototype.Position=function(i,t){return this.GenPosition(!1,i,t)},t.GeodesicLine.prototype.ArcPosition=function(i,t){return this.GenPosition(!0,i,t)},t.GeodesicLine.prototype.GenSetDistance=function(i,t){i?this.SetArc(t):this.SetDistance(t)},t.GeodesicLine.prototype.SetDistance=function(t){var n;this.s13=t,n=this.GenPosition(!1,this.s13,i.ARC),this.a13=0+n.a12},t.GeodesicLine.prototype.SetArc=function(t){var n;this.a13=t,n=this.GenPosition(!0,this.a13,i.DISTANCE),this.s13=0+n.s12}}(e.Geodesic,e.GeodesicLine,e.Math),function(i,t,n,a){var e,s,r,o;e=function(i,t){var a=n.AngDiff(i,t).d;return i=n.AngNormalize(i),t=n.AngNormalize(t),a>0&&(i<0&&t>=0||i>0&&0===t)?1:a<0&&i>=0&&t<0?-1:0},s=function(i,t){return(0<=(t%=720)&&t<360||t<-360?0:1)-(0<=(i%=720)&&i<360||i<-360?0:1)},r=function(i,t,n,a,e){return i.Remainder(t),1&n&&i.Add((i.Sum()<0?1:-1)*t/2),a||i.Negate(),e?i.Sum()>t/2?i.Add(-t):i.Sum()<=-t/2&&i.Add(+t):i.Sum()>=t?i.Add(-t):i.Sum()<0&&i.Add(+t),0+i.Sum()},o=function(i,t,a,e,s){return i=n.remainder(i,t),1&a&&(i+=(i<0?1:-1)*t/2),e||(i*=-1),s?i>t/2?i-=t:i<=-t/2&&(i+=t):i>=t?i-=t:i<0&&(i+=t),0+i},i.PolygonArea=function(i,n){this._geod=i,this.a=this._geod.a,this.f=this._geod.f,this._area0=4*Math.PI*i._c2,this.polyline=n||!1,this._mask=t.LATITUDE|t.LONGITUDE|t.DISTANCE|(this.polyline?t.NONE:t.AREA|t.LONG_UNROLL),this.polyline||(this._areasum=new a.Accumulator(0)),this._perimetersum=new a.Accumulator(0),this.Clear()},i.PolygonArea.prototype.Clear=function(){this.num=0,this._crossings=0,this.polyline||this._areasum.Set(0),this._perimetersum.Set(0),this._lat0=this._lon0=this.lat=this.lon=NaN},i.PolygonArea.prototype.AddPoint=function(i,t){var n;0===this.num?(this._lat0=this.lat=i,this._lon0=this.lon=t):(n=this._geod.Inverse(this.lat,this.lon,i,t,this._mask),this._perimetersum.Add(n.s12),this.polyline||(this._areasum.Add(n.S12),this._crossings+=e(this.lon,t)),this.lat=i,this.lon=t),++this.num},i.PolygonArea.prototype.AddEdge=function(i,t){var n;this.num&&(n=this._geod.Direct(this.lat,this.lon,i,t,this._mask),this._perimetersum.Add(t),this.polyline||(this._areasum.Add(n.S12),this._crossings+=s(this.lon,n.lon2)),this.lat=n.lat2,this.lon=n.lon2),++this.num},i.PolygonArea.prototype.Compute=function(i,t){var n,s,o={number:this.num};return this.num<2?(o.perimeter=0,this.polyline||(o.area=0),o):this.polyline?(o.perimeter=this._perimetersum.Sum(),o):(n=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,this._mask),o.perimeter=this._perimetersum.Sum(n.s12),(s=new a.Accumulator(this._areasum)).Add(n.S12),o.area=r(s,this._area0,this._crossings+e(this.lon,this._lon0),i,t),o)},i.PolygonArea.prototype.TestPoint=function(i,t,n,a){var s,r,h,p,l={number:this.num+1};if(0===this.num)return l.perimeter=0,this.polyline||(l.area=0),l;for(l.perimeter=this._perimetersum.Sum(),r=this.polyline?0:this._areasum.Sum(),h=this._crossings,p=0;p<(this.polyline?1:2);++p)s=this._geod.Inverse(0===p?this.lat:i,0===p?this.lon:t,0!==p?this._lat0:i,0!==p?this._lon0:t,this._mask),l.perimeter+=s.s12,this.polyline||(r+=s.S12,h+=e(0===p?this.lon:t,0!==p?this._lon0:t));return this.polyline||(l.area=o(r,this._area0,h,n,a)),l},i.PolygonArea.prototype.TestEdge=function(i,t,n,a){var r,h,p,l={number:this.num?this.num+1:0};return 0===this.num||(l.perimeter=this._perimetersum.Sum()+t,this.polyline||(h=this._areasum.Sum(),p=this._crossings,h+=(r=this._geod.Direct(this.lat,this.lon,i,t,this._mask)).S12,p+=s(this.lon,r.lon2),p+=e(r.lon2,this._lon0),r=this._geod.Inverse(r.lat2,r.lon2,this._lat0,this._lon0,this._mask),l.perimeter+=r.s12,h+=r.S12,l.area=o(h,this._area0,p,n,a))),l}}(e.PolygonArea,e.Geodesic,e.Math,e.Accumulator),a=e,i.exports?i.exports=a:window.geodesic=a}(q);var U=q.exports,z=t({__proto__:null,default:n(U)},[U]);const j=globalThis;"undefined"==typeof window&&(j.window=j.window||{},j.window.document||(j.window.document={}));const W=j.window.modules=j.window.modules||{};W.mproj=x,W.flatbush=b,W.kdbush=P,W["geographiclib-geodesic"]=z;let B=Promise.resolve();self.onmessage=t=>{const n=t.data;n&&"run"===n.type&&(B=B.then(()=>async function(t){try{const{id:n,cmd:a,commands:e,packed:s,inputFiles:r}=t;let o;if(e&&e.length>0)o=e;else{if("string"!=typeof a)throw new Error("worker: request missing both cmd and commands");o=i.internal.parseCommands(a)}if(r)for(const i of o)i.options&&(i.options.input=r);const h=(await i.internal.restoreSessionData(s)).datasets;if(!h||0===h.length)throw new Error("worker: packed payload contained no datasets");const p=new i.internal.Job;p.catalog.addDataset(h[0]);const l=await new Promise((t,n)=>{i.internal.runParsedCommands(o,p,(i,a)=>{i?n(i):t(a)})}),c=l.catalog.getDefaultTargets(),u=c.length>0?c[0].dataset:h[0],_=await i.internal.exportDatasetsToPack([u],{compact:!1});self.postMessage({id:n,type:"ok",packed:_})}catch(i){const n=i?.message??String(i);self.postMessage({id:t.id,type:"error",message:n})}}(n)).catch(()=>{}))}}(mapshaper);
1
+ importScripts("mapshaper-vendor.js"),function(t){"use strict";function i(t,i){return i.forEach(function(i){i&&"string"!=typeof i&&!Array.isArray(i)&&Object.keys(i).forEach(function(e){if("default"!==e&&!(e in t)){var a=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(t,e,a.get?a:{enumerable:!0,get:function(){return i[e]}})}})}),Object.freeze(t)}var e=Math.abs,a=Math.floor,n=Math.sin,r=Math.cos,s=Math.tan,o=Math.asin,l=Math.acos,h=Math.atan,p=Math.atan2,c=Math.sqrt,u=Math.pow,_=Math.exp,f=Math.log,m=Math.hypot,d=Math.sinh,g=Math.cosh,y=Math.min,v=Math.max,A=1/0,E=Math.PI,S=57.29577951308232,C=.017453292519943295,M=6378137,w=.0066943799901413165,x=E/4,I=E/2,b=1.5*E,k=2*E,N=2/E,G=-45,R=-47,P=1e-10,T={last_errno:0,debug_level:0,logger:null},O=["no arguments in initialization list","no options found in 'init' file","invalid init= string","projection not named","unknown projection id","effective eccentricity = 1","unknown unit conversion id","invalid boolean param argument","unknown elliptical parameter name","reciprocal flattening (1/f) = 0","|radius reference latitude| > 90","squared eccentricity < 0","major axis or radius = 0 or not given","latitude or longitude exceeded limits","invalid x or y","improperly formed DMS value","non-convergent inverse meridional dist","non-convergent inverse phi2","acos/asin: |arg| >1+1e-14","tolerance condition error","conic lat_1 = -lat_2","lat_1 >= 90","lat_1 = 0","lat_ts >= 90","no distance between control points","projection not selected to be rotated","W <= 0 or M <= 0","lsat not in 1-5 range","path not in range","h <= 0","k <= 0","lat_0 = 0 or 90 or alpha = 90","lat_1=lat_2 or lat_1=0 or lat_2=90","elliptical usage required","invalid UTM zone number","arg(s) out of range for Tcheby eval","failed to find projection to be rotated","failed to load datum shift file","both n & m must be spec'd and > 0","n <= 0, n > 1 or not specified","lat_1 or lat_2 not specified","|lat_1| == |lat_2|","lat_0 is pi/2 from mean lat","unparseable coordinate system definition","geocentric transformation missing z or ellps","unknown prime meridian conversion id","illegal axis orientation combination","point not within available datum shift grids","invalid sweep axis, choose x or y","invalid value for h","point outside of projection domain"];function D(){var t=T.last_errno;t&&(t>0||!function(t){return L.indexOf(t)>-1}(t))&&W(t)}var L=[-14,-15,-17,-18,-19,-20,-27,-48];function U(t){T.last_errno=t}function q(){U(-20)}function j(){U(-20)}function z(t){W(t)}function W(t){U(t),B()}function B(t,i){var e;throw i||(i={}),i.code||(i.code=T.last_errno||0),t||(e=i.code,t=O[~e]||"unknown error"),T.last_errno=0,new H(t,i)}function H(t,i){var e=new Error(t);return e.name="ProjError",Object.keys(i).forEach(function(t){e[t]=i[t]}),e}function V(t){return F(t)*C}function F(t){var i=/(-?[0-9.]+)d?([0-9.]*)'?([0-9.]*)"?([nsew]?)$/i.exec(t),e=NaN;return i&&(e=+(i[1]||"0")+ +(i[2]||"0")/60+ +(i[3]||"0")/3600,/[ws]/i.test(i[4])&&(e=-e)),isNaN(e)&&W(-16),e}function K(t){return J(t)}function J(t){return parseFloat(t)}function X(t,i){var e,a,n=i[0],r=t[i.substr(1)],s=void 0!==r;return"t"==n?e=s:s?(a=r.param,r.used=!0,"i"==n?e=parseInt(a):"d"==n?e=K(a):"r"==n?e=V(a):"s"==n?e=String(a):"b"==n&&("T"==a||"t"==a||!0===a?e=!0:("F"==a||"f"==a||U(-8),e=!1))):e={i:0,b:!1,d:0,r:0,s:""}[n],void 0===e&&B("invalid request to pj_param, fatal"),e}function Z(t){for(var i,e=/\+([a-z][a-z0-9_]*(?:=[^\s]*)?)/gi,a={};i=e.exec(t);)Y(a,i[1]);return a}function Y(t,i){var e,a,n=i.split("=");1==n.length?(e=i,a=!0):(e=n[0],a=i.substr(n[0].length+1)),t[e]={used:!1,param:a}}var $={};function Q(t,i,e,a){$[i]={init:t,name:e,description:a}}function tt(t){return!t||t.is_latlong}function it(t){var i=!1,e="";return"datum"in t.params?(i=!0,e+=at(t,"datum")):"R"in t.params?e+=at(t,"R"):"ellps"in t.params?e+=at(t,"ellps"):"a"in t.params?(e+=at(t,"a"),"b"in t.params?e+=at(t,"b"):"es"in t.params?e+=at(t,"es"):"f"in t.params?e+=at(t,"f"):e+=" +es="+t.es):z(-13),i||(e+=at(t,"towgs84"),e+=at(t,"nadgrids")),e+=at(t,"R_A"),e+=at(t,"R_V"),e+=at(t,"R_a"),e+=at(t,"R_lat_a"),e+=at(t,"R_lat_g"),e+=at(t,"pm")}function et(t){var i="datum,ellps,a,b,es,rf,f,towgs84,nadgrids,R,R_A,R_V,R_a,R_lat_a,R_lat_g,pm,init,no_defs".split(","),e="";return Object.keys(t.params).forEach(function(a){-1==i.indexOf(a)&&(e+=at(t,a))}),(e+=it(t)).trim()}function at(t,i){var e="";return i in t.params&&(e=" +"+i,!0!==t.params[i].param&&(e+="="+X(t.params,"s"+i))),e}var nt=[["WGS84","towgs84=0,0,0","WGS84","WGS_1984"],["GGRS87","towgs84=-199.87,74.79,246.62","GRS80","Greek_Geodetic_Reference_System_1987"],["NAD83","towgs84=0,0,0","GRS80","North_American_Datum_1983"],["NAD27","nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat","clrk66","North_American_Datum_1927"],["potsdam","towgs84=598.1,73.7,418.2,0.202,0.045,-2.455,6.7","bessel","Potsdam Rauenberg 1950 DHDN"],["carthage","towgs84=-263.0,6.0,431.0","clrk80ign","Carthage 1934 Tunisia"],["hermannskogel","towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232","bessel","Hermannskogel"],["ire65","towgs84=482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15","mod_airy","Ireland 1965"],["nzgd49","towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993","intl","New Zealand Geodetic Datum 1949"],["OSGB36","towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894","airy","OSGB 1936"],[null,null,null,null]],rt=[["greenwich","0dE"],["lisbon","9d07'54.862\"W"],["paris","2d20'14.025\"E"],["bogota","74d04'51.3\"W"],["madrid","3d41'16.58\"W"],["rome","12d27'8.4\"E"],["bern","7d26'22.5\"E"],["jakarta","106d48'27.79\"E"],["ferro","17d40'W"],["brussels","4d22'4.71\"E"],["stockholm","18d3'29.8\"E"],["athens","23d42'58.815\"E"],["oslo","10d43'22.5\"E"],[null,null]];function st(t){var i=nt.reduce(function(i,e){return e[0]===t?e:i},null);return i?{id:i[0],defn:i[1],ellipse_id:i[2],name:i[3]}:null}var ot=[["MERIT","a=6378137.0","rf=298.257","MERIT 1983"],["SGS85","a=6378136.0","rf=298.257","Soviet Geodetic System 85"],["GRS80","a=6378137.0","rf=298.257222101","GRS 1980(IUGG, 1980)"],["IAU76","a=6378140.0","rf=298.257","IAU 1976"],["airy","a=6377563.396","b=6356256.910","Airy 1830"],["APL4.9","a=6378137.0","rf=298.25","Appl. Physics. 1965"],["NWL9D","a=6378145.0","rf=298.25","Naval Weapons Lab., 1965"],["mod_airy","a=6377340.189","b=6356034.446","Modified Airy"],["andrae","a=6377104.43","rf=300.0","Andrae 1876 (Den., Iclnd.)"],["aust_SA","a=6378160.0","rf=298.25","Australian Natl & S. Amer. 1969"],["GRS67","a=6378160.0","rf=298.2471674270","GRS 67(IUGG 1967)"],["bessel","a=6377397.155","rf=299.1528128","Bessel 1841"],["bess_nam","a=6377483.865","rf=299.1528128","Bessel 1841 (Namibia)"],["clrk66","a=6378206.4","b=6356583.8","Clarke 1866"],["clrk80","a=6378249.145","rf=293.4663","Clarke 1880 mod."],["clrk80ign","a=6378249.2","rf=293.4660212936269","Clarke 1880 (IGN)."],["CPM","a=6375738.7","rf=334.29","Comm. des Poids et Mesures 1799"],["delmbr","a=6376428","rf=311.5","Delambre 1810 (Belgium)"],["engelis","a=6378136.05","rf=298.2566","Engelis 1985"],["evrst30","a=6377276.345","rf=300.8017","Everest 1830"],["evrst48","a=6377304.063","rf=300.8017","Everest 1948"],["evrst56","a=6377301.243","rf=300.8017","Everest 1956"],["evrst69","a=6377295.664","rf=300.8017","Everest 1969"],["evrstSS","a=6377298.556","rf=300.8017","Everest (Sabah & Sarawak)"],["fschr60","a=6378166","rf=298.3","Fischer (Mercury Datum) 1960"],["fschr60m","a=6378155","rf=298.3","Modified Fischer 1960"],["fschr68","a=6378150","rf=298.3","Fischer 1968"],["helmert","a=6378200","rf=298.3","Helmert 1906"],["hough","a=6378270.0","rf=297","Hough"],["intl","a=6378388.0","rf=297","International 1909 (Hayford)"],["krass","a=6378245.0","rf=298.3","Krasovsky 1940"],["kaula","a=6378163","rf=298.24","Kaula 1961"],["lerch","a=6378139","rf=298.257","Lerch 1979"],["mprts","a=6397300","rf=191","Maupertius 1738"],["new_intl","a=6378157.5","b=6356772.2","New International 1967"],["plessis","a=6376523","b=6355863","Plessis 1817 (France)"],["SEasia","a=6378155.0","b=6356773.3205","Southeast Asia"],["walbeck","a=6376896.0","b=6355834.8467","Walbeck"],["WGS60","a=6378165.0","rf=298.3","WGS 60"],["WGS66","a=6378145.0","rf=298.25","WGS 66"],["WGS72","a=6378135.0","rf=298.26","WGS 72"],["WGS84","a=6378137.0","rf=298.257223563","WGS 84"],["sphere","a=6370997.0","b=6370997.0","Normal Sphere (r=6370997)"],[null,null,null,null]];function lt(t){var i=ot.reduce(function(i,e){return e[0]===t?e:i},null);return i?{id:i[0],major:i[1],ell:i[2],name:i[3]}:null}var ht=[["km","1000","Kilometer"],["m","1","Meter"],["dm","1/10","Decimeter"],["cm","1/100","Centimeter"],["mm","1/1000","Millimeter"],["kmi","1852.0","International Nautical Mile"],["in","0.0254","International Inch"],["ft","0.3048","International Foot"],["yd","0.9144","International Yard"],["mi","1609.344","International Statute Mile"],["fath","1.8288","International Fathom"],["ch","20.1168","International Chain"],["link","0.201168","International Link"],["us-in","1/39.37","U.S. Surveyor's Inch"],["us-ft","0.304800609601219","U.S. Surveyor's Foot"],["us-yd","0.914401828803658","U.S. Surveyor's Yard"],["us-ch","20.11684023368047","U.S. Surveyor's Chain"],["us-mi","1609.347218694437","U.S. Surveyor's Statute Mile"],["ind-yd","0.91439523","Indian Yard"],["ind-ft","0.30479841","Indian Foot"],["ind-ch","20.11669506","Indian Chain"],[null,null,null]];function pt(t){var i=ht.reduce(function(i,e){return t===e[0]?e:i},null);return i?{id:i[0],to_meter:i[1],name:i[2]}:null}var ct={};var ut={};function _t(t){return ut[t]||null}function ft(t){var i,e=t.split(":"),a=e[0],n=e[1];return n&&a||z(-3),(i=_t(a=a.toLowerCase()))||(i=void B("unable to read from 'init' file named "+a),ut[a]=i),i?function(t,i){var e,a,n="",r="";(e=t.indexOf("<"+i+">"))>-1&&((a=t.lastIndexOf("#",e))>-1&&(r=t.substring(a+1,e).trim(),/\n/.test(r)&&(r="")),n=(n=(n=" "+(n=(n=(n=(n=(n=t.substr(e+i.length+2)).substr(0,n.indexOf("<"))).replace(/#.*/g,"")).replace(/[\s]+/g," ")).replace(/\+title=[^+]*[^ +]/g,function(t){return t.replace(/ /g,"\t")}))).replace(/ (?=[a-z])/gi," +")).replace(/\t/g," ").trim());return n?{opts:n,comment:r}:null}(i,n):null}function mt(t){var i,a,r=Z(t),s={params:r,is_latlong:!1,is_geocent:!1,is_long_wrap_set:!1,long_wrap_center:0,axis:"enu",gridlist:null,gridlist_count:0,vgridlist_geoid:null,vgridlist_geoid_count:0};return Object.keys(r).length||z(-1),X(r,"tinit")&&function(t,i){var e=(a=i,ct[a.toLowerCase()]||null);var a;e||function(t,i){ct[t.toLowerCase()]=i}(i,e=ft(i));e||z(-2);dt(t,e.opts)}(r,X(r,"sinit")),(i=X(r,"sproj"))||z(-4),(a=$[i])||z(-5),X(r,"bno_defs")||function(t){dt(t,"+ellps=WGS84")}(s.params),function(t){var i,e,a,n,r=484813681109536e-20,s=t.datum_params=[0,0,0,0,0,0,0];t.datum_type=0,(i=X(t.params,"sdatum"))&&((e=st(i))||z(-9),e.ellipse_id&&Y(t.params,"ellps="+e.ellipse_id),e.defn&&Y(t.params,e.defn)),(a=X(t.params,"snadgrids"))&&"@null"!=a&&B("+nadgrids is not implemented"),X(t.params,"scatalog")&&B("+catalog is not implemented"),(n=X(t.params,"stowgs84"))&&(n.split(",").forEach(function(t,i){s[i]=K(t)||0}),0!=s[3]||0!=s[4]||0!=s[5]||0!=s[6]?(t.datum_type=2,s[3]*=r,s[4]*=r,s[5]*=r,s[6]=s[6]/1e6+1):t.datum_type=1)}(s),function(t){var i,a,r,s,o,l=.16666666666666666,h=t.params,p=0,u=0;X(h,"tR")?p=X(h,"dR"):((i=X(h,"sellps"))&&((a=lt(i))||z(-9),Y(h,a.major),Y(h,a.ell)),p=X(h,"da"),X(h,"tes")?u=X(h,"des"):X(h,"te")?u=(r=X(h,"de"))*r:X(h,"trf")?((r=X(h,"drf"))||z(-10),u=(r=1/r)*(2-r)):X(h,"tf")?u=(r=X(h,"df"))*(2-r):X(h,"tb")&&(u=1-(s=X(h,"db"))*s/(p*p)),s||(s=p*c(1-u)),X(h,"bR_A")?(p*=1-u*(l+u*(.04722222222222222+.022156084656084655*u)),u=0):X(h,"bR_V")?p*=1-u*(l+u*(.06944444444444445+.04243827160493827*u)):X(h,"bR_a")?(p=.5*(p+s),u=0):X(h,"bR_g")?(p=c(p*s),u=0):X(h,"bR_h")?(p+s===0&&z(-20),p=2*p*s/(p+s),u=0):(o=X(h,"tR_lat_a")||X(h,"tR_lat_g"))&&(r=n(X(h,o?"rR_lat_a":"rR_lat_g")),e(r)>I&&z(-11),r=1-u*r*r,p*=o?.5*(1-u+r)/(r*c(r)):c(1-u)/r,u=0)),u<0&&z(-12),p<=0&&z(-13),t.es=u,t.a=p}(s),s.a_orig=s.a,s.es_orig=s.es,s.e=c(s.es),s.ra=1/s.a,s.one_es=1-s.es,s.one_es||z(-6),s.rone_es=1/s.one_es,function(t){return 1==t.datum_type&&t.datum_params[0]==t.datum_params[1]==t.datum_params[2]===0&&6378137==t.a&&Math.abs(t.es-.00669437999)<5e-11}(s)&&(s.datum_type=4),s.geoc=!!s.es&&X(r,"bgeoc"),s.over=X(r,"bover"),s.has_geoid_vgrids=X(r,"tgeoidgrids"),s.has_geoid_vgrids&&X(r,"sgeoidgrids"),s.is_long_wrap_set=X(r,"tlon_wrap"),s.is_long_wrap_set&&(s.long_wrap_center=X(r,"rlon_wrap"),e(s.long_wrap_center)<10*k==!1&&z(-14)),X(r,"saxis")&&function(t){var i="ewnsud",e=X(t.params,"saxis");3!=e.length&&z(R);-1!=i.indexOf(e[0])&&-1!=i.indexOf(e[1])&&-1!=i.indexOf(e[2])||z(R);t.axis=e}(s),s.lam0=X(r,"rlon_0"),s.phi0=X(r,"rlat_0"),s.x0=X(r,"dx_0"),s.y0=X(r,"dy_0"),X(r,"tk_0")?s.k0=X(r,"dk_0"):X(r,"tk")?s.k0=X(r,"dk"):s.k0=1,s.k0<=0&&z(-31),function(t){var i,e,a,n=t.params;(i=X(n,"sunits"))&&((a=pt(i))||z(-7),e=a.to_meter);e||(e=X(n,"sto_meter"))?(t.to_meter=gt(e),t.fr_meter=1/t.to_meter):t.to_meter=t.fr_meter=1;e=null,(i=X(n,"svunits"))&&((a=pt(i))||z(-7),e=a.to_meter);e||X(n,"svto_meter")?(t.vto_meter=gt(e),t.vfr_meter=1/t.vto_meter):(t.vto_meter=t.to_meter,t.vfr_meter=t.fr_meter)}(s),function(t){var i,e,a,n=t.params;i=X(n,"spm"),i?(e=function(t){var i=rt.reduce(function(i,e){return e[0]===t?e:i},null);return i?{id:i[0],definition:i[1]}:null}(i),a=V(e?e.definition:i),isNaN(a)&&z(-46),t.from_greenwich=a):t.from_greenwich=0}(s),a.init(s),s}function dt(t,i){var e=Z(i),a=["datum","ellps","a","b","rf","f"].reduce(function(i,e){return i||e in t},!1);Object.keys(e).forEach(function(i){i in t||"ellps"==i&&a||(t[i]=e[i])})}function gt(t){var i=t.split("/"),e=J(i[0]);return i.length>1&&(e/=J(i[1])),e}function yt(t,i){var e=0,a=t*t,n=i*i;return t<=0&&(e|=4),i<=0&&(e|=8),t<i&&(e|=16),e?null:{a:t,b:i,a2:a,b2:n,e2:(a-n)/a,ep2:(a-n)/n}}function vt(t,i,e,a,s){var o,l,h,p,u=0,_=e[i],f=a[i],m=s[i];return f<-I&&f>-1.001*I?f=-I:f>I&&f<1.001*I?f=I:(f<-I||f>I)&&(u|=1),u||(_>E&&(_-=2*E),l=n(f),p=r(f),h=l*l,o=t.a/c(1-t.e2*h),e[i]=(o+m)*p*r(_),a[i]=(o+m)*p*n(_),s[i]=(o*(1-t.e2)+m)*l),u}function At(t,i,a,n,r){var s,o,l,u,_,f,m,d,g,y,v,A,E,S,C,M,w=1e-12,x=a[i],b=n[i],k=r[i];if(u=c(x*x+b*b),_=c(x*x+b*b+k*k),u/t.a<w){if(o=0,_/t.a<w)return a[i]=0,n[i]=I,r[i]=-t.b,0}else o=p(b,x);f=k/_,m=u/_,d=1/c(1-t.e2*(2-t.e2)*m*m),v=m*(1-t.e2)*d,A=f*d,M=0;do{M++,l=u*v+k*A-(g=t.a/c(1-t.e2*A*A))*(1-t.e2*A*A),y=t.e2*g/(g+l),C=(S=f*(d=1/c(1-y*(2-y)*m*m)))*v-(E=m*(1-y)*d)*A,v=E,A=S}while(C*C>1e-24&&M<30);s=h(S/e(E)),a[i]=o,n[i]=s,r[i]=l}function Et(t,i,e){var a=e.length>2,n=[e[0]],r=[e[1]],s=[a?e[2]:0];t.is_latlong&&(n[0]*=C,r[0]*=C),T.last_errno=0,St(t,i,n,r,s),(T.last_errno||n[0]==A)&&B(null,{point:e}),i.is_latlong&&(n[0]*=S,r[0]*=S),e[0]=n[0],e[1]=r[0],a&&(e[2]=s[0])}function St(t,i,e,a,n){var r,s,o=e.length,l={},h={};if("enu"!=t.axis&&Ct(t.axis,!1,e,a,n),1!=t.vto_meter&&n)for(r=0;r<o;r++)n[r]*=t.vto_meter;if(t.is_geocent){if(n||z(G),1!=t.to_meter)for(r=0;r<o;r++)e[r]!=A&&(e[r]*=t.to_meter,a[r]*=t.to_meter);Mt(t.a_orig,t.es_orig,e,a,n)}else if(!t.is_latlong)if(t.inv3d||t.inv||B("source projection not invertible"),t.inv3d)B("inverse 3d transformations not supported");else for(r=0;r<o;r++)h.x=e[r],h.y=a[r],s=bt(h,t),e[r]=s.lam,a[r]=s.phi,D();if(0!==t.from_greenwich)for(r=0;r<o;r++)e[r]!=A&&(e[r]+=t.from_greenwich);if(t.has_geoid_vgrids&&n&&B("vgrid transformation not supported"),function(t,i,e,a,n){var r,s,o,l,h=e.length;if(0==t.datum_type||0==i.datum_type)return;if(function(t,i){if(t.datum_type!=i.datum_type)return!1;if(t.a_orig!=i.a_orig||Math.abs(t.es_orig-i.es_orig)>5e-11)return!1;if(1==t.datum_type)return t.datum_params[0]==i.datum_params[0]&&t.datum_params[1]==i.datum_params[1]&&t.datum_params[2]==i.datum_params[2];if(2==t.datum_type)return t.datum_params[0]==i.datum_params[0]&&t.datum_params[1]==i.datum_params[1]&&t.datum_params[2]==i.datum_params[2]&&t.datum_params[3]==i.datum_params[3]&&t.datum_params[4]==i.datum_params[4]&&t.datum_params[5]==i.datum_params[5]&&t.datum_params[6]==i.datum_params[6];if(3==t.datum_type)return X(t.params,"snadgrids")==X(i.params,"snadgrids");return!0}(t,i))return;r=t.a_orig,s=t.es_orig,o=i.a_orig,l=i.es_orig,n||(n=new Float64Array(h));3==t.datum_type&&(B("gridshift not implemented"),r=M,s=w);3==i.datum_type&&(o=M,l=w);s==l&&r==o&&1!=t.datum_type&&2!=t.datum_type&&1!=i.datum_type&&2!=i.datum_type||(wt(r,s,e,a,n),1!=t.datum_type&&2!=t.datum_type||function(t,i,e,a){var n,r,s,o,l,h,p,c,u=i.length,_=t.datum_params,f=_[0],m=_[1],d=_[2];if(1==t.datum_type)for(c=0;c<u;c++)i[c]!=A&&(i[c]+=f,e[c]+=m,a[c]+=d);else if(2==t.datum_type)for(o=_[3],l=_[4],h=_[5],p=_[6],c=0;c<u;c++)i[c]!=A&&(n=p*(i[c]-h*e[c]+l*a[c])+f,r=p*(h*i[c]+e[c]-o*a[c])+m,s=p*(-l*i[c]+o*e[c]+a[c])+d,i[c]=n,e[c]=r,a[c]=s)}(t,e,a,n),1!=i.datum_type&&2!=i.datum_type||function(t,i,e,a){var n,r,s,o,l,h,p,c,u=i.length,_=t.datum_params,f=_[0],m=_[1],d=_[2];if(1==t.datum_type)for(c=0;c<u;c++)i[c]!=A&&(i[c]-=f,e[c]-=m,a[c]-=d);else if(2==t.datum_type)for(o=_[3],l=_[4],h=_[5],p=_[6],c=0;c<u;c++)i[c]!=A&&(n=(i[c]-f)/p,r=(e[c]-m)/p,s=(a[c]-d)/p,i[c]=n+h*r-l*s,e[c]=-h*n+r+o*s,a[c]=l*n-o*r+s)}(i,e,a,n),Mt(o,l,e,a,n),3==i.datum_type&&pj_apply_gridshift_2(i,1,e,a,n))}(t,i,e,a,n),i.has_geoid_vgrids&&n&&B("vgrid transformation not supported"),0!==i.from_greenwich)for(r=0;r<o;r++)e[r]!=A&&(e[r]-=i.from_greenwich);if(i.is_geocent){if(n||z(G),wt(i.a_orig,i.es_orig,e,a,n),1!=i.fr_meter)for(r=0;r<o;r++)e[r]!=A&&(e[r]*=i.fr_meter,a[r]*=i.fr_meter)}else if(i.is_latlong){if(i.is_latlong&&i.is_long_wrap_set)for(r=0;r<o;r++)if(e[r]!=A){for(;e[r]<i.long_wrap_center-E;)e[r]+=k;for(;e[r]>i.long_wrap_center+E;)e[r]-=k}}else if(i.fwd3d)B("3d transformation not supported");else for(r=0;r<o;r++)l.lam=e[r],l.phi=a[r],s=It(l,i),e[r]=s.x,a[r]=s.y,D();if(1!=i.vto_meter&&n)for(r=0;r<o;r++)n[r]*=i.vfr_meter;return"enu"!=i.axis&&Ct(i.axis,!0,e,a,n),1==o?T.last_errno:0}function Ct(t,i,e,a,n){var r,s,o,l,h,p,c=e.length,u=0;if(i){for(o=0;o<c;o++)if(r=e[o],s=a[o],r!=A)for(n&&(u=n[o]),l=0;l<3;l++)if(2!=l||n)switch(p=0==l?e:1==l?a:n,t[l]){case"e":p[o]=r;break;case"w":p[o]=-r;break;case"n":p[o]=s;break;case"s":p[o]=-s;break;case"u":p[o]=u;break;case"d":p[o]=-u;break;default:z(R)}}else for(o=0;o<c;o++)if(r=e[o],s=a[o],r!=A)for(n&&(u=n[o]),l=0;l<3;l++)switch(h=0==l?r:1==l?s:u,t[l]){case"e":e[o]=h;break;case"w":e[o]=-h;break;case"n":a[o]=h;break;case"s":a[o]=-h;break;case"u":n&&(n[o]=h);break;case"d":n&&(n[o]=-h);break;default:z(R)}}function Mt(t,i,e,a,n){var r,s,o=e.length;for((s=yt(t,0==i?t:t*c(1-i)))||z(G),r=0;r<o;r++)e[r]!=A&&At(s,r,e,a,n)}function wt(t,i,e,a,n){var r,s,o=e.length;for((s=yt(t,0===i?t:t*c(1-i)))||z(G),r=0;r<o;r++)e[r]!=A&&vt(s,r,e,a,n)&&(e[r]=a[r]=A)}function xt(t){var i=6.283185307179586,n=3.141592653589793;return e(t)>3.14159265359&&(t+=n,t-=i*a(t/i),t-=n),t}function It(t,i){var a={x:0,y:0},n=e(t.phi)-I;return n<=1e-12&&e(t.lam)<=10?(T.last_errno=0,e(n)<=1e-12?t.phi=t.phi<0?-I:I:i.geoc&&(t.phi=h(i.rone_es*s(t.phi))),t.lam-=i.lam0,i.over||(t.lam=xt(t.lam)),i.fwd?(i.fwd(t,a),a.x=i.fr_meter*(i.a*a.x+i.x0),a.y=i.fr_meter*(i.a*a.y+i.y0)):a.x=a.y=A):U(-14),!T.last_errno&&isFinite(a.x)&&isFinite(a.y)||(a.x=a.y=A),a}function bt(t,i){var a={lam:0,phi:0};return t.x<A&&t.y<A?(T.last_errno=0,i.inv?(t.x=(t.x*i.to_meter-i.x0)*i.ra,t.y=(t.y*i.to_meter-i.y0)*i.ra,i.inv(t,a),a.lam+=i.lam0,i.over||(a.lam=xt(a.lam)),i.geoc&&e(e(a.phi)-I)>1e-12&&(a.phi=h(i.one_es*s(a.phi)))):a.lam=a.phi=A):U(-15),!T.last_errno&&isFinite(a.lam)&&isFinite(a.phi)||(a.lam=a.phi=A),a}function kt(t,i,e,n){var r,s,o;for((t<0||t>=9)&&(t=3),r=1,o=0;o<t;o++)r*=10;return s=3600*r,function(o){var l,h,p,c,u="",_="",f="";return o===A||isNaN(o)?"":(o<0?(o=-o,(p=n||"")||(u="-")):p=e||"",h=(o=a(o*s+.5))/r%60,l=(o=a(o/(60*r)))%60,c=a(o/60)+"d",f=h.toFixed(t),f=(h=parseFloat(f))?(i?f:String(h))+'"':"",(h||l)&&2==(_=String(l)+"'").length&&i&&(_="0"+_),u+c+_+f+p)}}function Nt(t,i,e){var a,n,r,s,o,l;return"string"!=typeof t?Va:("string"!=typeof i?(n="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs",r=t,a=i):(n=t,r=i,a=e),l=Gt(s=mt(n),o=mt(r)),a?l(a):{forward:l,inverse:Gt(o,s)})}function Gt(t,i){return function(e){var a=Array.isArray(e);return e=a?e.concat():[e.x,e.y],Et(t,i,e),a||(e={x:e[0],y:e[1]}),e}}function Rt(t){var i=t.proj in $?$[t.proj].name:"",e=et(t),a=Qt(t);return{PROJCS:{NAME:i?a.NAME+" / "+i:"unnamed",GEOGCS:a,PROJECTION:"custom_proj4",PARAMETER:[],UNIT:Ft(t),EXTENSION:["PROJ4",e+" +wktext"]}}}function Pt(t){var i=t.EXTENSION;return i&&"PROJ4"==i[0]?(i[1]||"").replace(" +wktext",""):null}Nt.WGS84="+proj=longlat +datum=WGS84",Nt.toPoint=function(t){var i={x:t[0],y:t[1]};return t.length>2&&(i.z=t[2]),t.length>3&&(i.m=t[3]),i};var Tt=[],Ot=[];function Dt(t){return"string"==typeof t}function Lt(t){var i=qt(t,Ot);return i||(i=function(t){return Pt(t)?Pt:null}(t)),i||Bt("unsupported WKT definition: "+(t.NAME||"[unknown]")),i}function Ut(t){var i=qt(t,Tt);return i||(i=Rt),i||Bt("unsupported projection: "+function(t){return jt(t)||"[unknown]"}(t)),i}function qt(t,i){for(var e=0;e<i.length;e++)if((0,i[e][0])(t))return i[e][1];return null}function jt(t){return X(t.params,"sproj")}function zt(t){return t.replace(/[-_ \/]+/g,"_").toLowerCase()}function Wt(t){var i;return Array.isArray(t)?i=t:t&&t.length>0&&(i=t.split(",")),i}function Bt(t){throw new Error(t)}function Ht(t){console.error("[wkt] "+t)}function Vt(t){return{to_meter:t.UNIT[1]}}function Ft(t){return["Meter",t.to_meter||1]}function Kt(t,i){var e,a,n=t.DATUM,r=n.SPHEROID,s=function(t){var i,e={northamerican1983:"NAD83",newzealand1949:"nzgd49"},a=Jt(t.NAME);if(a in e)return e[a];for(var n=0;n<nt.length&&(Jt((i=nt[n])[3])!=a&&Jt(i[0])!=a);n++);return i?i[0]:null}(n),o=function(t){var i,e={international1924:"intl"},a=Jt(t[0]);if(a in e)return e[a];if(/^grs1980/.test(a))return"GRS80";if("sphere"==a)return null;for(var n=0;n<ot.length&&(Jt((i=ot[n])[3])!=a&&Jt(i[0])!=a);n++);return i?i[0]:null}(r),l=i&&i.aux_sphere,h=r[1],p=r[2];return Xt(t.UNIT,"degree"),l?e="+a="+r[1]:s?e="+datum="+s:o?e="+ellps="+o:(e="+a="+h,p>0&&(e+=" +rf="+p)),!n.TOWGS84||l||s||(e+=" +towgs84="+n.TOWGS84.join(",")),((a=t.PRIMEM?t.PRIMEM[1]:0)>0||a<0)&&(e+=" +pm="+a),e}function Jt(t){return(t||"").replace(/^(GCS|D)_/i,"").replace(/[ _]/g,"").toLowerCase()}function Xt(t,i){t&&t[0].toLowerCase()!=i&&Bt("unexpected geographic units: "+geogcs.UNIT[0])}function Zt(t){return Lt(t)(t)}function Yt(t){return function(){return"+proj="+t}}function $t(t){return function(i){var e,a;return[t.PROJECTION(i),t.PARAMETER(i),t.GEOGCS?t.GEOGCS(i):Kt(i.GEOGCS),(e=Vt(i),a="",1!=e.to_meter&&(a="+to_meter="+e.to_meter),a),"+no_defs"].filter(function(t){return!!t}).join(" ")}}function Qt(t){return{NAME:ei(t),DATUM:ti(t),PRIMEM:["Greenwich",0],UNIT:["degree",.017453292519943295]}}function ti(t){var i={NAME:ni(t),SPHEROID:ii(t)},e=X(t.params,"stowgs84");return/[1-9]/.test(e)&&(i.TOWGS84=e),i}function ii(t){var i;return i=X(t.params,"trf")?X(t.params,"drf"):t.es?1/(1-Math.sqrt(1-t.es)):0,[ai(t),t.a,i]}function ei(t){var i;return tt(t)&&(i=hi(t)),i||(i=ri(t),i=/^[a-z]+$/.test(i)?i[0].toUpperCase()+i.substr(1):i.toUpperCase()),i||"UNK"}function ai(t){var i=lt(function(t){var i,e=ri(t),a=e?st(e):null;i=a?a.ellipse_id:X(t.params,"sellps");return i||""}(t));return i?i.name:"Unknown ellipsoid"}function ni(t){var i=st(ri(t));return i&&i.name||"Unknown datum"}function ri(t){return X(t.params,"sdatum")}function si(t){return Ut(t)(t)}function oi(t,i){return li({PROJECTION:t,PARAMETER:Ri(i)})}function li(t){return function(i){var e={GEOGCS:t.GEOGCS&&t.GEOGCS(i)||Qt(i),PROJECTION:Dt(t.PROJECTION)?t.PROJECTION:t.PROJECTION(i),PARAMETER:t.PARAMETER(i),UNIT:Ft(i)};return e.NAME=t.NAME&&t.NAME(i,e)||function(t,i){var e=hi(t);return e||i.GEOGCS.NAME+" / "+i.PROJECTION}(i,e),{PROJCS:e}}}function hi(t){var i;return X(t.params,"tinit")&&(i=ft(X(t.params,"sinit"))),i?i.comment:""}function pi(t,i,e){var a=ui(i),n=function(t,i){return $t({PROJECTION:Yt(t),PARAMETER:Gi(i)})}(t,e);fi(a,n)}function ci(t,i,e){mi(_i(t),oi(i,e))}function ui(t){var i=Wt(t).map(zt);return function(t){var e=t.PROJECTION[0];return i.indexOf(zt(e))>-1}}function _i(t){return function(i){var e=jt(i);return e&&e==t}}function fi(t,i){"function"!=typeof t&&Bt("Missing WKT parser test"),"function"!=typeof i&&Bt("Missing WKT parse function"),Ot.push([t,i])}function mi(t,i){"function"!=typeof t&&Bt("Missing WKT maker test"),"function"!=typeof i&&Bt("Missing WKT maker function"),Tt.push([t,i])}fi(function(t){return di.test(zt(t.NAME))},function(t){return $t({PROJECTION:Yt("utm"),PARAMETER:function(t){var i=di.exec(zt(t.NAME)),e="+zone="+i[1];"s"==i[2].toLowerCase()&&(e+=" +south");return e}})(t)}),fi(function(t){return gi.test(zt(t.NAME))},function(t){return $t({PROJECTION:Yt("ups"),PARAMETER:function(t){var i=gi.exec(zt(t.NAME));return"south"==i[1].toLowerCase()?"+south":""}})(t)}),mi(_i("utm"),function(t){return li({NAME:yi,PROJECTION:function(){return"Transverse_Mercator"},PARAMETER:Ai})(t)}),mi(_i("ups"),function(t){return li({NAME:vi,PROJECTION:function(){return"Polar_Stereographic"},PARAMETER:Ei})(t)});var di=/UTM_zone_([0-9]{1,2})(N|S)/i,gi=/UPS_(North|South)/i;function yi(t,i){return i.GEOGCS.NAME+" / UTM zone "+X(t.params,"szone")+(X(t.params,"tsouth")?"S":"N")}function vi(t,i){return i.GEOGCS.NAME+" / UPS "+(X(t.params,"tsouth")?"South":"North")}function Ai(t){return[["latitude_of_origin",0],["central_meridian",180*t.lam0/E],["scale_factor",t.k0],["false_easting",t.x0],["false_northing",t.y0]]}function Ei(t){return[["latitude_of_origin",-90],["central_meridian",0],["scale_factor",.994],["false_easting",2e6],["false_northing",2e6]]}function Si(t){return X(t.params,"tlat_ts")&&0!=X(t.params,"dlat_ts")}function Ci(t){return 0===t.es&&6378137==t.a}fi(ui("Mercator_2SP,Mercator_1SP,Mercator,Mercator_Auxiliary_Sphere"),$t({GEOGCS:function(t){var i=function(t){return/(Web_Mercator|Pseudo_Mercator)/i.test(zt(t.NAME))}(t)?{aux_sphere:!0}:null;return Kt(t.GEOGCS,i)},PROJECTION:Yt("merc"),PARAMETER:function(t){return Gi(function(t){var i=ki(t,"standard_parallel_1");return i&&0!=i[1]}(t)?"lat_ts,lat_0b":"lat_tsb,lat_ts")(t)}})),mi(_i("merc"),li({GEOGCS:function(t){if(Ci(t))return Qt(mt("+proj=longlat +datum=WGS84"));return null},PROJECTION:function(t){return Si(t)?"Mercator_2SP":"Mercator_1SP"},PARAMETER:function(t){return Ri(Si(t)?"lat_ts,lat_0b":"lat_tsb")(t)},NAME:function(t){return Ci(t)?"WGS 84 / Pseudo-Mercator":null}}));var Mi=[["x_0","false_easting","m"],["y_0","false_northing","m"],["k_0","scale_factor","f"],["lat_0","latitude_of_center"],["lon_0","central_meridian"]],wi={lat_0b:["lat_0","latitude_of_origin"],lat_0c:["lat_0",null],lat_0d:["lat_0","standard_parallel_1"],lat_1:["lat_1","standard_parallel_1"],lat_1b:["lat_1","latitude_of_point_1"],lat_1c:["lat_1","latitude_of_origin"],lat_2:["lat_2","standard_parallel_2"],lat_2b:["lat_2","latitude_of_point_2"],lat_ts:["lat_ts","standard_parallel_1"],lat_tsb:["lat_ts","latitude_of_origin"],lonc:["lonc","central_meridian"],lon_1:["lon_1","longitude_of_point_1"],lon_2:["lon_2","longitude_of_point_2"],alpha:["alpha","azimuth"],gamma:["gamma","rectified_grid_angle"],h:["h","height","f"]},xi={longitude_of_center:"central_meridian",latitude_of_origin:"latitude_of_center",latitude_of_center:"latitude_of_origin",longitude_of_1st_point:"longitude_of_point_1",longitude_of_2nd_point:"longitude_of_point_2",latitude_of_1st_point:"latitude_of_point_1",latitude_of_2nd_point:"latitude_of_point_2",k:"k_0"};function Ii(t,i,e){for(var a=0;a<e.length;a++)if(e[a][i]===t)return e[a];return null}function bi(t,i,e){var a=null;return!(a=Ii(t=t.toLowerCase(),i,e))&&t in xi&&(a=Ii(xi[t],i,e)),a}function ki(t,i){for(var e,a=t.PARAMETER||[],n=0;n<a.length;n++)if(i===(e=a[n][0].toLowerCase())||i===xi[e])return a[n];return null}function Ni(t){var i=null;return t&&(i=Wt(t).reduce(function(t,i){var e=wi[i];return e||Bt("missing parameter rule: "+i),t.push(e),t},[])),(i||[]).concat(Mi)}function Gi(t){return function(i){var e=[],a=Ni(t),n=Vt(i);return(i.PARAMETER||[]).forEach(function(t){var i,r=bi(t[0],1,a);r?(i=function(t,i,e){var a=t[0];if("m"==t[2]&&(i*=e.to_meter),!("x_0,y_0,lat_0,lon_0".indexOf(a)>-1&&0===i||"k_0"==a&&1==i))return"+"+a+"="+i}(r,t[1],n),i&&e.push(i)):Ht("unhandled parameter: "+t[0])}),e.join(" ")}}function Ri(t){return function(i){var e=[],a=Ni(t);return Object.keys(i.params).forEach(function(t){var n,r=bi(t,0,a);r&&r[1]&&(n=X(i.params,"s"+t),e.push(function(t,i,e){var a,n=t[2];return a="m"==n?parseFloat(i)/e:"f"==n?parseFloat(i):F(i),[t[1],a]}(r,n,i.to_meter)))}),e}}function Pi(t){return!("lat_1"in t.params&&"lat_2"in t.params)}function Ti(t){return"omerc"==jt(t)&&("alpha"in t.params||"gamma"in t.params)}function Oi(t){return Ti(t)&&("no_uoff"in t.params||"no_off"in t.params)}function Di(t){return X(t.params,"tlat_ts")}function Li(t){var i=JSON.stringify(qi(t));return i=(i=i.replace(/\["([A-Z0-9]+)",/g,"$1[")).replace(/"(EAST|NORTH|SOUTH|WEST)"/g,"$1")}function Ui(t){return"NAME,PROJCS,GEOGCS,GEOCCS,DATUM,SPHEROID,PRIMEM,PROJECTION,PARAMETER,UNIT,AXIS".indexOf(t)+1||999}function qi(t,i){var e,a=[];return i=i||0,function(t){return Object.keys(t).sort(function(t,i){return Ui(t)-Ui(i)})}(t).forEach(function(n){var r=t[n];!function(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}(r)?"NAME"==n?a.push(Dt(r)?r:r[0]):"PARAMETER"==n||"AXIS"==n?r.forEach(function(t){a.push([n].concat(t))}):Dt(r)?a.push([n,r]):Array.isArray(r)?a.push([n].concat(r)):((e={})[n]=r,Bt("Incorrectly formatted WKT element: "+JSON.stringify(e))):a.push([n].concat(qi(r,i+1)))}),0===i&&1==a.length&&(a=a[0]),a}function ji(t){var i={};return zi(t).forEach(function(t){Bi(t,i)}),i}function zi(t){var i;t="["+(t=(t=(t=Wi(t)).replace(/([A-Z0-9]+)\[(?![^"]*[^\[,"]")/g,'["$1",')).replace(/, *([a-zA-Z]+) *(?=[,\]])/g,',"$1"'))+"]";try{i=JSON.parse(t)}catch(t){Bt("unparsable WKT format")}return i}function Wi(t){var i=0;return t.replace(/"+/g,function(t){var e=i%2==0;return i+=t.length,'"'==t||'""'==t&&e?t:e?'"'+t.substring(1).replace(/""/g,'\\"'):t.replace(/""/g,'\\"')})}function Bi(t,i){var e,a=t[0];if("GEOGCS"==a||"GEOCCS"==a||"PROJCS"==a||"DATUM"==a||"VERTCS"==a)for(i[a]={NAME:t[1]},e=2;e<t.length;e++){if(!Array.isArray(t[e]))throw Bt("WKT parse error");Bi(t[e],i[a])}else"AXIS"==a||"PARAMETER"==a?(a in i==!1&&(i[a]=[]),i[a].push(t.slice(1))):i[a]=t.slice(1);return i}fi(ui("Lambert_Conformal_Conic,Lambert_Conformal_Conic_1SP,Lambert_Conformal_Conic_2SP"),$t({PROJECTION:Yt("lcc"),PARAMETER:function(t){return Gi(function(t){return!ki(t,"standard_parallel_2")}(t)?"lat_1c":"lat_0b,lat_1,lat_2")(t)}})),mi(_i("lcc"),li({PROJECTION:function(t){return Pi(t)?"Lambert_Conformal_Conic_1SP":"Lambert_Conformal_Conic_2SP"},PARAMETER:function(t){return Ri(Pi(t)?"lat_1c,lat_0c":"lat_0b,lat_1,lat_2")(t)}})),fi(ui("Hotine_Oblique_Mercator,Hotine_Oblique_Mercator_Azimuth_Natural_Origin"),$t({PROJECTION:Yt("omerc"),PARAMETER:function(t){return Gi("alpha,gamma,lonc")(t)+" +no_uoff"}})),mi(Oi,oi("Hotine_Oblique_Mercator","alpha,gamma,lonc")),pi("omerc","Oblique_Mercator,Hotine_Oblique_Mercator_Azimuth_Center","alpha,gamma,lonc"),mi(function(t){return Ti(t)&&!Oi(t)},oi("Oblique_Mercator","alpha,gamma,lonc")),pi("omerc","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","lat_1b,lat_2b,lon_1,lon_2"),mi(function(t){return"omerc"==jt(t)&&"lat_2"in t.params&&"lon_2"in t.params},oi("Hotine_Oblique_Mercator_Two_Point_Natural_Origin","lat_1b,lat_2b,lon_1,lon_2")),fi(ui("Stereographic,Polar_Stereographic,Stereographic_North_Pole,Stereographic_South_Pole"),$t({PROJECTION:Yt("stere"),PARAMETER:function(t){var i=Gi("lat_ts,lat_tsb")(t),e=/lat_ts=([^ ]+)/.exec(i);e&&-1==i.indexOf("lat_0=")&&(i="+lat_0="+(parseFloat(e[1])<0?-90:90)+" "+i);return i}})),mi(_i("stere"),li({PROJECTION:function(t){return Di(t)?"Polar_Stereographic":"Stereographic"},PARAMETER:function(t){return Di(t)?Ri("lat_tsb,lat_0c")(t):Ri("lat_0b")(t)}})),ci("vandg","VanDerGrinten"),fi(ui("VanDerGrinten,Van_der_Grinten_I"),$t({PROJECTION:Yt("vandg"),PARAMETER:function(t){var i=Gi("")(t);return i&&(i+=" "),i+"+R_A"}})),[["aitoff","Aitoff","lat1"],["aea","Albers_Conic_Equal_Area,Albers","lat_1,lat_2"],["aeqd","Azimuthal_Equidistant"],["bonne","Bonne","lat_1"],["cass","Cassini_Soldner,Cassini"],["cea","Cylindrical_Equal_Area","lat_ts"],["eck1","Eckert_I"],["eck2","Eckert_II"],["eck3","Eckert_III"],["eck4","Eckert_IV"],["eck5","Eckert_V"],["eck6","Eckert_VI"],["eqdc","Equidistant_Conic","lat_1,lat_2"],["eqc","Plate_Carree,Equirectangular,Equidistant_Cylindrical","lat_ts"],["gall","Gall_Stereographic"],["gnom","Gnomonic"],["laea","Lambert_Azimuthal_Equal_Area"],["loxim","Loximuthal","lat_1"],["mill","Miller_Cylindrical"],["moll","Mollweide"],["nsper","Vertical_Near_Side_Perspective","h"],["nzmg","New_Zealand_Map_Grid","lat_0b"],["ortho","Orthographic","lat_0b"],["poly","Polyconic"],["robin","Robinson"],["sinu","Sinusoidal"],["sterea","Oblique_Stereographic,Double_Stereographic"],["tmerc","Transverse_Mercator,Gauss_Kruger","lat_0b"],["tpeqd","Two_Point_Equidistant","lat_1b,lat_2b,lon_1,lon_2"],["wag1","Wagner_I"],["wag2","Wagner_II"],["wag3","Wagner_III","lat_ts"],["wag4","Wagner_IV"],["wag5","Wagner_V"],["wag6","Wagner_VI"],["wag7","Wagner_VII"],["wink1","Winkel_I","lat_ts"],["wink2","Winkel_II"],["wintri","Winkel_Tripel","lat_1"]].forEach(function(t){var i=t[2]||null;pi(t[0],t[1],i),ci(t[0],t[1].split(",")[0],i)});var Hi={Transverse_Mercator:{epsg:9807,name:"Transverse Mercator",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Gauss_Kruger:{epsg:9807,name:"Transverse Mercator",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Lambert_Conformal_Conic_1SP:{epsg:9801,name:"Lambert Conic Conformal (1SP)",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Lambert_Conformal_Conic_2SP:{epsg:9802,name:"Lambert Conic Conformal (2SP)",params:["lcc2_lat_f","lcc2_lon_f","lcc2_sp1","lcc2_sp2","lcc2_fe","lcc2_fn"]},Lambert_Conformal_Conic:{epsg:9802,name:"Lambert Conic Conformal (2SP)",params:["lcc2_lat_f","lcc2_lon_f","lcc2_sp1","lcc2_sp2","lcc2_fe","lcc2_fn"]},Mercator_1SP:{epsg:9804,name:"Mercator (variant A)",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Mercator_2SP:{epsg:9805,name:"Mercator (variant B)",params:["merc2_sp1","tm_lon_0","tm_fe","tm_fn"]},Mercator_Auxiliary_Sphere:{epsg:1024,name:"Popular Visualisation Pseudo Mercator",params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Lambert_Azimuthal_Equal_Area:{epsg:9820,name:"Lambert Azimuthal Equal Area",params:["laea_lat_0","laea_lon_0","tm_fe","tm_fn"]},Albers_Conic_Equal_Area:{epsg:9822,name:"Albers Equal Area",params:["aea_lat_f","aea_lon_f","lcc2_sp1","lcc2_sp2","lcc2_fe","lcc2_fn"]},Albers:{epsg:9822,name:"Albers Equal Area",params:["aea_lat_f","aea_lon_f","lcc2_sp1","lcc2_sp2","lcc2_fe","lcc2_fn"]},Polar_Stereographic:{epsg:9810,name:"Polar Stereographic (variant A)",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Stereographic_North_Pole:{epsg:9829,name:"Polar Stereographic (variant B)",params:["ps_sp","ps_lon_0","tm_fe","tm_fn"]},Stereographic_South_Pole:{epsg:9829,name:"Polar Stereographic (variant B)",params:["ps_sp","ps_lon_0","tm_fe","tm_fn"]},Oblique_Stereographic:{epsg:9809,name:"Oblique Stereographic",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Stereographic:{epsg:9809,name:"Oblique Stereographic",params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]},Hotine_Oblique_Mercator:{epsg:9812,name:"Hotine Oblique Mercator (variant A)",params:["omerc_lat_0","omerc_lon_0","omerc_az","omerc_ra","omerc_k","tm_fe","tm_fn"]},Krovak:{epsg:1041,name:"Krovak (North Orientated)",params:["omerc_lat_0","ps_lon_0","krovak_alpha","krovak_sp","krovak_k","tm_fe","tm_fn"]},Azimuthal_Equidistant:{name:"Modified Azimuthal Equidistant",epsg:9832,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Cassini_Soldner:{name:"Cassini-Soldner",epsg:9806,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Cassini:{name:"Cassini-Soldner",epsg:9806,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Equidistant_Conic:{name:"Equidistant Conic",params:["tm_lat_0","tm_lon_0","lcc2_sp1","lcc2_sp2","tm_fe","tm_fn"]},Equirectangular:{name:"Equidistant Cylindrical",epsg:1028,params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Equidistant_Cylindrical:{name:"Equidistant Cylindrical",epsg:1028,params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Plate_Carree:{name:"Equidistant Cylindrical",epsg:1028,params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Mollweide:{name:"Mollweide",params:["tm_lon_0","tm_fe","tm_fn"]},Sinusoidal:{name:"Sinusoidal",params:["tm_lon_0","tm_fe","tm_fn"]},Robinson:{name:"Robinson",params:["tm_lon_0","tm_fe","tm_fn"]},Gnomonic:{name:"Gnomonic",params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Orthographic:{name:"Orthographic",epsg:9840,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Polyconic:{name:"American Polyconic",epsg:9818,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Aitoff:{name:"Aitoff",params:["tm_lon_0","tm_fe","tm_fn"]},Bonne:{name:"Bonne",epsg:9827,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Cylindrical_Equal_Area:{name:"Lambert Cylindrical Equal Area",epsg:9835,params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Gall_Stereographic:{name:"Gall Stereographic",params:["tm_lon_0","tm_fe","tm_fn"]},Miller_Cylindrical:{name:"Miller Cylindrical",params:["tm_lon_0","tm_fe","tm_fn"]},Loximuthal:{name:"Loximuthal",params:["tm_lon_0","tm_fe","tm_fn"]},New_Zealand_Map_Grid:{name:"New Zealand Map Grid",epsg:9811,params:["tm_lat_0","tm_lon_0","tm_fe","tm_fn"]},Vertical_Near_Side_Perspective:{name:"Vertical Perspective",epsg:9838,params:["tm_lat_0","tm_lon_0","tm_height","tm_fe","tm_fn"]},VanDerGrinten:{name:"Van der Grinten",params:["tm_lon_0","tm_fe","tm_fn"]},Van_der_Grinten_I:{name:"Van der Grinten I",params:["tm_lon_0","tm_fe","tm_fn"]},Winkel_Tripel:{name:"Winkel Tripel",params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Winkel_I:{name:"Winkel I",params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Winkel_II:{name:"Winkel II",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_I:{name:"Eckert I",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_II:{name:"Eckert II",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_III:{name:"Eckert III",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_IV:{name:"Eckert IV",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_V:{name:"Eckert V",params:["tm_lon_0","tm_fe","tm_fn"]},Eckert_VI:{name:"Eckert VI",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_I:{name:"Wagner I",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_II:{name:"Wagner II",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_III:{name:"Wagner III",params:["ps_sp","tm_lon_0","tm_fe","tm_fn"]},Wagner_IV:{name:"Wagner IV",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_V:{name:"Wagner V",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_VI:{name:"Wagner VI",params:["tm_lon_0","tm_fe","tm_fn"]},Wagner_VII:{name:"Wagner VII",params:["tm_lon_0","tm_fe","tm_fn"]},Two_Point_Equidistant:{name:"Two Point Equidistant",params:["tpeqd_lat_1","tpeqd_lon_1","tpeqd_lat_2","tpeqd_lon_2","tm_fe","tm_fn"]},Hotine_Oblique_Mercator_Two_Point_Natural_Origin:{name:"Hotine Oblique Mercator Two Point Natural Origin",params:["tm_lat_0","tpeqd_lat_1","tpeqd_lon_1","tpeqd_lat_2","tpeqd_lon_2","tm_fe","tm_fn"]},Oblique_Mercator:{name:"Hotine Oblique Mercator (variant B)",epsg:9815,params:["omerc_lat_0","omerc_lon_0","omerc_az","omerc_ra","omerc_k","omerc_fe","omerc_fn"]},Double_Stereographic:{name:"Oblique Stereographic",epsg:9809,params:["tm_lat_0","tm_lon_0","tm_k","tm_fe","tm_fn"]}},Vi={tm_lat_0:{wkt1:"latitude_of_origin",wkt2:"Latitude of natural origin",epsg:8801,unit:"angle",default:0,wkt1_fallback:"latitude_of_center"},tm_lon_0:{wkt1:"central_meridian",wkt2:"Longitude of natural origin",epsg:8802,unit:"angle",default:0,wkt1_fallback:"longitude_of_center"},tm_k:{wkt1:"scale_factor",wkt2:"Scale factor at natural origin",epsg:8805,unit:"scale",default:1},tm_fe:{wkt1:"false_easting",wkt2:"False easting",epsg:8806,unit:"length",default:0},tm_fn:{wkt1:"false_northing",wkt2:"False northing",epsg:8807,unit:"length",default:0},lcc2_lat_f:{wkt1:"latitude_of_origin",wkt2:"Latitude of false origin",epsg:8821,unit:"angle",default:0},lcc2_lon_f:{wkt1:"central_meridian",wkt2:"Longitude of false origin",epsg:8822,unit:"angle",default:0},lcc2_sp1:{wkt1:"standard_parallel_1",wkt2:"Latitude of 1st standard parallel",epsg:8823,unit:"angle",default:0},lcc2_sp2:{wkt1:"standard_parallel_2",wkt2:"Latitude of 2nd standard parallel",epsg:8824,unit:"angle",default:0},lcc2_fe:{wkt1:"false_easting",wkt2:"Easting at false origin",epsg:8826,unit:"length",default:0},lcc2_fn:{wkt1:"false_northing",wkt2:"Northing at false origin",epsg:8827,unit:"length",default:0},laea_lat_0:{wkt1:"latitude_of_center",wkt2:"Latitude of natural origin",epsg:8801,unit:"angle",default:0,wkt1_fallback:"latitude_of_origin"},laea_lon_0:{wkt1:"longitude_of_center",wkt2:"Longitude of natural origin",epsg:8802,unit:"angle",default:0,wkt1_fallback:"central_meridian"},aea_lat_f:{wkt1:"latitude_of_center",wkt2:"Latitude of false origin",epsg:8821,unit:"angle",default:0,wkt1_fallback:"latitude_of_origin"},aea_lon_f:{wkt1:"central_meridian",wkt2:"Longitude of false origin",epsg:8822,unit:"angle",default:0,wkt1_fallback:"longitude_of_center"},merc2_sp1:{wkt1:"standard_parallel_1",wkt2:"Latitude of 1st standard parallel",epsg:8823,unit:"angle",default:0},ps_sp:{wkt1:"standard_parallel_1",wkt2:"Latitude of standard parallel",epsg:8832,unit:"angle",default:0},ps_lon_0:{wkt1:"central_meridian",wkt2:"Longitude of origin",epsg:8833,unit:"angle",default:0},omerc_lat_0:{wkt1:"latitude_of_center",wkt2:"Latitude of projection centre",epsg:8811,unit:"angle",default:0,wkt1_fallback:"latitude_of_origin"},omerc_lon_0:{wkt1:"longitude_of_center",wkt2:"Longitude of projection centre",epsg:8812,unit:"angle",default:0,wkt1_fallback:"central_meridian"},omerc_az:{wkt1:"azimuth",wkt2:"Azimuth of initial line",epsg:8813,unit:"angle",default:0},omerc_ra:{wkt1:"rectified_grid_angle",wkt2:"Angle from Rectified to Skew Grid",epsg:8814,unit:"angle",default:0,skipIfAbsent:!0},omerc_k:{wkt1:"scale_factor",wkt2:"Scale factor on initial line",epsg:8815,unit:"scale",default:1},omerc_fe:{wkt1:"false_easting",wkt2:"Easting at projection centre",epsg:8816,unit:"length",default:0},omerc_fn:{wkt1:"false_northing",wkt2:"Northing at projection centre",epsg:8817,unit:"length",default:0},tm_height:{wkt1:"height",wkt2:"Viewpoint height",epsg:8840,unit:"length",default:1e6},tpeqd_lat_1:{wkt1:"latitude_of_point_1",wkt2:"Latitude of 1st point",unit:"angle",default:0},tpeqd_lon_1:{wkt1:"longitude_of_point_1",wkt2:"Longitude of 1st point",unit:"angle",default:0},tpeqd_lat_2:{wkt1:"latitude_of_point_2",wkt2:"Latitude of 2nd point",unit:"angle",default:0},tpeqd_lon_2:{wkt1:"longitude_of_point_2",wkt2:"Longitude of 2nd point",unit:"angle",default:0},krovak_alpha:{wkt1:"azimuth",wkt2:"Co-latitude of cone axis",epsg:1036,unit:"angle",default:30.2881397527778},krovak_sp:{wkt1:"pseudo_standard_parallel_1",wkt2:"Latitude of pseudo standard parallel",epsg:8818,unit:"angle",default:78.5},krovak_k:{wkt1:"scale_factor",wkt2:"Scale factor on pseudo standard parallel",epsg:8819,unit:"scale",default:1}},Fi={WGS84:{baseGeogCrsId:4326,baseGeogCrsName:"WGS 84",ensemble:!0,ensembleId:6326,ensembleName:"World Geodetic System 1984 ensemble",datumName:"World Geodetic System 1984"},NAD83:{baseGeogCrsId:4269,baseGeogCrsName:"NAD83",datumName:"North American Datum 1983"},NAD27:{baseGeogCrsId:4267,baseGeogCrsName:"NAD27",datumName:"North American Datum 1927"},OSGB36:{baseGeogCrsId:4277,baseGeogCrsName:"OSGB36",datumName:"OSGB 1936"},potsdam:{baseGeogCrsId:4314,baseGeogCrsName:"DHDN",datumName:"Deutsches Hauptdreiecksnetz"},GGRS87:{baseGeogCrsId:4121,baseGeogCrsName:"GGRS87",datumName:"Greek Geodetic Reference System 1987"},hermannskogel:{baseGeogCrsId:4312,baseGeogCrsName:"MGI",datumName:"Militar-Geographische Institut"},ire65:{baseGeogCrsId:4299,baseGeogCrsName:"TM65",datumName:"Geodetic Datum of 1965"},nzgd49:{baseGeogCrsId:4272,baseGeogCrsName:"NZGD49",datumName:"New Zealand Geodetic Datum 1949"},carthage:{baseGeogCrsId:4223,baseGeogCrsName:"Carthage",datumName:"Carthage"}},Ki={WGS84:{epsg:7030,name:"WGS 84"},GRS80:{epsg:7019,name:"GRS 1980"},GRS67:{epsg:7036,name:"GRS 1967"},airy:{epsg:7001,name:"Airy 1830"},mod_airy:{epsg:7002,name:"Airy Modified 1849"},bessel:{epsg:7004,name:"Bessel 1841"},bess_nam:{epsg:7046,name:"Bessel Namibia (GLM)"},clrk66:{epsg:7008,name:"Clarke 1866"},clrk80:{epsg:7034,name:"Clarke 1880"},clrk80ign:{epsg:7011,name:"Clarke 1880 (IGN)"},intl:{epsg:7022,name:"International 1924"},WGS72:{epsg:7043,name:"WGS 72"},krass:{epsg:7024,name:"Krassowsky 1940"},aust_SA:{epsg:7003,name:"Australian National Spheroid"},evrstSS:{epsg:7016,name:"Everest 1830 (1967 Definition)"},helmert:{epsg:7020,name:"Helmert 1906"},hough:{epsg:7053,name:"Hough 1960"},engelis:{epsg:7054,name:"Engelis 1985"}},Ji={greenwich:{epsg:8901,name:"Greenwich",longitude:0},lisbon:{epsg:8902,name:"Lisbon",longitude:-9.0754862},paris:{epsg:8903,name:"Paris",longitude:2.5969213},bogota:{epsg:8904,name:"Bogota",longitude:-74.08091666666667},madrid:{epsg:8905,name:"Madrid",longitude:-3.687938888888889},rome:{epsg:8906,name:"Rome",longitude:12.45233333333333},bern:{epsg:8907,name:"Bern",longitude:7.439583333333333},jakarta:{epsg:8908,name:"Jakarta",longitude:106.8077194444444},ferro:{epsg:8909,name:"Ferro",longitude:-17.66666666666667},brussels:{epsg:8910,name:"Brussels",longitude:4.367975},stockholm:{epsg:8911,name:"Stockholm",longitude:18.05827777777778},athens:{epsg:8912,name:"Athens",longitude:23.7163375},oslo:{epsg:8913,name:"Oslo",longitude:10.72291666666667}},Xi=["ANGLEUNIT","degree",.0174532925199433],Zi=["ANGLEUNIT","arc-second",484813681109536e-20],Yi=["LENGTHUNIT","metre",1],$i=["SCALEUNIT","unity",1],Qi=["SCALEUNIT","parts per million",1e-6];function te(t){var i=tt(t)?function(t){return ee(t,"GEOGCRS",!0)}(t):function(t){var i=X(t.params,"sproj");if("somerc"===i)return function(t){var i=X(t.params,"dlat_0")||0,e=X(t.params,"dlon_0")||0,a=X(t.params,"dk_0")||X(t.params,"dk")||1,n=X(t.params,"dx_0")||0,r=X(t.params,"dy_0")||0,s=["CONVERSION","Swiss Oblique Mercator",["METHOD","Hotine Oblique Mercator (variant B)",["ID","EPSG",9815]],["PARAMETER","Latitude of projection centre",i,Xi,["ID","EPSG",8811]],["PARAMETER","Longitude of projection centre",e,Xi,["ID","EPSG",8812]],["PARAMETER","Azimuth of initial line",90,Xi,["ID","EPSG",8813]],["PARAMETER","Angle from Rectified to Skew Grid",90,Xi,["ID","EPSG",8814]],["PARAMETER","Scale factor on initial line",a,$i,["ID","EPSG",8815]],["PARAMETER","Easting at projection centre",n,Yi,["ID","EPSG",8816]],["PARAMETER","Northing at projection centre",r,Yi,["ID","EPSG",8817]]];return ae(t,"Swiss Oblique Mercator",s)}(t);if("krovak"===i)return function(t){var i=X(t.params,"dlat_0")||49.5,e=X(t.params,"dlon_0")||24.8333333333333,a=X(t.params,"dalpha")||30.2881397527778,n=X(t.params,"dlat_ts")||78.5,r=X(t.params,"dk_0")||X(t.params,"dk")||1,s=X(t.params,"dx_0")||0,o=X(t.params,"dy_0")||0,l=["CONVERSION","Krovak",["METHOD","Krovak (North Orientated)",["ID","EPSG",1041]],["PARAMETER","Latitude of projection centre",i,Xi,["ID","EPSG",8811]],["PARAMETER","Longitude of origin",e,Xi,["ID","EPSG",8833]],["PARAMETER","Co-latitude of cone axis",a,Xi,["ID","EPSG",1036]],["PARAMETER","Latitude of pseudo standard parallel",n,Xi,["ID","EPSG",8818]],["PARAMETER","Scale factor on pseudo standard parallel",r,$i,["ID","EPSG",8819]],["PARAMETER","False easting",s,Yi,["ID","EPSG",8806]],["PARAMETER","False northing",o,Yi,["ID","EPSG",8807]]];return ae(t,"Krovak",l)}(t);var e=si(t).PROJCS,a=e.PROJECTION,n=Hi[a];n||Bt("wkt2_from_proj4: unsupported WKT1 projection: "+a);var r=ie(t),s=function(t){if(!t)return Yi;var i=String(t[0]||"metre"),e=null==t[1]?1:t[1];/^meter$/i.test(i)&&(i="metre");return["LENGTHUNIT",i,e]}(e.UNIT),o=function(t,i,e){var a=["CONVERSION",t.name],n=["METHOD",t.name];t.epsg&&n.push(["ID","EPSG",t.epsg]);return a.push(n),t.params.forEach(function(t){var n=Vi[t];n||Bt("wkt2_make: missing param def for "+t);var r,s=function(t,i){if(!t)return null;for(var e=0;e<t.length;e++){if(t[e][0]===i.wkt1)return t[e][1];if(i.wkt1_fallback&&t[e][0]===i.wkt1_fallback)return t[e][1]}return null}(i,n);if(null==s){if(n.skipIfAbsent)return;s=n.default}r="angle"===n.unit?Xi:"length"===n.unit?e:$i;var o=["PARAMETER",n.wkt2,s,r];n.epsg&&o.push(["ID","EPSG",n.epsg]),a.push(o)}),a}(n,e.PARAMETER,s),l=["PROJCRS",e.NAME?e.NAME.replace(/_/g," "):"unknown",r,o];return l.push(["CS","Cartesian",2]),l.push(["AXIS","(E)","east",["ORDER",1],s]),l.push(["AXIS","(N)","north",["ORDER",2],s]),l}(t),e=function(t){var i=X(t.params,"stowgs84");if(!i)return null;var e=String(i).split(",").map(function(t){return parseFloat(t)});for(;e.length<7;)e.push(0);return e.some(function(t){return 0!==t})?e:null}(t);return e?function(t,i){var e=["GEOGCRS","WGS 84",["ENSEMBLE","World Geodetic System 1984 ensemble",["MEMBER","World Geodetic System 1984"],["ELLIPSOID","WGS 84",6378137,298.257223563,Yi,["ID","EPSG",7030]],["ENSEMBLEACCURACY",2],["ID","EPSG",6326]],["PRIMEM","Greenwich",0,Xi,["ID","EPSG",8901]],["CS","ellipsoidal",2],["AXIS","geodetic latitude (Lat)","north",["ORDER",1],Xi],["AXIS","geodetic longitude (Lon)","east",["ORDER",2],Xi],["ID","EPSG",4326]],a=["ABRIDGEDTRANSFORMATION","Transformation to WGS 84",["METHOD","Position Vector transformation (geog2D domain)",["ID","EPSG",9606]],["PARAMETER","X-axis translation",i[0],Yi,["ID","EPSG",8605]],["PARAMETER","Y-axis translation",i[1],Yi,["ID","EPSG",8606]],["PARAMETER","Z-axis translation",i[2],Yi,["ID","EPSG",8607]],["PARAMETER","X-axis rotation",i[3],Zi,["ID","EPSG",8608]],["PARAMETER","Y-axis rotation",i[4],Zi,["ID","EPSG",8609]],["PARAMETER","Z-axis rotation",i[5],Zi,["ID","EPSG",8610]],["PARAMETER","Scale difference",i[6],Qi,["ID","EPSG",8611]]];return["BOUNDCRS",["SOURCECRS",t],["TARGETCRS",e],a]}(i,e):i}function ie(t){return ee(t,"BASEGEOGCRS",!1)}function ee(t,i,e){var a,n=X(t.params,"sdatum"),r=n?Fi[n]:null,s=function(t){var i=X(t.params,"sellps");if(!i){var e=X(t.params,"sdatum"),a=e?st(e):null;i=a?a.ellipse_id:""}var n=i&&Ki[i],r=n?n.name:lt(i)?lt(i).name:"Unknown";r=r.replace(/_/g," ");var s,o=t.a;s=X(t.params,"trf")?X(t.params,"drf"):t.es?1/(1-Math.sqrt(1-t.es)):0;var l=["ELLIPSOID",r,o,s,Yi];n&&n.epsg&&l.push(["ID","EPSG",n.epsg]);return l}(t),o=function(t){var i=null;if(t)if(Ji[t])i=Ji[t];else{var e=parseFloat(t);isFinite(e)&&(Object.keys(Ji).forEach(function(t){var a=Ji[t];!i&&Math.abs(a.longitude-e)<1e-5&&(i=a)}),i||(i={epsg:null,name:"Reference meridian",longitude:e}))}i||(i=Ji.greenwich);var a=["PRIMEM",i.name,i.longitude,Xi];i.epsg&&a.push(["ID","EPSG",i.epsg]);return a}(X(t.params,"spm"));a=r?r.baseGeogCrsName:(a=ei(t)).replace(/_/g," ");var l=function(t,i,e){if(i&&i.ensemble){var a=["ENSEMBLE",i.ensembleName];return a.push(["MEMBER",i.datumName]),a.push(e),a.push(["ENSEMBLEACCURACY",2]),i.ensembleId&&a.push(["ID","EPSG",i.ensembleId]),a}var n=X(t.params,"sdatum"),r=i?i.datumName:n&&(st(n)||{}).name||"Unknown";return["DATUM",r=r.replace(/_/g," "),e]}(t,r,s),h=[i,a,l,o];return e&&(h.push(["CS","ellipsoidal",2]),h.push(["AXIS","geodetic latitude (Lat)","north",["ORDER",1],Xi]),h.push(["AXIS","geodetic longitude (Lon)","east",["ORDER",2],Xi])),r&&r.baseGeogCrsId&&h.push(["ID","EPSG",r.baseGeogCrsId]),h}function ae(t,i,e){var a=ie(t);return["PROJCRS",i,a,e,["CS","Cartesian",2],["AXIS","(E)","east",["ORDER",1],Yi],["AXIS","(N)","north",["ORDER",2],Yi]]}var ne={Cartesian:1,ellipsoidal:1,spherical:1,vertical:1,polar:1,cylindrical:1,linear:1,parametric:1,affine:1,temporal:1,east:1,north:1,south:1,west:1,up:1,down:1,geocentricX:1,geocentricY:1,geocentricZ:1,clockwise:1,counterClockwise:1,columnPositive:1,columnNegative:1,rowPositive:1,rowNegative:1,displayRight:1,displayLeft:1,displayUp:1,displayDown:1,forward:1,aft:1,port:1,starboard:1,future:1,past:1,awayFrom:1,towards:1,unspecified:1,exact:1,wraparound:1,cellCenter:1,cellCorner:1};function re(t,i){var e=(i=i||{}).indent||" ";return se(t,!!i.pretty?0:-1,e)}function se(t,i,e){if(!Array.isArray(t))return function(t){if("number"==typeof t)return function(t){isFinite(t)||Bt("wkt2_stringify: non-finite number");return String(t)}(t);if("string"==typeof t)return ne[t]?t:'"'+t.replace(/"/g,'""')+'"';return null==t?'""':String(t)}(t);var a=t[0],n=t.slice(1),r=n.map(function(t){return se(t,i>=0?i+1:-1,e)});if(i<0)return a+"["+r.join(",")+"]";if(!n.some(function(t){return Array.isArray(t)}))return a+"["+r.join(",")+"]";oe(e,i);for(var s=oe(e,i+1),o=[],l=[],h=!1,p=0;p<n.length;p++)Array.isArray(n[p])?(h=!0,l.push(r[p])):h?l.push(r[p]):o.push(r[p]);return a+"["+(o.length?o.join(",")+",":"")+"\n"+s+l.join(",\n"+s)+"]"}function oe(t,i){for(var e="",a=0;a<i;a++)e+=t;return e}function le(t){var i=function(t){var i,e=[],a=0,n=t.length;for(;a<n;)if(" "===(i=t.charAt(a))||"\t"===i||"\n"===i||"\r"===i)a++;else if("["===i||"("===i)e.push({type:he.OPEN,value:i,pos:a}),a++;else if("]"===i||")"===i)e.push({type:he.CLOSE,value:i,pos:a}),a++;else if(","===i)e.push({type:he.COMMA,value:i,pos:a}),a++;else if('"'===i){var r=a,s="";for(a++;a<n;)if('"'===(i=t.charAt(a))){if(!(a+1<n&&'"'===t.charAt(a+1))){a++;break}s+='"',a+=2}else s+=i,a++;e.push({type:he.STRING,value:s,pos:r})}else if("-"===i||"+"===i||"."===i||i>="0"&&i<="9"){var o=a;for("-"!==i&&"+"!==i||a++;a<n&&t.charAt(a)>="0"&&t.charAt(a)<="9";)a++;if(a<n&&"."===t.charAt(a))for(a++;a<n&&t.charAt(a)>="0"&&t.charAt(a)<="9";)a++;if(a<n&&("e"===t.charAt(a)||"E"===t.charAt(a)))for(++a<n&&("+"===t.charAt(a)||"-"===t.charAt(a))&&a++;a<n&&t.charAt(a)>="0"&&t.charAt(a)<="9";)a++;var l=parseFloat(t.substring(o,a));isNaN(l)&&Bt("WKT2 parse error: bad number at "+o+": "+t.substring(o,a)),e.push({type:he.NUMBER,value:l,pos:o})}else if(i>="A"&&i<="Z"||i>="a"&&i<="z"||"_"===i){for(var h=a;a<n;){var p=t.charAt(a);if(!(p>="A"&&p<="Z"||p>="a"&&p<="z"||p>="0"&&p<="9"||"_"===p))break;a++}e.push({type:he.IDENT,value:t.substring(h,a),pos:h})}else Bt("WKT2 parse error: unexpected character "+JSON.stringify(i)+" at "+a);return e}(t),e={i:0},a=ue(i,e);return e.i<i.length&&Bt("WKT2 parse error: unexpected trailing content at token "+e.i),a}var he={STRING:"STRING",NUMBER:"NUMBER",IDENT:"IDENT",OPEN:"OPEN",CLOSE:"CLOSE",COMMA:"COMMA"};function pe(t,i){return t[i.i]}function ce(t,i,e){var a=t[i.i];return a||Bt("WKT2 parse error: unexpected end of input (wanted "+e+")"),e&&a.type!==e&&Bt("WKT2 parse error: expected "+e+" but got "+a.type+" ("+JSON.stringify(a.value)+") at token "+i.i),i.i++,a}function ue(t,i){var e=[ce(t,i,he.IDENT).value.toUpperCase()];if(ce(t,i,he.OPEN),pe(t,i)&&pe(t,i).type!==he.CLOSE)for(e.push(_e(t,i));pe(t,i)&&pe(t,i).type===he.COMMA;)ce(t,i,he.COMMA),e.push(_e(t,i));return ce(t,i,he.CLOSE),e}function _e(t,i){var e=pe(t,i);switch(e||Bt("WKT2 parse error: unexpected end of input reading arg"),e.type){case he.STRING:case he.NUMBER:return i.i++,e.value;case he.IDENT:var a=t[i.i+1];return a&&a.type===he.OPEN?ue(t,i):(i.i++,e.value);default:Bt("WKT2 parse error: unexpected token "+e.type+" at position "+e.pos)}}function fe(t,i){if(!Array.isArray(t))return null;i=i.toUpperCase();for(var e=1;e<t.length;e++)if(Array.isArray(t[e])&&t[e][0]===i)return t[e];return null}function me(t,i){var e=[];if(!Array.isArray(t))return e;i=i.toUpperCase();for(var a=1;a<t.length;a++)Array.isArray(t[a])&&t[a][0]===i&&e.push(t[a]);return e}function de(t){if(!Array.isArray(t))return null;for(var i=1;i<t.length;i++)if("string"==typeof t[i]||"number"==typeof t[i])return t[i];return null}function ge(t){var i=fe(t,"ID");if(!i)return null;var e=i[2];if("number"==typeof e)return e;if("string"==typeof e){var a=parseFloat(e);return isNaN(a)?null:a}return null}var ye={9807:{wkt1:"Transverse_Mercator"},9808:{wkt1:"Transverse_Mercator_South_Orientated"},9804:{wkt1:"Mercator_1SP"},9805:{wkt1:"Mercator_2SP"},1024:{wkt1:"Mercator_Auxiliary_Sphere",special:"aux_sphere"},1026:{wkt1:"Mercator_1SP"},9801:{wkt1:"Lambert_Conformal_Conic_1SP"},9802:{wkt1:"Lambert_Conformal_Conic_2SP"},9803:{wkt1:"Lambert_Conformal_Conic_2SP"},9822:{wkt1:"Albers_Conic_Equal_Area"},9820:{wkt1:"Lambert_Azimuthal_Equal_Area"},1027:{wkt1:"Lambert_Azimuthal_Equal_Area"},9809:{wkt1:"Oblique_Stereographic"},9810:{wkt1:"Polar_Stereographic"},9829:{wkt1:"Polar_Stereographic"},9830:{wkt1:"Polar_Stereographic"},9819:{wkt1:"Krovak",special:"krovak"},1041:{wkt1:"Krovak",special:"krovak_north"},9812:{wkt1:"Hotine_Oblique_Mercator"},9815:{special:"somerc"},9825:{wkt1:"Plate_Carree"},1028:{wkt1:"Equidistant_Cylindrical"},1029:{wkt1:"Equidistant_Cylindrical"},9834:{wkt1:"Cylindrical_Equal_Area"},9835:{wkt1:"Cylindrical_Equal_Area"},1119:{wkt1:"Equidistant_Conic"},1125:{wkt1:"Azimuthal_Equidistant"},9832:{wkt1:"Azimuthal_Equidistant"},9838:{wkt1:"Vertical_Near_Side_Perspective"},9839:{wkt1:"Vertical_Near_Side_Perspective"},9811:{wkt1:"New_Zealand_Map_Grid"}},ve={transversemercator:"Transverse_Mercator",mercator1sp:"Mercator_1SP",mercator2sp:"Mercator_2SP",mercatorvarianta:"Mercator_1SP",mercatorvariantb:"Mercator_2SP",popularvisualisationpseudomercator:"Mercator_Auxiliary_Sphere",lambertconicconformal1sp:"Lambert_Conformal_Conic_1SP",lambertconicconformal2sp:"Lambert_Conformal_Conic_2SP",lambertconicconformal:"Lambert_Conformal_Conic",lambertazimuthalequalarea:"Lambert_Azimuthal_Equal_Area",albersequalarea:"Albers_Conic_Equal_Area",obliquestereographic:"Oblique_Stereographic",polarstereographicvarianta:"Polar_Stereographic",polarstereographicvariantb:"Polar_Stereographic",polarstereographicvariantc:"Polar_Stereographic",polarstereographic:"Polar_Stereographic",hotineobliquemercator:"Hotine_Oblique_Mercator",hotineobliquemercatorvarianta:"Hotine_Oblique_Mercator",hotineobliquemercatorvariantb:"Oblique_Mercator",obliquemercator:"Oblique_Mercator",krovak:"Krovak",krovaknorthorientated:"Krovak",newzealandmapgrid:"New_Zealand_Map_Grid",cassinisoldner:"Cassini_Soldner",cassini:"Cassini_Soldner",equidistantconic:"Equidistant_Conic",equidistantcylindrical:"Equidistant_Cylindrical",mollweide:"Mollweide",sinusoidal:"Sinusoidal",robinson:"Robinson",vandergrinten:"VanDerGrinten",vandergrinteni:"VanDerGrinten",winkeltripel:"Winkel_Tripel",aitoff:"Aitoff",bonne:"Bonne",lambertcylindricalequalarea:"Cylindrical_Equal_Area",gallstereographic:"Gall_Stereographic",millercylindrical:"Miller_Cylindrical",loximuthal:"Loximuthal",orthographic:"Orthographic",americanpolyconic:"Polyconic",polyconic:"Polyconic",gnomonic:"Gnomonic",eckerti:"Eckert_I",eckertii:"Eckert_II",eckertiii:"Eckert_III",eckertiv:"Eckert_IV",eckertv:"Eckert_V",eckertvi:"Eckert_VI",wagneri:"Wagner_I",wagnerii:"Wagner_II",wagneriii:"Wagner_III",wagneriv:"Wagner_IV",wagnerv:"Wagner_V",wagnervi:"Wagner_VI",wagnervii:"Wagner_VII",winkeli:"Winkel_I",winkelii:"Winkel_II",twopointequidistant:"Two_Point_Equidistant",hotineobliquemercatortwopointnaturalorigin:"Hotine_Oblique_Mercator_Two_Point_Natural_Origin",verticalperspective:"Vertical_Near_Side_Perspective",verticalnearsideperspective:"Vertical_Near_Side_Perspective"},Ae={8801:"latitude_of_origin",8802:"central_meridian",8805:"scale_factor",8806:"false_easting",8807:"false_northing",8821:"latitude_of_origin",8822:"central_meridian",8823:"standard_parallel_1",8824:"standard_parallel_2",8826:"false_easting",8827:"false_northing",8811:"latitude_of_center",8812:"longitude_of_center",8813:"azimuth",8814:"rectified_grid_angle",8815:"scale_factor",8816:"false_easting",8817:"false_northing",8818:"pseudo_standard_parallel_1",8819:"scale_factor",8832:"standard_parallel_1",8833:"central_meridian",1036:"azimuth",1051:"azimuth",8840:"height"},Ee={latitudeofnaturalorigin:"latitude_of_origin",longitudeofnaturalorigin:"central_meridian",scalefactoratnaturalorigin:"scale_factor",falseeasting:"false_easting",falsenorthing:"false_northing",latitudeoffalseorigin:"latitude_of_origin",longitudeoffalseorigin:"central_meridian",latitudeof1ststandardparallel:"standard_parallel_1",latitudeof2ndstandardparallel:"standard_parallel_2",eastingatfalseorigin:"false_easting",northingatfalseorigin:"false_northing",latitudeofprojectioncentre:"latitude_of_center",longitudeofprojectioncentre:"longitude_of_center",azimuthofinitialline:"azimuth",azimuthatprojectioncentre:"azimuth",anglefromrectifiedtoskewgrid:"rectified_grid_angle",scalefactoratprojectioncentre:"scale_factor",eastingatprojectioncentre:"false_easting",northingatprojectioncentre:"false_northing",latitudeofpseudostandardparallel:"pseudo_standard_parallel_1",scalefactoronpseudostandardparallel:"scale_factor",latitudeofstandardparallel:"standard_parallel_1",longitudeoforigin:"central_meridian",colatitudeofconeaxis:"azimuth",viewpointheight:"height",latitudeof1stpoint:"latitude_of_point_1",longitudeof1stpoint:"longitude_of_point_1",latitudeof2ndpoint:"latitude_of_point_2",longitudeof2ndpoint:"longitude_of_point_2"};function Se(t){return(t||"").replace(/[^A-Za-z0-9]/g,"").toLowerCase()}function Ce(t){if(!t)return null;var i,e=(i=fe(t,"ID"))&&i[1]||null,a=ge(t);if(null!=a&&(!e||/^EPSG$/i.test(e))&&ye[a])return ye[a];var n=Se(de(t));return ve[n]?{wkt1:ve[n]}:null}function Me(t){Array.isArray(t)||Bt("WKT2 normalize error: not a parsed node");var i=t[0];switch(i){case"PROJCRS":case"PROJECTEDCRS":return{PROJCS:Ge(t)};case"GEOGCRS":case"GEODCRS":case"GEODETICCRS":case"GEOGRAPHICCRS":return{GEOGCS:xe(t)};case"BOUNDCRS":var e=fe(t,"SOURCECRS");e||Bt("BOUNDCRS missing SOURCECRS");for(var a=null,n=1;n<e.length;n++)if(Array.isArray(e[n])){a=e[n];break}a||Bt("BOUNDCRS SOURCECRS has no inner CRS");var r=Me(a),s=fe(t,"ABRIDGEDTRANSFORMATION");return s&&function(t,i){var e=fe(i,"METHOD");Ce(e);var a=me(i,"PARAMETER"),n=t.PROJCS?t.PROJCS.GEOGCS:t.GEOGCS;if(!n)return;var r=ge(e);if(9601===r)return;for(var s={},o=0;o<a.length;o++){for(var l=ge(a[o]),h=null,p=1;p<a[o].length;p++)if("number"==typeof a[o][p]){h=a[o][p];break}null!=l&&null!=h&&(s[l]=h)}for(var c=[8605,8606,8607,8608,8609,8610,8611],u=[],_=0,f=0;f<c.length;f++)c[f]in s?(u.push(s[c[f]]),_++):u.push(0);_>=3&&(9607===r&&(u[3]=-u[3],u[4]=-u[4],u[5]=-u[5]),n.DATUM.TOWGS84=u)}(r,s),r;case"COMPOUNDCRS":var o=function(t){for(var i={PROJCRS:1,PROJECTEDCRS:1,GEOGCRS:1,GEODCRS:1,GEODETICCRS:1,GEOGRAPHICCRS:1,BOUNDCRS:1},e=1;e<t.length;e++){var a=t[e];if(Array.isArray(a)&&i[a[0]])return a}for(var n=1;n<t.length;n++){var r=we(t[n],i);if(r)return r}return null}(t);return o||Bt("COMPOUNDCRS missing supported horizontal component"),Me(o);case"VERTCRS":case"VERTICALCRS":Bt("VERTCRS not supported");case"ENGCRS":case"ENGINEERINGCRS":Bt("ENGINEERINGCRS not supported");default:Bt("Unsupported WKT2 root element: "+i)}}function we(t,i){if(!Array.isArray(t))return null;if(i[t[0]])return t;for(var e=1;e<t.length;e++)if(Array.isArray(t[e])){var a=we(t[e],i);if(a)return a}return null}function xe(t,i){var e=de(t),a=fe(t,"DATUM")||fe(t,"GEODETICDATUM")||fe(t,"ENSEMBLE"),n=fe(t,"PRIMEM")||fe(t,"PRIMEMERIDIAN");return{NAME:e||"Unknown",DATUM:be(a),PRIMEM:Ne(n),UNIT:["degree",.0174532925199433]}}var Ie={worldgeodeticsystem1984:"WGS_1984",worldgeodeticsystem1984ensemble:"WGS_1984"};function be(t){t||Bt("WKT2 normalize: missing DATUM");var i=de(t);"ENSEMBLE"===t[0]&&/\s+ensemble$/i.test(i)&&(i=i.replace(/\s+ensemble$/i,""));var e=Se(i);Ie[e]&&(i=Ie[e]);var a=fe(t,"ELLIPSOID")||fe(t,"SPHEROID");a||Bt("WKT2 normalize: DATUM/ENSEMBLE missing ELLIPSOID");var n=function(t){var i=de(t),e=Se(i);ke[e]&&(i=ke[e]);for(var a=null,n=null,r=0,s=1;s<t.length;s++)"number"==typeof t[s]&&(1===++r?a=t[s]:2===r&&(n=t[s]));null==a&&Bt("WKT2 normalize: ELLIPSOID missing semi-major axis");var o=fe(t,"LENGTHUNIT");if(o){var l=Te(o);l&&1!==l&&(a*=l)}return[i||"Unknown",a,null==n?0:n]}(a);return{NAME:i||"Unknown",SPHEROID:n}}var ke={clarke1880ign:"Clarke 1880 (IGN).",clarke1858:"Clarke 1858",krassowsky1940:"Krasovsky 1940"};function Ne(t){if(!t)return["Greenwich",0];for(var i=de(t),e=0,a=1;a<t.length;a++)if("number"==typeof t[a]){e=t[a];break}var n=fe(t,"ANGLEUNIT")||fe(t,"UNIT");if(n){var r=Te(n);if(r){var s=.0174532925199433;Math.abs(r-s)>1e-15&&(e=e*r/s)}}return[i||"Greenwich",e]}function Ge(t){var i=de(t),e=fe(t,"BASEGEOGCRS")||fe(t,"BASEGEODCRS");e||Bt("PROJCRS missing BASEGEOGCRS");var a=fe(t,"CONVERSION");a||Bt("PROJCRS missing CONVERSION");var n=fe(a,"METHOD")||fe(a,"PROJECTION"),r=Ce(n);r||Bt("Unsupported WKT2 projection method: "+(de(n)||"[unknown]")),fe(t,"CS");for(var s=me(t,"AXIS"),o=function(t,i){var e=fe(t,"LENGTHUNIT");!e&&i.length>0&&(e=fe(i[0],"LENGTHUNIT"));if(!e)return["metre",1];var a=de(e)||"metre";return[a,Te(e)||1]}(t,s),l=me(a,"PARAMETER"),h=[],p=0;p<l.length;p++){var c=Re(l[p]);c&&h.push(c)}var u={NAME:i,GEOGCS:xe(e),PROJECTION:[r.wkt1||"Unknown"],PARAMETER:h,UNIT:o};if(n){var _=ge(n);if(9804===_||1026===_)for(var f=h.length-1;f>=0;f--)"latitude_of_origin"===h[f][0]&&0===h[f][1]&&h.splice(f,1)}return"aux_sphere"===r.special?u._direct_proj4=function(t){var i=Oe(t,"central_meridian"),e=Oe(t,"false_easting"),a=Oe(t,"false_northing"),n=["+proj=merc"];n.push("+a=6378137"),i&&n.push("+lon_0="+i);e&&n.push("+x_0="+e);a&&n.push("+y_0="+a);return n.push("+no_defs"),n.join(" ")}(u):"somerc"===r.special?u._direct_proj4=function(t){var i=["+proj=somerc"],e=Oe(t,"latitude_of_center"),a=Oe(t,"longitude_of_center"),n=Oe(t,"scale_factor"),r=Oe(t,"false_easting"),s=Oe(t,"false_northing");null!=e&&i.push("+lat_0="+e);null!=a&&i.push("+lon_0="+a);null!=n&&i.push("+k_0="+n);null!=r&&i.push("+x_0="+r);null!=s&&i.push("+y_0="+s);return i.push(De(t.GEOGCS)),i.push("+no_defs"),i.filter(function(t){return!!t}).join(" ")}(u):"krovak"!==r.special&&"krovak_north"!==r.special||(u._direct_proj4=function(t){var i=["+proj=krovak"],e=Oe(t,"latitude_of_center"),a=Oe(t,"central_meridian")||Oe(t,"longitude_of_center"),n=Oe(t,"azimuth"),r=Oe(t,"scale_factor"),s=Oe(t,"false_easting"),o=Oe(t,"false_northing");null!=e&&i.push("+lat_0="+e);null!=a&&i.push("+lon_0="+a);null!=n&&i.push("+alpha="+n);null!=r&&i.push("+k="+r);s&&i.push("+x_0="+s);o&&i.push("+y_0="+o);return i.push(De(t.GEOGCS)),i.push("+no_defs"),i.filter(function(t){return!!t}).join(" ")}(u,r.special)),s.length>0&&(u.AXIS=s.map(function(t){return[de(t),Pe(t)]})),u}function Re(t){var i=function(t){var i=ge(t);if(null!=i&&Ae[i])return Ae[i];var e=Se(de(t));return Ee[e]?Ee[e]:null}(t);if(!i)return Ht("WKT2: unknown parameter: "+de(t)),null;for(var e=null,a=1;a<t.length;a++)if("number"==typeof t[a]){e=t[a];break}null==e&&Bt("WKT2: parameter missing numeric value: "+i);var n=fe(t,"ANGLEUNIT");if(n){var r=Te(n),s=.0174532925199433;r&&Math.abs(r-s)>1e-15&&(e=e*r/s)}return[i,e]}function Pe(t){for(var i=2;i<t.length;i++)if("string"==typeof t[i])return t[i];return"unknown"}function Te(t){for(var i=1;i<t.length;i++)if("number"==typeof t[i])return t[i];return null}function Oe(t,i){for(var e=0;e<t.PARAMETER.length;e++)if(t.PARAMETER[e][0]===i)return t.PARAMETER[e][1]}function De(t){return Kt(t)}function Le(t){var i=Me(le(t));return i.PROJCS?i.PROJCS._direct_proj4?function(t,i){var e=i.GEOGCS;e&&e.DATUM&&e.DATUM.TOWGS84&&-1===t.indexOf("+towgs84")&&(t=t.replace(/\+no_defs$/,"+towgs84="+e.DATUM.TOWGS84.join(",")+" +no_defs"));return t}(i.PROJCS._direct_proj4,i.PROJCS):Zt(i.PROJCS):i.GEOGCS?"+proj=longlat "+Kt(i.GEOGCS):void Bt("WKT2 to Proj4: unsupported CRS type")}function Ue(t,i){return("string"==typeof t||t instanceof String)&&(t=mt(String(t))),re(te(t),i)}function qe(t){t&&"object"==typeof t||Bt("projjson_to_proj4: missing or invalid PROJJSON object");var i=t.type||"";return"GeographicCRS"===i||"GeodeticCRS"===i?je(t,"GEOGCRS",!0):"ProjectedCRS"===i?function(t){var i=t.name||"Unknown",e=je(t.base_crs||{},"BASEGEOGCRS",!1),a=function(t){var i=t.name||"Unknown conversion",e=["CONVERSION",i];return e.push(We(t.method||{})),(t.parameters||[]).forEach(function(t){e.push(Be(t))}),e}(t.conversion||{}),n=t.coordinate_system||{},r=function(t){for(var i=t.axis||t.axes||[],e=0;e<i.length;e++){var a=Fe(i[e].unit,"length");if(a&&"LENGTHUNIT"===a[0])return a}return null}(n)||["LENGTHUNIT","metre",1],s=["PROJCRS",i,e,a];s.push(["CS","Cartesian",2]),s.push(He(n,0,"(E)","east",r)),s.push(He(n,1,"(N)","north",r));var o=Ve(t.id);o&&s.push(o);return s}(t):"BoundCRS"===i?function(t){var i=qe(t.source_crs||{}),e=qe(t.target_crs||{}),a=function(t){var i=t.name||"Transformation",e=["ABRIDGEDTRANSFORMATION",i],a=t.method||{};return e.push(We(a)),(t.parameters||[]).forEach(function(t){e.push(Be(t))}),e}(t.transformation||{});return["BOUNDCRS",["SOURCECRS",i],["TARGETCRS",e],a]}(t):void Bt("projjson_to_proj4: unsupported PROJJSON type: "+i)}function je(t,i,e){var a=t.name||"Unknown",n=function(t){var i=t.datum_ensemble||t.datumEnsemble,e=t.datum;if(i){var a=["ENSEMBLE",i.name||"Unknown ensemble"];(i.members||[]).forEach(function(t){a.push(["MEMBER",t.name||"Unknown"])}),a.push(ze(i.ellipsoid||{})),null!=i.accuracy&&a.push(["ENSEMBLEACCURACY",parseFloat(i.accuracy)]);var n=Ve(i.id);return n&&a.push(n),a}if(e){var r=["DATUM",e.name||"Unknown",ze(e.ellipsoid||{})],s=Ve(e.id);return s&&r.push(s),r}return["DATUM","Unknown",ze({name:"WGS 84",semi_major_axis:6378137,inverse_flattening:298.257223563})]}(t),r=function(t){var i=Fe((t=t||{name:"Greenwich",longitude:0}).unit,"angle")||["ANGLEUNIT","degree",.0174532925199433],e=["PRIMEM",t.name||"Greenwich",null==t.longitude?0:t.longitude,i],a=Ve(t.id);a&&e.push(a);return e}(t.prime_meridian),s=[i||"GEOGCRS",a,n,r];if(e){var o=t.coordinate_system||{},l=function(t){for(var i=t.axis||t.axes||[],e=0;e<i.length;e++){var a=Fe(i[e].unit,"angle");if(a&&"ANGLEUNIT"===a[0])return a}return null}(o)||["ANGLEUNIT","degree",.0174532925199433];s.push(["CS","ellipsoidal",2]),s.push(He(o,0,"geodetic latitude (Lat)","north",l)),s.push(He(o,1,"geodetic longitude (Lon)","east",l))}var h=Ve(t.id);return h&&s.push(h),s}function ze(t){var i=["ELLIPSOID",t.name||"Unknown",null!=t.semi_major_axis?t.semi_major_axis:6378137,null!=t.inverse_flattening?t.inverse_flattening:298.257223563,Fe(t.unit,"length")||["LENGTHUNIT","metre",1]],e=Ve(t.id);return e&&i.push(e),i}function We(t){var i=["METHOD",t.name||"Unknown method"],e=Ve(t.id);return e&&i.push(e),i}function Be(t){var i="scale";t.unit&&"object"==typeof t.unit?"AngularUnit"===t.unit.type?i="angle":"LinearUnit"===t.unit.type?i="length":"ScaleUnit"===t.unit.type&&(i="scale"):i="scale";var e=Fe(t.unit,i),a=["PARAMETER",t.name||"Unknown parameter",null==t.value?0:t.value,e||["SCALEUNIT","unity",1]],n=Ve(t.id);return n&&a.push(n),a}function He(t,i,e,a,n){var r,s=(t.axis||t.axes||[])[i]||{};return["AXIS",s.name||e,s.direction||a,["ORDER",i+1],Fe(s.unit,(r=n)&&Array.isArray(r)?"ANGLEUNIT"===r[0]?"angle":"SCALEUNIT"===r[0]?"scale":"length":"length")||n]}function Ve(t){return t&&t.authority&&null!=t.code?["ID",t.authority,t.code]:null}function Fe(t,i){var e="angle"===i?"ANGLEUNIT":"scale"===i?"SCALEUNIT":"LENGTHUNIT";return t?"string"==typeof t?/^degree$/i.test(t)?["ANGLEUNIT","degree",.0174532925199433]:/^met(er|re)$/i.test(t)?["LENGTHUNIT","metre",1]:/^unity$/i.test(t)?["SCALEUNIT","unity",1]:[e,t,1]:[e,t.name||t.abbreviation||("length"===i?"metre":"angle"===i?"degree":"unity"),null==t.conversion_factor?1:t.conversion_factor]:"angle"===i?["ANGLEUNIT","degree",.0174532925199433]:"scale"===i?["SCALEUNIT","unity",1]:["LENGTHUNIT","metre",1]}function Ke(t){switch(Array.isArray(t)||Bt("projjson_from_proj4: invalid WKT2 tree"),t[0]){case"PROJCRS":return function(t){var i={type:"ProjectedCRS",name:de(t)||"Unknown",base_crs:Je(fe(t,"BASEGEOGCRS")||fe(t,"BASEGEODCRS")),conversion:Ze(fe(t,"CONVERSION"))},e=$e(t);e&&(i.coordinate_system=e);var a=ta(t);a&&(i.id=a);return i}(t);case"GEOGCRS":case"GEODCRS":case"GEOGRAPHICCRS":case"GEODETICCRS":case"BASEGEOGCRS":case"BASEGEODCRS":return Je(t);case"BOUNDCRS":return function(t){var i=fe(t,"SOURCECRS"),e=fe(t,"TARGETCRS"),a=fe(t,"ABRIDGEDTRANSFORMATION"),n=null,r=null;if(i)for(var s=1;s<i.length;s++)if(Array.isArray(i[s])){n=i[s];break}if(e)for(var o=1;o<e.length;o++)if(Array.isArray(e[o])){r=e[o];break}return{type:"BoundCRS",source_crs:n?Ke(n):null,target_crs:r?Ke(r):null,transformation:Xe(a)}}(t);default:Bt("projjson_from_proj4: unsupported WKT2 root: "+t[0])}}function Je(t){t||Bt("projjson_from_proj4: missing GEOGCRS node");var i={type:"GeographicCRS",name:de(t)||"Unknown"},e=fe(t,"ENSEMBLE"),a=fe(t,"DATUM")||fe(t,"GEODETICDATUM");e?i.datum_ensemble=function(t){var i={name:de(t)||"Unknown ensemble"};i.members=me(t,"MEMBER").map(function(t){return{name:de(t)}});var e=fe(t,"ELLIPSOID")||fe(t,"SPHEROID");e&&(i.ellipsoid=Ye(e));var a=fe(t,"ENSEMBLEACCURACY");a&&(i.accuracy=String(ia(a)));var n=ta(t);n&&(i.id=n);return i}(e):a&&(i.datum=function(t){var i={type:"GeodeticReferenceFrame",name:de(t)||"Unknown"},e=fe(t,"ELLIPSOID")||fe(t,"SPHEROID");e&&(i.ellipsoid=Ye(e));var a=ta(t);a&&(i.id=a);return i}(a));var n=fe(t,"PRIMEM")||fe(t,"PRIMEMERIDIAN");n&&(i.prime_meridian=function(t){var i={name:de(t)||"Greenwich",longitude:ia(t)},e=Qe(fe(t,"ANGLEUNIT"));e&&(i.unit=e);var a=ta(t);a&&(i.id=a);return i}(n));var r=$e(t);r&&(i.coordinate_system=r);var s=ta(t);return s&&(i.id=s),i}function Xe(t){if(!t)return null;var i={name:de(t)||"Transformation"},e=fe(t,"METHOD");if(e){i.method={name:de(e)||"Unknown method"};var a=ta(e);a&&(i.method.id=a)}var n=me(t,"PARAMETER");return i.parameters=n.map(function(t){var i={name:de(t),value:ia(t)},e=Qe(fe(t,"ANGLEUNIT")||fe(t,"LENGTHUNIT")||fe(t,"SCALEUNIT"));e&&(i.unit=e);var a=ta(t);return a&&(i.id=a),i}),i}function Ze(t){if(!t)return null;var i={name:de(t)||"Conversion"},e=fe(t,"METHOD");i.method={name:e?de(e):"Unknown method"};var a=e?ta(e):null;a&&(i.method.id=a);var n=me(t,"PARAMETER");return i.parameters=n.map(function(t){var i={name:de(t),value:ia(t)},e=Qe(fe(t,"ANGLEUNIT")||fe(t,"LENGTHUNIT")||fe(t,"SCALEUNIT"));e&&(i.unit=e);var a=ta(t);return a&&(i.id=a),i}),i}function Ye(t){for(var i=[],e=1;e<t.length;e++)"number"==typeof t[e]&&i.push(t[e]);var a={name:de(t)||"Unknown",semi_major_axis:i.length>0?i[0]:6378137,inverse_flattening:i.length>1?i[1]:298.257223563},n=Qe(fe(t,"LENGTHUNIT"));n&&(a.unit=n);var r=ta(t);return r&&(a.id=r),a}function $e(t){var i=fe(t,"CS"),e=me(t,"AXIS");return i||0!==e.length?{subtype:i&&i[1]?String(i[1]).toLowerCase():"ellipsoidal",axis:e.map(function(t){var i={name:de(t),direction:Pe(t)},e=Qe(fe(t,"ANGLEUNIT")||fe(t,"LENGTHUNIT")||fe(t,"SCALEUNIT"));return e&&("degree"===e.name&&.0174532925199433===e.conversion_factor?i.unit="degree":"metre"===e.name&&1===e.conversion_factor?i.unit="metre":"unity"===e.name&&1===e.conversion_factor?i.unit="unity":i.unit=e),i})}:null}function Qe(t){if(!t)return null;var i="ANGLEUNIT"===t[0]?"AngularUnit":"SCALEUNIT"===t[0]?"ScaleUnit":"LinearUnit";return{type:i,name:t[1]||("LinearUnit"===i?"metre":"AngularUnit"===i?"degree":"unity"),conversion_factor:null==t[2]?1:t[2]}}function ta(t){var i=fe(t,"ID");return!i||i.length<3?null:{authority:i[1],code:i[2]}}function ia(t){if(!t)return null;for(var i=1;i<t.length;i++)if("number"==typeof t[i])return t[i];return null}var ea,aa,na={};function ra(t,i,e){var a;return i>=1e-7?e*(t/(1-(a=i*t)*a)-.5/i*f((1-a)/(1+a))):t+t}function sa(t,i,e){return i/c(1-e*t*t)}function oa(t,i,a){var s,l,h,u,_,d,g,y,v,E,S,C,M,w;t.fwd=function(i,e){var a,s=i.lam;(a=h-(g?l*ra(n(i.phi),t.e,t.one_es):_*n(i.phi)))<0&&q();a=u*c(a),e.x=a*n(s*=l),e.y=d-a*r(s)},t.inv=function(i,a){var c=i.x,y=d-i.y,v=m(c,y);0!=v?(l<0&&(v=-v,c=-c,y=-y),a.phi=v/u,g?(a.phi=(h-a.phi*a.phi)/l,e(s-e(a.phi))>1e-7?(a.phi=function(t,i,a){var s,l,h,p,c,u,_=15,m=1e-7,d=1e-10;if(s=o(.5*t),i<m)return s;u=_;do{s+=c=.5*(p=1-(h=i*(l=n(s)))*h)*p/r(s)*(t/a-l/p+.5/i*f((1-h)/(1+h)))}while(e(c)>d&&--u);return u?s:A}(a.phi,t.e,t.one_es))==A&&j():a.phi=a.phi<0?-I:I):e(a.phi=(h-a.phi*a.phi)/_)<=1?a.phi=o(a.phi):a.phi=a.phi<0?-I:I,a.lam=p(c,y)/l):(a.lam=0,a.phi=l>0?I:-I)},e(i+a)<P&&W(-21),l=v=n(i),y=r(i),E=e(i-a)>=P,(g=t.es>0)?(la(t.es),w=sa(v,y,t.es),M=ra(v,t.e,t.one_es),E&&(C=sa(v=n(a),y=r(a),t.es),S=ra(v,t.e,t.one_es),l=(w*w-C*C)/(S-M)),s=1-.5*t.one_es*f((1-t.e)/(1+t.e))/t.e,d=(u=1/l)*c((h=w*w+l*M)-l*ra(n(t.phi0),t.e,t.one_es))):(E&&(l=.5*(l+n(a))),d=(u=1/l)*c((h=y*y+(_=l+l)*v)-_*n(t.phi0)))}function la(t){var i,e=.046875,a=.01953125,n=.01068115234375,r=[];return r[0]=1-t*(.25+t*(e+t*(a+t*n))),r[1]=t*(.75-t*(e+t*(a+t*n))),r[2]=(i=t*t)*(.46875-t*(.013020833333333334+.007120768229166667*t)),r[3]=(i*=t)*(.3645833333333333-.005696614583333333*t),r[4]=i*t*.3076171875,r}function ha(t,i,e,a){return e*=i,i*=i,a[0]*t-e*(a[1]+i*(a[2]+i*(a[3]+i*a[4])))}function pa(t,i,a){var s,o,l,h=1/(1-i);l=t;for(var p=10;p>0;--p)if(o=1-i*(s=n(l))*s,l-=o=(ha(l,s,r(l),a)-t)*(o*c(o))*h,e(o)<1e-11)return l;return U(T),l}function ca(t){var i=e(t);return i>=1?(i>1.00000000000001&&U(-19),t<0?-I:I):o(t)}function ua(t){var i=e(t);return i>=1?(i>1.00000000000001&&U(-19),t<0?E:0):l(t)}function _a(t){return t<=0?0:c(t)}function fa(t,i){return e(t)<1e-50&&e(i)<1e-50?0:p(t,i)}function ma(t){var i=t.opaque||{mode:0};t.inv=function(t,a){var s,o,h,p,c,_,f,m,d,g,y,v,A,S,C,M,w,x=1e-12,b=0;if(e(t.x)<x&&e(t.y)<x)return a.phi=0,void(a.lam=0);a.phi=t.y,a.lam=t.x;do{s=0;do{for(v=n(.5*a.lam),C=r(.5*a.lam),A=n(a.phi),h=1-(o=(S=r(a.phi))*C)*o,p=2*(o=l(o)/u(h,1.5))*h*S*v,c=o*h*A,_=2*(v*C*A*S/h-o*A*v),f=S*S*v*v/h+o*S*C*A*A,m=A*A*C/h+o*v*v*S,d=.5*(A*S*v/h-o*A*S*S*v*C),i.mode&&(p=.5*(p+a.lam*i.cosphi1),c=.5*(c+a.phi),_*=.5,f=.5*(f+i.cosphi1),m=.5*(m+1),d*=.5),p-=t.x,y=((c-=t.y)*_-p*m)/(g=_*d-m*f),g=(p*d-c*f)/g;y>E;)y-=E;for(;y<-E;)y+=E;a.phi-=g,a.lam-=y}while((e(g)>x||e(y)>x)&&s++<10);a.phi>I&&(a.phi-=2*(a.phi-I)),a.phi<-I&&(a.phi-=2*(a.phi+I)),e(e(a.phi)-I)<x&&!i.mode&&(a.lam=0),(o=l(r(a.phi)*r(h=.5*a.lam)))?(M=2*o*r(a.phi)*n(h)*(w=1/n(o)),w*=o*n(a.phi)):M=w=0,i.mode&&(M=.5*(M+a.lam*i.cosphi1),w=.5*(w+a.phi))}while((e(t.x-M)>x||e(t.y-w)>x)&&b++<20)},t.fwd=function(t,e){var a,s;(s=l(r(t.phi)*r(a=.5*t.lam)))?(e.x=2*s*r(t.phi)*n(a)*(e.y=1/n(s)),e.y*=s*n(t.phi)):e.x=e.y=0;i.mode&&(e.x=.5*(e.x+t.lam*i.cosphi1),e.y=.5*(e.y+t.phi))},t.es=0}function da(t,i,a){t.es=0,t.fwd=function(t,r){var s,o,l=2.4674011002723395;r.y=i?I*n(t.phi):t.phi,(s=e(t.lam))>=1e-10?(a&&s>=I?r.x=c(l-t.phi*t.phi+1e-10)+s-I:(o=.5*(l/s+s),r.x=s-o+c(o*o-r.y*r.y)),t.lam<0&&(r.x=-r.x)):r.x=0}}function ga(t){var i,e=[];return e[0]=.3333333333333333*t,i=t*t,e[0]+=.17222222222222222*i,e[1]=.06388888888888888*i,i*=t,e[0]+=.10257936507936508*i,e[1]+=.0664021164021164*i,e[2]=.01677689594356261*i,e}function ya(t,i){var e=t+t;return t+i[0]*n(e)+i[1]*n(e+e)+i[2]*n(e+e+e)}function va(t,i){t.es=0,t.fwd=function(t,e){e.y=i.C_y*t.phi,e.x=i.C_x*t.lam*(i.A+_a(1-i.B*t.phi*t.phi))},t.inv=function(t,e){e.phi=t.y/i.C_y,e.lam=t.x/(i.C_x*(i.A+_a(1-i.B*e.phi*e.phi)))}}function Aa(t){var i,a,o,l,u,_,y=[],v=[],E=[],S=[];function C(t,i){for(var e,a=2*r(2*i),s=t.length-1,o=t[s],l=0;--s>=0;)e=a*o-l+t[s],l=o,o=e;return i+e*n(2*i)}function M(t,i,e){for(var a,s,o=n(i),l=r(i),h=d(e),p=g(e),c=2*l*p,u=-2*o*h,_=t.length-1,f=t[_],m=0,y=0,v=0;--_>=0;)a=y,s=m,f=c*(y=f)-a-u*(m=v)+t[_],v=u*y-s+c*m;return[(c=o*p)*f-(u=l*h)*v,c*v+u*f]}t.es<=0&&W(-34),u=l=(o=t.es/(1+c(1-t.es)))/(2-o),y[0]=l*(2+l*(-2/3+l*(l*(116/45+l*(26/45+l*(-2854/675)))-2))),v[0]=l*(l*(2/3+l*(4/3+l*(-82/45+l*(32/45+l*(4642/4725)))))-2),u*=l,y[1]=u*(7/3+l*(l*(-227/45+l*(2704/315+l*(2323/945)))-1.6)),v[1]=u*(5/3+l*(-16/15+l*(-13/9+l*(904/315+l*(-1522/945))))),u*=l,y[2]=u*(56/15+l*(-136/35+l*(-1262/105+l*(73814/2835)))),v[2]=u*(-26/15+l*(34/21+l*(1.6+l*(-12686/2835)))),u*=l,y[3]=u*(4279/630+l*(-332/35+l*(-399572/14175))),v[3]=u*(1237/630+l*(l*(-24832/14175)-2.4)),u*=l,y[4]=u*(4174/315+l*(-144838/6237)),v[4]=u*(-734/315+l*(109598/31185)),u*=l,y[5]=u*(601676/22275),v[5]=u*(444337/155925),u=l*l,i=t.k0/(1+l)*(1+u*(1/4+u*(1/64+u/256))),E[0]=l*(l*(2/3+l*(-37/96+l*(1/360+l*(81/512+l*(-96199/604800)))))-.5),S[0]=l*(.5+l*(-2/3+l*(5/16+l*(41/180+l*(-127/288+l*(7891/37800)))))),E[1]=u*(-1/48+l*(-1/15+l*(437/1440+l*(-46/105+l*(1118711/3870720))))),S[1]=u*(13/48+l*(l*(557/1440+l*(281/630+l*(-1983433/1935360)))-.6)),u*=l,E[2]=u*(-17/480+l*(37/840+l*(209/4480+l*(-5569/90720)))),S[2]=u*(61/240+l*(-103/140+l*(15061/26880+l*(167603/181440)))),u*=l,E[3]=u*(-4397/161280+l*(11/504+l*(830251/7257600))),S[3]=u*(49561/161280+l*(-179/168+l*(6601661/7257600))),u*=l,E[4]=u*(-4583/161280+l*(108847/3991680)),S[4]=u*(34729/80640+l*(-3418889/1995840)),u*=l,E[5]=u*(-20648693/638668800),S[5]=.6650675310896665*u,_=C(v,t.phi0),a=-i*(_+function(t,i){var e,a=2*r(i),s=t.length-1,o=t[s],l=0;for(;--s>=0;)e=a*o-l+t[s],l=o,o=e;return n(i)*e}(S,2*_)),t.fwd=function(t,o){var l,h,c,u,_,d=t.phi,g=t.lam;d=C(v,d),l=n(d),h=r(d),u=n(g),c=r(g),d=p(l,c*h),g=p(u*h,m(l,h*c)),g=function(t){var i=e(t);return i=function(t){var i=1+t,e=i-1;return 0===e?t:t*f(i)/e}(i*(1+i/(m(1,i)+1))),t<0?-i:i}(s(g)),_=M(S,2*d,2*g),d+=_[0],g+=_[1],e(g)<=2.623395162778?(o.y=i*d+a,o.x=i*g):o.x=o.y=A},t.inv=function(t,s){var o,l,c,u,_,f=t.y,g=t.x;f=(f-a)/i,e(g/=i)<=2.623395162778?(f+=(_=M(E,2*f,2*g))[0],g+=_[1],g=h(d(g)),o=n(f),l=r(f),u=n(g),c=r(g),g=p(u,c*l),f=p(o*c,m(u,c*l)),s.phi=C(y,f),s.lam=g):s.phi=s.lam=A}}function Ea(t){var i;t.es?(i=la(t.es),t.fwd=function(e,a){var s,o;a.y=ha(e.phi,s=n(e.phi),o=r(e.phi),i),a.x=e.lam*o/c(1-t.es*s*s)},t.inv=function(a,s){var o=e(s.phi=pa(a.y,t.es,i));o<I?(o=n(s.phi),s.lam=a.x*c(1-t.es*o*o)/r(s.phi)):o-P<I?s.lam=0:j()}):Sa(t,0,1)}function Sa(t,i,a){var s,o;s=(o=c((i+1)/a))/(i+1),t.es=0,t.fwd=function(t,l){var h,p,c;if(i){for(h=a*n(t.phi),c=8;c&&(t.phi-=p=(i*t.phi+n(t.phi)-h)/(i+r(t.phi)),!(e(p)<1e-7));--c);c||q()}else t.phi=1!=a?ca(a*n(t.phi)):t.phi;l.x=s*t.lam*(i+r(t.phi)),l.y=o*t.phi},t.inv=function(t,e){t.y/=o,e.phi=i?ca((i*t.y+n(t.y))/a):1!=a?ca(n(t.y)/a):t.y,e.lam=t.x/(s*(i+r(t.y)))}}function Ca(t){wa(t,Ma(t,I))}function Ma(t,i){var e=n(i),a=i+i,r=c(k*e/(a+n(a)));return{C_x:2*r/E,C_y:r/e,C_p:a+n(a)}}function wa(t,i){t.fwd=function(t,a){var s,o,l;for(s=i.C_p*n(t.phi),l=10;l&&(t.phi-=o=(t.phi+n(t.phi)-s)/(1+r(t.phi)),!(e(o)<1e-7));--l);l?t.phi*=.5:t.phi=t.phi<0?-I:I;a.x=i.C_x*t.lam*r(t.phi),a.y=i.C_y*n(t.phi)},t.inv=function(t,a){a.phi=ca(t.y/i.C_y),a.lam=t.x/(i.C_x*r(a.phi)),e(a.lam)-E<P?(a.phi+=a.phi,a.phi=ca((a.phi+n(a.phi))/i.C_p)):a.lam=a.phi=A},t.es=0}function xa(t,i){var r,s,l,h,p,_=[[0,-1],[1,0]],f=[[-1,0],[0,-1]],m=[[0,1],[-1,0]],d=[[[1,0],[0,1]],_,f,m,m,f,_],g=1e-15;function S(t,i){var r=t.lam,s=t.phi,l=o(2/3);if(e(s)<=l)i.x=r,i.y=3*E/8*n(s);else{var h,p=c(3*(1-e(n(s)))),u=a(2*r/E+2);u>=4&&(u=3),h=-3*x+I*u,i.x=h+(r-h)*p,i.y=M(s)*x*(2-p)}}function C(t,i){var n=t.x,r=t.y,s=x;if(e(r)<=s)i.lam=n,i.phi=o(8*r/(3*E));else if(e(r)<I){var l,h,p=a(2*n/E+2);p>=4&&(p=3),l=-3*x+I*p,h=2-4*e(r)/E,i.lam=l+(n-l)/h,i.phi=M(r)*o(1-u(h,2)/3)}else i.lam=-E,i.phi=M(r)*I}function M(t){return t>0?1:t<0?-1:0}function w(t){switch(t){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case-1:return 4;case-2:return 5;case-3:return 6}return 0}function b(t,i){return function(t,i,e){var a,n,r,s,o,l=0,h=t.length;for(o=0;o<h;o++)if(i==t[o][0]&&e==t[o][1])return!0;for(a=t[0][0],n=t[0][1],o=1;o<h;o++)r=t[o%h][0],s=t[o%h][1],e>y(n,s)&&e<=v(n,s)&&i<=v(a,r)&&n!=s&&(a==r||i<=(e-n)*(r-a)/(s-n)+a)&&l++,a=r,n=s;return l%2!=0}(p,t,i)}function k(t,i,a){if(a)return ya(i,h);var r=ra(n(i),t.e,1-t.es)/l;return e(r)>1&&(r=M(r)),o(r)}function N(t,i,e,a){var n,r,s,o,l,h,p=0,c=function(t,i,e,a,n){var r,s={};if(s.x=t,s.y=i,n){if(i>x)s.region="north",s.x=-3*x+e*I,s.y=I,t-=e*I;else{if(!(i<-x))return s.region="equatorial",s.cn=0,s;s.region="south",s.x=-3*x+a*I,s.y=-I,t-=a*I}"north"==s.region?s.cn=i>=-t-x-g&&i<t+5*x-g?(e+1)%4:i>-t-x+g&&i>=t+5*x-g?(e+2)%4:i<=-t-x+g&&i>t+5*x+g?(e+3)%4:e:"south"==s.region&&(s.cn=i<=t+x+g&&i>-t-5*x+g?(a+1)%4:i<t+x-g&&i<=-t-5*x+g?(a+2)%4:i>=t+x-g&&i<-t-5*x-g?(a+3)%4:a)}else{if(i>x)s.region="north",r=I;else{if(!(i<-x))return s.region="equatorial",s.cn=0,s;s.region="south",r=-I}t<-I?(s.cn=0,s.x=-3*x,s.y=r):t>=-I&&t<0?(s.cn=1,s.x=-x,s.y=r):t>=0&&t<I?(s.cn=2,s.x=x,s.y=r):(s.cn=3,s.x=3*x,s.y=r)}return s}(t.x,t.y,i,e,a);if("equatorial"==c.region)return t.x=c.x,void(t.y=c.y);n=[t.x,t.y],r=[c.x,c.y],a?"north"==c.region?(p=i,h=d[w(-1*(c.cn-p))]):(p=e,h=d[w(c.cn-p)]):"north"==c.region?(p=i,h=d[w(c.cn-p)]):(p=e,h=d[w(-1*(c.cn-p))]),o=function(t,i){return[t[0]-i[0],t[1]-i[1]]}(n,r),l=function(t,i){var e,a,n=[0,0];for(e=0;e<2;e++)for(a=0;a<2;a++)n[e]+=t[e][a]*i[a];return n}(h,o),s=function(t,i){return[t[0]+i[0],t[1]+i[1]]}(l,[-3*x+(a?c.cn:0)*I,I]),t.x=s[0],t.y=s[1]}i?(r=X(t.params,"inorth_square"),s=X(t.params,"isouth_square"),(r<0||r>3)&&W(-47),(s<0||s>3)&&W(-47),p=[[-E-g,x+g],[r*I-E-g,x+g],[r*I-E-g,3*x+g],[(r+1)*I-E+g,3*x+g],[(r+1)*I-E+g,x+g],[E+g,x+g],[E+g,-x-g],[(s+1)*I-E+g,-x-g],[(s+1)*I-E+g,-3*x-g],[s*I-E-g,-3*x-g],[s*I-E-g,-x-g],[-E-g,-x-g]],0!=t.es?(h=ga(t.es),l=ra(1,t.e,t.one_es),t.a=t.a*c(.5*l),t.ra=1/t.a,t.fwd=function(i,e){return i.phi=k(t,i.phi,0),S(i,e),N(e,r,s,0)},t.inv=function(i,e){if(!b(i.x,i.y))return e.lam=A,e.phi=A,void U(-15);N(i,r,s,1),C(i,e),e.phi=k(t,e.phi,1)}):(t.fwd=function(t,i){S(t,i),N(i,r,s,0)},t.inv=function(t,i){if(!b(t.x,t.y))return i.lam=A,i.phi=A,void U(-15);N(t,r,s,1),C(t,i)})):(p=[[-E-g,x],[-3*x,I+g],[-I,x+g],[-x,I+g],[0,x+g],[x,I+g],[I,x+g],[3*x,I+g],[E+g,x],[E+g,-x],[3*x,-I-g],[I,-x-g],[x,-I-g],[0,-x-g],[-x,-I-g],[-I,-x-g],[-3*x,-I-g],[-E-g,-x]],0!=t.es?(h=ga(t.es),l=ra(1,t.e,t.one_es),t.a=t.a*c(.5*l),t.ra=1/t.a,t.fwd=function(i,e){i.phi=k(t,i.phi,0),S(i,e)},t.inv=function(i,e){if(!b(i.x,i.y))return e.lam=A,e.phi=A,void U(-15);C(i,e),e.phi=k(t,e.phi,1)}):(t.fwd=function(t,i){S(t,i)},t.inv=function(t,i){if(!b(t.x,t.y))return i.lam=A,i.phi=A,void U(-15);C(t,i)}))}function Ia(t){t.x0=0,t.y0=0,t.is_latlong=!0,t.fwd=function(i,e){e.x=i.lam/t.a,e.y=i.phi/t.a},t.inv=function(i,e){e.lam=i.x*t.a,e.phi=i.y*t.a}}function ba(t,i,e){return i*=e,s(.5*(I-t))/u((1-i)/(1+i),.5*e)}function ka(t,i){var a,r,s=.5*i,o=I-2*h(t),l=15;do{a=i*n(o),o+=r=I-2*h(t*u((1-a)/(1+a),s))-o}while(e(r)>1e-10&&--l);return l<=0&&U(-18),o}function Na(t,i){var e,a,n,r=i.length-1;for(a=i[r][0],n=i[r][1];--r>=0;)e=a,a=i[r][0]+t.r*e-t.i*n,n=i[r][1]+t.r*n+t.i*e;return{r:t.r*a-t.i*n,i:t.r*n+t.i*a}}function Ga(t,i,e){var a,n,r,s,o,l=!0,h=i.length-1;for(n=s=i[h][0],a=r=i[h][1];--h>=0;)l?l=!1:(s=n+t.r*(o=s)-t.i*r,r=a+t.r*r+t.i*o),n=i[h][0]+t.r*(o=n)-t.i*a,a=i[h][1]+t.r*a+t.i*o;return e.r=n+t.r*s-t.i*r,e.i=a+t.r*r+t.i*s,{r:t.r*n-t.i*a,i:t.r*a+t.i*n}}function Ra(t,i){var a,o,l,c,_=1e-12;0!=t.es?(a=t.e*n(t.phi0),o=2*h(s(.5*(I+t.phi0))*u((1-a)/(1+a),.5*t.e))-I):o=t.phi0,c=n(o),l=r(o),t.inv=function(a,o){var f,d,g,y,v,E,S,C={},M={},w={},x=0,b=0,k=0,N=0;for(C.r=a.x,C.i=a.y,f=20;f&&((d=Ga(C,i,M)).r-=a.x,d.i-=a.y,g=M.r*M.r+M.i*M.i,w.r=-(d.r*M.r+d.i*M.i)/g,w.i=-(d.i*M.r-d.r*M.i)/g,C.r+=w.r,C.i+=w.i,!(e(w.r)+e(w.i)<=_));--f);if(f){if(x=m(C.r,C.i),y=2*h(.5*x),b=n(y),k=r(y),o.lam=t.lam0,e(x)<=_)return o.lam=0,void(o.phi=t.phi0);for(N=v=ca(k*c+C.i*b*l/x),f=20;f&&(E=t.e*n(N),N+=S=2*h(s(.5*(I+v))*u((1+E)/(1-E),.5*t.e))-I-N,!(e(S)<=_));--f);}f?(o.phi=N,o.lam=p(C.r*b,x*l*k-C.i*c*b)):o.lam=o.phi=A},t.fwd=function(e,a){var o,p,_,f,m,d,g,y={};o=n(e.lam),p=r(e.lam),_=t.e*n(e.phi),f=2*h(s(.5*(I+e.phi))*u((1-_)/(1+_),.5*t.e))-I,m=n(f),d=r(f),g=2/(1+c*m+l*d*p),y.r=g*d*o,y.i=g*(l*m-c*d*p),y=Na(y,i),a.x=y.r,a.y=y.i}}function Pa(t,i,a,s){var l,h,u,_,f,d,g,y,v,A,E,S,C=!isNaN(a)&&!isNaN(s);i<=0&&W(-30),C&&(v=r(s),A=n(s),S=r(a),E=n(a)),e(e(t.phi0)-I)<P?l=t.phi0<0?1:0:e(t.phi0)<P?l=2:(l=3,h=n(t.phi0),u=r(t.phi0)),d=i/t.a,f=1/(_=1+d),g=(_+1)*(y=1/d),t.fwd=function(t,i){var e,a,s,o,p;switch(s=n(t.phi),a=r(t.phi),e=r(t.lam),l){case 3:i.y=h*s+u*a*e;break;case 2:i.y=a*e;break;case 1:i.y=-s;break;case 0:i.y=s}i.y<f&&q();switch(i.y=d/(_-i.y),i.x=i.y*a*n(t.lam),l){case 3:i.y*=u*s-h*a*e;break;case 2:i.y*=s;break;case 0:e=-e;case 1:i.y*=a*e}C&&(p=1/((o=i.y*v+i.x*A)*E*y+S),i.x=(i.x*v-i.y*A)*S*p,i.y=o*p)},t.inv=function(i,a){var r,s,f,y,M,w;C&&(w=1/(d-i.y*E),y=d*i.x*w,M=d*i.y*S*w,i.x=y*v+M*A,i.y=M*v-y*A);r=m(i.x,i.y),(f=1-r*r*g)<0&&j();if(f=(_-c(f))/(d/r+r/d),s=c(1-f*f),e(r)<=P)a.lam=0,a.phi=t.phi0;else{switch(l){case 3:a.phi=o(s*h+i.y*f*u/r),i.y=(s-h*n(a.phi))*r,i.x*=f*u;break;case 2:a.phi=o(i.y*f/r),i.y=s*r,i.x*=f;break;case 0:a.phi=o(s),i.y=-i.y;break;case 1:a.phi=-o(s)}a.lam=p(i.x,i.y)}},t.es=0}function Ta(t,i){var e=.79788456,a=.1013211836*(i?2:4);t.es=0,t.fwd=function(t,i){i.x=e*t.lam*(1-a*t.phi*t.phi),i.y=e*t.phi},t.inv=function(t,i){i.phi=t.y/e,i.lam=t.x/(e*(1-a*i.phi*i.phi))}}function Oa(t,i,e){t.es=0,t.fwd=function(t,a){t.phi=ca(.883883476*n(t.phi)),a.x=i*t.lam*r(t.phi),a.x/=r(t.phi*=.333333333333333),a.y=e*n(t.phi)},t.inv=function(t,a){a.phi=ca(t.y/e),a.lam=t.x*r(a.phi)/i,a.phi*=3,a.lam/=r(a.phi),a.phi=ca(1.13137085*n(a.phi))}}function Da(t,i){var e=i?1.5:2,a=i?.5:1,n=1.01346,r=1.2158542;t.es=0,t.fwd=function(t,i){i.x=n*t.lam*(e-a*c(1+r*t.phi*t.phi)),i.y=n*t.phi},t.inv=function(t,i){i.phi=t.y/n,i.lam=t.x/(n*(e-a*c(1+r*i.phi*i.phi)))}}function La(t,i){var a,r,s,o,l,h=1.732050807568877;i?(s=.44329,o=.80404,a=6,r=5.61125,l=3):(s=1.01346,o=.9191,a=4,r=2.147143718212938,l=2),t.es=0,t.fwd=function(t,i){var p,u,_,m;for(p=r*n(t.phi),t.phi*=1.10265779,m=10;m&&(u=c(1+t.phi*t.phi),t.phi-=_=((a-u)*t.phi-f(t.phi+u)-p)/(a-2*u),!(e(_)<1e-10));--m);m||(t.phi=p<0?-h:h);i.x=s*t.lam*(l-c(1+t.phi*t.phi)),i.y=o*t.phi},t.inv=function(t,i){var e;i.phi=t.y/o,e=c(1+i.phi*i.phi),i.lam=t.x/(s*(l-e)),i.phi=ca(((a-e)*i.phi-f(i.phi+e))/r)}}function Ua(t){return function(i){!function(t,i){var a,o,l,u,_,f,d,g,y,v,A=1e-10;X(t.params,"tlat_1")&&X(t.params,"tlat_2")?(l=X(t.params,"rlat_1"),u=X(t.params,"rlat_2"),g=.5*(u+l),(e(a=.5*(u-l))<A||e(g)<A)&&W(-42)):W(-41);switch(i){case"TISSOT":_=n(g),o=r(a),d=c(((f=_/o+o/_)-2*n(t.phi0))/_);break;case"MURD1":f=n(a)/(a*s(g))+g,d=f-t.phi0,_=n(g);break;case"MURD2":f=(o=c(r(a)))/s(g),d=f+s(g-t.phi0),_=n(g)*o;break;case"MURD3":f=a/(s(g)*s(a))+g,d=f-t.phi0,_=n(g)*n(a)*s(a)/(a*a);break;case"EULER":_=n(g)*n(a)/a,f=(a*=.5)/(s(a)*s(g))+g,d=f-t.phi0;break;case"PCONIC":_=n(g),v=r(a),y=1/s(g),e(a=t.phi0-g)-A>=I&&W(-43),d=v*(y-s(a));break;case"VITK1":_=(o=s(a))*n(g)/a,f=a/(o*s(g))+g,d=f-t.phi0}function E(t,e){var a;switch(i){case"MURD2":a=f+s(g-t.phi);break;case"PCONIC":a=v*(y-s(t.phi-g));break;default:a=f-t.phi}e.x=a*n(t.lam*=_),e.y=d-a*r(t.lam)}function S(t,e){var a;switch(a=m(t.x,t.y=d-t.y),_<0&&(a=-a,t.x=-t.x,t.y=-t.y),e.lam=p(t.x,t.y)/_,i){case"PCONIC":e.phi=h(y-a/v)+g;break;case"MURD2":e.phi=g-h(a-f);break;default:e.phi=f-a}}t.inv=S,t.fwd=E,t.es=0}(i,t)}}function qa(t,i){var a,l,_,f,d,g,y,v,A=1e-10;if(v=e((l=e(t.phi0))-I)<A?t.phi0<0?0:1:l>A?2:3,i=e(i),t.es){switch(v){case 1:case 0:e(i-I)<A?y=2*t.k0/c(u(1+t.e,1+t.e)*u(1-t.e,1-t.e)):(y=r(i)/ba(i,l=n(i),t.e),l*=t.e,y/=c(1-l*l));break;case 3:case 2:l=n(t.phi0),a=2*h(E(t.phi0,l,t.e))-I,l*=t.e,y=2*t.k0*r(t.phi0)/c(1-l*l),d=n(a),g=r(a)}t.fwd=function(i,e){var a,s,o,l,p,c=0,u=0;a=r(i.lam),s=n(i.lam),p=n(i.phi),(2==v||3==v)&&(c=n(o=2*h(E(i.phi,p,t.e))-I),u=r(o));switch(v){case 2:l=y/(g*(1+d*c+g*u*a)),e.y=l*(g*c-d*u*a),e.x=l*u;break;case 3:l=y/(1+u*a),e.y=l*c,e.x=l*u;break;case 0:i.phi=-i.phi,a=-a,p=-p;case 1:e.x=y*ba(i.phi,p,t.e),e.y=-e.x*a}e.x=e.x*s},t.inv=function(i,a){a.phi;var l,c,_,f,A=0,E=0,S=0,C=0;switch(_=m(i.x,i.y),v){case 2:case 3:l=r(A=2*p(_*g,y)),c=n(A),E=o(0==_?l*d:l*d+i.y*c*g/_),A=s(.5*(I+E)),i.x*=c,i.y=_*g*l-i.y*d*c,C=I,S=.5*t.e;break;case 1:i.y=-i.y;case 0:E=I-2*h(A=-_/y),C=-I,S=-.5*t.e}for(f=0;f<8;f++,E=a.phi)if(c=t.e*n(E),a.phi=2*h(A*u((1+c)/(1-c),S))-C,e(E-a.phi)<1e-10)return 0==v&&(a.phi=-a.phi),void(a.lam=0==i.x&&0==i.y?0:p(i.x,i.y));j()}}else{switch(v){case 2:_=n(t.phi0),f=r(t.phi0);case 3:y=2*t.k0;break;case 0:case 1:y=e(i-I)>=A?r(i)/s(x-.5*i):2*t.k0}t.fwd=function(t,i){var a=t.phi,o=n(a),l=r(a),h=r(t.lam),p=n(t.lam);switch(v){case 3:case 2:i.y=3==v?1+l*h:1+_*o+f*l*h,i.y<=A&&q(),i.x=(i.y=y/i.y)*l*p,i.y*=3==v?o:f*o-_*l*h;break;case 1:h=-h,a=-a;case 0:e(a-I)<1e-8&&q(),i.x=p*(i.y=y*s(x+.5*a)),i.y*=h}},t.inv=function(i,a){var s,l,c,u;switch(c=n(s=2*h((l=m(i.x,i.y))/y)),u=r(s),a.lam=0,v){case 3:e(l)<=A?a.phi=0:a.phi=o(i.y*c/l),0==u&&0==i.x||(a.lam=p(i.x*c,u*l));break;case 2:e(l)<=A?a.phi=t.phi0:a.phi=o(u*_+i.y*c*f/l),0==(s=u-_*n(a.phi))&&0==i.x||(a.lam=p(i.x*c*f,s*l));break;case 1:i.y=-i.y;case 0:e(l)<=A?a.phi=t.phi0:a.phi=o(0==v?-u:u),a.lam=0==i.x&&0==i.y?0:p(i.x,i.y)}}}function E(t,i,e){return i*=e,s(.5*(I+t))*u((1-i)/(1+i),.5*e)}}function ja(t,i){return u((1-t)/(1+t),i)}function za(t,i,e,a){var o=e/i,l=i,p=1/e;t.inv=function(t,i){var e;t.y/=l,e=r(i.phi=a?h(t.y):ca(t.y)),i.phi/=p,i.lam=t.x/(o*r(i.phi)),a?i.lam/=e*e:i.lam*=e},t.fwd=function(t,i){var e;i.x=o*t.lam*r(t.phi),i.y=l,t.phi*=p,e=r(t.phi),a?(i.x*=e*e,i.y*=s(t.phi)):(i.x/=e,i.y*=n(t.phi))},t.es=0}function Wa(t){var i,a,s,h=1e-10,u=.5,m=.16666666666666666,d=.08333333333333333,g=.05,y=.03333333333333333,v=.023809523809523808,A=.017857142857142856;t.es?((s=la(t.es))||e_error_0(),a=ha(t.phi0,n(t.phi0),r(t.phi0),s),i=t.es/(1-t.es),t.fwd=function(o,l){var p,u,_,f,E,S;if(o.lam<-I||o.lam>I)return void U(-14);p=n(o.phi),u=r(o.phi),_=e(u)>h?p/u:0,_*=_,f=u*o.lam,E=f*f,f/=c(1-t.es*p*p),S=i*u*u,l.x=t.k0*f*(1+m*E*(1-_+S+g*E*(5+_*(_-18)+S*(14-58*_)+v*E*(61+_*(_*(179-_)-479))))),l.y=t.k0*(ha(o.phi,p,u,s)-a+p*f*o.lam*.5*(1+d*E*(5-_+S*(9+4*S)+y*E*(61+_*(_-58)+S*(270-330*_)+A*E*(1385+_*(_*(543-_)-3111))))))},t.inv=function(o,l){var h,p,_,f,E,S,C;l.phi=pa(a+o.y/t.k0,t.es,s),e(l.phi)>=I?(l.phi=o.y<0?-I:I,l.lam=0):(S=n(l.phi),_=r(l.phi),C=e(_)>1e-10?S/_:0,h=i*_*_,f=o.x*c(p=1-t.es*S*S)/t.k0,p*=C,C*=C,E=f*f,l.phi-=p*E/(1-t.es)*u*(1-E*d*(5+C*(3-9*h)+h*(1-4*h)-E*y*(61+C*(90-252*h+45*C)+46*h-E*A*(1385+C*(3633+C*(4095+1575*C)))))),l.lam=f*(1-E*m*(1+2*C+h-E*g*(5+C*(28+24*C+8*h)+6*h-E*v*(61+C*(662+C*(1320+720*C))))))/_)}):(i=t.k0,a=.5*i,t.fwd=function(s,o){var p,u;if(s.lam<-I||s.lam>I)return void U(-14);u=r(s.phi),p=u*n(s.lam),e(e(p)-1)<=h&&q();o.x=a*f((1+p)/(1-p)),o.y=u*r(s.lam)/c(1-p*p),(p=e(o.y))>=1?p-1>h?q():o.y=0:o.y=l(o.y);s.phi<0&&(o.y=-o.y);o.y=i*(o.y-t.phi0)},t.inv=function(e,a){var n=_(e.x/i),s=.5*(n-1/n);n=r(t.phi0+e.y/i),a.phi=o(c((1-n*n)/(1+s*s))),e.y<0&&-a.phi+t.phi0<0&&(a.phi=-a.phi);a.lam=s||n?p(s,n):0})}function Ba(t,i){var e=.8773826753,a=1.139753528477/i;t.es=0,t.fwd=function(t,s){var o=ca(i*n(t.phi));s.x=e*t.lam*r(o),s.y=a*o},t.inv=function(t,s){t.y/=a,s.phi=ca(n(t.y)/i),s.lam=t.x/(e*r(t.y))}}function Ha(t,i){t.fwd=function(t,a){var n,r,s,o;s=e(N*t.phi),o=(o=1-s*s)<0?0:c(o);e(t.lam)<1e-10?(a.x=0,a.y=E*(t.phi<0?-s:s)/(1+o)):(r=.5*e(E/t.lam-t.lam/E),i?(n=s/(1+o),a.x=E*(c(r*r+1-n*n)-r),a.y=E*n):(n=(o*c(1+r*r)-r*o*o)/(1+r*r*s*s),a.x=E*n,a.y=E*c(1-n*(n+2*r)+1e-10)),t.lam<0&&(a.x=-a.x),t.phi<0&&(a.y=-a.y))},t.es=0}na.Constants={},na.Math={},na.Accumulator={},(ea=na.Constants).WGS84={a:6378137,f:1/298.257223563},ea.version={major:1,minor:48,patch:0},ea.version_string="1.48",(aa=na.Math).digits=53,aa.epsilon=Math.pow(.5,aa.digits-1),aa.degree=Math.PI/180,aa.sq=function(t){return t*t},aa.hypot=function(t,i){var e,a;return t=Math.abs(t),i=Math.abs(i),e=Math.max(t,i),a=Math.min(t,i)/(e||1),e*Math.sqrt(1+a*a)},aa.cbrt=function(t){var i=Math.pow(Math.abs(t),1/3);return t<0?-i:i},aa.log1p=function(t){var i=1+t,e=i-1;return 0===e?t:t*Math.log(i)/e},aa.atanh=function(t){var i=Math.abs(t);return i=aa.log1p(2*i/(1-i))/2,t<0?-i:i},aa.copysign=function(t,i){return Math.abs(t)*(i<0||0===i&&1/i<0?-1:1)},aa.sum=function(t,i){var e=t+i,a=e-i,n=e-a;return{s:e,t:-((a-=t)+(n-=i))}},aa.polyval=function(t,i,e,a){for(var n=t<0?0:i[e++];--t>=0;)n=n*a+i[e++];return n},aa.AngRound=function(t){if(0===t)return t;var i=1/16,e=Math.abs(t);return e=e<i?i-(i-e):e,t<0?-e:e},aa.AngNormalize=function(t){return(t%=360)<=-180?t+360:t<=180?t:t-360},aa.LatFix=function(t){return Math.abs(t)>90?Number.NaN:t},aa.AngDiff=function(t,i){var e=aa.sum(aa.AngNormalize(-t),aa.AngNormalize(i)),a=aa.AngNormalize(e.s),n=e.t;return aa.sum(180===a&&n>0?-180:a,n)},aa.sincosd=function(t){var i,e,a,n,r,s;switch(i=t%360,i-=90*(e=Math.floor(i/90+.5)),i*=this.degree,a=Math.sin(i),n=Math.cos(i),3&e){case 0:r=a,s=n;break;case 1:r=n,s=-a;break;case 2:r=-a,s=-n;break;default:r=-n,s=a}return t&&(r+=0,s+=0),{s:r,c:s}},aa.atan2d=function(t,i){var e,a,n=0;switch(Math.abs(t)>Math.abs(i)&&(e=i,i=t,t=e,n=2),i<0&&(i=-i,++n),a=Math.atan2(t,i)/this.degree,n){case 1:a=(t>=0?180:-180)-a;break;case 2:a=90-a;break;case 3:a=-90+a}return a},function(t,i){t.Accumulator=function(t){this.Set(t)},t.Accumulator.prototype.Set=function(i){i||(i=0),i.constructor===t.Accumulator?(this._s=i._s,this._t=i._t):(this._s=i,this._t=0)},t.Accumulator.prototype.Add=function(t){var e=i.sum(t,this._t),a=i.sum(e.s,this._s);e=e.t,this._s=a.s,this._t=a.t,0===this._s?this._s=e:this._t+=e},t.Accumulator.prototype.Sum=function(i){var e;return i?((e=new t.Accumulator(this)).Add(i),e._s):this._s},t.Accumulator.prototype.Negate=function(){this._s*=-1,this._t*=-1}}(na.Accumulator,na.Math),na.Geodesic={},na.GeodesicLine={},na.PolygonArea={},function(t,i,e,a,n){var r,s,o,l,h,p,c,u,_,f,m,d=20+a.digits+10,g=a.epsilon,y=200*g,v=Math.sqrt(g),A=g*y,E=1e3*v;t.tiny_=Math.sqrt(Number.MIN_VALUE),t.nC1_=6,t.nC1p_=6,t.nC2_=6,t.nC3_=6,t.nC4_=6,r=t.nC3_*(t.nC3_-1)/2,s=t.nC4_*(t.nC4_+1)/2,t.CAP_C1=1,t.CAP_C1p=2,t.CAP_C2=4,t.CAP_C3=8,t.CAP_C4=16,t.NONE=0,t.ARC=64,t.LATITUDE=128,t.LONGITUDE=256|t.CAP_C3,t.AZIMUTH=512,t.DISTANCE=1024|t.CAP_C1,t.STANDARD=t.LATITUDE|t.LONGITUDE|t.AZIMUTH|t.DISTANCE,t.DISTANCE_IN=2048|t.CAP_C1|t.CAP_C1p,t.REDUCEDLENGTH=4096|t.CAP_C1|t.CAP_C2,t.GEODESICSCALE=8192|t.CAP_C1|t.CAP_C2,t.AREA=16384|t.CAP_C4,t.ALL=32671,t.LONG_UNROLL=32768,t.OUT_MASK=32640|t.LONG_UNROLL,t.SinCosSeries=function(t,i,e,a){var n=a.length,r=n-(t?1:0),s=2*(e-i)*(e+i),o=1&r?a[--n]:0,l=0;for(r=Math.floor(r/2);r--;)o=s*(l=s*o-l+a[--n])-o+a[--n];return t?2*i*e*o:e*(o-l)},o=function(t,i){var e,n,r,s,o,l,h,p,c,u,_,f,m=a.sq(t),d=a.sq(i),g=(m+d-1)/6;return 0===d&&g<=0?e=0:(l=g,(o=(n=m*d/4)*(n+2*(s=g*(r=a.sq(g)))))>=0?(h=n+s,h+=h<0?-Math.sqrt(o):Math.sqrt(o),l+=(p=a.cbrt(h))+(0!==p?r/p:0)):(c=Math.atan2(Math.sqrt(-o),-(n+s)),l+=2*g*Math.cos(c/3)),u=Math.sqrt(a.sq(l)+d),f=((_=l<0?d/(u-l):l+u)-d)/(2*u),e=_/(Math.sqrt(_+a.sq(f))+f)),e},l=[1,4,64,0,256],t.A1m1f=function(t){var i=Math.floor(3);return(a.polyval(i,l,0,a.sq(t))/l[i+1]+t)/(1-t)},h=[-1,6,-16,32,-9,64,-128,2048,9,-16,768,3,-5,512,-7,1280,-7,2048],t.C1f=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC1_;++n)r=Math.floor((t.nC1_-n)/2),e[n]=o*a.polyval(r,h,l,s)/h[l+r+1],l+=r+2,o*=i},p=[205,-432,768,1536,4005,-4736,3840,12288,-225,116,384,-7173,2695,7680,3467,7680,38081,61440],t.C1pf=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC1p_;++n)r=Math.floor((t.nC1p_-n)/2),e[n]=o*a.polyval(r,p,l,s)/p[l+r+1],l+=r+2,o*=i},c=[-11,-28,-192,0,256],t.A2m1f=function(t){var i=Math.floor(3);return(a.polyval(i,c,0,a.sq(t))/c[i+1]-t)/(1+t)},u=[1,2,16,32,35,64,384,2048,15,80,768,7,35,512,63,1280,77,2048],t.C2f=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC2_;++n)r=Math.floor((t.nC2_-n)/2),e[n]=o*a.polyval(r,u,l,s)/u[l+r+1],l+=r+2,o*=i},t.Geodesic=function(t,i){if(this.a=t,this.f=i,this._f1=1-this.f,this._e2=this.f*(2-this.f),this._ep2=this._e2/a.sq(this._f1),this._n=this.f/(2-this.f),this._b=this.a*this._f1,this._c2=(a.sq(this.a)+a.sq(this._b)*(0===this._e2?1:(this._e2>0?a.atanh(Math.sqrt(this._e2)):Math.atan(Math.sqrt(-this._e2)))/Math.sqrt(Math.abs(this._e2))))/2,this._etol2=.1*v/Math.sqrt(Math.max(.001,Math.abs(this.f))*Math.min(1,1-this.f/2)/2),!(isFinite(this.a)&&this.a>0))throw new Error("Equatorial radius is not positive");if(!(isFinite(this._b)&&this._b>0))throw new Error("Polar semi-axis is not positive");this._A3x=new Array(6),this._C3x=new Array(r),this._C4x=new Array(s),this.A3coeff(),this.C3coeff(),this.C4coeff()},_=[-3,128,-2,-3,64,-1,-3,-1,16,3,-1,-2,8,1,-1,2,1,1],t.Geodesic.prototype.A3coeff=function(){var t,i,e=0,n=0;for(t=5;t>=0;--t)i=Math.min(6-t-1,t),this._A3x[n++]=a.polyval(i,_,e,this._n)/_[e+i+1],e+=i+2},f=[3,128,2,5,128,-1,3,3,64,-1,0,1,8,-1,1,4,5,256,1,3,128,-3,-2,3,64,1,-3,2,32,7,512,-10,9,384,5,-9,5,192,7,512,-14,7,512,21,2560],t.Geodesic.prototype.C3coeff=function(){var i,e,n,r=0,s=0;for(i=1;i<t.nC3_;++i)for(e=t.nC3_-1;e>=i;--e)n=Math.min(t.nC3_-e-1,e),this._C3x[s++]=a.polyval(n,f,r,this._n)/f[r+n+1],r+=n+2},m=[97,15015,1088,156,45045,-224,-4784,1573,45045,-10656,14144,-4576,-858,45045,64,624,-4576,6864,-3003,15015,100,208,572,3432,-12012,30030,45045,1,9009,-2944,468,135135,5792,1040,-1287,135135,5952,-11648,9152,-2574,135135,-64,-624,4576,-6864,3003,135135,8,10725,1856,-936,225225,-8448,4992,-1144,225225,-1440,4160,-4576,1716,225225,-136,63063,1024,-208,105105,3584,-3328,1144,315315,-128,135135,-2560,832,405405,128,99099],t.Geodesic.prototype.C4coeff=function(){var i,e,n,r=0,s=0;for(i=0;i<t.nC4_;++i)for(e=t.nC4_-1;e>=i;--e)n=t.nC4_-e-1,this._C4x[s++]=a.polyval(n,m,r,this._n)/m[r+n+1],r+=n+2},t.Geodesic.prototype.A3f=function(t){return a.polyval(5,this._A3x,0,t)},t.Geodesic.prototype.C3f=function(i,e){var n,r,s=1,o=0;for(n=1;n<t.nC3_;++n)r=t.nC3_-n-1,s*=i,e[n]=s*a.polyval(r,this._C3x,o,i),o+=r+1},t.Geodesic.prototype.C4f=function(i,e){var n,r,s=1,o=0;for(n=0;n<t.nC4_;++n)r=t.nC4_-n-1,e[n]=s*a.polyval(r,this._C4x,o,i),o+=r+1,s*=i},t.Geodesic.prototype.Lengths=function(i,e,a,n,r,s,o,l,h,p,c,u,_){var f,m,d,g,y={},v=0,A=0,E=0,S=0;if((c&=t.OUT_MASK)&(t.DISTANCE|t.REDUCEDLENGTH|t.GEODESICSCALE)&&(E=t.A1m1f(i),t.C1f(i,u),c&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(S=t.A2m1f(i),t.C2f(i,_),v=E-S,S=1+S),E=1+E),c&t.DISTANCE)f=t.SinCosSeries(!0,s,o,u)-t.SinCosSeries(!0,a,n,u),y.s12b=E*(e+f),c&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(A=v*e+(E*f-S*(t.SinCosSeries(!0,s,o,_)-t.SinCosSeries(!0,a,n,_))));else if(c&(t.REDUCEDLENGTH|t.GEODESICSCALE)){for(m=1;m<=t.nC2_;++m)_[m]=E*u[m]-S*_[m];A=v*e+(t.SinCosSeries(!0,s,o,_)-t.SinCosSeries(!0,a,n,_))}return c&t.REDUCEDLENGTH&&(y.m0=v,y.m12b=l*(n*s)-r*(a*o)-n*o*A),c&t.GEODESICSCALE&&(d=n*o+a*s,g=this._ep2*(h-p)*(h+p)/(r+l),y.M12=d+(g*s-o*A)*a/r,y.M21=d-(g*a-n*A)*s/l),y},t.Geodesic.prototype.InverseStart=function(i,e,n,r,s,l,h,p,c,u,_){var f,m,d,g,v,A,S,C,M,w,x,I,b,k,N,G,R,P,T,O,D={},L=r*e-s*i,U=s*e+r*i;return D.sig12=-1,f=r*e,f+=s*i,(m=U>=0&&L<.5&&s*h<.5)?(g=a.sq(i+r),g/=g+a.sq(e+s),D.dnm=Math.sqrt(1+this._ep2*g),d=h/(this._f1*D.dnm),v=Math.sin(d),A=Math.cos(d)):(v=p,A=c),D.salp1=s*v,D.calp1=A>=0?L+s*i*a.sq(v)/(1+A):f-s*i*a.sq(v)/(1-A),C=a.hypot(D.salp1,D.calp1),M=i*r+e*s*A,m&&C<this._etol2?(D.salp2=e*v,D.calp2=L-e*r*(A>=0?a.sq(v)/(1+A):1-A),S=a.hypot(D.salp2,D.calp2),D.salp2/=S,D.calp2/=S,D.sig12=Math.atan2(C,M)):Math.abs(this._n)>.1||M>=0||C>=6*Math.abs(this._n)*Math.PI*a.sq(e)||(O=Math.atan2(-p,-c),this.f>=0?(k=(b=a.sq(i)*this._ep2)/(2*(1+Math.sqrt(1+b))+b),w=O/(I=this.f*e*this.A3f(k)*Math.PI),x=f/(I*e)):(N=s*e-r*i,G=Math.atan2(f,N),x=h/(I=((w=(R=this.Lengths(this._n,Math.PI+G,i,-e,n,r,s,l,e,s,t.REDUCEDLENGTH,u,_)).m12b/(e*s*R.m0*Math.PI)-1)<-.01?f/w:-this.f*a.sq(e)*Math.PI)/e)),x>-y&&w>-1-E?this.f>=0?(D.salp1=Math.min(1,-w),D.calp1=-Math.sqrt(1-a.sq(D.salp1))):(D.calp1=Math.max(w>-y?0:-1,w),D.salp1=Math.sqrt(1-a.sq(D.calp1))):(P=o(w,x),T=I*(this.f>=0?-w*P/(1+P):-x*(1+P)/P),v=Math.sin(T),A=-Math.cos(T),D.salp1=s*v,D.calp1=f-s*i*a.sq(v)/(1-A))),D.salp1<=0?(D.salp1=1,D.calp1=0):(S=a.hypot(D.salp1,D.calp1),D.salp1/=S,D.calp1/=S),D},t.Geodesic.prototype.Lambda12=function(i,e,n,r,s,o,l,h,p,c,u,_,f,m){var d,g,y,v,A,E,S,C,M,w,x,I,b,k={};return 0===i&&0===h&&(h=-t.tiny_),g=l*e,y=a.hypot(h,l*i),k.ssig1=i,v=g*i,k.csig1=A=h*e,d=a.hypot(k.ssig1,k.csig1),k.ssig1/=d,k.csig1/=d,k.salp2=s!==e?g/s:l,k.calp2=s!==e||Math.abs(r)!==-i?Math.sqrt(a.sq(h*e)+(e<-i?(s-e)*(e+s):(i-r)*(i+r)))/s:Math.abs(h),k.ssig2=r,E=g*r,k.csig2=S=k.calp2*s,d=a.hypot(k.ssig2,k.csig2),k.ssig2/=d,k.csig2/=d,k.sig12=Math.atan2(Math.max(0,k.csig1*k.ssig2-k.ssig1*k.csig2),k.csig1*k.csig2+k.ssig1*k.ssig2),C=Math.max(0,A*E-v*S),M=A*S+v*E,x=Math.atan2(C*c-M*p,M*c+C*p),I=a.sq(y)*this._ep2,k.eps=I/(2*(1+Math.sqrt(1+I))+I),this.C3f(k.eps,m),w=t.SinCosSeries(!0,k.ssig2,k.csig2,m)-t.SinCosSeries(!0,k.ssig1,k.csig1,m),k.domg12=-this.f*this.A3f(k.eps)*g*(k.sig12+w),k.lam12=x+k.domg12,u&&(0===k.calp2?k.dlam12=-2*this._f1*n/i:(b=this.Lengths(k.eps,k.sig12,k.ssig1,k.csig1,n,k.ssig2,k.csig2,o,e,s,t.REDUCEDLENGTH,_,f),k.dlam12=b.m12b,k.dlam12*=this._f1/(k.calp2*s))),k},t.Geodesic.prototype.Inverse=function(i,e,n,r,s){var o,l;return s||(s=t.STANDARD),s===t.LONG_UNROLL&&(s|=t.STANDARD),s&=t.OUT_MASK,l=(o=this.InverseInt(i,e,n,r,s)).vals,s&t.AZIMUTH&&(l.azi1=a.atan2d(o.salp1,o.calp1),l.azi2=a.atan2d(o.salp2,o.calp2)),l},t.Geodesic.prototype.InverseInt=function(i,e,n,r,s){var o,l,h,p,c,u,_,f,m,y,v,E,S,C,M,w,x,I,b,k,N,G,R,P,T,O,D,L,U,q,j,z,W,B,H,V,F,K,J,X,Z,Y,$,Q,tt,it,et,at,nt,rt,st,ot,lt,ht,pt,ct,ut,_t,ft,mt,dt,gt,yt,vt,At,Et={};if(Et.lat1=i=a.LatFix(i),Et.lat2=n=a.LatFix(n),i=a.AngRound(i),n=a.AngRound(n),l=(o=a.AngDiff(e,r)).t,o=o.s,s&t.LONG_UNROLL?(Et.lon1=e,Et.lon2=e+o+l):(Et.lon1=a.AngNormalize(e),Et.lon2=a.AngNormalize(r)),o=(h=o>=0?1:-1)*a.AngRound(o),l=a.AngRound(180-o-h*l),M=o*a.degree,w=(p=a.sincosd(o>90?l:o)).s,x=(o>90?-1:1)*p.c,(c=Math.abs(i)<Math.abs(n)?-1:1)<0&&(h*=-1,p=i,i=n,n=p),i*=u=i<0?1:-1,n*=u,p=a.sincosd(i),_=this._f1*p.s,f=p.c,_/=p=a.hypot(_,f),f/=p,f=Math.max(t.tiny_,f),p=a.sincosd(n),m=this._f1*p.s,y=p.c,m/=p=a.hypot(m,y),y/=p,y=Math.max(t.tiny_,y),f<-_?y===f&&(m=m<0?_:-_):Math.abs(m)===-_&&(y=f),S=Math.sqrt(1+this._ep2*a.sq(_)),C=Math.sqrt(1+this._ep2*a.sq(m)),R=new Array(t.nC1_+1),P=new Array(t.nC2_+1),T=new Array(t.nC3_),(O=-90===i||0===w)&&(k=w,G=0,L=_,U=(b=x)*f,q=m,j=(N=1)*y,I=Math.atan2(Math.max(0,U*q-L*j),U*j+L*q),v=(D=this.Lengths(this._n,I,L,U,S,q,j,C,f,y,s|t.DISTANCE|t.REDUCEDLENGTH,R,P)).s12b,E=D.m12b,0!==(s&t.GEODESICSCALE)&&(Et.M12=D.M12,Et.M21=D.M21),I<1||E>=0?(I<3*t.tiny_&&(I=E=v=0),E*=this._b,v*=this._b,Et.a12=I/a.degree):O=!1),ut=2,!O&&0===_&&(this.f<=0||l>=180*this.f))b=N=0,k=G=1,v=this.a*M,I=W=M/this._f1,E=this._b*Math.sin(I),s&t.GEODESICSCALE&&(Et.M12=Et.M21=Math.cos(I)),Et.a12=o/this._f1;else if(!O)if(I=(D=this.InverseStart(_,f,S,m,y,C,M,w,x,R,P)).sig12,k=D.salp1,b=D.calp1,I>=0)G=D.salp2,N=D.calp2,B=D.dnm,v=I*this._b*B,E=a.sq(B)*this._b*Math.sin(I/B),s&t.GEODESICSCALE&&(Et.M12=Et.M21=Math.cos(I/B)),Et.a12=I/a.degree,W=M/(this._f1*B);else{for(H=0,V=t.tiny_,F=1,K=t.tiny_,J=-1,X=!1,Z=!1;H<d&&(Y=(D=this.Lambda12(_,f,S,m,y,C,k,b,w,x,H<20,R,P,T)).lam12,G=D.salp2,N=D.calp2,I=D.sig12,L=D.ssig1,U=D.csig1,q=D.ssig2,j=D.csig2,z=D.eps,ft=D.domg12,$=D.dlam12,!Z&&Math.abs(Y)>=(X?8:1)*g);++H)Y>0&&(H<20||b/k>J/K)?(K=k,J=b):Y<0&&(H<20||b/k<F/V)&&(V=k,F=b),H<20&&$>0&&(Q=-Y/$,tt=Math.sin(Q),(et=k*(it=Math.cos(Q))+b*tt)>0&&Math.abs(Q)<Math.PI)?(b=b*it-k*tt,k=et,k/=p=a.hypot(k,b),b/=p,X=Math.abs(Y)<=16*g):(k=(V+K)/2,b=(F+J)/2,k/=p=a.hypot(k,b),b/=p,X=!1,Z=Math.abs(V-k)+(F-b)<A||Math.abs(k-K)+(b-J)<A);at=s|(s&(t.REDUCEDLENGTH|t.GEODESICSCALE)?t.DISTANCE:t.NONE),v=(D=this.Lengths(z,I,L,U,S,q,j,C,f,y,at,R,P)).s12b,E=D.m12b,0!==(s&t.GEODESICSCALE)&&(Et.M12=D.M12,Et.M21=D.M21),E*=this._b,v*=this._b,Et.a12=I/a.degree,s&t.AREA&&(vt=Math.sin(ft),ut=w*(At=Math.cos(ft))-x*vt,_t=x*At+w*vt)}return s&t.DISTANCE&&(Et.s12=0+v),s&t.REDUCEDLENGTH&&(Et.m12=0+E),s&t.AREA&&(nt=k*f,0!==(rt=a.hypot(b,k*_))&&0!==nt?(L=_,U=b*f,q=m,j=N*y,z=(ot=a.sq(rt)*this._ep2)/(2*(1+Math.sqrt(1+ot))+ot),lt=a.sq(this.a)*rt*nt*this._e2,L/=p=a.hypot(L,U),U/=p,q/=p=a.hypot(q,j),j/=p,ht=new Array(t.nC4_),this.C4f(z,ht),pt=t.SinCosSeries(!1,L,U,ht),ct=t.SinCosSeries(!1,q,j,ht),Et.S12=lt*(ct-pt)):Et.S12=0,!O&&ut>1&&(ut=Math.sin(W),_t=Math.cos(W)),!O&&_t>-.7071&&m-_<1.75?(ft=1+_t,mt=1+f,dt=1+y,st=2*Math.atan2(ut*(_*dt+m*mt),ft*(_*m+mt*dt))):(yt=N*b+G*k,0===(gt=G*b-N*k)&&yt<0&&(gt=t.tiny_*b,yt=-1),st=Math.atan2(gt,yt)),Et.S12+=this._c2*st,Et.S12*=c*h*u,Et.S12+=0),c<0&&(p=k,k=G,G=p,p=b,b=N,N=p,s&t.GEODESICSCALE&&(p=Et.M12,Et.M12=Et.M21,Et.M21=p)),{vals:Et,salp1:k*=c*h,calp1:b*=c*u,salp2:G*=c*h,calp2:N*=c*u}},t.Geodesic.prototype.GenDirect=function(e,a,n,r,s,o){return o?o===t.LONG_UNROLL&&(o|=t.STANDARD):o=t.STANDARD,r||(o|=t.DISTANCE_IN),new i.GeodesicLine(this,e,a,n,o).GenPosition(r,s,o)},t.Geodesic.prototype.Direct=function(t,i,e,a,n){return this.GenDirect(t,i,e,!1,a,n)},t.Geodesic.prototype.ArcDirect=function(t,i,e,a,n){return this.GenDirect(t,i,e,!0,a,n)},t.Geodesic.prototype.Line=function(t,e,a,n){return new i.GeodesicLine(this,t,e,a,n)},t.Geodesic.prototype.DirectLine=function(t,i,e,a,n){return this.GenDirectLine(t,i,e,!1,a,n)},t.Geodesic.prototype.ArcDirectLine=function(t,i,e,a,n){return this.GenDirectLine(t,i,e,!0,a,n)},t.Geodesic.prototype.GenDirectLine=function(e,a,n,r,s,o){var l;return o||(o=t.STANDARD|t.DISTANCE_IN),r||(o|=t.DISTANCE_IN),(l=new i.GeodesicLine(this,e,a,n,o)).GenSetDistance(r,s),l},t.Geodesic.prototype.InverseLine=function(e,n,r,s,o){var l,h,p;return o||(o=t.STANDARD|t.DISTANCE_IN),l=this.InverseInt(e,n,r,s,t.ARC),p=a.atan2d(l.salp1,l.calp1),o&t.OUT_MASK&t.DISTANCE_IN&&(o|=t.DISTANCE),(h=new i.GeodesicLine(this,e,n,p,o,l.salp1,l.calp1)).SetArc(l.vals.a12),h},t.Geodesic.prototype.Polygon=function(t){return new e.PolygonArea(this,t)},t.WGS84=new t.Geodesic(n.WGS84.a,n.WGS84.f)}(na.Geodesic,na.GeodesicLine,na.PolygonArea,na.Math,na.Constants),function(t,i,e){i.GeodesicLine=function(i,a,n,r,s,o,l){var h,p,c,u,_,f;s||(s=t.STANDARD|t.DISTANCE_IN),this.a=i.a,this.f=i.f,this._b=i._b,this._c2=i._c2,this._f1=i._f1,this.caps=s|t.LATITUDE|t.AZIMUTH|t.LONG_UNROLL,this.lat1=e.LatFix(a),this.lon1=n,void 0===o||void 0===l?(this.azi1=e.AngNormalize(r),h=e.sincosd(e.AngRound(this.azi1)),this.salp1=h.s,this.calp1=h.c):(this.azi1=r,this.salp1=o,this.calp1=l),h=e.sincosd(e.AngRound(this.lat1)),c=this._f1*h.s,p=h.c,c/=h=e.hypot(c,p),p/=h,p=Math.max(t.tiny_,p),this._dn1=Math.sqrt(1+i._ep2*e.sq(c)),this._salp0=this.salp1*p,this._calp0=e.hypot(this.calp1,this.salp1*c),this._ssig1=c,this._somg1=this._salp0*c,this._csig1=this._comg1=0!==c||0!==this.calp1?p*this.calp1:1,h=e.hypot(this._ssig1,this._csig1),this._ssig1/=h,this._csig1/=h,this._k2=e.sq(this._calp0)*i._ep2,u=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2),this.caps&t.CAP_C1&&(this._A1m1=t.A1m1f(u),this._C1a=new Array(t.nC1_+1),t.C1f(u,this._C1a),this._B11=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C1a),_=Math.sin(this._B11),f=Math.cos(this._B11),this._stau1=this._ssig1*f+this._csig1*_,this._ctau1=this._csig1*f-this._ssig1*_),this.caps&t.CAP_C1p&&(this._C1pa=new Array(t.nC1p_+1),t.C1pf(u,this._C1pa)),this.caps&t.CAP_C2&&(this._A2m1=t.A2m1f(u),this._C2a=new Array(t.nC2_+1),t.C2f(u,this._C2a),this._B21=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C2a)),this.caps&t.CAP_C3&&(this._C3a=new Array(t.nC3_),i.C3f(u,this._C3a),this._A3c=-this.f*this._salp0*i.A3f(u),this._B31=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C3a)),this.caps&t.CAP_C4&&(this._C4a=new Array(t.nC4_),i.C4f(u,this._C4a),this._A4=e.sq(this.a)*this._calp0*this._salp0*i._e2,this._B41=t.SinCosSeries(!1,this._ssig1,this._csig1,this._C4a)),this.a13=this.s13=Number.NaN},i.GeodesicLine.prototype.GenPosition=function(i,a,n){var r,s,o,l,h,p,c,u,_,f,m,d,g,y,v,A,E,S,C,M,w,x,I,b,k,N,G={};return n?n===t.LONG_UNROLL&&(n|=t.STANDARD):n=t.STANDARD,n&=this.caps&t.OUT_MASK,G.lat1=this.lat1,G.azi1=this.azi1,G.lon1=n&t.LONG_UNROLL?this.lon1:e.AngNormalize(this.lon1),i?G.a12=a:G.s12=a,i||this.caps&t.DISTANCE_IN&t.OUT_MASK?(l=0,h=0,i?(r=a*e.degree,s=(I=e.sincosd(a)).s,o=I.c):(u=a/(this._b*(1+this._A1m1)),_=Math.sin(u),f=Math.cos(u),r=u-((l=-t.SinCosSeries(!0,this._stau1*f+this._ctau1*_,this._ctau1*f-this._stau1*_,this._C1pa))-this._B11),s=Math.sin(r),o=Math.cos(r),Math.abs(this.f)>.01&&(p=this._ssig1*o+this._csig1*s,c=this._csig1*o-this._ssig1*s,l=t.SinCosSeries(!0,p,c,this._C1a),r-=((1+this._A1m1)*(r+(l-this._B11))-a/this._b)/Math.sqrt(1+this._k2*e.sq(p)),s=Math.sin(r),o=Math.cos(r))),p=this._ssig1*o+this._csig1*s,c=this._csig1*o-this._ssig1*s,C=Math.sqrt(1+this._k2*e.sq(p)),n&(t.DISTANCE|t.REDUCEDLENGTH|t.GEODESICSCALE)&&((i||Math.abs(this.f)>.01)&&(l=t.SinCosSeries(!0,p,c,this._C1a)),h=(1+this._A1m1)*(l-this._B11)),g=this._calp0*p,0===(y=e.hypot(this._salp0,this._calp0*c))&&(y=c=t.tiny_),E=this._salp0,S=this._calp0*c,i&&n&t.DISTANCE&&(G.s12=this._b*((1+this._A1m1)*r+h)),n&t.LONGITUDE&&(v=this._salp0*p,A=c,d=e.copysign(1,this._salp0),m=((n&t.LONG_UNROLL?d*(r-(Math.atan2(p,c)-Math.atan2(this._ssig1,this._csig1))+(Math.atan2(d*v,A)-Math.atan2(d*this._somg1,this._comg1))):Math.atan2(v*this._comg1-A*this._somg1,A*this._comg1+v*this._somg1))+this._A3c*(r+(t.SinCosSeries(!0,p,c,this._C3a)-this._B31)))/e.degree,G.lon2=n&t.LONG_UNROLL?this.lon1+m:e.AngNormalize(e.AngNormalize(this.lon1)+e.AngNormalize(m))),n&t.LATITUDE&&(G.lat2=e.atan2d(g,this._f1*y)),n&t.AZIMUTH&&(G.azi2=e.atan2d(E,S)),n&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(M=t.SinCosSeries(!0,p,c,this._C2a),w=(1+this._A2m1)*(M-this._B21),x=(this._A1m1-this._A2m1)*r+(h-w),n&t.REDUCEDLENGTH&&(G.m12=this._b*(C*(this._csig1*p)-this._dn1*(this._ssig1*c)-this._csig1*c*x)),n&t.GEODESICSCALE&&(I=this._k2*(p-this._ssig1)*(p+this._ssig1)/(this._dn1+C),G.M12=o+(I*p-c*x)*this._ssig1/this._dn1,G.M21=o-(I*this._ssig1-this._csig1*x)*p/C)),n&t.AREA&&(b=t.SinCosSeries(!1,p,c,this._C4a),0===this._calp0||0===this._salp0?(k=E*this.calp1-S*this.salp1,N=S*this.calp1+E*this.salp1):(k=this._calp0*this._salp0*(o<=0?this._csig1*(1-o)+s*this._ssig1:s*(this._csig1*s/(1+o)+this._ssig1)),N=e.sq(this._salp0)+e.sq(this._calp0)*this._csig1*c),G.S12=this._c2*Math.atan2(k,N)+this._A4*(b-this._B41)),i||(G.a12=r/e.degree),G):(G.a12=Number.NaN,G)},i.GeodesicLine.prototype.Position=function(t,i){return this.GenPosition(!1,t,i)},i.GeodesicLine.prototype.ArcPosition=function(t,i){return this.GenPosition(!0,t,i)},i.GeodesicLine.prototype.GenSetDistance=function(t,i){t?this.SetArc(i):this.SetDistance(i)},i.GeodesicLine.prototype.SetDistance=function(i){var e;this.s13=i,e=this.GenPosition(!1,this.s13,t.ARC),this.a13=0+e.a12},i.GeodesicLine.prototype.SetArc=function(i){var e;this.a13=i,e=this.GenPosition(!0,this.a13,t.DISTANCE),this.s13=0+e.s12}}(na.Geodesic,na.GeodesicLine,na.Math),function(t,i,e,a){var n,r;n=function(t,i){var a;return t=e.AngNormalize(t),i=e.AngNormalize(i),a=e.AngDiff(t,i).s,t<=0&&i>0&&a>0?1:i<=0&&t>0&&a<0?-1:0},r=function(t,i){return((i%=720)>=0&&i<360||i<-360?0:1)-((t%=720)>=0&&t<360||t<-360?0:1)},t.PolygonArea=function(t,e){this._geod=t,this.a=this._geod.a,this.f=this._geod.f,this._area0=4*Math.PI*t._c2,this.polyline=e||!1,this._mask=i.LATITUDE|i.LONGITUDE|i.DISTANCE|(this.polyline?i.NONE:i.AREA|i.LONG_UNROLL),this.polyline||(this._areasum=new a.Accumulator(0)),this._perimetersum=new a.Accumulator(0),this.Clear()},t.PolygonArea.prototype.Clear=function(){this.num=0,this._crossings=0,this.polyline||this._areasum.Set(0),this._perimetersum.Set(0),this._lat0=this._lon0=this.lat=this.lon=Number.NaN},t.PolygonArea.prototype.AddPoint=function(t,i){var e;0===this.num?(this._lat0=this.lat=t,this._lon0=this.lon=i):(e=this._geod.Inverse(this.lat,this.lon,t,i,this._mask),this._perimetersum.Add(e.s12),this.polyline||(this._areasum.Add(e.S12),this._crossings+=n(this.lon,i)),this.lat=t,this.lon=i),++this.num},t.PolygonArea.prototype.AddEdge=function(t,i){var e;this.num&&(e=this._geod.Direct(this.lat,this.lon,t,i,this._mask),this._perimetersum.Add(i),this.polyline||(this._areasum.Add(e.S12),this._crossings+=r(this.lon,e.lon2)),this.lat=e.lat2,this.lon=e.lon2),++this.num},t.PolygonArea.prototype.Compute=function(t,i){var e,r,s={number:this.num};return this.num<2?(s.perimeter=0,this.polyline||(s.area=0),s):this.polyline?(s.perimeter=this._perimetersum.Sum(),s):(e=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,this._mask),s.perimeter=this._perimetersum.Sum(e.s12),(r=new a.Accumulator(this._areasum)).Add(e.S12),1&this._crossings+n(this.lon,this._lon0)&&r.Add((r.Sum()<0?1:-1)*this._area0/2),t||r.Negate(),i?r.Sum()>this._area0/2?r.Add(-this._area0):r.Sum()<=-this._area0/2&&r.Add(+this._area0):(r.Sum()>=this._area0||r<0)&&r.Add(-this._area0),s.area=r.Sum(),s)},t.PolygonArea.prototype.TestPoint=function(t,i,e,a){var r,s,o,l,h={number:this.num+1};if(0===this.num)return h.perimeter=0,this.polyline||(h.area=0),h;for(h.perimeter=this._perimetersum.Sum(),s=this.polyline?0:this._areasum.Sum(),o=this._crossings,l=0;l<(this.polyline?1:2);++l)r=this._geod.Inverse(0===l?this.lat:t,0===l?this.lon:i,0!==l?this._lat0:t,0!==l?this._lon0:i,this._mask),h.perimeter+=r.s12,this.polyline||(s+=r.S12,o+=n(0===l?this.lon:i,0!==l?this._lon0:i));return this.polyline||(1&o&&(s+=(s<0?1:-1)*this._area0/2),e||(s*=-1),a?s>this._area0/2?s-=this._area0:s<=-this._area0/2&&(s+=this._area0):s>=this._area0?s-=this._area0:s<0&&(s+=this._area0),h.area=s),h},t.PolygonArea.prototype.TestEdge=function(t,i,e,a){var s,o,l,h={number:this.num?this.num+1:0};return 0===this.num?h:(h.perimeter=this._perimetersum.Sum()+i,this.polyline||(o=this._areasum.Sum(),l=this._crossings,o+=(s=this._geod.Direct(this.lat,this.lon,t,i,this._mask)).S12,l+=r(this.lon,s.lon2),s=this._geod.Inverse(s.lat2,s.lon2,this._lat0,this._lon0,this._mask),h.perimeter+=s.s12,o+=s.S12,1&(l+=n(s.lon2,this._lon0))&&(o+=(o<0?1:-1)*this._area0/2),e||(o*=-1),a?o>this._area0/2?o-=this._area0:o<=-this._area0/2&&(o+=this._area0):o>=this._area0?o-=this._area0:o<0&&(o+=this._area0),h.area=o),h)}}(na.PolygonArea,na.Geodesic,na.Math,na.Accumulator),Q(function(t){var i=X(t.params,"rlat_1"),e=X(t.params,"rlat_2");oa(t,i,e)},"aea","Albers Equal Area","Conic Sph&Ell\nlat_1= lat_2="),Q(function(t){var i=X(t.params,"rlat_1"),e=X(t.params,"bsouth")?-I:I;oa(t,i,e)},"leac","Lambert Equal Area Conic","Conic, Sph&Ell\nlat_1= south"),Q(function(t){var i,a,o,h,u,_,f,d=1e-10;t.phi0=X(t.params,"rlat_0"),e(e(t.phi0)-I)<d?(u=t.phi0<0?1:0,i=t.phi0<0?-1:1,a=0):e(t.phi0)<d?(u=2,i=0,a=1):(u=3,i=n(t.phi0),a=r(t.phi0));if(t.es)if(f=new na.Geodesic.Geodesic(t.a,t.es/(1+c(t.one_es))),_=la(t.es),X(t.params,"bguam"))o=ha(t.phi0,i,a,_),t.inv=function(i,e){var a,l,h;for(a=.5*i.x*i.x,e.phi=t.phi0,h=0;h<3;++h)l=t.e*n(e.phi),e.phi=pa(o+i.y-a*s(e.phi)*(l=c(1-l*l)),t.es,_);e.lam=i.x*l/r(e.phi)},t.fwd=function(i,e){var a,s,l;a=r(i.phi),s=n(i.phi),l=1/c(1-t.es*s*s),e.x=i.lam*a*l,e.y=ha(i.phi,s,a,_)-o+.5*i.lam*i.lam*a*s*l};else{switch(u){case 0:h=ha(I,1,0,_);break;case 1:h=ha(-I,-1,0,_);break;case 2:case 3:t.inv=y,t.fwd=g,c(1-t.es*i*i),t.e,c(t.one_es)}t.inv=y,t.fwd=g}else t.inv=function(e,s){var o,l,h,c=e.x,_=e.y;if((l=m(c,_))>E)l-d>E&&j(),l=E;else if(l<d)return s.phi=t.phi0,void(s.lam=0);3==u||2==u?(h=n(l),o=r(l),2==u?(s.phi=ca(_*h/l),c*=h,_=o*l):(s.phi=ca(o*i+_*h*a/l),_=(o-i*n(s.phi))*l,c*=h*a),s.lam=0==_?0:p(c,_)):0==u?(s.phi=I-l,s.lam=p(c,-_)):(s.phi=l-I,s.lam=p(c,_))},t.fwd=function(t,s){var o,h,p;switch(p=n(t.phi),h=r(t.phi),o=r(t.lam),u){case 2:case 3:s.y=2==u?h*o:i*p+a*h*o,e(e(s.y)-1)<1e-14?s.y<0?q():s.x=s.y=0:(s.y=l(s.y),s.y/=n(s.y),s.x=s.y*h*n(t.lam),s.y*=2==u?p:a*p-i*h*o);break;case 0:t.phi=-t.phi,o=-o;case 1:e(t.phi-I)<d&&q(),s.x=(s.y=I+t.phi)*n(t.lam),s.y*=o}};function g(i,a){var s,o,l,p,c,m,g,y,v,A,E;switch(s=r(i.lam),o=r(i.phi),l=n(i.phi),u){case 0:s=-s;case 1:a.x=(p=e(h-ha(i.phi,l,o,_)))*n(i.lam),a.y=p*s;break;case 2:case 3:if(e(i.lam)<d&&e(i.phi-t.phi0)<d){a.x=a.y=0;break}y=t.phi0/C,g=t.lam0/C,A=i.phi/C,v=(i.lam+t.lam0)/C,c=(E=f.Inverse(y,g,A,v,f.AZIMUTH)).azi1*C,m=E.s12,a.x=m*n(c)/t.a,a.y=m*r(c)/t.a}}function y(i,e){var a,n,r,s,o,l,g,y;if((a=m(i.x,i.y))<d)return e.phi=t.phi0,e.lam=0,e;3==u||2==u?(s=i.x*t.a,o=i.y*t.a,l=t.phi0/C,g=t.lam0/C,n=p(s,o)/C,r=c(s*s+o*o),y=f.Direct(l,g,n,r,f.STANDARD),e.phi=y.lat2*C,e.lam=y.lon2*C,e.lam-=t.lam0):(e.phi=pa(0==u?h-a:h+a,t.es,_),e.lam=p(i.x,0==u?-i.y:i.y))}},"aeqd","Azimuthal Equidistant","Azi, Sph&Ell\nlat_0 guam"),Q(function(t){var i,a,o,l,h,p,c=1e-10;t.es=0,t.fwd=function(t,p){var u,_,m,d,g,y,v,A;switch(u=n(t.lam),_=r(t.lam),l){case 2:case 3:d=n(t.phi),A=(m=r(t.phi))*_,3==l&&(A=i*d+a*A),!h&&A<-c&&q(),v=e(y=1-A)>c?-f(g=.5*(1+A))/y-o/g:.5-o,p.x=v*m*u,p.y=3==l?v*(a*d-i*m*_):v*d;break;case 1:case 0:t.phi=e(p_halfpi-t.phi),!h&&t.phi-c>I&&q(),(t.phi*=.5)>c?(g=s(t.phi),v=-2*(f(r(t.phi))/g+g*o),p.x=v*u,p.y=v*_,0==l&&(p.y=-p.y)):p.x=p.y=0}},h=X(t.params,"bno_cut"),p=.5*(I-X(t.params,"rlat_b")),e(p)<c?o=-.5:(o=1/s(p),o*=o*f(r(p)));e(e(t.phi0)-I)<c?t.phi0<0?(p_halfpi=-I,l=1):(p_halfpi=I,l=0):e(t.phi0)<c?l=2:(l=3,i=n(t.phi0),a=r(t.phi0))},"airy","Airy","Misc Sph, no inv.\nno_cut lat_b="),Q(function(t){var i=t.opaque={mode:1};X(t.params,"tlat_1")?0===(i.cosphi1=r(X(t.params,"rlat_1")))&&W(-22):i.cosphi1=.6366197723675814;ma(t)},"wintri","Winkel Tripel","Misc Sph\nlat_1"),Q(ma,"aitoff","Aitoff","Misc Sph"),Q(function(t){t.fwd=function(t,i){var e,a,o,l,h,p,u,_=4/3,f=t.lam;e=s(.5*t.phi),o=1+(a=c(1-e*e))*r(f*=.5),l=n(f)*a/o,p=e/o,i.x=_*l*(3+(h=l*l)-3*(u=p*p)),i.y=_*p*(3+3*h-u)},t.es=0},"august","August Epicycloidal","Misc Sph, no inv."),Q(function(t){da(t,!1,!1)},"apian","Apian Globular I","Misc Sph, no inv."),Q(function(t){da(t,!1,!0)},"ortel","Ortelius Oval","Misc Sph, no inv."),Q(function(t){da(t,!0,!1)},"bacon","Bacon Globular","Misc Sph, no inv."),Q(function(t){var i,e,a,s;t.es=0,t.fwd=function(t,l){var h,u,_,f,m,d;return t.lam+=-16.5*C,u=r(t.phi),_=r(t.lam)*u,f=n(t.lam)*u,d=(m=n(t.phi))*i+_*e,t.lam=p(f*a-d*s,_*i-m*e),d=d*a+f*s,t.phi=o(d),t.lam=xt(t.lam),t.lam+t.phi<-1.4&&(h=(t.lam-t.phi+1.6)*(t.lam+t.phi+1.4)/8,t.lam+=h,t.phi-=.8*h*n(t.phi+E/2)),u=r(t.phi),h=c(2/(1+u*r(t.lam/2))),l.x=1.68*h*u*n(t.lam/2),l.y=h*n(t.phi),h=(1-r(t.lam*t.phi))/12,l.y<0&&(l.x*=1+h),l.y>0&&(l.y*=1+h/1.5*l.x*l.x),l},t.lam0=0,t.phi0=-42*C,i=r(t.phi0),e=n(t.phi0),a=1,s=0},"bertin1953","Bertin 1953","Misc., Sph., NoInv."),Q(function(t){var i=c(2);t.fwd=function(t,a){var s,o,l,h;if(s=t.phi,e(e(t.phi)-I)<1e-7)a.x=0;else{for(l=n(s)*E,h=20;h&&(s-=o=(s+n(s)-l)/(1+r(s)),!(e(o)<1e-7));--h);s*=.5,a.x=2.00276*t.lam/(1/r(t.phi)+1.11072/r(s))}a.y=.49931*(t.phi+i*n(s))},t.es=0},"boggs","Boggs Eumorphic","PCyl., no inv., Sph."),Q(function(t){var i,a,o,l,h,u,_=1e-10;i=X(t.params,"rlat_1"),e(i)<_&&W(-23);t.es?(h=la(t.es),l=ha(i,o=n(i),u=r(i),h),o=u/(c(1-t.es*o*o)*o),t.inv=function(i,a){var s,u;u=m(i.x,i.y=o-i.y),a.phi=pa(o+l-u,t.es,h),(s=e(a.phi))<I?(s=n(a.phi),a.lam=u*p(i.x,i.y)*c(1-t.es*s*s)/r(a.phi)):e(s-I)<=_?a.lam=0:j()},t.fwd=function(i,e){var a,s,p;a=o+l-ha(i.phi,s=n(i.phi),p=r(i.phi),h),s=p*i.lam/(a*c(1-t.es*s*s)),e.x=a*n(s),e.y=o-a*r(s)}):(a=e(i)+_>=I?0:1/s(i),t.inv=function(t,n){var s=m(t.x,t.y=a-t.y);n.phi=a+i-s,e(n.phi)>I&&j();e(e(n.phi)-I)<=_?n.lam=0:n.lam=s*p(t.x,t.y)/r(n.phi)},t.fwd=function(t,s){var o,l;l=a+i-t.phi,e(l)>_?(s.x=l*n(o=t.lam*r(t.phi)/l),s.y=a-l*r(o)):s.x=s.y=0})},"bonne","Bonne (Werner lat_1=90)","Conic Sph&Ell\nlat_1="),Q(function(t){var i,e,a=.16666666666666666,l=.008333333333333333,h=.041666666666666664,u=.06666666666666667;t.es?(e=la(t.es),i=ha(t.phi0,n(t.phi0),r(t.phi0),e),t.fwd=function(o,p){var u,_,f,m,d,g;p.y=ha(o.phi,u=n(o.phi),m=r(o.phi),e),u=1/c(1-t.es*u*u),g=s(o.phi),_=g*g,f=o.lam*m,m*=t.es*m/(1-t.es),d=f*f,p.x=u*f*(1-d*_*(a-(8-_+8*m)*d*l)),p.y-=i-u*g*d*(.5+(5-_+6*m)*d*h)},t.inv=function(a,o){var l,p,_,f,m,d,g;g=pa(i+a.y,t.es,e),d=s(g),p=d*d,l=n(g),_=1/(1-t.es*l*l),l=c(_),_*=(1-t.es)*l,f=a.x/l,m=f*f,o.phi=g-l*d/_*m*(.5-(1+3*p)*m*h),o.lam=f*(1+p*m*((1+3*p)*m*u-.3333333333333333))/r(g)}):(t.fwd=function(i,e){e.x=o(r(i.phi)*n(i.lam)),e.y=p(s(i.phi),r(i.lam))-t.phi0},t.inv=function(i,e){var a=i.y+t.phi0;e.phi=o(n(a)*r(i.x)),e.lam=p(s(i.x),r(a))})},"cass","Cassini","Cyl, Sph&Ell"),Q(function(t){var i,a,s=0;X(t.params,"tlat_ts")&&(t.k0=r(s=X(t.params,"rlat_ts")),t.k0<0&&W(-24));t.es?(s=n(s),t.k0/=c(1-t.es*s*s),t.e=c(t.es),(a=ga(t.es))||e_error_0(),i=ra(1,t.e,t.one_es),t.fwd=function(i,e){e.x=t.k0*i.lam,e.y=.5*ra(n(i.phi),t.e,t.one_es)/t.k0},t.inv=function(e,n){n.phi=ya(o(2*e.y*t.k0/i),a),n.lam=e.x/t.k0}):(t.fwd=function(i,e){e.x=t.k0*i.lam,e.y=n(i.phi)/t.k0},t.inv=function(i,a){var n,r=i.x,s=i.y;(n=e(s*=t.k0))-P<=1?(a.phi=n>=1?s<0?-I:I:o(s),a.lam=r/t.k0):j()})},"cea","Equal Area Cylindrical","Cyl, Sph&Ell\nlat_ts="),Q(function(t){var i,a,s,o,l,h,u,_=1/3,f=[];for(h=0;h<3;++h)f[h]={p:{}},f[h].phi=X(t.params,"rlat_"+(h+1)),f[h].lam=X(t.params,"rlon_"+(h+1)),f[h].lam=xt(f[h].lam-t.lam0),f[h].cosphi=r(f[h].phi),f[h].sinphi=n(f[h].phi);for(h=0;h<3;++h)u=2==h?0:h+1,f[h].v=m(f[u].phi-f[h].phi,f[h].cosphi,f[h].sinphi,f[u].cosphi,f[u].sinphi,f[u].lam-f[h].lam),f[h].v.r||W(-25);function m(t,i,a,s,o,l){var h,u,_,f={};return h=r(l),e(t)>1||e(l)>1?f.r=ua(cs1*o+i*s*h):(u=n(.5*t),_=n(.5*l),f.r=2*ca(c(u*u+i*s*_*_))),e(f.r)>1e-9?f.Az=p(s*n(l),i*o-a*s*h):f.r=f.Az=0,f}function d(t,i,e){return ua(.5*(t*t+i*i-e*e)/(t*i))}s=d(f[0].v.r,f[2].v.r,f[1].v.r),o=d(f[0].v.r,f[1].v.r,f[2].v.r),l=E-s,a=2*(f[0].p.y=f[1].p.y=f[2].v.r*n(s)),f[2].p.y=0,f[0].p.x=-(f[1].p.x=.5*f[0].v.r),i=f[2].p.x=f[0].p.x+f[2].v.r*r(s),t.es=0,t.fwd=function(t,e){var s,h,p,c,u,g,y,v=[];for(s=n(t.phi),h=r(t.phi),c=0;c<3&&(v[c]=m(t.phi-f[c].phi,f[c].cosphi,f[c].sinphi,h,s,t.lam-f[c].lam),v[c].r);++c)v[c].Az=xt(v[c].Az-f[c].v.Az);if(c<3)g=f[c].p.x,y=f[c].p.y;else{for(g=i,y=a,c=0;c<3;++c)u=2==c?0:c+1,p=d(f[c].v.r,v[c].r,v[u].r),v[c].Az<0&&(p=-p),c?1==c?(p=o-p,g-=v[c].r*r(p),y-=v[c].r*n(p)):(p=l-p,g+=v[c].r*r(p),y+=v[c].r*n(p)):(g+=v[c].r*r(p),y-=v[c].r*n(p));g*=_,y*=_}e.x=g,e.y=y}},"chamb","Chamberlin Trimetric","Misc Sph, no inv.\nlat_1= lon_1= lat_2= lon_2= lat_3= lon_3="),Q(function(t){var i=1/3;t.inv=function(t,e){e.phi=3*o(.32573500793527993*t.y),e.lam=1.0233267079464885*t.x/(2*r((e.phi+e.phi)*i)-1)},t.fwd=function(t,e){t.phi*=i,e.x=.9772050238058398*t.lam*(2*r(t.phi+t.phi)-1),e.y=3.0699801238394655*n(t.phi)},t.es=0},"crast","Craster Parabolic (Putnins P4)","PCyl., Sph."),Q(function(t){var i=.5253,e=.7264,a=1/Math.sqrt(i*e),s=.9701,l=_(22*C),h=f(0),p=n(l),u=r(l);X(t.params,"tlon_0")||(t.lam0=11.023*C);function _(t){return o(e*n(t)+.4188*c(i*e))}function f(t){return i*t}t.es=0,t.fwd=function(t,i){var e=_(t.phi),o=f(t.lam),m=n(e),d=r(e),g=n(o-h),y=r(o-h),v=c(2/(1+n(l)*m+u*d*y));i.x=a*v*d*g*s,i.y=a*v*(u*m-p*d*y)/s}},"cupola","Cupola","PCyl., Sph., NoInv."),Q(function(t){t.fwd=function(t,i){var a=e(t.lam);i.y=t.phi,i.x=t.lam,i.x*=r((.95+a*(a*a*.0016666666666666666-.08333333333333333))*(t.phi*(.9+.03*t.phi*t.phi*t.phi*t.phi)))},t.es=0},"denoy","Denoyer Semi-Elliptical","PCyl, Sph., no inv."),Q(function(t){var i=.9213177319235613,a=.3183098861837907;t.es=0,t.fwd=function(t,n){n.x=i*t.lam*(1-a*e(t.phi)),n.y=i*t.phi},t.inv=function(t,n){n.phi=t.y/i,n.lam=t.x/(i*(1-a*e(n.phi)))}},"eck1","Eckert I","PCyl Sph"),Q(function(t){var i=.46065886596178063,a=1.4472025091165353;t.es=0,t.fwd=function(t,r){r.x=i*t.lam*(r.y=c(4-3*n(e(t.phi)))),r.y=a*(2-r.y),t.phi<0&&(r.y=-r.y)},t.inv=function(t,n){n.lam=t.x/(i*(n.phi=2-e(t.y)/a)),n.phi=.3333333333333333*(4-n.phi*n.phi),e(n.phi)>=1?e(n.phi)>1.0000001?j():n.phi=n.phi<0?-I:I:n.phi=o(n.phi),t.y<0&&(n.phi=-n.phi)}},"eck2","Eckert II","PCyl Sph"),Q(function(t){va(t,{C_x:.4222382003157712,C_y:.8444764006315424,A:1,B:.4052847345693511})},"eck3","Eckert III","PCyl Sph"),Q(function(t){va(t,{C_x:.94745,C_y:.94745,A:0,B:.3039635509270133})},"wag6","Wagner VI","PCyl Sph"),Q(function(t){va(t,{C_x:.8660254037844,C_y:1,A:0,B:.3039635509270133})},"kav7","Kavraisky VII","PCyl Sph"),Q(function(t){va(t,{C_x:1.8949,C_y:.94745,A:-.5,B:.3039635509270133})},"putp1","Putnins P1","PCyl Sph"),Q(function(t){var i=.4222382003157712,a=1.3265004281770023,s=3.5707963267948966;t.es=0,t.fwd=function(t,o){var l,h,p,c,u;for(l=s*n(t.phi),h=t.phi*t.phi,t.phi*=.895168+h*(.0218849+.00826809*h),u=6;u&&(c=r(t.phi),p=n(t.phi),t.phi-=h=(t.phi+p*(c+2)-l)/(1+c*(c+2)-p*p),!(e(h)<1e-7));--u);u?(o.x=i*t.lam*(1+r(t.phi)),o.y=a*n(t.phi)):(o.x=i*t.lam,o.y=t.phi<0?-a:a)},t.inv=function(t,e){var o;e.phi=ca(t.y/a),e.lam=t.x/(i*(1+(o=r(e.phi)))),e.phi=ca((e.phi+n(e.phi)*(o+2))/s)}},"eck4","Eckert IV","PCyl Sph"),Q(function(t){t.es=0,t.fwd=function(t,i){i.x=.4410127717245515*(1+r(t.phi))*t.lam,i.y=.882025543449103*t.phi},t.inv=function(t,i){i.lam=2.267508027238226*t.x/(1+r(i.phi=1.133754013619113*t.y))}},"eck5","Eckert V","PCyl Sph"),Q(function(t){var i=r(X(t.params,"rlat_ts"));i<=0&&W(-24);t.es=0,t.fwd=function(e,a){a.x=i*e.lam,a.y=e.phi-t.phi0},t.inv=function(e,a){a.lam=e.x/i,a.phi=e.y+t.phi0}},"eqc","Equidistant Cylindrical (Plate Caree)","Cyl, Sph\nlat_ts=[, lat_0=0]"),Q(function(t){var i,a,s,o,l,h,c,u,_,f,d,g,y;i=X(t.params,"rlat_1"),a=X(t.params,"rlat_2"),e(i+a)<P&&W(-21);(c=la(t.es))||e_error_0();s=f=n(i),_=r(i),d=e(i-a)>=P,(u=t.es>0)?(y=sa(f,_,t.es),g=ha(i,f,_,c),d&&(f=n(a),_=r(a),s=(y-sa(f,_,t.es))/(ha(a,f,_,c)-g)),l=(h=g+y/s)-ha(t.phi0,n(t.phi0),r(t.phi0),c)):(d&&(s=(_-r(a))/(a-i)),h=i+r(i)/s,l=h-t.phi0);t.fwd=function(t,i){o=h-(u?ha(t.phi,n(t.phi),r(t.phi),c):t.phi),i.x=o*n(t.lam*=s),i.y=l-o*r(t.lam)},t.inv=function(i,e){0!=(o=m(i.x,i.y=l-i.y))?(s<0&&(o=-o,i.x=-i.x,i.y=-i.y),e.phi=h-o,u&&(e.phi=pa(e.phi,t.es,c)),e.lam=p(i.x,i.y)/s):(e.lam=0,e.phi=s>0?I:-I)}},"eqdc","Equidistant Conic","Conic, Sph&Ell\nlat_1= lat_2="),Q(function(t){var i=1.340264,e=-.081106,a=893e-6,n=.003796,r=Math.sqrt(3)/2;t.es=0,t.fwd=function(t,s){var o=Math.asin(r*Math.sin(t.phi)),l=o*o,h=l*l*l;s.x=t.lam*Math.cos(o)/(r*(i+3*e*l+h*(7*a+9*n*l))),s.y=o*(i+e*l+h*(a+n*l))},t.inv=function(t,s){var o,l,h,p,c=t.y;for(p=0;p<12&&(c-=h=(c*(i+e*(o=c*c)+(l=o*o*o)*(a+n*o))-t.y)/(i+3*e*o+l*(7*a+9*n*o)),!(Math.abs(h)<1e-9));++p);l=(o=c*c)*o*o,s.lam=r*t.x*(i+3*e*o+l*(7*a+9*n*o))/Math.cos(c),s.phi=Math.asin(Math.sin(c)/r)}},"eqearth","Equal Earth","PCyl., Sph."),Q(Aa,"etmerc","Extended Transverse Mercator","Cyl, Sph\nlat_ts=(0)\nlat_0=(0)"),Q(function(t){t.fwd=function(t,i){i.x=.7071067811865476*t.lam,i.y=1.7071067811865475*s(.5*t.phi)},t.inv=function(t,i){i.lam=1.4142135623730951*t.x,i.phi=2*h(.585786437626905*t.y)},t.es=0},"gall","Gall (Gall Stereographic)","Cyl, Sph"),Q(function(t){t.is_geocent=!0,t.x0=0,t.y0=0,t.fwd=function(t,i){i.x=t.lam,i.y=t.phi},t.inv=function(t,i){i.phi=t.y,i.lam=t.x}},"geocent","Geocentric",""),Q(function(t){var i,e,a,o,l,u,_,f=X(t.params,"dh"),d=X(t.params,"ssweep");d?"x"==d?_=1:"y"==d?_=0:W(-49):_=0;((l=f/t.a)<=0||l>1e10)&&W(-50);u=(o=1+l)*o-1,0!=t.es?(i=c(t.one_es),e=t.one_es,a=t.rone_es,t.inv=function(t,e){var n,f,d,g,y,v;n=-1,_?(d=s(t.y/l),f=s(t.x/l)*m(1,d)):(f=s(t.x/l),d=s(t.y/l)*m(1,f));var A=(y=2*o*n)*y-4*(g=f*f+(g=d/i)*g+n*n)*u;A<0&&W(-51);v=(-y-c(A))/(2*g),n=o+v*n,f*=v,d*=v,e.lam=p(f,n),e.phi=h(d*r(e.lam)/n),e.phi=h(a*s(e.phi))},t.fwd=function(t,p){var c,u,f,d,g;t.phi=h(e*s(t.phi)),c=i/m(i*r(t.phi),n(t.phi)),u=c*r(t.lam)*r(t.phi),f=c*n(t.lam)*r(t.phi),d=c*n(t.phi),(o-u)*u-f*f-d*d*a<0&&W(-51);g=o-u,_?(p.x=l*h(f/m(d,g)),p.y=l*h(d/g)):(p.x=l*h(f/g),p.y=l*h(d/m(f,g)))}):(i=e=a=1,t.inv=function(t,i){var e,a,n,f,m,d;e=-1,_?(n=s(t.y/l),a=s(t.x/l)*c(1+n*n)):(a=s(t.x/l),n=s(t.y/l)*c(1+a*a));var g=(m=2*o*e)*m-4*(f=a*a+n*n+e*e)*u;g<0&&W(-51);d=(-m-c(g))/(2*f),e=o+d*e,a*=d,n*=d,i.lam=p(a,e),i.phi=h(n*r(i.lam)/e)},t.fwd=function(t,i){var e=r(t.phi),a=r(t.lam)*e,s=n(t.lam)*e,p=n(t.phi);e=o-a,_?(i.x=l*h(s/m(p,e)),i.y=l*h(p/e)):(i.x=l*h(s/e),i.y=l*h(p/m(s,e)))})},"geos","Geostationary Satellite View","Azi, Sph&Ell"),Q(function(t){var i=o(X(t.params,"tlat_1")?X(t.params,"rlat_1"):0),e=n(i),a=r(i);function o(t){return ca(s(.5*t))}t.fwd=function(t,i){var s=.5*t.lam,l=o(t.phi),h=n(l),p=r(l),c=r(s);e*h+a*p*c>=0?(i.x=p*n(s),i.y=a*h-e*p*c):q()},t.es=0},"gilbert","Gilbert Two World Perspective","PCyl., Sph., NoInv.\nlat_1="),Q(function(t){t.fwd=function(t,i){var e=t.phi*t.phi;i.y=t.phi*(1+.08333333333333333*e),i.x=t.lam*(1-.162388*e),e=t.lam*t.lam,i.x*=.87-952426e-9*e*e},t.es=0},"gins8","Ginsburg VIII (TsNIIGAiK)","PCyl, Sph., no inv."),Q(function(t){X(t.params,"tn"),X(t.params,"tm")?Sa(t,X(t.params,"dm"),X(t.params,"dn")):W(-99)},"gn_sinu","General Sinusoidal Series","PCyl, Sph.\nm= n="),Q(Ea,"sinu","Sinusoidal (Sanson-Flamsteed)","PCyl, Sph&Ell"),Q(function(t){Sa(t,1,2.5707963267948966)},"eck6","Eckert VI","PCyl, Sph.\nm= n="),Q(function(t){Sa(t,.5,1.7853981633974483)},"mbtfps","McBryde-Thomas Flat-Polar Sinusoidal","PCyl, Sph."),Q(function(t){var i,a,s=1e-10;e(e(t.phi0)-I)<s?a=t.phi0<0?1:0:e(t.phi0)<s?a=2:(a=3,sinph0=n(t.phi0),i=r(t.phi0));t.inv=function(r,l){var u,_,f,d=r.x,g=r.y;if(u=m(d,g),f=n(l.phi=h(u)),_=c(1-f*f),e(u)<=s)l.phi=t.phi0,l.lam=0;else{switch(a){case 3:l.phi=_*sinph0+g*f*i/u,e(l.phi)>=1?l.phi=l.phi>0?I:-I:l.phi=o(l.phi),g=(_-sinph0*n(l.phi))*u,d*=f*i;break;case 2:l.phi=g*f/u,e(l.phi)>=1?l.phi=l.phi>0?I:-I:l.phi=o(l.phi),g=_*u,d*=f;break;case 1:l.phi-=I;break;case 0:l.phi=I-l.phi,g=-g}l.lam=p(d,g)}},t.fwd=function(t,e){var o,l,h;switch(h=n(t.phi),l=r(t.phi),o=r(t.lam),a){case 2:e.y=l*o;break;case 3:e.y=sinph0*h+i*l*o;break;case 1:e.y=-h;break;case 0:e.y=h}switch(e.y<=s&&q(),e.x=(e.y=1/e.y)*l*n(t.lam),a){case 2:e.y*=h;break;case 3:e.y*=i*h-sinph0*l*o;break;case 0:o=-o;case 1:e.y*=l*o}},t.es=0},"gnom","Gnomonic","Azi, Sph."),Q(Ca,"moll","Mollweide","PCyl Sph"),Q(function(t){wa(t,Ma(t,E/3))},"wag4","Wagner IV","PCyl Sph"),Q(function(t){wa(t,{C_x:.90977,C_y:1.65014,C_p:3.00896})},"wag5","Wagner V","PCyl Sph"),Q(function(t){var i,a,n,r,s=.0528,o=.7109307819790236;t.es=0,Ea(t),i=t.fwd,a=t.inv,Ca(t),n=t.fwd,r=t.inv,t.fwd=function(t,a){e(t.phi)<o?i(t,a):(n(t,a),a.y-=t.phi>0?s:-s)},t.inv=function(t,i){e(t.y)<=o?a(t,i):(t.y+=t.y>0?s:-s,r(t,i))}},"goode","Goode Homolosine","PCyl, Sph."),Q(function(t){var i,a,s;t.inv=function(t,a){var n=c(1-.25*i*i*t.x*t.x-.25*t.y*t.y);e(2*n*n-1)<1e-10?(a.lam=A,a.phi=A,pj_errno=-14):(a.lam=fa(i*t.x*n,2*n*n-1)/i,a.phi=ca(n*t.y))},t.fwd=o,t.es=0,X(t.params,"tW")?(i=e(X(t.params,"dW")))<=0&&W(-27):i=.5;X(t.params,"tM")?(a=e(X(t.params,"dM")))<=0&&W(-27):a=1;function o(t,e){var o,l;l=c(2/(1+(o=r(t.phi))*r(t.lam*=i))),e.x=a*l*o*n(t.lam),e.y=s*l*n(t.phi)}s=1/a,a/=i},"hammer","Hammer & Eckert-Greifendorff","Misc Sph,\nW= M="),Q(function(t){var i=1.000001;t.inv=function(t,a){var s=t.y*(t.y<0?.5179951515653813:.5686373742600607);e(s)>1?e(s)>i?j():s=s>0?I:-I:s=o(s),a.lam=1.1764705882352942*t.x/r(s),s+=s,a.phi=(s+n(s))*(t.y<0?.4102345310814193:.3736990601468637),e(a.phi)>1?e(a.phi)>i?j():a.phi=a.phi>0?I:-I:a.phi=o(a.phi)},t.fwd=function(t,i){var a,s,o;for(s=n(t.phi)*(t.phi<0?2.43763:2.67595),o=20;o&&(t.phi-=a=(t.phi+n(t.phi)-s)/(1+r(t.phi)),!(e(a)<1e-7));--o);i.x=.85*t.lam*r(t.phi*=.5),i.y=n(t.phi)*(t.phi<0?1.93052:1.75859)},t.es=0},"hatano","Hatano Asymmetrical Equal Area","PCyl., Sph."),Q(xa,"healpix","HEALPix","Sph., Ellps."),Q(function(t){xa(t,!0)},"rhealpix","rHEALPix","Sph., Ellps.\nnorth_square= south_square="),Q(function(t){var i,a=n(.5),s=o(a),h=2*c(E/(i=E+4*s*2)),u=.5*h*(2+c(3));t.es=0,t.fwd=function(t,a){var o,l,_=1-n(t.phi);if(_&&_<2){var f,m,d,g,y,v=I-t.phi,A=25;do{m=n(v),d=r(v),y=s+p(m,2-d),v-=f=(v-1*s-2*m+(g=5-4*d)*y-.5*_*i)/(4*m*y)}while(e(f)>1e-12&&--A>0);o=h*c(g),l=t.lam*y/E}else o=h*(1+_),l=t.lam*s/E;a.x=o*n(l),a.y=u-o*r(l)},t.inv=function(t,e){var a=t.x,r=t.y,_=a*a+(r-=u)*r,f=(5-_/(h*h))/4,m=l(f),d=n(m),g=s+p(d,2-f);e.lam=o(a/c(_))*E/g,e.phi=o(1-2*(m-1*s-2*d+(5-4*f)*g)/i)}},"hill","Hill Eucyclic","PCyl., Sph."),Q(function(t){var i,a,l,_,f,m,d,g,y,v=.785398163397448,A=1.37008346281555;t.a=6377397.155,t.e=c(t.es=.006674372230614),X(t.params,"tlat_0")||(t.phi0=.863937979737193);X(t.params,"tlon_0")||(t.lam0=.4334234309119251);X(t.params,"tk")||(t.k0=.9999);y=1,X(t.params,"tczech")||(y=-1);_=c(1+t.es*u(r(t.phi0),4)/(1-t.es)),i=o(n(t.phi0)/_),l=u((1+t.e*n(t.phi0))/(1-t.e*n(t.phi0)),_*t.e/2),f=s(i/2+v)/u(s(t.phi0/2+v),_)*l,a=c(1-t.es)/(1-t.es*u(n(t.phi0),2)),m=n(A),d=t.k0*a/s(A),g=.5286277629901559,t.inv=function(i,a){var l,E,S,C,M,w,x,I;x=i.x,i.x=i.y,i.y=x,i.x*=y,i.y*=y,M=c(i.x*i.x+i.y*i.y),C=p(i.y,i.x)/n(A),S=2*(h(u(d/M,1/m)*s(A/2+v))-v),l=o(r(g)*n(S)-n(g)*r(S)*r(C)),E=o(r(S)*n(C)/r(l)),a.lam=t.lam0-E/_,w=l,I=0;do{a.phi=2*(h(u(f,-1/_)*u(s(l/2+v),1/_)*u((1+t.e*n(w))/(1-t.e*n(w)),t.e/2))-v),e(w-a.phi)<1e-15&&(I=1),w=a.phi}while(0===I);a.lam-=t.lam0},t.fwd=function(i,e){var a,l,p,c,E,S,C;a=u((1+t.e*n(i.phi))/(1-t.e*n(i.phi)),_*t.e/2),l=2*(h(f*u(s(i.phi/2+v),_)/a)-v),p=-i.lam*_,c=o(r(g)*n(l)+n(g)*r(l)*r(p)),E=o(r(l)*n(p)/r(c)),S=m*E,C=d*u(s(A/2+v),m)/u(s(c/2+v),m),e.y=C*r(S),e.x=C*n(S),e.y*=y,e.x*=y}},"krovak","Krovak","PCyl., Ellps."),Q(function(t){var i,a,s,l,h,u,_,f,d,g,y,v=1e-10;g=e(t.phi0),d=e(g-I)<v?t.phi0<0?1:0:e(g)<v?2:3;if(t.es){switch(t.e=c(t.es),h=ra(1,t.e,t.one_es),t.es,f=ga(t.es),d){case 0:case 1:u=1;break;case 2:u=1/(_=c(.5*h)),s=1,l=.5*h;break;case 3:_=c(.5*h),y=n(t.phi0),i=ra(y,t.e,t.one_es)/h,a=c(1-i*i),u=r(t.phi0)/(c(1-t.es*y*y)*_*a),l=(s=_)/u,s*=u}t.inv=function(e,s){var l,c,g,y,A=0;switch(d){case 2:case 3:if(e.x/=u,e.y*=u,(y=m(e.x,e.y))<v)return s.lam=0,s.phi=t.phi0,s;c=2*o(.5*y/_),l=r(c),c=n(c),e.x*=c,3==d?(A=l*i+e.y*c*a/y,e.y=y*a*l-e.y*i*c):(A=e.y*c/y,e.y=y*l);break;case 0:e.y=-e.y;case 1:if(!(g=e.x*e.x+e.y*e.y))return s.lam=0,s.phi=t.phi0,s;A=1-g/h,1==d&&(A=-A)}return s.lam=p(e.x,e.y),s.phi=ya(o(A),f),s},t.fwd=function(o,p){var u,_,f,m,g=0,y=0,A=0;u=r(o.lam),_=n(o.lam),f=n(o.phi),m=ra(f,t.e,t.one_es),(3==d||2==d)&&(y=c(1-(g=m/h)*g));switch(d){case 3:A=1+i*g+a*y*u;break;case 2:A=1+y*u;break;case 0:A=I+o.phi,m=h-m;break;case 1:A=o.phi-I,m=h+m}e(A)<v&&q();switch(d){case 3:case 2:3==d?(A=c(2/A),p.y=l*A*(a*g-i*y*u)):(A=c(2/(1+y*u)),p.y=A*g*l),p.x=s*A*y*_;break;case 0:case 1:m>=0?(A=c(m),p.x=A*_,p.y=u*(1==d?A:-A)):p.x=p.y=0}}}else 3==d&&(i=n(t.phi0),a=r(t.phi0)),t.inv=function(s,l){var h,c=0,u=0;h=m(s.x,s.y),(l.phi=.5*h)>1&&j();l.phi=2*o(l.phi),(3==d||2==d)&&(u=n(l.phi),c=r(l.phi));switch(d){case 2:l.phi=e(h)<=v?0:o(s.y*u/h),s.x*=u,s.y=c*h;break;case 3:l.phi=e(h)<=v?t.phi0:o(c*i+s.y*u*a/h),s.x*=u*a,s.y=(c-n(l.phi)*i)*h;break;case 0:s.y=-s.y,l.phi=I-l.phi;break;case 1:l.phi-=I}l.lam=0!=s.y||2!=d&&3!=d?p(s.x,s.y):0},t.fwd=function(s,o){var l,h,p;switch(p=n(s.phi),h=r(s.phi),l=r(s.lam),d){case 2:case 3:o.y=2==d?1+h*l:1+i*p+a*h*l,o.y<=v&&q(),o.y=c(2/o.y),o.x=o.y*h*n(s.lam),o.y*=2==d?p:a*p-i*h*l;break;case 0:l=-l;case 1:e(s.phi+t.phi0)<v&&q(),o.y=x-.5*s.phi,o.y=2*(1==d?r(o.y):n(o.y)),o.x=o.y*n(s.lam),o.y*=l}}},"laea","Lambert Azimuthal Equal Area","Azi, Sph&Ell"),Q(Ia,"lonlat","Lat/long (Geodetic)",""),Q(Ia,"longlat","Lat/long (Geodetic alias)",""),Q(Ia,"latlon","Lat/long (Geodetic alias)",""),Q(Ia,"latlong","Lat/long (Geodetic alias)",""),Q(function(t){var i,a,o,l,_,d,g,y,v,E,S,C=1e-10;t.inv=w,t.fwd=M,l=X(t.params,"rlat_1"),X(t.params,"tlat_2")?_=X(t.params,"rlat_2"):(_=l,X(t.params,"tlat_0")||(t.phi0=l));e(l+_)<C&&W(-21);d=a=n(l),i=r(l),o=e(l-_)>=C,(v=0!=t.es)?(t.e=c(t.es),S=sa(a,i,t.es),E=ba(l,a,t.e),o&&(a=n(_),d=f(S/sa(a,r(_),t.es)),d/=f(E/ba(_,a,t.e))),y=g=S*u(E,-d)/d,g*=e(e(t.phi0)-I)<C?0:u(ba(t.phi0,n(t.phi0),t.e),d)):(o&&(d=f(i/r(_))/f(s(x+.5*_)/s(x+.5*l))),y=i*u(s(x+.5*l),d)/d,g=e(e(t.phi0)-I)<C?0:y*u(s(x+.5*t.phi0),-d));function M(i,a){var o,l=i.lam;e(e(i.phi)-I)<C?(i.phi*d<=0&&q(),o=0):o=y*(v?u(ba(i.phi,n(i.phi),t.e),d):u(s(x+.5*i.phi),-d)),l*=d,a.x=t.k0*(o*n(l)),a.y=t.k0*(g-o*r(l))}function w(i,e){var a,n=i.x,r=i.y;n/=t.k0,r/=t.k0,0!=(a=m(n,r=g-r))?(d<0&&(a=-a,n=-n,r=-r),v?(e.phi=ka(u(a/y,1/d),t.e),e.phi==A&&j()):e.phi=2*h(u(y/a,1/d))-I,e.lam=p(n,r)/d):(e.lam=0,e.phi=d>0?I:-I)}},"lcc","Lambert Conformal Conic","Conic, Sph&Ell\nlat_1= and lat_2= or lat_0="),Q(function(t){var i,a,n,o=1e-8;i=X(t.params,"rlat_1"),a=r(i),n=s(x+.5*i),a<o&&W(-22);t.fwd=function(t,r){r.y=t.phi-i,e(r.y)<o?r.x=t.lam*a:(r.x=x+.5*t.phi,e(r.x)<o||e(e(r.x)-I)<o?r.x=0:r.x=t.lam*r.y/f(s(r.x)/n))},t.inv=function(t,r){r.phi=t.y+i,e(t.y)<o?r.lam=t.x/a:(r.lam=x+.5*r.phi,e(r.lam)<o||e(e(r.lam)-I)<o?r.lam=0:r.lam=t.x*f(s(r.lam)/n)/t.y)},t.es=0},"loxim","Loximuthal","PCyl Sph"),Q(function(t){var i=.9525793444156804,a=.9258200997725514,s=3.401680257083045,l=2/3,h=1/3,p=1.0000001;t.fwd=function(t,e){t.phi=o(i*n(t.phi)),e.x=a*t.lam*(2*r(l*t.phi)-1),e.y=s*n(h*t.phi)},t.inv=function(t,h){h.phi=t.y/s,e(h.phi)>=1?e(h.phi)>p?j():h.phi=h.phi<0?-I:I:h.phi=o(h.phi),h.lam=t.x/(a*(2*r(l*(h.phi*=3))-1)),e(h.phi=n(h.phi)/i)>=1?e(h.phi)>p?j():h.phi=h.phi<0?-I:I:h.phi=o(h.phi)},t.es=0},"mbt_fpp","McBride-Thomas Flat-Polar Parabolic","Cyl., Sph."),Q(function(t){var i=1.000001;t.fwd=function(t,i){var a,s,o;for(s=1.7071067811865475*n(t.phi),o=20;o&&(t.phi-=a=(n(.5*t.phi)+n(t.phi)-s)/(.5*r(.5*t.phi)+r(t.phi)),!(e(a)<1e-7));--o);i.x=.3124597141037825*t.lam*(1+2*r(t.phi)/r(.5*t.phi)),i.y=1.874758284622695*n(.5*t.phi)},t.inv=function(t,a){var s;a.phi=.533402096794177*t.y,e(a.phi)>1?e(a.phi)>i?j():a.phi<0?(s=-1,a.phi=-E):(s=1,a.phi=E):a.phi=2*o(s=a.phi),a.lam=3.2004125807650623*t.x/(1+2*r(a.phi)/r(.5*a.phi)),a.phi=.585786437626905*(s+n(a.phi)),e(a.phi)>1?e(a.phi)>i?j():a.phi=a.phi<0?-I:I:a.phi=o(a.phi)},t.es=0},"mbt_fpq","McBryde-Thomas Flat-Polar Quartic","Cyl., Sph."),Q(function(t){var i=.45503,a=1.36509,s=1.41546,o=.22248,l=1.44492,h=1/3;t.fwd=function(t,p){var c,u,_,f;for(c=s*n(t.phi),f=10;f&&(_=t.phi/a,t.phi-=u=(i*n(_)+n(t.phi)-c)/(h*r(_)+r(t.phi)),!(e(u)<1e-7));--f);_=t.phi/a,p.x=o*t.lam*(1+3*r(t.phi)/r(_)),p.y=l*n(_)},t.inv=function(t,e){var h;e.phi=a*(h=ca(t.y/l)),e.lam=t.x/(o*(1+3*r(e.phi)/r(h))),e.phi=ca((i*n(h)+n(e.phi))/s)},t.es=0},"mbt_fps","McBryde-Thomas Flat-Pole Sine (No. 2)","Cyl., Sph."),Q(function(t){var i=1e-10,a=0,o=X(t.params,"tlat_ts");o&&(a=X(t.params,"rlat_ts"))>=I&&W(-24);t.es?(o&&(t.k0=sa(n(a),r(a),t.es)),t.inv=function(i,e){e.phi=ka(_(-i.y/t.k0),t.e),e.phi===A&&j();e.lam=i.x/t.k0},t.fwd=function(a,r){e(e(a.phi)-I)<=i&&q();r.x=t.k0*a.lam,r.y=-t.k0*f(ba(a.phi,n(a.phi),t.e))}):(t.inv=function(i,e){e.phi=I-2*h(_(-i.y/t.k0)),e.lam=i.x/t.k0},t.fwd=function(a,n){e(e(a.phi)-I)<=i&&q();n.x=t.k0*a.lam,n.y=t.k0*f(s(x+.5*a.phi))})},"merc","Mercator","Cyl, Sph&Ell\nlat_ts="),Q(function(t){t.k0=1,t.inv=function(i,e){e.phi=I-2*h(_(-i.y/t.k0)),e.lam=i.x/t.k0},t.fwd=function(i,a){e(e(i.phi)-I)<=P&&q(),a.x=t.k0*i.lam,a.y=t.k0*f(s(x+.5*i.phi))}},"webmerc","Web Mercator / Pseudo Mercator","Cyl, Ell"),Q(function(t){t.fwd=function(t,i){i.x=t.lam,i.y=1.25*f(s(x+.4*t.phi))},t.inv=function(t,i){i.lam=t.x,i.phi=2.5*(h(_(.8*t.y))-x)},t.es=0},"mill","Miller Cylindrical","Cyl, Sph"),Q(function(t){t.lam0=20*C,t.phi0=18*C,t.es=0,Ra(t,[[.9245,0],[0,0],[.01943,0]])},"mil_os","Miller Oblated Stereographic","Azi(mod)"),Q(function(t){t.lam0=-165*C,t.phi0=-10*C,t.es=0,Ra(t,[[.721316,0],[0,0],[-.0088162,-.00617325]])},"lee_os","Lee Oblated Stereographic","Azi(mod)"),Q(function(t){t.lam0=-96*C,t.phi0=39*C,t.es=0,t.a=6370997,Ra(t,[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]])},"gs48","Mod Stereographic of 48 U.S.","Azi(mod)"),Q(function(t){var i;t.lam0=-152*C,t.phi0=64*C,0!=t.es?(i=[[.9945303,0],[.0052083,-.0027404],[.0072721,.0048181],[-.0151089,-.1932526],[.0642675,-.1381226],[.3582802,-.2884586]],t.a=6378206.4,t.e=c(t.es=.00676866)):(i=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],t.a=6370997);Ra(t,i)},"alsk","Mod Stereographic of Alaska","Azi(mod)"),Q(function(t){var i;t.lam0=-120*C,t.phi0=45*C,0!=t.es?(i=[[.9827497,0],[.0210669,.0053804],[-.1031415,-.0571664],[-.0323337,-.0322847],[.0502303,.1211983],[.0251805,.0895678],[-.0012315,-.1416121],[.0072202,-.1317091],[-.0194029,.0759677],[-.0210072,.0834037]],t.a=6378206.4,t.e=c(t.es=.00676866)):(i=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],t.a=6370997);Ra(t,i)},"gs50","Mod Stereographic of 50 U.S.","Azi(mod)"),Q(function(t){var i=.8707,a=-.131979,n=-.013791,r=.003971,s=-.001529,o=1.007226,l=.015085,h=-.044475,p=.028874,c=-.005916,u=o,_=3*l,f=7*h,m=9*p,d=11*c,g=.8707*.52*E;t.es=0,t.fwd=function(t,e){var u,_;_=(u=t.phi*t.phi)*u,e.x=t.lam*(i+u*(a+u*(n+_*u*(r+u*s)))),e.y=t.phi*(o+u*(l+_*(h+p*u+c*_)))},t.inv=function(t,y){var v,A,E,S,C=t.x,M=t.y;for(M>g?M=g:M<-g&&(M=-g),v=M;v-=A=(v*(o+(E=v*v)*(l+(S=E*E)*(h+p*E+c*S)))-M)/(u+E*(_+S*(f+m*E+d*S))),!(e(A)<1e-11););y.phi=v,E=v*v,y.lam=C/(i+E*(a+E*(n+E*E*E*(r+E*s))))}},"natearth","Natural Earth","PCyl., Sph."),Q(function(t){var i=.84719,a=-.13063,n=-.04515,r=.05494,s=-.02326,o=.00331,l=1.01183,h=-.02625,p=.01926,c=-.00396,u=l,_=9*h,f=.45334622460635143*E;t.es=0,t.fwd=function(t,e){var u,_,f;f=(u=t.phi*t.phi)*(_=u*u),e.x=t.lam*(i+a*u+f*f*(n+r*u+s*_+o*f)),e.y=t.phi*(l+_*_*(h+p*u+c*_))},t.inv=function(t,m){var d,g,y,v,A,E=t.x,S=t.y;for(S>f?S=f:S<-f&&(S=-f),d=S;d-=g=(d*(l+(v=(y=d*d)*y)*v*(h+p*y+c*v))-S)/(u+v*v*(_+.21186*y+-.05148*v)),!(e(g)<1e-11););m.phi=d,A=(y=d*d)*(v=y*y),m.lam=E/(i+a*y+A*A*(n+r*y+s*v+o*A))}},"natearth2","Natural Earth 2","PCyl., Sph."),Q(function(t){t.inv=function(t,i){i.lam=2*t.x/(1+r(t.y)),i.phi=ca(.5*(t.y+n(t.y)))},t.fwd=function(t,i){var a,s,o;for(a=2*n(t.phi),s=t.phi*t.phi,t.phi*=1.00371+s*(-.011412*s-.0935382),o=10;o&&(t.phi-=s=(t.phi+n(t.phi)-a)/(1+r(t.phi)),!(e(s)<1e-7));--o);i.x=.5*t.lam*(1+r(t.phi)),i.y=t.phi},t.es=0},"nell","Nell","PCyl., Sph."),Q(function(t){t.es=0,t.fwd=function(t,i){i.x=.5*t.lam*(1+r(t.phi)),i.y=2*(t.phi-s(.5*t.phi))},t.inv=function(t,i){var a,n,o,l;for(o=.5*t.y,l=9;l>0&&(n=r(.5*i.phi),i.phi-=a=(i.phi-s(i.phi/2)-o)/(1-.5/(n*n)),!(e(a)<1e-7));--l);l?i.lam=2*t.x/(1+r(i.phi)):(i.phi=o<0?-I:I,i.lam=2*t.x)}},"nell_h","Nell-Hammer","PCyl., Sph."),Q(function(t){t.es=0,t.fwd=function(t,i){var a=1e-10;if(e(t.lam)<a)i.x=0,i.y=t.phi;else if(e(t.phi)<a)i.x=t.lam,i.y=0;else if(e(e(t.lam)-I)<a)i.x=t.lam*r(t.phi),i.y=I*n(t.phi);else if(e(e(t.phi)-I)<a)i.x=0,i.y=t.phi;else{var s=I/t.lam-t.lam/I,o=t.phi/I,l=n(t.phi),h=(1-o*o)/(l-o),p=s/h,u=(s*l/h-.5*s)/(1+(p*=p)),_=(l/p+.5*h)/(1+1/p);i.x=r(t.phi),i.x=c(u*u+i.x*i.x/(1+p)),i.x=I*(u+(t.lam<0?-i.x:i.x)),i.y=c(_*_-(l*l/p+h*l-1)/(1+1/p)),i.y=I*(_+(t.phi<0?i.y:-i.y))}}},"nicol","Nicolosi Globular","Misc Sph, no inv"),Q(function(t){Pa(t,X(t.params,"dh"))},"nsper","Near-sided perspective","Azi, Sph\nh="),Q(function(t){var i=X(t.params,"dtilt")*C,e=X(t.params,"dazi")*C,a=X(t.params,"dh");Pa(t,a,i,e)},"tpers","Tilted perspective","Azi, Sph\ntilt= azi= h="),Q(function(t){var i=[[.7557853228,0],[.249204646,.003371507],[-.001541739,.04105856],[-.10162907,.01727609],[-.26623489,-.36249218],[-.6870983,-1.1651967]],a=[1.5627014243,.5185406398,-.03333098,-.1052906,-.0368594,.007317,.0122,.00394,-.0013],n=[.6399175073,-.1358797613,.063294409,-.02526853,.0117879,-.0055161,.0026906,-.001333,67e-5,-34e-5];t.ra=1/(t.a=6378388),t.lam0=173*C,t.phi0=-41*C,t.x0=251e4,t.y0=6023150,t.inv=function(n,r){var s,o,l,h,p,c,u={r:n.y,i:n.x},_={};for(s=20;s>0&&((p=Ga(u,i,_)).r-=n.y,p.i-=n.x,c=_.r*_.r+_.i*_.i,u.r+=l=-(p.r*_.r+p.i*_.i)/c,u.i+=h=-(p.i*_.r-p.r*_.i)/c,!(e(l)+e(h)<=1e-10));--s);if(s>0){for(r.lam=u.i,o=a.length-1,r.phi=a[o],--o;o>=0;--o)r.phi=a[o]+u.r*r.phi;r.phi=t.phi0+u.r*r.phi*.484813681109536}else r.lam=r.phi=A},t.fwd=function(e,a){var r=n.length-1,s={r:n[r]},o=2.0626480624709638*(e.phi-t.phi0);for(--r;r>=0;--r)s.r=n[r]+o*s.r;s.r*=o,s.i=e.lam,s=Na(s,i),a.x=s.i,a.y=s.r}},"nzmg","New Zealand Map Grid","fixed Earth"),Q(function(t){var i,a,o,l,c,u,_,f,m,d,g,y,v,E,M,w=1e-10;i=X(t.params,"so_proj"),a=$[i],i||W(-26);a&&"ob_tran"!=i||W(-37);t.es=0,o={},Object.keys(t).forEach(function(i){o[i]=t[i]}),a.init(o),o.is_latlong&&1==t.to_meter&&(t.to_meter=C,t.fr_meter=S);X(t.params,"to_alpha")?(f=X(t.params,"ro_lon_c"),m=X(t.params,"ro_lat_c"),d=X(t.params,"ro_alpha"),e(e(m)-I)<=w&&W(-32),l=f+fa(-r(d),-n(d)*n(m)),_=ca(r(m)*n(d))):X(t.params,"to_lat_p")?(l=X(t.params,"ro_lon_p"),_=X(t.params,"ro_lat_p")):(g=X(t.params,"ro_lon_1"),v=X(t.params,"ro_lat_1"),y=X(t.params,"ro_lon_2"),E=X(t.params,"ro_lat_2"),(e(v-E)<=w||(M=e(v))<=w||e(M-I)<=w||e(e(E)-I)<=w)&&W(-33),l=p(r(v)*n(E)*r(g)-n(v)*r(E)*r(y),n(v)*r(E)*n(y)-r(v)*n(E)*n(g)),_=h(-r(l-g)/s(v)));e(_)>w?(c=r(_),u=n(_),t.fwd=function(t,i){var e,a,s;e=r(t.lam),a=n(t.phi),s=r(t.phi),t.lam=xt(fa(s*n(t.lam),u*s*e+c*a)+l),t.phi=ca(u*a-c*s*e),o.fwd(t,i)},t.inv=o.inv?function(t,i){var e,a,s;o.inv(t,i),i.lam!=A&&(e=r(i.lam-=l),a=n(i.phi),s=r(i.phi),i.phi=ca(u*a+c*s*e),i.lam=fa(s*n(i.lam),u*s*e-c*a))}:null):(t.fwd=function(t,i){var e,a;e=r(t.phi),a=r(t.lam),t.lam=xt(fa(e*n(t.lam),n(t.phi))+l),t.phi=ca(-e*a),o.fwd(t,i)},t.inv=o.inv?function(t,i){var e,a;o.inv(t,i),i.lam!=A&&(e=r(i.phi),a=i.lam-l,i.lam=fa(e*n(a),-n(i.phi)),i.phi=ca(e*r(a)))}:null)},"ob_tran","General Oblique Transformation","Misc Sph\no_proj= plus parameters for projection\no_lat_p= o_lon_p= (new pole) or\no_alpha= o_lon_c= o_lat_c= or\no_lon_1= o_lat_1= o_lon_2= o_lat_2="),Q(function(t){var i,e,a,l,u,_,f,m,d,g,y;f=1/t.k0,m=t.k0,X(t.params,"talpha")?(_=X(t.params,"ralpha"),u=X(t.params,"rlonc"),y=h(-r(_)/(-n(0)*n(_)))+u,d=o(r(0)*n(_))):(i=X(t.params,"rlat_1"),e=X(t.params,"rlat_2"),a=X(t.params,"rlon_1"),l=X(t.params,"rlon_2"),y=p(r(i)*n(e)*r(a)-n(i)*r(e)*r(l),n(i)*r(e)*n(l)-r(i)*n(e)*n(a)),a==-I&&(y=-y),d=h(-r(y-a)/s(i)));t.lam0=y+I,g=r(d),d=n(d),y=n(y),t.es=0,t.fwd=function(t,i){var e;i.y=n(t.lam),e=r(t.lam),i.x=h((s(t.phi)*g+d*i.y)/e),e<0&&(i.x+=E),i.x*=m,i.y=f*(d*n(t.phi)-g*r(t.phi)*i.y)},t.inv=function(t,i){var e,a;t.y/=f,t.x/=m,e=c(1-t.y*t.y),i.phi=o(t.y*d+e*g*(a=n(t.x))),i.lam=p(e*d*a-t.y*g,e*r(t.x))}},"ocea","Oblique Cylindrical Equal Area","Cyl, Sph lonc= alpha= or\nlat_1= lat_2= lon_1= lon_2="),Q(function(t){var i,a,l,m,d,g,y,v,S,C,M,w,b,N,G,R,T,O,D,L,U,z,B,H,V,F,K,J=1e-7,Z=0,Y=0,$=0,Q=0,tt=0,it=0,et=0,at=0;K=X(t.params,"tno_rot"),0!=(w=X(t.params,"talpha"))&&(et=X(t.params,"ralpha"));0!=(b=X(t.params,"tgamma"))&&(Z=X(t.params,"rgamma"));w||b?(Y=X(t.params,"rlonc"),(at=X(t.params,"tno_off")||X(t.params,"tno_uoff"))&&(X(t.params,"sno_uoff"),X(t.params,"sno_off"))):($=X(t.params,"rlon_1"),tt=X(t.params,"rlat_1"),Q=X(t.params,"rlon_2"),it=X(t.params,"rlat_2"),(e(tt-it)<=J||(i=e(tt))<=J||e(i-I)<=J||e(e(t.phi0)-I)<=J||e(e(it)-I)<=J)&&W(-33));a=c(t.one_es),e(t.phi0)>P?(v=n(t.phi0),l=r(t.phi0),i=1-t.es*v*v,G=l*l,G=c(1+t.es*G*G/t.one_es),N=G*t.k0*a/i,(d=(m=G*a/(l*c(i)))*m-1)<=0?d=0:(d=c(d),t.phi0<0&&(d=-d)),R=d+=m,R*=u(ba(t.phi0,v,t.e),G)):(G=1/a,N=t.k0,R=m=d=1);w||b?(w?(M=o(n(et)/m),b||(Z=et)):et=o(m*n(M=Z)),t.lam0=Y-o(.5*(d-1/d)*s(M))/G):(g=u(ba(tt,n(tt),t.e),G),y=u(ba(it,n(it),t.e),G),d=R/g,S=(y-g)/(y+g),C=((C=R*R)-y*g)/(C+y*g),(i=$-Q)<-E?Q-=k:i>E&&(Q+=k),t.lam0=xt(.5*($+Q)-h(C*s(.5*G*($-Q))/S)/G),M=h(2*n(G*xt($-t.lam0))/(d-1/d)),Z=et=o(m*n(M)));L=n(M),U=r(M),z=n(Z),B=r(Z),O=1/(T=N*(D=1/G)),at?F=0:(F=e(T*h(c(m*m-1)/r(et))),t.phi0<0&&(F=-F));H=T*f(s(x-(d=.5*M))),V=T*f(s(x+d)),t.fwd=function(i,a){var s,o,l,h,c,_,m,d;e(e(i.phi)-I)>P?(s=.5*((c=R/u(ba(i.phi,n(i.phi),t.e),G))-(_=1/c)),o=.5*(c+_),h=n(G*i.lam),e(e(l=(s*L-h*U)/o)-1)<P&&q(),d=.5*T*f((1-l)/(1+l)),_=r(G*i.lam),m=e(_)<J?N*i.lam:T*p(s*U+h*L,_)):(d=i.phi>0?H:V,m=T*i.phi),K?(a.x=m,a.y=d):(m-=F,a.x=d*B+m*z,a.y=m*B-d*z)},t.inv=function(i,a){var s,o,l,h,f,m,d;K?(o=i.y,s=i.x):(o=i.x*B-i.y*z,s=i.y*B+i.x*z+F),h=.5*((l=_(-O*o))-1/l),f=.5*(l+1/l),m=n(O*s),e(e(d=(m*U+h*L)/f)-1)<P?(a.lam=0,a.phi=d<0?-I:I):(a.phi=R/c((1+d)/(1-d)),(a.phi=ka(u(a.phi,1/G),t.e))==A&&j(),a.lam=-D*p(h*U-m*L,r(O*s)))}},"omerc","Oblique Mercator","Cyl, Sph&Ell no_rot\nalpha= [gamma=] [no_off] lonc= or\nlon_1= lat_1= lon_2= lat_2="),Q(function(t){var i=1e-10,a={};e(e(t.phi0)-I)<=i?a.mode=t.phi0<0?1:0:e(t.phi0)>i?(a.mode=3,a.sinph0=n(t.phi0),a.cosph0=r(t.phi0)):a.mode=2;t.fwd=function(s,o){var l,h,p;switch(h=r(s.phi),l=r(s.lam),a.mode){case 2:h*l<-1e-10&&q(),o.y=n(s.phi);break;case 3:a.sinph0*(p=n(s.phi))+a.cosph0*h*l<-1e-10&&q(),o.y=a.cosph0*p-a.sinph0*h*l;break;case 0:l=-l;case 1:e(s.phi-t.phi0)-i>I&&q(),o.y=h*l}o.x=h*n(s.lam)},t.inv=function(n,r){var s,h,u;if((u=s=m(n.x,n.y))>1&&(u-1>i&&j(),u=1),h=c(1-u*u),e(s)<=i)r.phi=t.phi0,r.lam=0;else{switch(a.mode){case 0:n.y=-n.y,r.phi=l(u);break;case 1:r.phi=-l(u);break;case 2:case 3:2==a.mode?(r.phi=n.y*u/s,n.x*=u,n.y=h*s):(r.phi=h*a.sinph0+n.y*u*a.cosph0/s,n.y=(h-a.sinph0*r.phi)*s,n.x*=u*a.cosph0),e(r.phi)>=1?r.phi=r.phi<0?-I:I:r.phi=o(r.phi)}r.lam=0!=n.y||3!=a.mode&&2!=a.mode?p(n.x,n.y):0==n.x?0:n.x<0?-I:I}},t.es=0},"ortho","Orthographic","Azi, Sph."),Q(function(t){var i=1.0148,a=.23185,n=-.14499,r=.02406,s=i,o=5*a,l=7*n,h=908571831.7;t.es=0,t.fwd=function(t,e){var s=t.phi*t.phi;e.x=t.lam,e.y=t.phi*(i+s*s*(a+s*(n+r*s)))},t.inv=function(t,p){var c,u,_,f;for(c=t.y,t.y>h?t.y=h:t.y<-h&&(t.y=-h),f=100;f&&(c-=u=(c*(i+(_=c*c)*_*(a+_*(n+r*_)))-t.y)/(s+_*_*(o+_*(l+.21654*_))),!(e(u)<1e-11));--f);p.phi=c,p.lam=t.x}},"patterson","Patterson Cylindrical","Cyl., Sph."),Q(function(t){var i,a,l=1e-10,h=1e-12;t.es?(a=la(t.es),i=ha(t.phi0,n(t.phi0),r(t.phi0),a),t.fwd=function(s,o){var h,p,c;e(s.phi)<=l?(o.x=s.lam,o.y=-i):(p=n(s.phi),h=e(c=r(s.phi))>l?sa(p,c,t.es)/p:0,o.x=h*n(s.lam*=p),o.y=ha(s.phi,p,c,a)-i+h*(1-r(s.lam)))},t.inv=function(p,u){var _,f,m,d,g,y,v,A,E,S,C=p.x,M=p.y;if(e(M+=i)<=l)u.lam=C,u.phi=0;else{for(_=M*M+C*C,u.phi=M,S=20;S>0&&(g=(m=n(u.phi))*(d=r(u.phi)),e(d)<h&&j(),f=m*(A=c(1-t.es*m*m))/d,v=(y=ha(u.phi,m,d,a))*y+_,A=t.one_es/(A*A*A),u.phi+=E=(y+y+f*v-2*M*(f*y+1))/(t.es*g*(v-2*M*y)/f+2*(M-y)*(f*A-1/g)-A-A),!(e(E)<=h));--S);S||j(),f=n(u.phi),u.lam=o(C*s(u.phi)*c(1-t.es*f*f))/n(u.phi)}}):(i=-t.phi0,t.fwd=function(a,o){var h,p;e(a.phi)<=l?(o.x=a.lam,o.y=i):(h=1/s(a.phi),o.x=n(p=a.lam*n(a.phi))*h,o.y=a.phi-t.phi0+h*(1-r(p)))},t.inv=function(i,a){var r,h,p,c;if(e(i.y=t.phi0+i.y)<=l)a.lam=i.x,a.phi=0;else{a.phi=i.y,r=i.x*i.x+i.y*i.y,c=10;do{p=s(a.phi),a.phi-=h=(i.y*(a.phi*p+1)-a.phi-.5*(a.phi*a.phi+r)*p)/((a.phi-i.y)/p-1)}while(e(h)>1e-10&&--c);c||j(),a.lam=o(i.x*s(a.phi))/n(a.phi)}})},"poly","Polyconic (American)","Conic, Sph&Ell"),Q(function(t){var i=1.8949,a=1.71848,s=.6141848493043784,o=1.0471975511965976;t.es=0,t.fwd=function(t,l){var h,p,c,u,_;for(h=s*n(t.phi),c=t.phi*t.phi,t.phi*=.615709+c*(.00909953+.0046292*c),_=10;_&&(p=r(t.phi),c=n(t.phi),t.phi-=u=(t.phi+c*(p-1)-h)/(1+p*(p-1)-c*c),!(e(u)<1e-10));--_);_||(t.phi=t.phi<0?-o:o),l.x=i*t.lam*(r(t.phi)-.5),l.y=a*n(t.phi)},t.inv=function(t,e){var o;e.phi=ca(t.y/a),e.lam=t.x/(i*((o=r(e.phi))-.5)),e.phi=ca((e.phi+n(e.phi)*(o-1))/s)}},"putp2","Putnins P2","PCyl., Sph."),Q(Ta,"putp3","Putnins P3","PCyl., Sph."),Q(function(t){Ta(t,!0)},"putp3p","Putnins P3'","PCyl., Sph."),Q(function(t){Oa(t,.874038744,3.883251825)},"putp4p","Putnins P4'","PCyl., Sph."),Q(function(t){Oa(t,1,4.442882938)},"weren","Werenskiold I","PCyl., Sph."),Q(Da,"putp5","Putnins P5","PCyl., Sph."),Q(function(t){Da(t,!0)},"putp5p","Putnins P5'","PCyl., Sph."),Q(La,"putp6","Putnins P6","PCyl., Sph."),Q(function(t){La(t,!0)},"putp6p","Putnins P6'","PCyl., Sph."),Q(function(t){var i,a,o,u;i=t.phi0>=I-x/2?4:t.phi0<=-(I-x/2)?5:e(t.lam0)<=x?0:e(t.lam0)<=I+x?t.lam0>0?1:3:2;0!==t.es&&(t.a,t.a,a=t.a*c(1-t.es),o=1-(t.a-a)/t.a,u=o*o);function _(t,i,a){var n,r;return t<1e-10?(n=0,r=0):(r=p(i,a),e(r)<=x?n=0:r>x&&r<=I+x?(n=1,r-=I):r>I+x||r<=-(I+x)?(n=2,r=r>=0?r-E:r+E):(n=3,r+=I)),{area:n,theta:r}}function f(t,i){var e=t+i;return e<-E?e+=k:e>+E&&(e-=k),e}t.fwd=function(e,a){var o,p,m,d,g,y,v,A,S,C,M,w,k,N;o=0!==t.es?h(u*s(e.phi)):e.phi,p=e.lam,4==i?(d=I-o,p>=x&&p<=I+x?(v=0,m=p-I):p>I+x||p<=-(I+x)?(v=1,m=p>0?p-E:p+E):p>-(I+x)&&p<=-x?(v=2,m=p+I):(v=3,m=p)):5==i?(d=I+o,p>=x&&p<=I+x?(v=0,m=-p+I):p<x&&p>=-x?(v=1,m=-p):p<-x&&p>=-(I+x)?(v=2,m=-p-I):(v=3,m=p>0?-p+E:-p-E)):(1==i?p=f(p,+I):2==i?p=f(p,+E):3==i&&(p=f(p,-I)),M=n(o),w=r(o),k=n(p),A=w*r(p),S=w*k,C=M,0==i?N=_(d=l(A),C,S):1==i?N=_(d=l(S),C,-A):2==i?N=_(d=l(-A),C,-S):3==i?N=_(d=l(-S),C,A):(d=0,N={area:0,theta:0}),m=N.theta,v=N.area),y=h(12/E*(m+l(n(m)*r(x))-I)),g=c((1-r(d))/(r(y)*r(y))/(1-r(h(1/r(m))))),1==v?y+=I:2==v?y+=E:3==v&&(y+=b),a.x=g*r(y),a.y=g*n(y)},t.inv=function(_,m){var d,g,y,v,A,S,C,M,w,x,b,k,N;if(g=h(c(_.x*_.x+_.y*_.y)),d=p(_.y,_.x),_.x>=0&&_.x>=e(_.y)?x=0:_.y>=0&&_.y>=e(_.x)?(x=1,d-=I):_.x<0&&-_.x>=e(_.y)?(x=2,d=d<0?d+E:d-E):(x=3,d+=I),w=E/12*s(d),A=n(w)/(r(w)-1/c(2)),S=h(A),(C=1-(y=r(d))*y*(v=s(g))*v*(1-r(h(1/r(S)))))<-1?C=-1:C>1&&(C=1),4==i)M=l(C),m.phi=I-M,m.lam=0==x?S+I:1==x?S<0?S+E:S-E:2==x?S-I:S;else if(5==i)M=l(C),m.phi=M-I,m.lam=0==x?-S+I:1==x?-S:2==x?-S-I:S<0?-S-E:-S+E;else{var G,R,P;w=(G=C)*G,R=(w+=(P=w>=1?0:c(1-w)*n(S))*P)>=1?0:c(1-w),1==x?(w=R,R=-P,P=w):2==x?(R=-R,P=-P):3==x&&(w=R,R=P,P=-w),1==i?(w=G,G=-R,R=w):2==i?(G=-G,R=-R):3==i&&(w=G,G=R,R=-w),m.phi=l(-P)-I,m.lam=p(R,G),1==i?m.lam=f(m.lam,-I):2==i?m.lam=f(m.lam,-E):3==i&&(m.lam=f(m.lam,+I))}0!==t.es&&(b=m.phi<0?1:0,k=s(m.phi),N=a/c(k*k+u),m.phi=h(c(t.a*t.a-N*N)/(o*N)),b&&(m.phi=-m.phi))}},"qsc","Quadrilateralized Spherical Cube","Azi, Sph."),Q(function(t){var i=h([[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]]),n=h([[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]]),r=.8487,s=1.3523;function o(t,i){return t[0]+i*(t[1]+i*(t[2]+i*t[3]))}function l(t,i){return t[1]+i*(t[2]+t[2]+3*i*t[3])}function h(t){return t.map(function(t){return new Float32Array(t)})}t.es=0,t.fwd=function(t,l){var h,p;(h=a(11.459155902616464*(p=e(t.phi))))<0&&q(),h>=18&&(h=17),p=S*(p-.08726646259971647*h),l.x=o(i[h],p)*r*t.lam,l.y=o(n[h],p)*s,t.phi<0&&(l.y=-l.y)},t.inv=function(t,h){var p,c,u,_;if(h.lam=t.x/r,h.phi=e(t.y/s),h.phi>=1)h.phi>1.000001?j():(h.phi=t.y<0?-I:I,h.lam/=i[18][0]);else{if((_=a(18*h.phi))<0||_>=18)return j();for(;;)if(n[_][0]>h.phi)--_;else{if(!(n[_+1][0]<=h.phi))break;++_}for(u=new Float32Array(n[_]),p=5*(h.phi-u[0])/(n[_+1][0]-u[0]),u[0]-=h.phi;p-=c=o(u,p)/l(u,p),!(e(c)<1e-8););h.phi=(5*_+p)*C,t.y<0&&(h.phi=-h.phi),h.lam/=o(i[_],p)}}},"robin","Robinson","PCyl., Sph."),Q(Ua("EULER"),"euler","Euler","Conic, Sph\nlat_1= and lat_2="),Q(Ua("MURD1"),"murd1","Murdoch I","Conic, Sph\nlat_1= and lat_2="),Q(Ua("MURD2"),"murd2","Murdoch II","Conic, Sph\nlat_1= and lat_2="),Q(Ua("MURD3"),"murd3","Murdoch III","Conic, Sph\nlat_1= and lat_2="),Q(Ua("PCONIC"),"pconic","Perspective Conic","Conic, Sph\nlat_1= and lat_2="),Q(Ua("TISSOT"),"tissot","Tissot","Conic, Sph\nlat_1= and lat_2="),Q(Ua("VITK1"),"vitk1","Vitkovsky I","Conic, Sph\nlat_1= and lat_2="),Q(function(t){var i,a,o,l,p,u,m,d,g;o=.5*t.e,m=r(t.phi0),m*=m,a=c(1+t.es*m*m*t.rone_es),g=n(t.phi0),p=r(d=ca(u=g/a)),g*=t.e,i=f(s(x+.5*d))-a*(f(s(x+.5*t.phi0))-o*f((1+g)/(1-g))),l=t.k0*c(t.one_es)/(1-g*g),t.inv=function(c,m){var d,g,y,v,A,E,S,C,M;for(y=2*(h(_(c.y/l))-x),v=c.x/l,A=r(y),d=ca(p*n(y)+u*A*r(v)),g=ca(A*n(v)/r(d)),S=(i-f(s(x+.5*d)))/a,M=6;M&&(E=t.e*n(d),d-=C=(S+f(s(x+.5*d))-o*f((1+E)/(1-E)))*(1-E*E)*r(d)*t.rone_es,!(e(C)<1e-10));--M);M?(m.phi=d,m.lam=g/a):j()},t.fwd=function(e,c){var m,d,g,y,v,A;v=t.e*n(e.phi),m=2*h(_(a*(f(s(x+.5*e.phi))-o*f((1+v)/(1-v)))+i))-I,d=a*e.lam,A=r(m),g=ca(p*n(m)-u*A*r(d)),y=ca(A*n(d)/r(g)),c.x=l*y,c.y=l*f(s(x+.5*g))}},"somerc","Swiss. Obl. Mercator","Cyl, Ell\nFor CH1903"),Q(function(t){var i=X(t.params,"tlat_ts")?X(t.params,"rlat_ts"):I;qa(t,i)},"stere","Stereographic","Azi, Sph&Ell\nlat_ts="),Q(function(t){t.phi0=X(t.params,"bsouth")?-I:I,t.k0=.994,t.x0=2e6,t.y0=2e6,t.lam0=0,t.es||W(-34);qa(t,I)},"ups","Universal Polar Stereographic","Azi, Sph&Ell\nsouth"),Q(function(t){var i=(d=t.e,g=t.phi0,y=d*d,v=n(g),A=r(g),E=c(1-y)/(1-y*v*v),S=c(1+y*A*A*A*A/(1-y)),C=o(v/S),M=.5*S*d,{e:d,K:s(.5*C+x)/(u(s(.5*g+x),S)*ja(d*v,M)),C:S,chi:C,ratexp:M,rc:E}),a=i.chi,l=2*i.rc,_=n(a),f=r(a);var d,g,y,v,A,E,S,C,M;t.fwd=function(e,a){var o,p,c,m;e=function(t,i){return{phi:2*h(i.K*u(s(.5*t.phi+x),i.C)*ja(i.e*n(t.phi),i.ratexp))-I,lam:i.C*t.lam}}(e,i),p=n(e.phi),o=r(e.phi),c=r(e.lam),m=t.k0*l/(1+_*p+f*o*c),a.x=m*o*n(e.lam),a.y=m*(f*p-_*o*c)},t.inv=function(c,d){var g,y,v,A,E=c.x/t.k0,S=c.y/t.k0;(g=m(E,S))?(y=2*p(g,l),v=n(y),A=r(y),d.phi=o(A*_+S*v*f/g),d.lam=p(E*v,g*f*A-S*_*v)):(d.phi=a,d.lam=0),function(t,i){t.phi;var a,r,o=u(s(.5*t.phi+x)/i.K,1/i.C);for(t.lam/=i.C,a=20;a>0&&(r=2*h(o*ja(i.e*n(t.phi),-.5*i.e))-I,!(e(r-t.phi)<1e-14));--a)t.phi=r;a||U(-17)}(d,i)}},"sterea","Oblique Stereographic Alternative","Azimuthal, Sph&Ell"),Q(function(t){za(t,1.50488,1.35439,!1)},"kav5","Kavraisky V","PCyl., Sph."),Q(function(t){za(t,2,2,!1)},"qua_aut","Quartic Authalic","PCyl., Sph."),Q(function(t){za(t,2,2,!0)},"fouc","Foucaut","PCyl., Sph."),Q(function(t){za(t,1.48875,1.36509,!1)},"mbt_s","McBryde-Thomas Flat-Polar Sine (No. 1)","PCyl., Sph."),Q(function(t){t.es=0,t.fwd=function(i,e){e.x=r(i.phi)*n(i.lam)/t.k0,e.y=t.k0*(p(s(i.phi),r(i.lam))-t.phi0)},t.inv=function(i,e){var a;i.y=i.y/t.k0+t.phi0,i.x*=t.k0,a=c(1-i.x*i.x),e.phi=o(a*n(i.y)),e.lam=p(i.x,a*r(i.y))}},"tcea","Transverse Cylindrical Equal Area","Cyl, Sph"),Q(function(t){t.es=0,t.fwd=function(t,i){var e=s(t.phi/2),a=n(x*e);i.x=t.lam*(.74482-.34588*a*a),i.y=1.70711*e},t.inv=function(t,i){var e=t.y/1.70711,a=n(x*e);i.lam=t.x/(.74482-.34588*a*a),i.phi=2*h(e)}},"times","Times","Cyl, Sph"),Q(function(t){X(t.params,"bapprox")?Wa(t):function(t){if(0===t.es)return Wa(t);Aa(t);var i=t.fwd,a=t.inv;Wa(t);var n=t.fwd,r=t.inv;t.fwd=function(t,a){e(t.lam)>3*C?i(t,a):n(t,a)},t.inv=function(t,i){e(t.x)>.053-.022*t.y*t.y?a(t,i):r(t,i)}}(t)},"tmerc","Transverse Mercator","Cyl, Sph&Ell"),Q(function(t){var i;t.es||W(-34);t.y0=X(t.params,"bsouth")?1e7:0,t.x0=5e5,X(t.params,"tzone")?(i=X(t.params,"izone"))>0&&i<=60?--i:W(-35):(i=a(30*(xt(t.lam0)+E)/E))<0?i=0:i>=60&&(i=59);t.lam0=(i+.5)*E/30-E,t.k0=.9996,t.phi0=0,Aa(t)},"utm","Universal Transverse Mercator (UTM)","Cyl, Sph\nzone= south"),Q(function(t){var i,e,a,o,l,h,c,u,_,f,d,g,y,v,A,E,S,C,M,w,x,b,k;w=X(t.params,"rlat_1"),C=X(t.params,"rlon_1"),x=X(t.params,"rlat_2"),M=X(t.params,"rlon_2"),w==x&&C==M&&W(-25);t.lam0=xt(.5*(C+M)),f=xt(M-C),i=r(w),a=r(x),e=n(w),o=n(x),h=i*o,c=e*a,l=i*a*n(f),_=ua(e*o+i*a*r(f)),d=.5*_,b=p(a*n(f),i*o-e*a*r(f)),v=r(k=ca(i*n(b))),A=n(k),E=xt(p(i*r(b),e)-d),f*=.5,S=I-p(n(b)*e,r(b))-f,g=s(d),y=.5/n(d),u=.5/_,_*=_,t.fwd=function(t,s){var p,m,d,g,y,v,A;v=n(t.phi),A=r(t.phi),m=ua(e*v+i*A*r(g=t.lam+f)),d=ua(o*v+a*A*r(y=t.lam-f)),m*=m,d*=d,s.x=u*(p=m-d),p=_-p,s.y=u*_a(4*_*d-p*p),l*v-A*(h*n(g)-c*n(y))<0&&(s.y=-s.y)},t.inv=function(t,i){var e,a,s,o,l,h;s=(e=r(m(t.y,t.x+d)))+(a=r(m(t.y,t.x-d))),o=e-a,i.lam=-p(o,s*g),i.phi=ua(m(g*s,o)*y),t.y<0&&(i.phi=-i.phi),h=n(i.phi),l=r(i.phi),i.phi=ca(A*h+v*l*(s=r(i.lam-=E))),i.lam=p(l*n(i.lam),A*l*s-v*h)+S},t.es=0},"tpeqd","Two Point Equidistant","Misc Sph\nlat_1= lon_1= lat_2= lon_2="),Q(function(t){var i,e,a,s,o,l;(s=X(t.params,"dn"))>0&&s<=1==!1&&W(-40);a=X(t.params,"dq")/3,o=X(t.params,"ralpha"),l=s*n(o),i=r(o)/c(1-l*l),e=1/(i*s),t.fwd=function(t,o){var l=t.phi=ca(s*n(t.phi));o.x=i*t.lam*r(t.phi),l*=l,o.y=t.phi*(1+l*a)*e},t.es=0},"urm5","Urmaev V","PCyl., Sph., no inv.\nn= q= alpha="),Q(function(t){var i=X(t.params,"dn");(i<=0||i>1)&&W(-40);Ba(t,i)},"urmfps","Urmaev Flat-Polar Sinusoidal","PCyl, Sph.\nn="),Q(function(t){Ba(t,.8660254037844386)},"wag1","Wagner I (Kavraisky VI)","PCyl, Sph."),Q(function(t){var i=1e-10,a=.3333333333333333,n=9.869604401089358,h=19.739208802178716,p=4.934802200544679;t.fwd=function(t,a){var n,r,l,h,p;(p=e(t.phi/I))-i>1&&q(),p>1&&(p=1),e(t.phi)<=i?(a.x=t.lam,a.y=0):e(t.lam)<=i||e(p-1)<i?(a.x=0,a.y=E*s(.5*o(p)),t.phi<0&&(a.y=-a.y)):(r=(n=.5*e(E/t.lam-t.lam/E))*n,l=c(1-p*p),h=(l/=p+l-1)*l,p=l*(2/p-1),p*=p,a.x=l-p,l=p+r,a.x=E*(n*a.x+c(r*a.x*a.x-l*(h-p)))/l,t.lam<0&&(a.x=-a.x),a.y=e(a.x/E),a.y=1-a.y*(a.y+2*n),a.y<-i&&q(),a.y<0?a.y=0:a.y=c(a.y)*(t.phi<0?-E:E))},t.inv=function(t,s){var o,u,_,f,m,d,g,y,v,A,S,C,M;if(C=t.x*t.x,(S=e(t.y))<i)return s.phi=0,o=C*C+h*(C+p),s.lam=e(t.x)<=i?0:.5*(C-n+c(o))/t.x,s;M=t.y*t.y,f=(_=-E*S*((y=C+M)+n))+n*(y-3*M),u=E*S,v=2*c(-a*(d=_/(m=(g=y*y)+k*(S*y+E*(M+E*(S+I))))-a*(f/=m)*f)),(o=e(A=3*(A=.07407407407407407*f*f*f+(u*u-a*f*_)/m)/(d*v)))-i<=1?(A=o>1?A>0?0:E:l(A),s.phi=E*(v*r(A*a+4.188790204786391)-a*f),t.y<0&&(s.phi=-s.phi),o=g+h*(C-M+p),s.lam=e(t.x)<=i?0:.5*(y-n+(o<=0?0:c(o)))/t.x):j()}},"vandg","van der Grinten (I)","Misc Sph"),Q(function(t){Ha(t,!1)},"vandg2","van der Grinten II","Misc Sph, no inv."),Q(function(t){Ha(t,!0)},"vandg3","van der Grinten III","Misc Sph, no inv."),Q(function(t){t.es=0,t.fwd=function(t,i){var a,n,r,s,o,l,h,p,u=1e-10;e(t.phi)<u?(i.x=t.lam,i.y=0):e(t.lam)<u||e(e(t.phi)-I)<u?(i.x=0,i.y=t.phi):(l=(s=.5*((r=e(N*t.phi))*(8-r*(2+(o=r*r)))-5)/(o*(r-1)))*s,h=N*t.lam,h=c((h+=1/h)*h-4),e(t.lam)-I<0&&(h=-h),a=r+s,a=(h*((a*=a)+l-1)+2*c(a*(o+l*(p=h*h)-1)+(1-o)*(o*((n=r+3*s)*n+4*l)+l*(12*r*s+4*l))))/(4*a+p),i.x=I*a,i.y=I*c(1+h*e(a)-a*a),t.lam<0&&(i.x=-i.x),t.phi<0&&(i.y=-i.y))}},"vandg4","van der Grinten IV","Misc Sph, no inv."),Q(function(t){var i=.92483,e=1.38725,a=.88022,s=.8855;t.fwd=function(t,o){t.phi=ca(a*n(s*t.phi)),o.x=i*t.lam*r(t.phi),o.y=e*t.phi},t.inv=function(t,o){o.phi=t.y/e,o.lam=t.x/(i*r(o.phi)),o.phi=ca(n(o.phi)/a)/s}},"wag2","Wagner II","PCyl., Sph."),Q(function(t){var i=.6666666666666666,e=X(t.params,"rlat_ts"),a=r(e)/r(2*e/3);t.es=0,t.fwd=function(t,e){e.x=a*t.lam*r(i*t.phi),e.y=t.phi},t.inv=function(t,e){e.phi=t.y,e.lam=t.x/(a*r(i*e.phi))}},"wag3","Wagner III","PCyl., Sph.\nlat_ts="),Q(function(t){t.es=0,t.fwd=function(t,i){var e,a,s;e=o(i.y=.9063077870366499*n(t.phi)),i.x=2.66723*(a=r(e))*n(t.lam/=3),i.y*=1.24104*(s=1/c(.5*(1+a*r(t.lam)))),i.x*=s}},"wag7","Wagner VII","Misc Sph, no inv."),Q(function(t){var i=r(X(t.params,"rlat_ts"));t.fwd=function(t,e){e.x=.5*t.lam*(i+r(t.phi)),e.y=t.phi},t.inv=function(t,e){e.phi=t.y,e.lam=2*t.x/(i+r(e.phi))},t.es=0},"wink1","Winkel I","PCyl., Sph.\nlat_ts="),Q(function(t){var i=r(X(t.params,"rlat_1"));t.fwd=function(t,a){var s,o,l,h=t.phi;for(a.y=h*N,s=E*n(h),h*=1.8,l=10;l&&(h-=o=(h+n(h)-s)/(1+r(h)),!(e(o)<1e-7));--l);l?h*=.5:h=h<0?-I:I,a.x=.5*t.lam*(r(h)+i),a.y=x*(n(h)+a.y)},t.inv=null,t.es=0},"wink2","Winkel II","PCyl., Sph., no inv.\nlat_1=");var Va=Nt;Va.pj_init=mt,Va.pj_fwd=It,Va.pj_inv=bt,Va.pj_transform=St,Va.pj_add=Q,Va.pj_fwd_deg=function(t,i){return It({lam:t.lam*C,phi:t.phi*C},i)},Va.pj_inv_deg=function(t,i){var e=bt(t,i);return{lam:e.lam*S,phi:e.phi*S}},Va.pj_transform_point=Et,Va.internal={dmstod:F,dmstor:V,get_rtodms:function(t,i,e,a){var n=kt(t,i,e,a);return function(t){return n(t*S)}},get_dtodms:kt,get_proj_defn:et,pj_latlong_from_proj:function(t){return mt("+proj=latlong"+it(t))},pj_get_params:Z,pj_datums:nt,pj_list:$,pj_ellps:ot,pj_units:ht,pj_read_init_opts:ft,find_datum:st,DEG_TO_RAD:C,RAD_TO_DEG:S,wkt_parse:ji,wkt_unpack:zi,convert_wkt_quotes:Wi,wkt_to_proj4:function(t){var i,e=ji(t);return e.PROJCS?i=Zt(e.PROJCS):e.GEOGCS?i="+proj=longlat "+Kt(e.GEOGCS):e.GEOCCS?Bt("geocentric coordinates are not supported"):Bt("missing a supported WKT CS type"),i},wkt_from_proj4:function(t){return t.length&&(t=mt(t)),Li(tt(t)?{GEOGCS:Qt(t)}:si(t))},wkt2_to_proj4:Le,wkt2_from_proj4:Ue,projjson_to_proj4:function(t){return Le(re(qe("string"==typeof t||t instanceof String?JSON.parse(String(t)):t)))},projjson_from_proj4:function(t,i){var e,a=le(Ue(t)),n=((e=Ke(a)).$schema="https://proj.org/schemas/v0.7/projjson.schema.json",e);return i&&i.as_object?n:JSON.stringify(n,null,i&&i.pretty?2:0)},wkt2_parse:le,wkt2_normalize:Me,wkt_make_projcs:si,wkt_get_geogcs_name:ei,wkt_stringify:Li,mproj_insert_libcache:function(t,i){ut[t]=i},mproj_search_libcache:_t,GeographicLib:na};class Fa{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,i){let e=this.length++;for(;e>0;){const t=e-1>>1,a=this.values[t];if(i>=a)break;this.ids[e]=this.ids[t],this.values[e]=a,e=t}this.ids[e]=t,this.values[e]=i}pop(){if(0===this.length)return;const t=this.ids,i=this.values,e=t[0],a=--this.length;if(a>0){const e=t[a],n=i[a];let r=0;const s=a>>1;for(;r<s;){const e=1+(r<<1),s=e+1,o=e+(+(s<a)&+(i[s]<i[e]));if(i[o]>=n)break;t[r]=t[o],i[r]=i[o],r=o}t[r]=e,i[r]=n}return e}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}const Ka=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class Ja{static from(t,i=0){if(i%8!=0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||void 0===t.byteLength||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");const[e,a]=new Uint8Array(t,i+0,2);if(251!==e)throw new Error("Data does not appear to be in a Flatbush format.");const n=a>>4;if(3!==n)throw new Error(`Got v${n} data when expected v3.`);const r=Ka[15&a];if(!r)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(t,i+2,1),[o]=new Uint32Array(t,i+4,1);return new Ja(o,s,r,void 0,t,i)}constructor(t,i=16,e=Float64Array,a=ArrayBuffer,n,r=0){if(void 0===t)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+i,2),65535),this.byteOffset=r;let s=t,o=s;this._levelBounds=[4*s];do{s=Math.ceil(s/this.nodeSize),o+=s,this._levelBounds.push(4*o)}while(1!==s);this.ArrayType=e,this.IndexArrayType=o<16384?Uint16Array:Uint32Array;const l=Ka.indexOf(e),h=4*o*e.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${e}.`);if(n)this.data=n,this._boxes=new e(n,r+8,4*o),this._indices=new this.IndexArrayType(n,r+8+h,o),this._pos=4*o,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{const n=this.data=new a(8+h+o*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new e(n,8,4*o),this._indices=new this.IndexArrayType(n,8+h,o),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(n,0,2).set([251,48+l]),new Uint16Array(n,2,1)[0]=i,new Uint32Array(n,4,1)[0]=t}this._queue=new Fa}add(t,i,e=t,a=i){const n=this._pos>>2,r=this._boxes;return this._indices[n]=n,r[this._pos++]=t,r[this._pos++]=i,r[this._pos++]=e,r[this._pos++]=a,t<this.minX&&(this.minX=t),i<this.minY&&(this.minY=i),e>this.maxX&&(this.maxX=e),a>this.maxY&&(this.maxY=a),n}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);const t=this._boxes;if(this.numItems<=this.nodeSize)return t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,void(t[this._pos++]=this.maxY);const i=this.maxX-this.minX||1,e=this.maxY-this.minY||1,a=new Uint32Array(this.numItems);for(let n=0,r=0;n<this.numItems;n++){const s=t[r++],o=t[r++],l=t[r++],h=t[r++],p=Math.floor(65535*((s+l)/2-this.minX)/i),c=Math.floor(65535*((o+h)/2-this.minY)/e);a[n]=$a(p,c)}Za(a,t,this._indices,0,this.numItems-1,this.nodeSize);for(let i=0,e=0;i<this._levelBounds.length-1;i++){const a=this._levelBounds[i];for(;e<a;){const i=e;let n=t[e++],r=t[e++],s=t[e++],o=t[e++];for(let i=1;i<this.nodeSize&&e<a;i++)n=Math.min(n,t[e++]),r=Math.min(r,t[e++]),s=Math.max(s,t[e++]),o=Math.max(o,t[e++]);this._indices[this._pos>>2]=i,t[this._pos++]=n,t[this._pos++]=r,t[this._pos++]=s,t[this._pos++]=o}}}search(t,i,e,a,n){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let r=this._boxes.length-4;const s=[],o=[];for(;void 0!==r;){const l=Math.min(r+4*this.nodeSize,Xa(r,this._levelBounds));for(let h=r;h<l;h+=4){const l=this._boxes[h];if(e<l)continue;const p=this._boxes[h+1];if(a<p)continue;const c=this._boxes[h+2];if(t>c)continue;const u=this._boxes[h+3];if(i>u)continue;const _=0|this._indices[h>>2];r>=4*this.numItems?s.push(_):(void 0===n||n(_,l,p,c,u))&&o.push(_)}r=s.pop()}return o}neighbors(t,i,e=1/0,a=1/0,n){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let r=this._boxes.length-4;const s=this._queue,o=[],l=a*a;t:for(;void 0!==r;){const a=Math.min(r+4*this.nodeSize,Xa(r,this._levelBounds));for(let e=r;e<a;e+=4){const a=0|this._indices[e>>2],o=this._boxes[e],h=this._boxes[e+1],p=this._boxes[e+2],c=this._boxes[e+3],u=t<o?o-t:t>p?t-p:0,_=i<h?h-i:i>c?i-c:0,f=u*u+_*_;f>l||(r>=4*this.numItems?s.push(a<<1,f):(void 0===n||n(a))&&s.push(1+(a<<1),f))}for(;s.length&&1&s.peek();){if(s.peekValue()>l)break t;if(o.push(s.pop()>>1),o.length===e)break t}r=s.length?s.pop()>>1:void 0}return s.clear(),o}}function Xa(t,i){let e=0,a=i.length-1;for(;e<a;){const n=e+a>>1;i[n]>t?a=n:e=n+1}return i[e]}function Za(t,i,e,a,n,r){if(Math.floor(a/r)>=Math.floor(n/r))return;const s=t[a],o=t[a+n>>1],l=t[n];let h=l;const p=Math.max(s,o);l>p?h=p:p===s?h=Math.max(o,l):p===o&&(h=Math.max(s,l));let c=a-1,u=n+1;for(;;){do{c++}while(t[c]<h);do{u--}while(t[u]>h);if(c>=u)break;Ya(t,i,e,c,u)}Za(t,i,e,a,u,r),Za(t,i,e,u+1,n,r)}function Ya(t,i,e,a,n){const r=t[a];t[a]=t[n],t[n]=r;const s=4*a,o=4*n,l=i[s],h=i[s+1],p=i[s+2],c=i[s+3];i[s]=i[o],i[s+1]=i[o+1],i[s+2]=i[o+2],i[s+3]=i[o+3],i[o]=l,i[o+1]=h,i[o+2]=p,i[o+3]=c;const u=e[a];e[a]=e[n],e[n]=u}function $a(t,i){let e=t^i,a=65535^e,n=65535^(t|i),r=t&(65535^i),s=e|a>>1,o=e>>1^e,l=n>>1^a&r>>1^n,h=e&n>>1^r>>1^r;e=s,a=o,n=l,r=h,s=e&e>>2^a&a>>2,o=e&a>>2^a&(e^a)>>2,l^=e&n>>2^a&r>>2,h^=a&n>>2^(e^a)&r>>2,e=s,a=o,n=l,r=h,s=e&e>>4^a&a>>4,o=e&a>>4^a&(e^a)>>4,l^=e&n>>4^a&r>>4,h^=a&n>>4^(e^a)&r>>4,e=s,a=o,n=l,r=h,l^=e&n>>8^a&r>>8,h^=a&n>>8^(e^a)&r>>8,e=l^l>>1,a=h^h>>1;let p=t^i,c=a|65535^(p|e);return p=16711935&(p|p<<8),p=252645135&(p|p<<4),p=858993459&(p|p<<2),p=1431655765&(p|p<<1),c=16711935&(c|c<<8),c=252645135&(c|c<<4),c=858993459&(c|c<<2),c=1431655765&(c|c<<1),(c<<1|p)>>>0}const Qa=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class tn{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[i,e]=new Uint8Array(t,0,2);if(219!==i)throw new Error("Data does not appear to be in a KDBush format.");const a=e>>4;if(1!==a)throw new Error(`Got v${a} data when expected v1.`);const n=Qa[15&e];if(!n)throw new Error("Unrecognized array type.");const[r]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new tn(s,r,n,t)}constructor(t,i=64,e=Float64Array,a){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+i,2),65535),this.ArrayType=e,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const n=Qa.indexOf(this.ArrayType),r=2*t*this.ArrayType.BYTES_PER_ELEMENT,s=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-s%8)%8;if(n<0)throw new Error(`Unexpected typed array class: ${e}.`);a&&a instanceof ArrayBuffer?(this.data=a,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+r+s+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+n]),new Uint16Array(this.data,2,1)[0]=i,new Uint32Array(this.data,4,1)[0]=t)}add(t,i){const e=this._pos>>1;return this.ids[e]=e,this.coords[this._pos++]=t,this.coords[this._pos++]=i,e}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return en(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,i,e,a){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:r,nodeSize:s}=this,o=[0,n.length-1,0],l=[];for(;o.length;){const h=o.pop()||0,p=o.pop()||0,c=o.pop()||0;if(p-c<=s){for(let s=c;s<=p;s++){const o=r[2*s],h=r[2*s+1];o>=t&&o<=e&&h>=i&&h<=a&&l.push(n[s])}continue}const u=c+p>>1,_=r[2*u],f=r[2*u+1];_>=t&&_<=e&&f>=i&&f<=a&&l.push(n[u]),(0===h?t<=_:i<=f)&&(o.push(c),o.push(u-1),o.push(1-h)),(0===h?e>=_:a>=f)&&(o.push(u+1),o.push(p),o.push(1-h))}return l}within(t,i,e){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:a,coords:n,nodeSize:r}=this,s=[0,a.length-1,0],o=[],l=e*e;for(;s.length;){const h=s.pop()||0,p=s.pop()||0,c=s.pop()||0;if(p-c<=r){for(let e=c;e<=p;e++)sn(n[2*e],n[2*e+1],t,i)<=l&&o.push(a[e]);continue}const u=c+p>>1,_=n[2*u],f=n[2*u+1];sn(_,f,t,i)<=l&&o.push(a[u]),(0===h?t-e<=_:i-e<=f)&&(s.push(c),s.push(u-1),s.push(1-h)),(0===h?t+e>=_:i+e>=f)&&(s.push(u+1),s.push(p),s.push(1-h))}return o}}function en(t,i,e,a,n,r){if(n-a<=e)return;const s=a+n>>1;an(t,i,s,a,n,r),en(t,i,e,a,s-1,1-r),en(t,i,e,s+1,n,1-r)}function an(t,i,e,a,n,r){for(;n>a;){if(n-a>600){const s=n-a+1,o=e-a+1,l=Math.log(s),h=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*h*(s-h)/s)*(o-s/2<0?-1:1);an(t,i,e,Math.max(a,Math.floor(e-o*h/s+p)),Math.min(n,Math.floor(e+(s-o)*h/s+p)),r)}const s=i[2*e+r];let o=a,l=n;for(nn(t,i,a,e),i[2*n+r]>s&&nn(t,i,a,n);o<l;){for(nn(t,i,o,l),o++,l--;i[2*o+r]<s;)o++;for(;i[2*l+r]>s;)l--}i[2*a+r]===s?nn(t,i,a,l):(l++,nn(t,i,l,n)),l<=e&&(a=l+1),e<=l&&(n=l-1)}}function nn(t,i,e,a){rn(t,e,a),rn(i,2*e,2*a),rn(i,2*e+1,2*a+1)}function rn(t,i,e){const a=t[i];t[i]=t[e],t[e]=a}function sn(t,i,e,a){const n=t-e,r=i-a;return n*n+r*r}function on(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ln,hn,pn,cn={exports:{}};ln=cn,(pn={}).Constants={},pn.Math={},pn.Accumulator={},function(t){t.WGS84={a:6378137,f:1/298.257223563},t.version={major:2,minor:2,patch:0},t.version_string="2.2.0"}(pn.Constants),function(t){t.digits=53,t.epsilon=Math.pow(.5,t.digits-1),t.degree=Math.PI/180,t.sq=function(t){return t*t},t.hypot=function(t,i){return Math.sqrt(t*t+i*i)},t.cbrt=Math.cbrt||function(t){var i=Math.pow(Math.abs(t),1/3);return t>0?i:t<0?-i:t},t.log1p=Math.log1p||function(t){var i=1+t,e=i-1;return 0===e?t:t*Math.log(i)/e},t.atanh=Math.atanh||function(i){var e=Math.abs(i);return e=t.log1p(2*e/(1-e))/2,i>0?e:i<0?-e:i},t.copysign=function(t,i){return Math.abs(t)*(i<0||0===i&&1/i<0?-1:1)},t.sum=function(t,i){var e=t+i,a=e-i,n=e-a;return a-=t,{s:e,t:e?0-(a+(n-=i)):e}},t.polyval=function(t,i,e,a){for(var n=t<0?0:i[e++];--t>=0;)n=n*a+i[e++];return n},t.AngRound=function(i){var e=1/16,a=Math.abs(i);return a=a<e?e-(e-a):a,t.copysign(a,i)},t.remainder=function(t,i){return(t%=i)<-i/2?t+i:t<i/2?t:t-i},t.AngNormalize=function(i){var e=t.remainder(i,360);return 180===Math.abs(e)?t.copysign(180,i):e},t.LatFix=function(t){return Math.abs(t)>90?NaN:t},t.AngDiff=function(i,e){var a,n,r=t.sum(t.remainder(-i,360),t.remainder(e,360));return a=(r=t.sum(t.remainder(r.s,360),r.t)).s,n=r.t,0!==a&&180!==Math.abs(a)||(a=t.copysign(a,0===n?e-i:-n)),{d:a,e:n}},t.sincosd=function(i){var e,a,n,r,s,o,l;switch(e=i%360,a=(e-=90*(n=Math.round(e/90)))*this.degree,r=Math.sin(a),s=Math.cos(a),45===Math.abs(e)?(s=Math.sqrt(.5),r=t.copysign(s,a)):30===Math.abs(e)&&(s=Math.sqrt(.75),r=t.copysign(.5,a)),3&n){case 0:o=r,l=s;break;case 1:o=s,l=-r;break;case 2:o=-r,l=-s;break;default:o=-s,l=r}return l+=0,0===o&&(o=t.copysign(o,i)),{s:o,c:l}},t.sincosde=function(i,e){var a,n,r,s,o,l,h;switch(a=i%360,r=Math.round(a/90),n=(a=t.AngRound(a-90*r+e))*this.degree,s=Math.sin(n),o=Math.cos(n),45===Math.abs(a)?(o=Math.sqrt(.5),s=t.copysign(o,n)):30===Math.abs(a)&&(o=Math.sqrt(.75),s=t.copysign(.5,n)),3&r){case 0:l=s,h=o;break;case 1:l=o,h=-s;break;case 2:l=-s,h=-o;break;default:l=-o,h=s}return h+=0,0===l&&(l=t.copysign(l,i+e)),{s:l,c:h}},t.atan2d=function(i,e){var a,n=0;switch(Math.abs(i)>Math.abs(e)&&([i,e]=[e,i],n=2),t.copysign(1,e)<0&&(e=-e,++n),a=Math.atan2(i,e)/this.degree,n){case 1:a=t.copysign(180,i)-a;break;case 2:a=90-a;break;case 3:a=-90+a}return a}}(pn.Math),function(t,i){t.Accumulator=function(t){this.Set(t)},t.Accumulator.prototype.Set=function(i){i||(i=0),i.constructor===t.Accumulator?(this._s=i._s,this._t=i._t):(this._s=i,this._t=0)},t.Accumulator.prototype.Add=function(t){var e=i.sum(t,this._t),a=i.sum(e.s,this._s);e=e.t,this._s=a.s,this._t=a.t,0===this._s?this._s=e:this._t+=e},t.Accumulator.prototype.Sum=function(i){var e;return i?((e=new t.Accumulator(this)).Add(i),e._s):this._s},t.Accumulator.prototype.Negate=function(){this._s*=-1,this._t*=-1},t.Accumulator.prototype.Remainder=function(t){this._s=i.remainder(this._s,t),this.Add(0)}}(pn.Accumulator,pn.Math),pn.Geodesic={},pn.GeodesicLine={},pn.PolygonArea={},function(t,i,e,a,n){var r,s,o,l,h,p,c,u,_,f,m,d=20+a.digits+10,g=a.epsilon,y=200*g,v=Math.sqrt(g),A=g,E=1e3*v;t.tiny_=Math.sqrt(Number.MIN_VALUE/Number.EPSILON),t.nC1_=6,t.nC1p_=6,t.nC2_=6,t.nC3_=6,t.nC4_=6,r=t.nC3_*(t.nC3_-1)/2,s=t.nC4_*(t.nC4_+1)/2,t.CAP_C1=1,t.CAP_C1p=2,t.CAP_C2=4,t.CAP_C3=8,t.CAP_C4=16,t.NONE=0,t.ARC=64,t.LATITUDE=128,t.LONGITUDE=256|t.CAP_C3,t.AZIMUTH=512,t.DISTANCE=1024|t.CAP_C1,t.STANDARD=t.LATITUDE|t.LONGITUDE|t.AZIMUTH|t.DISTANCE,t.DISTANCE_IN=2048|t.CAP_C1|t.CAP_C1p,t.REDUCEDLENGTH=4096|t.CAP_C1|t.CAP_C2,t.GEODESICSCALE=8192|t.CAP_C1|t.CAP_C2,t.AREA=16384|t.CAP_C4,t.ALL=32671,t.LONG_UNROLL=32768,t.OUT_MASK=32640|t.LONG_UNROLL,t.SinCosSeries=function(t,i,e,a){var n=a.length,r=n-(t?1:0),s=2*(e-i)*(e+i),o=1&r?a[--n]:0,l=0;for(r=Math.floor(r/2);r--;)o=s*(l=s*o-l+a[--n])-o+a[--n];return t?2*i*e*o:e*(o-l)},o=function(t,i){var e,n,r,s,o,l,h,p,c,u,_,f,m=a.sq(t),d=a.sq(i),g=(m+d-1)/6;return 0===d&&g<=0?e=0:(l=g,(o=(n=m*d/4)*(n+2*(s=g*(r=a.sq(g)))))>=0?(h=n+s,h+=h<0?-Math.sqrt(o):Math.sqrt(o),l+=(p=a.cbrt(h))+(0!==p?r/p:0)):(c=Math.atan2(Math.sqrt(-o),-(n+s)),l+=2*g*Math.cos(c/3)),u=Math.sqrt(a.sq(l)+d),f=((_=l<0?d/(u-l):l+u)-d)/(2*u),e=_/(Math.sqrt(_+a.sq(f))+f)),e},l=[1,4,64,0,256],t.A1m1f=function(t){var i=Math.floor(3);return(a.polyval(i,l,0,a.sq(t))/l[i+1]+t)/(1-t)},h=[-1,6,-16,32,-9,64,-128,2048,9,-16,768,3,-5,512,-7,1280,-7,2048],t.C1f=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC1_;++n)r=Math.floor((t.nC1_-n)/2),e[n]=o*a.polyval(r,h,l,s)/h[l+r+1],l+=r+2,o*=i},p=[205,-432,768,1536,4005,-4736,3840,12288,-225,116,384,-7173,2695,7680,3467,7680,38081,61440],t.C1pf=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC1p_;++n)r=Math.floor((t.nC1p_-n)/2),e[n]=o*a.polyval(r,p,l,s)/p[l+r+1],l+=r+2,o*=i},c=[-11,-28,-192,0,256],t.A2m1f=function(t){var i=Math.floor(3);return(a.polyval(i,c,0,a.sq(t))/c[i+1]-t)/(1+t)},u=[1,2,16,32,35,64,384,2048,15,80,768,7,35,512,63,1280,77,2048],t.C2f=function(i,e){var n,r,s=a.sq(i),o=i,l=0;for(n=1;n<=t.nC2_;++n)r=Math.floor((t.nC2_-n)/2),e[n]=o*a.polyval(r,u,l,s)/u[l+r+1],l+=r+2,o*=i},t.Geodesic=function(t,i){if(this.a=t,this.f=i,this._f1=1-this.f,this._e2=this.f*(2-this.f),this._ep2=this._e2/a.sq(this._f1),this._n=this.f/(2-this.f),this._b=this.a*this._f1,this._c2=(a.sq(this.a)+a.sq(this._b)*(0===this._e2?1:(this._e2>0?a.atanh(Math.sqrt(this._e2)):Math.atan(Math.sqrt(-this._e2)))/Math.sqrt(Math.abs(this._e2))))/2,this._etol2=.1*v/Math.sqrt(Math.max(.001,Math.abs(this.f))*Math.min(1,1-this.f/2)/2),!(isFinite(this.a)&&this.a>0))throw new Error("Equatorial radius is not positive");if(!(isFinite(this._b)&&this._b>0))throw new Error("Polar semi-axis is not positive");this._A3x=new Array(6),this._C3x=new Array(r),this._C4x=new Array(s),this.A3coeff(),this.C3coeff(),this.C4coeff()},_=[-3,128,-2,-3,64,-1,-3,-1,16,3,-1,-2,8,1,-1,2,1,1],t.Geodesic.prototype.A3coeff=function(){var t,i,e=0,n=0;for(t=5;t>=0;--t)i=Math.min(6-t-1,t),this._A3x[n++]=a.polyval(i,_,e,this._n)/_[e+i+1],e+=i+2},f=[3,128,2,5,128,-1,3,3,64,-1,0,1,8,-1,1,4,5,256,1,3,128,-3,-2,3,64,1,-3,2,32,7,512,-10,9,384,5,-9,5,192,7,512,-14,7,512,21,2560],t.Geodesic.prototype.C3coeff=function(){var i,e,n,r=0,s=0;for(i=1;i<t.nC3_;++i)for(e=t.nC3_-1;e>=i;--e)n=Math.min(t.nC3_-e-1,e),this._C3x[s++]=a.polyval(n,f,r,this._n)/f[r+n+1],r+=n+2},m=[97,15015,1088,156,45045,-224,-4784,1573,45045,-10656,14144,-4576,-858,45045,64,624,-4576,6864,-3003,15015,100,208,572,3432,-12012,30030,45045,1,9009,-2944,468,135135,5792,1040,-1287,135135,5952,-11648,9152,-2574,135135,-64,-624,4576,-6864,3003,135135,8,10725,1856,-936,225225,-8448,4992,-1144,225225,-1440,4160,-4576,1716,225225,-136,63063,1024,-208,105105,3584,-3328,1144,315315,-128,135135,-2560,832,405405,128,99099],t.Geodesic.prototype.C4coeff=function(){var i,e,n,r=0,s=0;for(i=0;i<t.nC4_;++i)for(e=t.nC4_-1;e>=i;--e)n=t.nC4_-e-1,this._C4x[s++]=a.polyval(n,m,r,this._n)/m[r+n+1],r+=n+2},t.Geodesic.prototype.A3f=function(t){return a.polyval(5,this._A3x,0,t)},t.Geodesic.prototype.C3f=function(i,e){var n,r,s=1,o=0;for(n=1;n<t.nC3_;++n)r=t.nC3_-n-1,s*=i,e[n]=s*a.polyval(r,this._C3x,o,i),o+=r+1},t.Geodesic.prototype.C4f=function(i,e){var n,r,s=1,o=0;for(n=0;n<t.nC4_;++n)r=t.nC4_-n-1,e[n]=s*a.polyval(r,this._C4x,o,i),o+=r+1,s*=i},t.Geodesic.prototype.Lengths=function(i,e,a,n,r,s,o,l,h,p,c,u,_){var f,m,d,g,y={},v=0,A=0,E=0,S=0;if((c&=t.OUT_MASK)&(t.DISTANCE|t.REDUCEDLENGTH|t.GEODESICSCALE)&&(E=t.A1m1f(i),t.C1f(i,u),c&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(S=t.A2m1f(i),t.C2f(i,_),v=E-S,S=1+S),E=1+E),c&t.DISTANCE)f=t.SinCosSeries(!0,s,o,u)-t.SinCosSeries(!0,a,n,u),y.s12b=E*(e+f),c&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(A=v*e+(E*f-S*(t.SinCosSeries(!0,s,o,_)-t.SinCosSeries(!0,a,n,_))));else if(c&(t.REDUCEDLENGTH|t.GEODESICSCALE)){for(m=1;m<=t.nC2_;++m)_[m]=E*u[m]-S*_[m];A=v*e+(t.SinCosSeries(!0,s,o,_)-t.SinCosSeries(!0,a,n,_))}return c&t.REDUCEDLENGTH?(y.m0=v,y.m12b=l*(n*s)-r*(a*o)-n*o*A):y.m12b=NaN,c&t.GEODESICSCALE&&(d=n*o+a*s,g=this._ep2*(h-p)*(h+p)/(r+l),y.M12=d+(g*s-o*A)*a/r,y.M21=d-(g*a-n*A)*s/l),y},t.Geodesic.prototype.InverseStart=function(i,e,n,r,s,l,h,p,c,u,_){var f,m,d,g,v,A,S,C,M,w,x,I,b,k,N,G,R,P,T,O,D={},L=r*e-s*i,U=s*e+r*i;return D.sig12=-1,f=r*e,f+=s*i,(m=U>=0&&L<.5&&s*h<.5)?(g=a.sq(i+r),g/=g+a.sq(e+s),D.dnm=Math.sqrt(1+this._ep2*g),d=h/(this._f1*D.dnm),v=Math.sin(d),A=Math.cos(d)):(v=p,A=c),D.salp1=s*v,D.calp1=A>=0?L+s*i*a.sq(v)/(1+A):f-s*i*a.sq(v)/(1-A),C=a.hypot(D.salp1,D.calp1),M=i*r+e*s*A,m&&C<this._etol2?(D.salp2=e*v,D.calp2=L-e*r*(A>=0?a.sq(v)/(1+A):1-A),S=a.hypot(D.salp2,D.calp2),D.salp2/=S,D.calp2/=S,D.sig12=Math.atan2(C,M)):Math.abs(this._n)>.1||M>=0||C>=6*Math.abs(this._n)*Math.PI*a.sq(e)||(O=Math.atan2(-p,-c),this.f>=0?(k=(b=a.sq(i)*this._ep2)/(2*(1+Math.sqrt(1+b))+b),w=O/(I=this.f*e*this.A3f(k)*Math.PI),x=f/(I*e)):(N=s*e-r*i,G=Math.atan2(f,N),x=h/(I=((w=(R=this.Lengths(this._n,Math.PI+G,i,-e,n,r,s,l,e,s,t.REDUCEDLENGTH,u,_)).m12b/(e*s*R.m0*Math.PI)-1)<-.01?f/w:-this.f*a.sq(e)*Math.PI)/e)),x>-y&&w>-1-E?this.f>=0?(D.salp1=Math.min(1,-w),D.calp1=-Math.sqrt(1-a.sq(D.salp1))):(D.calp1=Math.max(w>-y?0:-1,w),D.salp1=Math.sqrt(1-a.sq(D.calp1))):(P=o(w,x),T=I*(this.f>=0?-w*P/(1+P):-x*(1+P)/P),v=Math.sin(T),A=-Math.cos(T),D.salp1=s*v,D.calp1=f-s*i*a.sq(v)/(1-A))),D.salp1<=0?(D.salp1=1,D.calp1=0):(S=a.hypot(D.salp1,D.calp1),D.salp1/=S,D.calp1/=S),D},t.Geodesic.prototype.Lambda12=function(i,e,n,r,s,o,l,h,p,c,u,_,f,m){var d,g,y,v,A,E,S,C,M,w,x,I,b,k={};return 0===i&&0===h&&(h=-t.tiny_),g=l*e,y=a.hypot(h,l*i),k.ssig1=i,v=g*i,k.csig1=A=h*e,d=a.hypot(k.ssig1,k.csig1),k.ssig1/=d,k.csig1/=d,k.salp2=s!==e?g/s:l,k.calp2=s!==e||Math.abs(r)!==-i?Math.sqrt(a.sq(h*e)+(e<-i?(s-e)*(e+s):(i-r)*(i+r)))/s:Math.abs(h),k.ssig2=r,E=g*r,k.csig2=S=k.calp2*s,d=a.hypot(k.ssig2,k.csig2),k.ssig2/=d,k.csig2/=d,k.sig12=Math.atan2(Math.max(0,k.csig1*k.ssig2-k.ssig1*k.csig2),k.csig1*k.csig2+k.ssig1*k.ssig2),C=Math.max(0,A*E-v*S),M=A*S+v*E,x=Math.atan2(C*c-M*p,M*c+C*p),I=a.sq(y)*this._ep2,k.eps=I/(2*(1+Math.sqrt(1+I))+I),this.C3f(k.eps,m),w=t.SinCosSeries(!0,k.ssig2,k.csig2,m)-t.SinCosSeries(!0,k.ssig1,k.csig1,m),k.domg12=-this.f*this.A3f(k.eps)*g*(k.sig12+w),k.lam12=x+k.domg12,u&&(0===k.calp2?k.dlam12=-2*this._f1*n/i:(b=this.Lengths(k.eps,k.sig12,k.ssig1,k.csig1,n,k.ssig2,k.csig2,o,e,s,t.REDUCEDLENGTH,_,f),k.dlam12=b.m12b,k.dlam12*=this._f1/(k.calp2*s))),k},t.Geodesic.prototype.Inverse=function(i,e,n,r,s){var o,l;return s||(s=t.STANDARD),s===t.LONG_UNROLL&&(s|=t.STANDARD),s&=t.OUT_MASK,l=(o=this.InverseInt(i,e,n,r,s)).vals,s&t.AZIMUTH&&(l.azi1=a.atan2d(o.salp1,o.calp1),l.azi2=a.atan2d(o.salp2,o.calp2)),l},t.Geodesic.prototype.InverseInt=function(i,e,n,r,s){var o,l,h,p,c,u,_,f,m,y,E,S,C,M,w,x,I,b,k,N,G,R,P,T,O,D,L,U,q,j,z,W,B,H,V,F,K,J,X,Z,Y,$,Q,tt,it,et,at,nt,rt,st,ot,lt,ht,pt,ct,ut,_t,ft,mt,dt,gt,yt,vt,At,Et,St={};if(St.lat1=i=a.LatFix(i),St.lat2=n=a.LatFix(n),i=a.AngRound(i),n=a.AngRound(n),l=(o=a.AngDiff(e,r)).e,o=o.d,s&t.LONG_UNROLL?(St.lon1=e,St.lon2=e+o+l):(St.lon1=a.AngNormalize(e),St.lon2=a.AngNormalize(r)),l*=h=a.copysign(1,o),w=(o*=h)*a.degree,x=(p=a.sincosde(o,l)).s,I=p.c,l=180-o-l,(c=Math.abs(i)<Math.abs(n)||isNaN(n)?-1:1)<0&&(h*=-1,[n,i]=[i,n]),i*=u=a.copysign(1,-i),n*=u,p=a.sincosd(i),_=this._f1*p.s,f=p.c,_/=p=a.hypot(_,f),f/=p,f=Math.max(t.tiny_,f),p=a.sincosd(n),m=this._f1*p.s,y=p.c,m/=p=a.hypot(m,y),y/=p,y=Math.max(t.tiny_,y),f<-_?y===f&&(m=a.copysign(_,m)):Math.abs(m)===-_&&(y=f),C=Math.sqrt(1+this._ep2*a.sq(_)),M=Math.sqrt(1+this._ep2*a.sq(m)),P=new Array(t.nC1_+1),T=new Array(t.nC2_+1),O=new Array(t.nC3_),(D=-90===i||0===x)&&(N=x,R=0,U=_,q=(k=I)*f,j=m,z=(G=1)*y,b=Math.atan2(Math.max(0,q*j-U*z),q*z+U*j),E=(L=this.Lengths(this._n,b,U,q,C,j,z,M,f,y,s|t.DISTANCE|t.REDUCEDLENGTH,P,T)).s12b,S=L.m12b,s&t.GEODESICSCALE&&(St.M12=L.M12,St.M21=L.M21),b<v||S>=0?((b<3*t.tiny_||b<g&&(E<0||S<0))&&(b=S=E=0),S*=this._b,E*=this._b,St.a12=b/a.degree):D=!1),_t=2,!D&&0===_&&(this.f<=0||l>=180*this.f))k=G=0,N=R=1,E=this.a*w,b=B=w/this._f1,S=this._b*Math.sin(b),s&t.GEODESICSCALE&&(St.M12=St.M21=Math.cos(b)),St.a12=o/this._f1;else if(!D)if(b=(L=this.InverseStart(_,f,C,m,y,M,w,x,I,P,T)).sig12,N=L.salp1,k=L.calp1,b>=0)R=L.salp2,G=L.calp2,H=L.dnm,E=b*this._b*H,S=a.sq(H)*this._b*Math.sin(b/H),s&t.GEODESICSCALE&&(St.M12=St.M21=Math.cos(b/H)),St.a12=b/a.degree,B=w/(this._f1*H);else{for(V=0,F=t.tiny_,K=1,J=t.tiny_,X=-1,Z=!1,Y=!1;$=(L=this.Lambda12(_,f,C,m,y,M,N,k,x,I,V<20,P,T,O)).lam12,R=L.salp2,G=L.calp2,b=L.sig12,U=L.ssig1,q=L.csig1,j=L.ssig2,z=L.csig2,W=L.eps,mt=L.domg12,Q=L.dlam12,!Y&&Math.abs($)>=(Z?8:1)*g&&V!=d;++V)$>0&&(V<20||k/N>X/J)?(J=N,X=k):$<0&&(V<20||k/N<K/F)&&(F=N,K=k),V<20&&Q>0&&(tt=-$/Q,Math.abs(tt)<Math.PI&&(it=Math.sin(tt),(at=N*(et=Math.cos(tt))+k*it)>0))?(k=k*et-N*it,N=at,N/=p=a.hypot(N,k),k/=p,Z=Math.abs($)<=16*g):(N=(F+J)/2,k=(K+X)/2,N/=p=a.hypot(N,k),k/=p,Z=!1,Y=Math.abs(F-N)+(K-k)<A||Math.abs(N-J)+(k-X)<A);nt=s|(s&(t.REDUCEDLENGTH|t.GEODESICSCALE)?t.DISTANCE:t.NONE),E=(L=this.Lengths(W,b,U,q,C,j,z,M,f,y,nt,P,T)).s12b,S=L.m12b,s&t.GEODESICSCALE&&(St.M12=L.M12,St.M21=L.M21),S*=this._b,E*=this._b,St.a12=b/a.degree,s&t.AREA&&(At=Math.sin(mt),_t=x*(Et=Math.cos(mt))-I*At,ft=I*Et+x*At)}return s&t.DISTANCE&&(St.s12=0+E),s&t.REDUCEDLENGTH&&(St.m12=0+S),s&t.AREA&&(rt=N*f,0!==(st=a.hypot(k,N*_))&&0!==rt?(U=_,q=k*f,j=m,z=G*y,W=(lt=a.sq(st)*this._ep2)/(2*(1+Math.sqrt(1+lt))+lt),ht=a.sq(this.a)*st*rt*this._e2,U/=p=a.hypot(U,q),q/=p,j/=p=a.hypot(j,z),z/=p,pt=new Array(t.nC4_),this.C4f(W,pt),ct=t.SinCosSeries(!1,U,q,pt),ut=t.SinCosSeries(!1,j,z,pt),St.S12=ht*(ut-ct)):St.S12=0,D||2!=_t||(_t=Math.sin(B),ft=Math.cos(B)),!D&&ft>-.7071&&m-_<1.75?(mt=1+ft,dt=1+f,gt=1+y,ot=2*Math.atan2(_t*(_*gt+m*dt),mt*(_*m+dt*gt))):(vt=G*k+R*N,0===(yt=R*k-G*N)&&vt<0&&(yt=t.tiny_*k,vt=-1),ot=Math.atan2(yt,vt)),St.S12+=this._c2*ot,St.S12*=c*h*u,St.S12+=0),c<0&&([R,N]=[N,R],[G,k]=[k,G],s&t.GEODESICSCALE&&([St.M21,St.M12]=[St.M12,St.M21])),{vals:St,salp1:N*=c*h,calp1:k*=c*u,salp2:R*=c*h,calp2:G*=c*u}},t.Geodesic.prototype.GenDirect=function(e,a,n,r,s,o){return o?o===t.LONG_UNROLL&&(o|=t.STANDARD):o=t.STANDARD,r||(o|=t.DISTANCE_IN),new i.GeodesicLine(this,e,a,n,o).GenPosition(r,s,o)},t.Geodesic.prototype.Direct=function(t,i,e,a,n){return this.GenDirect(t,i,e,!1,a,n)},t.Geodesic.prototype.ArcDirect=function(t,i,e,a,n){return this.GenDirect(t,i,e,!0,a,n)},t.Geodesic.prototype.Line=function(t,e,a,n){return new i.GeodesicLine(this,t,e,a,n)},t.Geodesic.prototype.DirectLine=function(t,i,e,a,n){return this.GenDirectLine(t,i,e,!1,a,n)},t.Geodesic.prototype.ArcDirectLine=function(t,i,e,a,n){return this.GenDirectLine(t,i,e,!0,a,n)},t.Geodesic.prototype.GenDirectLine=function(e,a,n,r,s,o){var l;return o||(o=t.STANDARD|t.DISTANCE_IN),r||(o|=t.DISTANCE_IN),(l=new i.GeodesicLine(this,e,a,n,o)).GenSetDistance(r,s),l},t.Geodesic.prototype.InverseLine=function(e,n,r,s,o){var l,h,p;return o||(o=t.STANDARD|t.DISTANCE_IN),l=this.InverseInt(e,n,r,s,t.ARC),p=a.atan2d(l.salp1,l.calp1),o&t.OUT_MASK&t.DISTANCE_IN&&(o|=t.DISTANCE),(h=new i.GeodesicLine(this,e,n,p,o,l.salp1,l.calp1)).SetArc(l.vals.a12),h},t.Geodesic.prototype.Polygon=function(t){return new e.PolygonArea(this,t)},t.WGS84=new t.Geodesic(n.WGS84.a,n.WGS84.f)}(pn.Geodesic,pn.GeodesicLine,pn.PolygonArea,pn.Math,pn.Constants),function(t,i,e){i.GeodesicLine=function(i,a,n,r,s,o,l){var h,p,c,u,_,f;s||(s=t.STANDARD|t.DISTANCE_IN),this.a=i.a,this.f=i.f,this._b=i._b,this._c2=i._c2,this._f1=i._f1,this.caps=s|t.LATITUDE|t.AZIMUTH|t.LONG_UNROLL,this.lat1=e.LatFix(a),this.lon1=n,void 0===o||void 0===l?(this.azi1=e.AngNormalize(r),h=e.sincosd(e.AngRound(this.azi1)),this.salp1=h.s,this.calp1=h.c):(this.azi1=r,this.salp1=o,this.calp1=l),h=e.sincosd(e.AngRound(this.lat1)),c=this._f1*h.s,p=h.c,c/=h=e.hypot(c,p),p/=h,p=Math.max(t.tiny_,p),this._dn1=Math.sqrt(1+i._ep2*e.sq(c)),this._salp0=this.salp1*p,this._calp0=e.hypot(this.calp1,this.salp1*c),this._ssig1=c,this._somg1=this._salp0*c,this._csig1=this._comg1=0!==c||0!==this.calp1?p*this.calp1:1,h=e.hypot(this._ssig1,this._csig1),this._ssig1/=h,this._csig1/=h,this._k2=e.sq(this._calp0)*i._ep2,u=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2),this.caps&t.CAP_C1&&(this._A1m1=t.A1m1f(u),this._C1a=new Array(t.nC1_+1),t.C1f(u,this._C1a),this._B11=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C1a),_=Math.sin(this._B11),f=Math.cos(this._B11),this._stau1=this._ssig1*f+this._csig1*_,this._ctau1=this._csig1*f-this._ssig1*_),this.caps&t.CAP_C1p&&(this._C1pa=new Array(t.nC1p_+1),t.C1pf(u,this._C1pa)),this.caps&t.CAP_C2&&(this._A2m1=t.A2m1f(u),this._C2a=new Array(t.nC2_+1),t.C2f(u,this._C2a),this._B21=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C2a)),this.caps&t.CAP_C3&&(this._C3a=new Array(t.nC3_),i.C3f(u,this._C3a),this._A3c=-this.f*this._salp0*i.A3f(u),this._B31=t.SinCosSeries(!0,this._ssig1,this._csig1,this._C3a)),this.caps&t.CAP_C4&&(this._C4a=new Array(t.nC4_),i.C4f(u,this._C4a),this._A4=e.sq(this.a)*this._calp0*this._salp0*i._e2,this._B41=t.SinCosSeries(!1,this._ssig1,this._csig1,this._C4a)),this.a13=this.s13=NaN},i.GeodesicLine.prototype.GenPosition=function(i,a,n){var r,s,o,l,h,p,c,u,_,f,m,d,g,y,v,A,E,S,C,M,w,x,I,b,k,N,G={};return n?n===t.LONG_UNROLL&&(n|=t.STANDARD):n=t.STANDARD,n&=this.caps&t.OUT_MASK,G.lat1=this.lat1,G.azi1=this.azi1,G.lon1=n&t.LONG_UNROLL?this.lon1:e.AngNormalize(this.lon1),i?G.a12=a:G.s12=a,i||this.caps&t.DISTANCE_IN&t.OUT_MASK?(l=0,h=0,i?(r=a*e.degree,s=(I=e.sincosd(a)).s,o=I.c):(u=a/(this._b*(1+this._A1m1)),_=Math.sin(u),f=Math.cos(u),r=u-((l=-t.SinCosSeries(!0,this._stau1*f+this._ctau1*_,this._ctau1*f-this._stau1*_,this._C1pa))-this._B11),s=Math.sin(r),o=Math.cos(r),Math.abs(this.f)>.01&&(p=this._ssig1*o+this._csig1*s,c=this._csig1*o-this._ssig1*s,l=t.SinCosSeries(!0,p,c,this._C1a),r-=((1+this._A1m1)*(r+(l-this._B11))-a/this._b)/Math.sqrt(1+this._k2*e.sq(p)),s=Math.sin(r),o=Math.cos(r))),p=this._ssig1*o+this._csig1*s,c=this._csig1*o-this._ssig1*s,C=Math.sqrt(1+this._k2*e.sq(p)),n&(t.DISTANCE|t.REDUCEDLENGTH|t.GEODESICSCALE)&&((i||Math.abs(this.f)>.01)&&(l=t.SinCosSeries(!0,p,c,this._C1a)),h=(1+this._A1m1)*(l-this._B11)),g=this._calp0*p,0===(y=e.hypot(this._salp0,this._calp0*c))&&(y=c=t.tiny_),E=this._salp0,S=this._calp0*c,i&&n&t.DISTANCE&&(G.s12=this._b*((1+this._A1m1)*r+h)),n&t.LONGITUDE&&(v=this._salp0*p,A=c,d=e.copysign(1,this._salp0),m=((n&t.LONG_UNROLL?d*(r-(Math.atan2(p,c)-Math.atan2(this._ssig1,this._csig1))+(Math.atan2(d*v,A)-Math.atan2(d*this._somg1,this._comg1))):Math.atan2(v*this._comg1-A*this._somg1,A*this._comg1+v*this._somg1))+this._A3c*(r+(t.SinCosSeries(!0,p,c,this._C3a)-this._B31)))/e.degree,G.lon2=n&t.LONG_UNROLL?this.lon1+m:e.AngNormalize(e.AngNormalize(this.lon1)+e.AngNormalize(m))),n&t.LATITUDE&&(G.lat2=e.atan2d(g,this._f1*y)),n&t.AZIMUTH&&(G.azi2=e.atan2d(E,S)),n&(t.REDUCEDLENGTH|t.GEODESICSCALE)&&(M=t.SinCosSeries(!0,p,c,this._C2a),w=(1+this._A2m1)*(M-this._B21),x=(this._A1m1-this._A2m1)*r+(h-w),n&t.REDUCEDLENGTH&&(G.m12=this._b*(C*(this._csig1*p)-this._dn1*(this._ssig1*c)-this._csig1*c*x)),n&t.GEODESICSCALE&&(I=this._k2*(p-this._ssig1)*(p+this._ssig1)/(this._dn1+C),G.M12=o+(I*p-c*x)*this._ssig1/this._dn1,G.M21=o-(I*this._ssig1-this._csig1*x)*p/C)),n&t.AREA&&(b=t.SinCosSeries(!1,p,c,this._C4a),0===this._calp0||0===this._salp0?(k=E*this.calp1-S*this.salp1,N=S*this.calp1+E*this.salp1):(k=this._calp0*this._salp0*(o<=0?this._csig1*(1-o)+s*this._ssig1:s*(this._csig1*s/(1+o)+this._ssig1)),N=e.sq(this._salp0)+e.sq(this._calp0)*this._csig1*c),G.S12=this._c2*Math.atan2(k,N)+this._A4*(b-this._B41)),i||(G.a12=r/e.degree),G):(G.a12=NaN,G)},i.GeodesicLine.prototype.Position=function(t,i){return this.GenPosition(!1,t,i)},i.GeodesicLine.prototype.ArcPosition=function(t,i){return this.GenPosition(!0,t,i)},i.GeodesicLine.prototype.GenSetDistance=function(t,i){t?this.SetArc(i):this.SetDistance(i)},i.GeodesicLine.prototype.SetDistance=function(i){var e;this.s13=i,e=this.GenPosition(!1,this.s13,t.ARC),this.a13=0+e.a12},i.GeodesicLine.prototype.SetArc=function(i){var e;this.a13=i,e=this.GenPosition(!0,this.a13,t.DISTANCE),this.s13=0+e.s12}}(pn.Geodesic,pn.GeodesicLine,pn.Math),function(t,i,e,a){var n,r,s,o;n=function(t,i){var a=e.AngDiff(t,i).d;return t=e.AngNormalize(t),i=e.AngNormalize(i),a>0&&(t<0&&i>=0||t>0&&0===i)?1:a<0&&t>=0&&i<0?-1:0},r=function(t,i){return(0<=(i%=720)&&i<360||i<-360?0:1)-(0<=(t%=720)&&t<360||t<-360?0:1)},s=function(t,i,e,a,n){return t.Remainder(i),1&e&&t.Add((t.Sum()<0?1:-1)*i/2),a||t.Negate(),n?t.Sum()>i/2?t.Add(-i):t.Sum()<=-i/2&&t.Add(+i):t.Sum()>=i?t.Add(-i):t.Sum()<0&&t.Add(+i),0+t.Sum()},o=function(t,i,a,n,r){return t=e.remainder(t,i),1&a&&(t+=(t<0?1:-1)*i/2),n||(t*=-1),r?t>i/2?t-=i:t<=-i/2&&(t+=i):t>=i?t-=i:t<0&&(t+=i),0+t},t.PolygonArea=function(t,e){this._geod=t,this.a=this._geod.a,this.f=this._geod.f,this._area0=4*Math.PI*t._c2,this.polyline=e||!1,this._mask=i.LATITUDE|i.LONGITUDE|i.DISTANCE|(this.polyline?i.NONE:i.AREA|i.LONG_UNROLL),this.polyline||(this._areasum=new a.Accumulator(0)),this._perimetersum=new a.Accumulator(0),this.Clear()},t.PolygonArea.prototype.Clear=function(){this.num=0,this._crossings=0,this.polyline||this._areasum.Set(0),this._perimetersum.Set(0),this._lat0=this._lon0=this.lat=this.lon=NaN},t.PolygonArea.prototype.AddPoint=function(t,i){var e;0===this.num?(this._lat0=this.lat=t,this._lon0=this.lon=i):(e=this._geod.Inverse(this.lat,this.lon,t,i,this._mask),this._perimetersum.Add(e.s12),this.polyline||(this._areasum.Add(e.S12),this._crossings+=n(this.lon,i)),this.lat=t,this.lon=i),++this.num},t.PolygonArea.prototype.AddEdge=function(t,i){var e;this.num&&(e=this._geod.Direct(this.lat,this.lon,t,i,this._mask),this._perimetersum.Add(i),this.polyline||(this._areasum.Add(e.S12),this._crossings+=r(this.lon,e.lon2)),this.lat=e.lat2,this.lon=e.lon2),++this.num},t.PolygonArea.prototype.Compute=function(t,i){var e,r,o={number:this.num};return this.num<2?(o.perimeter=0,this.polyline||(o.area=0),o):this.polyline?(o.perimeter=this._perimetersum.Sum(),o):(e=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,this._mask),o.perimeter=this._perimetersum.Sum(e.s12),(r=new a.Accumulator(this._areasum)).Add(e.S12),o.area=s(r,this._area0,this._crossings+n(this.lon,this._lon0),t,i),o)},t.PolygonArea.prototype.TestPoint=function(t,i,e,a){var r,s,l,h,p={number:this.num+1};if(0===this.num)return p.perimeter=0,this.polyline||(p.area=0),p;for(p.perimeter=this._perimetersum.Sum(),s=this.polyline?0:this._areasum.Sum(),l=this._crossings,h=0;h<(this.polyline?1:2);++h)r=this._geod.Inverse(0===h?this.lat:t,0===h?this.lon:i,0!==h?this._lat0:t,0!==h?this._lon0:i,this._mask),p.perimeter+=r.s12,this.polyline||(s+=r.S12,l+=n(0===h?this.lon:i,0!==h?this._lon0:i));return this.polyline||(p.area=o(s,this._area0,l,e,a)),p},t.PolygonArea.prototype.TestEdge=function(t,i,e,a){var s,l,h,p={number:this.num?this.num+1:0};return 0===this.num||(p.perimeter=this._perimetersum.Sum()+i,this.polyline||(l=this._areasum.Sum(),h=this._crossings,l+=(s=this._geod.Direct(this.lat,this.lon,t,i,this._mask)).S12,h+=r(this.lon,s.lon2),h+=n(s.lon2,this._lon0),s=this._geod.Inverse(s.lat2,s.lon2,this._lat0,this._lon0,this._mask),p.perimeter+=s.s12,l+=s.S12,p.area=o(l,this._area0,h,e,a))),p}}(pn.PolygonArea,pn.Geodesic,pn.Math,pn.Accumulator),hn=pn,ln.exports?ln.exports=hn:window.geodesic=hn;var un=cn.exports,_n=i({__proto__:null,default:on(un)},[un]);const fn=globalThis;"undefined"==typeof window&&(fn.window=fn.window||{},fn.window.document||(fn.window.document={}));const mn=fn.window.modules=fn.window.modules||{};mn.mproj=Va,mn.flatbush=Ja,mn.kdbush=tn,mn["geographiclib-geodesic"]=_n;let dn=Promise.resolve();self.onmessage=i=>{const e=i.data;e&&"run"===e.type&&(dn=dn.then(()=>async function(i){try{const{id:e,cmd:a,commands:n,packed:r,inputFiles:s}=i;let o;if(n&&n.length>0)o=n;else{if("string"!=typeof a)throw new Error("worker: request missing both cmd and commands");o=t.internal.parseCommands(a)}if(s)for(const t of o)t.options&&(t.options.input=s);const l=(await t.internal.restoreSessionData(r)).datasets;if(!l||0===l.length)throw new Error("worker: packed payload contained no datasets");const h=new t.internal.Job;h.catalog.addDataset(l[0]);const p=(await new Promise((i,e)=>{t.internal.runParsedCommands(o,h,(t,a)=>{t?e(t):i(a)})})).catalog.getDefaultTargets(),c=p.length>0?p[0].dataset:l[0],u=await t.internal.exportDatasetsToPack([c],{compact:!1});self.postMessage({id:e,type:"ok",packed:u})}catch(t){const e=t?.message??String(t);self.postMessage({id:i.id,type:"error",message:e})}}(e)).catch(()=>{}))}}(mapshaper);