1/** 2 * Ephemeris namespace 3 */ 4$ns = ephemeris = {}; 5 6$ns.copy = function (target /*, source ... */) { 7 if (target) { 8 for (var i = arguments.length - 1; i > 0; i --) { 9 var source = arguments [i]; 10 if (source && source.hasOwnProperty) { 11 for (var key in source) { 12 if (source.hasOwnProperty (key)) { 13 target [key] = source [key]; 14 } 15 } 16 } 17 } 18 } 19 return target; 20}; 21 22$ns.is = function (object, type) { 23 var typeName = Object.prototype.toString.call (object).slice (8, -1); 24 return ( 25 object !== undefined && 26 object !== null && 27 type.name === typeName 28 ); 29}; 30 31$ns.make = function (context, path) { 32 if ($is (context, String)) { 33 path = context; 34 context = document; 35 } 36 37 if (path) { 38 var paths = path.split ('.'); 39 var key = paths.shift (); 40 context [key] = context [key] || {}; 41 context = $make (context [key], paths.join ('.')); 42 } 43 return context; 44}; 45 46$ns.define = function (context, path, object) { 47 $copy ($make (context, path), object); 48}; 49 50$ns.assert = function (variable, value) { 51 if (variable != value) { 52 throw 'Assertion failed: ' + variable + ' != ' + value + '!'; 53 } 54}; 55 56 57$ns = ephemeris.astronomy = {}; 58 59$ns = ephemeris.astronomy.moshier = {}; 60 61 62$ns.constant = { 63 /* Standard epochs. Note Julian epochs (J) are measured in 64 * years of 365.25 days. 65 */ 66 j2000: 2451545.0, /* 2000 January 1.5 */ 67 b1950: 2433282.423, /* 1950 January 0.923 Besselian epoch */ 68 j1900: 2415020.0, /* 1900 January 0, 12h UT */ 69 RTOH: 12.0 / Math.PI, /* Radians to hours, minutes, seconds */ 70 71 72 /* Conversion factors between degrees and radians */ 73 DTR: 1.7453292519943295769e-2, 74 RTD: 5.7295779513082320877e1, 75 RTS: 2.0626480624709635516e5, /* arc seconds per radian */ 76 STR: 4.8481368110953599359e-6, /* radians per arc second */ 77 78 TPI: 2.0 * Math.PI, 79 80 date: {}, /* Input date */ 81 82/* tlong: -71.13, Cambridge, Massachusetts */ // input for kinit 83/* tlat: 42.38, geocentric */ // input for kinit 84/* glat: 42.27, geodetic */ // input for kinit 85 86 /* Parameters for calculation of azimuth and elevation 87 */ 88 attemp: 12.0, /* atmospheric temperature, degrees Centigrade */ // input for kinit 89 atpress: 1010.0, /* atmospheric pressure, millibars */ // input for kinit 90 91 /* If the following number 92 * is nonzero, then the program will return it for delta T 93 * and not calculate anything. 94 */ 95 dtgiven: 0.0, // input for kinit 96 97 /* Distance from observer to center of earth, in earth radii 98 */ 99 trho: 0.9985, 100 flat: 298.257222, 101 height: 0.0, 102 truepos: 0, 103 104 /* Radius of the earth in au 105 Thanks to Min He <[email protected]> for pointing out 106 this needs to be initialized early. */ 107 Rearth: 0.0, // calculated in kinit 108 109 /* Constants used elsewhere. These are DE403 values. */ 110 aearth: 6378137., /* Radius of the earth, in meters. */ 111 au: 1.49597870691e8, /* Astronomical unit, in kilometers. */ 112 emrat: 81.300585, /* Earth/Moon mass ratio. */ 113 Clight: 2.99792458e5, /* Speed of light, km/sec */ 114 Clightaud: 0.0, /* C in au/day */ 115 116 /* approximate motion of right ascension and declination 117 * of object, in radians per day 118 */ 119 dradt: 0.0, 120 ddecdt: 0.0, 121 122 SE: 0.0, /* earth-sun distance */ 123 SO: 0.0, /* object-sun distance */ 124 EO: 0.0, /* object-earth distance */ 125 126 pq: 0.0, /* cosine of sun-object-earth angle */ 127 ep: 0.0, /* -cosine of sun-earth-object angle */ 128 qe: 0.0, /* cosine of earth-sun-object angle */ 129 130 /* correction vector, saved for display */ 131 dp: [], 132 133 /* 134 * Current kepler body 135 */ 136 body: {} 137}; 138 139$ns.julian = {}; 140 141$ns.julian.calc = function (date) { 142 var centuries; 143 var year; 144 var month; 145 var b = 0; 146 var c; 147 var e; 148 149 /* The origin should be chosen to be a century year 150 * that is also a leap year. We pick 4801 B.C. 151 */ 152 year = date.year + 4800; 153 if (date.year < 0) { 154 year += 1; 155 } 156 157 /* The following magic arithmetic calculates a sequence 158 * whose successive terms differ by the correct number of 159 * days per calendar month. It starts at 122 = March; January 160 * and February come after December. 161 */ 162 month = date.month; 163 if (month <= 2) { 164 month += 12; 165 year -= 1; 166 } 167 e = Math.floor ((306 * (month + 1)) / 10); 168 169 // number of centuries 170 centuries = Math.floor (year / 100); 171 172 if (date.year <= 1582) { 173 if (date.year == 1582) { 174 if (date.month < 10) { 175 b = -38; 176 } 177 if (date.month > 10 || date.day >= 15) { 178 // number of century years that are not leap years 179 b = Math.floor ((centuries / 4) - centuries); 180 } 181 } 182 else { b = -38; } //**** additional line to fix the bug ***** 183 } else { 184 b = Math.floor ((centuries / 4) - centuries); 185 } 186 187 // Julian calendar years and leap years 188 c = Math.floor ((36525 * year) / 100); 189 190 /* Add up these terms, plus offset from J 0 to 1 Jan 4801 B.C. 191 * Also fudge for the 122 days from the month algorithm. 192 */ 193 date.julianDate = b + c + e + date.day - 32167.5; 194 195 // Add time 196 date.julianTime = (3600.0 * date.hours + 60.0 * date.minutes + date.seconds) / 86400.
1960; 197 198 date.julian = date.julianDate + date.julianTime; 199 200 date.j2000 = 2000.0 + (date.julian - $const.j2000) / 365.25; 201 date.b1950 = 1950.0 + (date.julian - $const.b1950) / 365.25; 202 date.j1900 = 1900.0 + (date.julian - $const.j1900) / 365.25; 203 204 return date.julian; 205}; 206 207$ns.julian.toGregorian = function (date) { 208 var month, day; // int 209 var year, a, c, d, x, y, jd; // int 210 var BC; // int 211 var dd; // double 212 var J = date.julian; 213 214 /* January 1.0, 1 A.D. */ 215 if( J < 1721423.5 ) { 216 BC = 1; 217 } else { 218 BC = 0; 219 } 220 221 jd = Math.floor (J + 0.5); /* round Julian date up to integer */ 222 223 /* Find the number of Gregorian centuries 224 * since March 1, 4801 B.C. 225 */ 226 a = Math.floor ((100 * jd + 3204500)/3652425); 227 228 /* Transform to Julian calendar by adding in Gregorian century years 229 * that are not leap years. 230 * Subtract 97 days to shift origin of JD to March 1. 231 * Add 122 days for magic arithmetic algorithm. 232 * Add four years to ensure the first leap year is detected. 233 */ 234 c = jd + 1486; 235 if( jd >= 2299160.5 ) { 236 c += a - Math.floor (a / 4); 237 } else { 238 c += 38; 239 } 240 /* Offset 122 days, which is where the magic arithmetic 241 * month formula sequence starts (March 1 = 4 * 30.6 = 122.4). 242 */ 243 d = Math.floor ((100 * c - 12210)/36525); 244 /* Days in that many whole Julian years */ 245 x = Math.floor ((36525 * d) / 100); 246 247 /* Find month and day. */ 248 y = Math.floor (((c-x) * 100) / 3061); 249 day = Math.floor (c - x - Math.floor ((306 * y) / 10)); 250 month = Math.floor (y - 1); 251 if ( y > 13 ) { 252 month -= 12; 253 } 254 255 /* Get the year right. */ 256 year = d - 4715; 257 if (month > 2 ) { 258 year -= 1; 259 } 260 261 /* Fractional part of day. */ 262 dd = day + J - jd + 0.5; 263 264 if (BC) { 265 year = year - 1; 266 } 267 268 date.year = year; 269 date.month = month; 270 271 date.day = Math.floor (dd); 272 273 /* Display fraction of calendar day 274 * as clock time. 275 */ 276 a = Math.floor (dd); 277 dd = dd - a; 278 x = 2.0 * Math.PI * dd; 279 280 $copy (date, $util.hms (x)); 281 282 return date; 283}; 284 285$ns.delta = {}; 286 287/** 288 * Morrison and Stephenson (2004) 289 * This table covers -1000 through 1700 in 100-year steps. 290 * Values are in whole seconds. 291 * Estimated standard error at -1000 is 640 seconds; at 1600, 20 seconds. 292 * The first value in the table has been adjusted 28 sec for 293 * continuity with their long-term quadratic extrapolation formula. 294 * The last value in this table agrees with the AA table at 1700, 295 * so there is no discontinuity at either endpoint. 296 */ 297$ns.delta.m_s = [ 298 /* -1000 to -100 */ 299 25428, 23700, 22000, 21000, 19040, 17190, 15530, 14080, 12790, 11640, 300 /* 0 to 900 */ 301 10580, 9600, 8640, 7680, 6700, 5710, 4740, 3810, 2960, 2200, 302 /* 1000 to 1700 */ 303 1570, 1090, 740, 490, 320, 200, 120, 9 304]; 305 306/** 307 * Entries prior to 1955 in the following table are from 308 * the 1984 Astronomical Almanac and assume ndot = -26.0. 309 * For dates prior to 1700, the above table is used instead of this one. 310 */ 311$ns.delta.dt = [ 312 /* 1620.0 thru 1659.0 */ 313 12400, 11900, 11500, 11000, 10600, 10200, 9800, 9500, 9100, 8800, 314 8500, 8200, 7900, 7700, 7400, 7200, 7000, 6700, 6500, 6300, 315 6200, 6000, 5800, 5700, 5500, 5400, 5300, 5100, 5000, 4900, 316 4800, 4700, 4600, 4500, 4400, 4300, 4200, 4100, 4000, 3800, 317 /* 1660.0 thru 1699.0 */ 318 3700, 3600, 3500, 3400, 3300, 3200, 3100, 3000, 2800, 2700, 319 2600, 2500, 2400, 2300, 2200, 2100, 2000, 1900, 1800, 1700, 320 1600, 1500, 1400, 1400, 1300, 1200, 1200, 1100, 1100, 1000, 321 1000, 1000, 900, 900, 900, 900, 900, 900, 900, 900, 322 /* 1700.0 thru 1739.0 */ 323 900, 900, 900, 900, 900, 900, 900, 900, 1000, 1000, 324 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1100, 1100, 1100, 325 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 326 1100, 1100, 1100, 1100, 1200, 1200, 1200, 1200, 1200, 1200, 327 /* 1740.0 thru 1779.0 */ 328 1200, 1200, 1200, 1200, 1300, 1300, 1300, 1300, 1300, 1300, 329 1300, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1500, 1500, 330 1500, 1500, 1500, 1500, 1500, 1600, 1600, 1600, 1600, 1600, 331 1600, 1600, 1600, 1600, 1600, 1700, 1700, 1700, 1700, 1700, 332 /* 1780.0 thru 1799.0 */ 333 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 334 1700, 1700, 1600, 1600, 1600, 1600, 1500, 1500, 1400, 1400, 335 /* 1800.0 thru 1819.0 */ 336 1370, 1340, 1310, 1290, 1270, 1260, 1250, 1250, 1250, 1250, 337 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1240, 1230, 1220, 338 /* 1820.0 thru 1859.0 */ 339 1200, 1170, 1140, 1110, 1060, 1020, 960, 910, 860, 800, 340 750, 700, 660, 630, 600, 580, 570, 560, 560, 560, 341 570, 580, 590, 610, 620, 630, 650, 660, 680, 690, 342 710, 720, 730, 740, 750, 760, 770, 770, 780, 780, 343 /* 1860.0 thru 1899.0 */ 344 788, 782, 754, 697, 640, 602, 541, 410, 292, 182, 345 161, 10, -102, -128, -269, -324, -364, -454, -471, -511, 346 -540, -542, -520, -546, -546, -579, -563, -564, -580, -566, 347 -587, -601, -619, -664, -644, -647, -609, -576, -466, -374, 348 /* 1900.0 thru 1939.0 */ 349 -272, -154, -2, 124, 264, 386, 537, 614, 775, 913, 350 1046, 1153, 1336, 1465, 1601, 1720, 1824, 1906, 2025, 2095, 351 2116, 2225, 2241, 2303, 2349, 2362, 2386, 2449, 2434, 2408, 352 2402, 2400, 2387, 2395, 2386, 2393, 2373, 2392, 2396, 2402, 353 /* 1940.0 thru 1979.0 */ 354 2433, 2483, 2530, 2570, 2624, 2677, 2728, 2778, 2825, 2871, 355 2915, 2957, 2997, 3036, 3072, 3107, 3135, 3168, 3218, 3268, 356 3315, 3359, 3400, 3447, 3503, 3573, 3654, 3743, 3829, 3920, 357 358 4018, 4117, 4223, 4337, 4448.41, 4547.61, 4645.67, 4752.14, 4853.44, 4958.62, 359 360/* 4018, 4117, 4223, 4337, 4449, 4548, 4646, 4752, 4853, 4959,*/ 361 /* 1980.0 thru 2011.0 */ 362 5053.87, 5138.08, 5216.68, 5295.65, 5378.82, 5434.27, 5487.13, 5532.22, 5581.97, 5630.00, 363/* 5054, 5138, 5217, 5296, 5379, 5434, 5487, 5532, 5582, 5630,*/ 364 5685.53, 5756.53, 5830.92, 5912.18, 5998.45, 6078.54, 6162.87, 6229.51, 6296.59, 6346.73, 365/* 5686, 5757, 5831, 5912, 5998, 6078, 6163, 6230, 6297, 6347,*/ 366 6382.85, 6409.08, 6429.98, 6447.34, 6457.36, 6468.76, 6484.52, 6514.64, 6545.74, 6577.68, 367/* 6383, 6409, 6430, 6447, 6457, 6469, 6485, 6515, 6546, 6578,*/ 368 6606.99, 6632.46, 369 6660.30, 6690.69, 6728.10, 6764.39, 6810.24, 370/* 2010.0 - 2018.0 */ 3716859.27,6896.76, 6922.02, 372/* Extrapolated values: 373 * 2020 - 2027 */ 3746936.12, 6935.93, 6929.45, 6918.33, 3756910, 6900, 6890, 6880, 6880, 376 377]; 378 379$ns.delta.demo = 0; 380$ns.delta.TABSTART = 1620; 381$ns.delta.TABEND = 2028; 382$ns.delta.TABSIZ = ($ns.delta.TABEND - $ns.delta.TABSTART + 1); 383 384$ns.delta.calc = function (date) { 385 var p, B; // double 386 var diff = [0, 0, 0, 0, 0, 0]; // int 387 var i, iy, k; // int 388 var Y; 389 var yat2=0; 390 Y = 2000.0 + (date.julian - $const.j2000)/365.25; 391 var yat=(Y-1955.5)/100; 392 if(Y <1955.5) { yat2=0.91072*yat*yat; } 393 var Ygreg = 2000.0 + (date.julian - $const.j2000)/365.2425; 394 Y = 2000.0 + (date.julian - 2451544.5)/365.25; 395 if ($const.dtgiven) { 396 date.delta = $const.dtgiven; 397 } else if (Y > this.TABEND) { 398 var B = (Y - 2000); var ans, ans2; 399 if (Y < 2500) {
400 ans = B * B * B * 121.0 / 30000000.0 + B * B / 1250.0 + B * 521.0 / 3000.0 + 64.0; 401 B2 = (this.TABEND - 2000); 402 ans2 = (B2 * B2 * B2 * 121.0 / 30000000.0) + (B2 * B2 / 1250.0) + (B2 * 521.0 / 3000.0) + 64.0; 403 /* we use a parable after 2500 */ 404 } else { 405 B = 0.01 * (Y - 2000); 406 ans = B * B * 32.5 + 42.5; 407 } 408 if (Y <= (this.TABEND+100.0)) { 409 var ans3 = this.dt[this.TABSIZ-1]*0.01; 410 dd = (ans2 - ans3); 411 ans += dd * (Y - (this.TABEND + 100)) * 0.01; 412 } 413 date.delta = ans/100; 414 } else if (date.julian > 2435108.5) { 415 var d = []; 416// if (Y <= tabend) { 417 var p = Math.floor(Y); 418 var iy = Math.floor(p - this.TABSTART); 419 /* Zeroth order estimate is value at start of year */ 420 var ans = this.dt[iy]; 421 var k = iy + 1; 422 if(!( k >= this.TABSIZ )) { 423 p = Y - p; 424 /* First order interpolated value */ 425 ans += p*(this.dt[k] - this.dt[iy]); 426 if(!((iy-1 < 0) || (iy+2 >= this.TABSIZ)) ) { 427 /* Make table of first differences */ 428 k = iy - 2; 429 for( i=0; i<5; i++ ) { 430 if( (k < 0) || (k+1 >= this.TABSIZ) ) 431 d[i] = 0; 432 else 433 d[i] = this.dt[k+1] - this.dt[k]; 434 k += 1; 435 } 436 /* Compute second differences */ 437 for( i=0; i<4; i++ ) { 438 d[i] = d[i+1] - d[i]; 439 } 440 var B = 0.25*p*(p-1.0); 441 ans += B*(d[1] + d[2]); 442 if(!( iy+2 >= this.TABSIZ) ) { 443 /* Compute third differences */ 444 for( i=0; i<3; i++ ) { 445 d[i] = d[i+1] - d[i]; 446 } 447 B = 2.0*B/3.0; 448 ans += (p-0.5)*B*d[1]; 449 if(!( (iy-2 < 0) || (iy+3 > this.TABSIZ) )) { 450 /* Compute fourth differences */ 451 for( i=0; i<2; i++ ) 452 d[i] = d[i+1] - d[i]; 453 B = 0.125*B*(p+1.0)*(p-2.0); 454 ans += B*(d[0] + d[1]); 455} 456} 457} 458} 459if (Y < 1955.0) { 460 B = (Ygreg - 1955.0); 461 var tid = -0.000091 * (-25.826+25.850) * B * B; 462 ans += tid; 463} 464 date.delta = ans/10000.0; 465} else if (date.julian < 2435108.5) { 466 467var NDTCF16 = 54; 468var dtcf16 = 469[ 470/*00*/ [1458085.5, 1867156.5, 20550.593,-21268.478, 11863.418, -4541.129], /* ybeg=-720, yend= 400 */ 471/*01*/ [1867156.5, 2086302.5, 6604.404, -5981.266, -505.093, 1349.609], /* ybeg= 400, yend=1000 */ 472/*02*/ [2086302.5, 2268923.5, 1467.654, -2452.187, 2460.927, -1183.759], /* ybeg=1000, yend=1500 */ 473/*03*/ [2268923.5, 2305447.5, 292.635, -216.322, -43.614, 56.681], /* ybeg=1500, yend=1600 */ 474/*04*/ [2305447.5, 2323710.5, 89.380, -66.754, 31.607, -10.497], /* ybeg=1600, yend=1650 */ 475/*05*/ [2323710.5, 2349276.5, 43.736, -49.043, 0.227, 15.811], /* ybeg=1650, yend=1720 */ 476/*06*/ [2349276.5, 2378496.5, 10.730, -1.321, 62.250, -52.946], /* ybeg=1720, yend=1800 */ 477/*07*/ [2378496.5, 2382148.5, 18.714, -4.457, -1.509, 2.507], /* ybeg=1800, yend=1810 */ 478/*08*/ [2382148.5, 2385800.5, 15.255, 0.046, 6.012, -4.634], /* ybeg=1810, yend=1820 */ 479/*09*/ [2385800.5, 2389453.5, 16.679, -1.831, -7.889, 3.799], /* ybeg=1820, yend=1830 */ 480/*10*/ [2389453.5, 2393105.5, 10.758, -6.211, 3.509, -0.388], /* ybeg=1830, yend=1840 */ 481/*11*/ [2393105.5, 2396758.5, 7.668, -0.357, 2.345, -0.338], /* ybeg=1840, yend=1850 */ 482/*12*/ [2396758.5, 2398584.5, 9.317, 1.659, 0.332, -0.932], /* ybeg=1850, yend=1855 */ 483/*13*/ [2398584.5, 2400410.5, 10.376, -0.472, -2.463, 1.596], /* ybeg=1855, yend=1860 */ 484/*14*/ [2400410.5, 2402237.5, 9.038, -0.610, 2.325, -2.497], /* ybeg=1860, yend=1865 */ 485/*15*/ [2402237.5, 2404063.5, 8.256, -3.450, -5.166, 2.729], /* ybeg=1865, yend=1870 */ 486/*16*/ [2404063.5, 2405889.5, 2.369, -5.596, 3.020, -0.919], /* ybeg=1870, yend=1875 */ 487/*17*/ [2405889.5, 2407715.5, -1.126, -2.312, 0.264, -0.037], /* ybeg=1875, yend=1880 */ 488/*18*/ [2407715.5, 2409542.5, -3.211, -1.894, 0.154, 0.562], /* ybeg=1880, yend=1885 */ 489/*19*/ [2409542.5, 2411368.5, -4.388, 0.101, 1.841, -1.438], /* ybeg=1885, yend=1890 */ 490/*20*/ [2411368.5, 2413194.5, -3.884, -0.531, -2.473, 1.870], /* ybeg=1890, yend=1895 */ 491/*21*/ [2413194.5, 2415020.5, -5.017, 0.134, 3.138, -0.232], /* ybeg=1895, yend=1900 */ 492/*22*/ [2415020.5, 2416846.5, -1.977, 5.715, 2.443, -1.257], /* ybeg=1900, yend=1905 */ 493/*23*/ [2416846.5, 2418672.5, 4.923, 6.828, -1.329, 0.720], /* ybeg=1905, yend=1910 */ 494/*24*/ [2418672.5, 2420498.5, 11.142, 6.330, 0.831, -0.825], /* ybeg=1910, yend=1915 */ 495/*25*/ [2420498.5, 2422324.5, 17.479, 5.518, -1.643, 0.262], /* ybeg=1915, yend=1920 */ 496/*26*/ [2422324.5, 2424151.5, 21.617, 3.020, -0.856, 0.008], /* ybeg=1920, yend=1925 */ 497/*27*/ [2424151.5, 2425977.5, 23.789, 1.333, -0.831, 0.127], /*
497ybeg=1925, yend=1930 */ 498/*28*/ [2425977.5, 2427803.5, 24.418, 0.052, -0.449, 0.142], /* ybeg=1930, yend=1935 */ 499/*29*/ [2427803.5, 2429629.5, 24.164, -0.419, -0.022, 0.702], /* ybeg=1935, yend=1940 */ 500/*30*/ [2429629.5, 2431456.5, 24.426, 1.645, 2.086, -1.106], /* ybeg=1940, yend=1945 */ 501/*31*/ [2431456.5, 2433282.5, 27.050, 2.499, -1.232, 0.614], /* ybeg=1945, yend=1950 */ 502/*32*/ [2433282.5, 2434378.5, 28.932, 1.127, 0.220, -0.277], /* ybeg=1950, yend=1953 */ 503/*33*/ [2434378.5, 2435473.5, 30.002, 0.737, -0.610, 0.631], /* ybeg=1953, yend=1956 */ 504/*34*/ [2435473.5, 2436569.5, 30.760, 1.409, 1.282, -0.799], /* ybeg=1956, yend=1959 */ 505/*35*/ [2436569.5, 2437665.5, 32.652, 1.577, -1.115, 0.507], /* ybeg=1959, yend=1962 */ 506/*36*/ [2437665.5, 2438761.5, 33.621, 0.868, 0.406, 0.199], /* ybeg=1962, yend=1965 */ 507/*37*/ [2438761.5, 2439856.5, 35.093, 2.275, 1.002, -0.414], /* ybeg=1965, yend=1968 */ 508/*38*/ [2439856.5, 2440952.5, 37.956, 3.035, -0.242, 0.202], /* ybeg=1968, yend=1971 */ 509/*39*/ [2440952.5, 2442048.5, 40.951, 3.157, 0.364, -0.229], /* ybeg=1971, yend=1974 */ 510/*40*/ [2442048.5, 2443144.5, 44.244, 3.198, -0.323, 0.172], /* ybeg=1974, yend=1977 */ 511/*41*/ [2443144.5, 2444239.5, 47.291, 3.069, 0.193, -0.192], /* ybeg=1977, yend=1980 */ 512/*42*/ [2444239.5, 2445335.5, 50.361, 2.878, -0.384, 0.081], /* ybeg=1980, yend=1983 */ 513/*43*/ [2445335.5, 2446431.5, 52.936, 2.354, -0.140, -0.166], /* ybeg=1983, yend=1986 */ 514/*44*/ [2446431.5, 2447527.5, 54.984, 1.577, -0.637, 0.448], /* ybeg=1986, yend=1989 */ 515/*45*/ [2447527.5, 2448622.5, 56.373, 1.649, 0.709, -0.277], /* ybeg=1989, yend=1992 */ 516/*46*/ [2448622.5, 2449718.5, 58.453, 2.235, -0.122, 0.111], /* ybeg=1992, yend=1995 */ 517/*47*/ [2449718.5, 2450814.5, 60.677, 2.324, 0.212, -0.315], /* ybeg=1995, yend=1998 */ 518/*48*/ [2450814.5, 2451910.5, 62.899, 1.804, -0.732, 0.112], /* ybeg=1998, yend=2001 */ 519/*49*/ [2451910.5, 2453005.5, 64.082, 0.675, -0.396, 0.193], /* ybeg=2001, yend=2004 */ 520/*50*/ [2453005.5, 2454101.5, 64.555, 0.463, 0.184, -0.008], /* ybeg=2004, yend=2007 */ 521/*51*/ [2454101.5, 2455197.5, 65.194, 0.809, 0.161, -0.101], /* ybeg=2007, yend=2010 */ 522/*52*/ [2455197.5, 2456293.5, 66.063, 0.828, -0.142, 0.168], /* ybeg=2010, yend=2013 */ 523/*53*/ [2456293.5, 2457388.5, 66.917, 1.046, 0.360, -0.282], /* ybeg=2013, yend=2016 */ 524]; 525var irec, i,t,dt; 526 // after the year -720 get value from spline curve 527 for (i = 0; i < NDTCF16; i++) { 528 if (date.julian < dtcf16[i][0]) { break; } 529 if (date.julian < dtcf16[i][1]) { 530 irec = i; 531 break; 532 } 533 } 534 if (irec >= 0) { 535 t = (date.julian - dtcf16[irec][0]) / (dtcf16[irec][1] - dtcf16[irec][0]); 536 dt = dtcf16[irec][2] + dtcf16[irec][3] * t + dtcf16[irec][4] * t * t + dtcf16[irec][5] * t * t * t; 537 // for earlier epochs, use long term parabola 538 } else if (Ygreg < -720) { 539 t = (Ygreg - 1825) / 100.0; 540 dt = -320 + 32.5 * t * t; 541 dt -= 179.7337208; // to make curve continous on 1 Jan -720 (D. Koch) 542 // future 543 } else { 544 t = (Ygreg - 1825) / 100.0; 545 dt = -320 + 32.5 * t * t; 546 dt += 269.4790417; // to make curve continous on 1 Jan 2016 (D. Koch) 547 } 548 B = (Ygreg - 1955.0); 549 var tid = -0.000091 * (-25.826+25.850) * B * B; 550 dt += tid; 551if (date.julian >= 2434108.5) { 552var xxx= (1.0 - (2435108.5 - date.julian) / 1000.0) * 0.6610218; 553dt += xxx; 554} 555 556 557 date.delta = dt/100; 558} 559 date.terrestrial = date.julian; 560 date.universal = date.terrestrial - date.delta / 86400.0; 561 return date.delta; 562}; 563 564 565$ns.epsilon = { 566 /* The results of the program are returned in these 567 * global variables: 568 */ 569 jdeps: -1.0, /* Date for which obliquity was last computed */ 570 eps: 0.0, /* The computed obliquity in radians */ 571 coseps: 0.0, /* Cosine of the obliquity */ 572 sineps: 0.0 /* Sine of the obliquity */ 573}; 574 575 576$ns.epsilon.swi_ldp_peps = function(tjd, tpy) { 577 578/* functions for precession and ecliptic obliquity according to Vondrák et alii, 2011 */ 579var AS2R= ($const.DTR / 3600.0); 580var D2PI = $const.TPI; 581var EPS0 = (84381.406 * AS2R); 582var NPOL_PEPS =4; 583var NPER_PEPS =10; 584var NPOL_PECL =4; 585var NPER_PECL =8; 586var NPOL_PEQU =4; 587var NPER_PEQU =14; 588 589/* for pre_peps(): */ 590/* polynomials */ 591var pepol= [ 592 [+8134.017132, +84028.206305], 593 [+5043.0520035, +0.3624445], 594 [-0.00710733, -0.00004039], 595 [+0.000000271, -0.000000110] 596]; 597 598/* periodics */ 599var peper = [ 600 [+409.90, +396.15, +537.22, +402.90, +417.15, +288.92, +4043.00, +306.00, +277.00, +203.00], 601 [-6908.287473, -3198.706291, +1453.674527, -857.748557, +1173.231614, -156.981465, +371.836550, -216.619040, +193.691479, +11.891524], 602 [+753.872780, -247.805823, +379.471484, -53.880558, -90.109153, -353.600190, -63.115353, -28.248187, +17.703387, +38.911307], 603 [-2845.175469, +449.844989, -1255.915323, +886.736783, +418.887514, +997.912441, -240.979710, +76.541307, -36.788069, -170.964086], 604 [-1704.720302, -862.308358, +447.832178, -889.571909, +190.402846, -56.564991, -296.222622, -75.859952, +67.473503, +3.014055] 605]; 606 607/* for pre_pecl(): */ 608/* polynomials */ 609var pqpol = [ 610 [+5851.607687, -1600.886300], 611 [-0.1189000, +1.1689818], 612 [-0.00028913, -0.00000020], 613 [+0.000000101, -0.000000437] 614]; 615 616/* periodics */ 617var pqper = [ 618 [708.15, 2309, 1620, 492.2, 1183, 622, 882, 547], 619 [-5486.751211, -17.127623, -617.517403, 413.44294, 78.614193, -180.732815, -87.676083, 46.140315], 620 [-684.66156, 2446.28388, 399.671049, -356.652376, -186.387003, -316.80007, 198.296701, 101.135679], /* typo in publication fixed */ 621 [667.66673, -2354.886252, -428.152441, 376.202861, 184.778874, 335.321713, -185.138669, -120.97283], 622 [-5523.863691, -549.74745, -310.998056, 421.535876, -36.776172, -145.278396, -34.74445, 22.885731] 623]; 624 625/* for pre_pequ(): */ 626/* polynomials */ 627var xypol = [ 628 [+5453.282155, -73750.930350], 629 [+0.4252841, -0.7675452], 630 [-0.00037173, -0.00018725], 631 [-0.000000152, +0.000000231] 632]; 633 634/* periodics */ 635var xyper = [ 636 [256.75, 708.15, 274.2, 241.45, 2309, 492.2, 396.1, 288.9, 231.1, 1610, 620, 157.87, 220.3, 1200], 637 [-819.940624, -8444.676815, 2600.009459, 2755.17563, -167.659835, 871.855056, 44.769698, -512.313065, -819.415595, -538.071099, -189.793622, -402.922932, 179.516345, -9.814756], 638 [75004.344875, 624.033993, 1251.136893, -1102.212834, -2660.66498, 699.291817, 153.16722, -950.865637, 499.754645, -145.18821, 558.116553, -23.923029, -165.405086, 9.344131], 639 [81491.287984, 787.163481, 1251.296102, -1257.950837, -2966.79973, 639.744522, 131.600209, -445.040117, 584.522874, -89.756563, 524.42963, -13.549067, -210.157124, -44.919798], 640 [1558.515853, 7774.939698, -2219.534038, -2523.969396, 247.850422, -846.485643, -1393.124055, 368.526116, 749.045012, 444.704518, 235.934465, 374.049623, -171.33018, -22.899655] 641]; 642 var i; 643 var npol = NPOL_PEPS; 644 var nper = NPER_PEPS; 645 var t, p, q, w, a, s, c; 646 t = (tjd - 2451545.0) / 36525.0; 647 p = 0; 648 q = 0; 649 /* periodic terms */ 650 for (i = 0; i < nper; i++) { 651 w = D2PI * t; 652 a = w / peper[0][i]; 653 s = Math.sin(a); 654 c = Math.cos(a); 655 p += c * peper[1][i] + s * peper[3][i]; 656 q += c * peper[2][i] + s * peper[4][i]; 657 } 658 /* polynomial terms */ 659 w = 1; 660 for (i = 0; i < npol; i++) { 661 p += pepol[i][0] * w; 662 q += pepol[i][1] * w; 663 w *= t; 664 } 665 /* both to radians */ 666 p *=AS2R;// $const.STR; 667 q *=AS2R;// $const.STR; 668 /* return */ 669if (tpy ) { return p; } 670 return q; 671}; 672 673$ns.epsilon.calc = function (date) { 674 var T; // double 675 if (this.jdeps == date.julian) { return; } 676 this.eps = this.swi_ldp_peps(date.julian); 677 this.coseps = Math.cos( this.eps ); 678 this.sineps = Math.sin( this.eps ); 679 this.jdeps = date.julian; 680}; 681 682 683 684 685$ns.lonlat = {}; 686 687$ns.lonlat.calc = function (pp, date, polar, ofdate, result) { 688 var s = [], x, y, z, yy, zz, r; // double 689 var i; // int 690 691 result = result || {}; 692 693 /* Make local copy of position vector 694 * and calculate radius. 695 */ 696 r = 0.0; 697 for( i=0; i<3; i++ ) { 698 x = pp [i]; 699 s [i] = x; 700 r += x * x; 701 } 702 r = Math.sqrt(r); 703 704 /* Precess to equinox of date J 705 */ 706 if( ofdate ) { 707 $moshier.precess.calc ( s, date, -1 ); 708 } 709 710 /* Convert from equatorial to ecliptic coordinates 711 */ 712 $moshier.epsilon.calc (date); 713 yy = s[1]; 714 zz = s[2]; 715 x = s[0]; 716 y = $moshier.epsilon.coseps * yy + $moshier.epsilon.sineps * zz; 717 z = -$moshier.epsilon.sineps * yy + $moshier.epsilon.coseps * zz; 718 719 yy = $util.zatan2( x, y ); 720 zz = Math.asin( z / r ); 721 722 // longitude and latitude in decimal 723 polar[0] = yy; 724 polar[1] = zz; 725 polar[2] = r; 726 727 // longitude and latitude in h,m,s 728 polar [3] = $util.dms (polar[0]); 729 polar [4] = $util.dms (polar[1]); 730 731 result [0] = polar [0]; 732 result [1] = polar [1]; 733 result [2] = polar [2]; 734 result [3] = polar [3]; 735 result [4] = polar [4]; 736 737 return result; 738}; 739 740$ns.gplan = { 741 /* From Simon et al (1994) */ 742 freqs: [ 743 /* Arc sec per 10000 Julian years. */ 744 53810162868.8982, 745 21066413643.3548, 746 12959774228.3429, 747 6890507749.3988, 748 1092566037.7991, 749 439960985.5372, 750 154248119.3933, 751 78655032.0744, 752 52272245.1795 753 ], 754 755 phases: [ 756 /* Arc sec. */ 757 252.25090552 * 3600., 758 181.97980085 * 3600., 759 100.46645683 * 3600., 760 355.43299958 * 3600., 761 34.35151874 * 3600., 762 50.07744430 * 3600., 763 314.05500511 * 3600., 764 304.34866548 * 3600., 765 860492.1546 766 ], 767 768 ss: [], 769 cc: [], 770 771 Args: [], 772 LP_equinox: 0, 773 NF_arcsec: 0, 774 Ea_arcsec: 0, 775 pA_precession: 0 776 777}; 778 779/* 780 Routines to chew through tables of perturbations. 781*/ 782$ns.gplan.calc = function (date, body_ptable, polar) { 783 var su, cu, sv, cv, T; // double 784 var t, sl, sb, sr; // double 785 var i, j, k, m, n, k1, ip, np, nt; // int 786 var p; // char array 787 var pl; // double array 788 var pb; // double array 789 var pr; // double array 790
791 T = (date.julian - $const.j2000) / body_ptable.timescale; 792 n = body_ptable.maxargs; 793 /* Calculate sin( i*MM ), etc. for needed multiple angles. */ 794 for (i = 0; i < n; i++) { 795 if ((j = body_ptable.max_harmonic[i]) > 0) 796 { 797 sr = ($util.mods3600 (this.freqs [i] * T) + this.phases [i]) * $const.STR; 798 this.sscc (i, sr, j); 799 } 800 } 801 802 /* Point to start of table of arguments. */ 803 p = body_ptable.arg_tbl; 804 805 /* Point to tabulated cosine and sine amplitudes. */ 806 pl = body_ptable.lon_tbl; 807 pb = body_ptable.lat_tbl; 808 pr = body_ptable.rad_tbl; 809 810 sl = 0.0; 811 sb = 0.0; 812 sr = 0.0; 813 814 var p_i = 0; 815 var pl_i = 0; 816 var pb_i = 0; 817 var pr_i = 0; 818 819 for (;;) { 820 /* argument of sine and cosine */ 821 /* Number of periodic arguments. */ 822 np = p [p_i ++]; // np = *p++ 823 if (np < 0) { 824 break; 825 } 826 if (np == 0) { /* It is a polynomial term. */ 827 nt = p [p_i ++]; // nt = *p++ 828 /* Longitude polynomial. */ 829 cu = pl [pl_i ++]; // cu = *pl++; 830 for (ip = 0; ip < nt; ip ++) { 831 cu = cu * T + pl [pl_i ++]; //*pl++; 832 } 833 sl += $util.mods3600 (cu); 834 /* Latitude polynomial. */ 835 cu = pb [pb_i ++];//*pb++; 836 for (ip = 0; ip < nt; ip++) 837 { 838 cu = cu * T + pb [pb_i ++]; //*pb++; 839 } 840 sb += cu; 841 /* Radius polynomial. */ 842 cu = pr [pr_i ++]; //*pr++; 843 for (ip = 0; ip < nt; ip++) 844 { 845 cu = cu * T + pr [pr_i ++]; //*pr++; 846 } 847 sr += cu; 848 continue; 849 } 850 k1 = 0; 851 cv = 0.0; 852 sv = 0.0; 853 for (ip = 0; ip < np; ip++) 854 { 855 /* What harmonic. */ 856 j = p [p_i ++]; //*p++; 857 /* Which planet. */ 858 m = p [p_i ++] - 1; // *p++ - 1 859 if (j) 860 { 861 k = j; 862 if (j < 0) 863 k = -k; 864 k -= 1; 865 su = this.ss[m][k]; /* sin(k*angle) */ 866 if (j < 0) 867 su = -su; 868 cu = this.cc[m][k]; 869 if (k1 == 0) 870 { /* set first angle */ 871 sv = su; 872 cv = cu; 873 k1 = 1; 874 } 875 else 876 { /* combine angles */ 877 t = su * cv + cu * sv; 878 cv = cu * cv - su * sv; 879 sv = t; 880 } 881 } 882 } 883 /* Highest power of T. */ 884 nt = p [p_i ++]; //*p++; 885 /* Longitude. */ 886 cu = pl [pl_i ++]; //*pl++; 887 su = pl [pl_i ++]; //*pl++; 888 for (ip = 0; ip < nt; ip++) 889 { 890 cu = cu * T + pl [pl_i ++]; //*pl++; 891 su = su * T + pl [pl_i ++]; //*pl++; 892 } 893 sl += cu * cv + su * sv; 894 /* Latitiude. */ 895 cu = pb [pb_i ++]; //*pb++; 896 su = pb [pb_i ++]; //*pb++; 897 for (ip = 0; ip < nt; ip++) 898 { 899 cu = cu * T + pb [pb_i ++]; //*pb++; 900 su = su * T + pb [pb_i ++]; //*pb++; 901 } 902 sb += cu * cv + su * sv; 903 /* Radius. */ 904 cu = pr [pr_i ++]; //*pr++; 905 su = pr [pr_i ++]; //*pr++; 906 for (ip = 0; ip < nt; ip++) 907 { 908 cu = cu * T + pr [pr_i ++]; //*pr++; 909 su = su * T + pr [pr_i ++]; //*pr++; 910 } 911 sr += cu * cv + su * sv; 912 } 913 914 polar [0] = $const.STR * sl; 915 polar [1] = $const.STR * sb; 916 polar [2] = $const.STR * body_ptable.distance * sr + body_ptable.distance; 917}; 918 919/* Prepare lookup table of sin and cos ( i*Lj ) 920 * for required multiple angles 921 */ 922$ns.gplan.sscc = function (k, arg, n) { 923 var cu, su, cv, sv, s; // double 924 var i; // int 925 926 su = Math.sin (arg); 927 cu = Math.cos (arg); 928 this.ss[k] = []; 929 this.cc[k] = []; 930 931 this.ss[k][0] = su; /* sin(L) */ 932 this.cc[k][0] = cu; /* cos(L) */ 933 sv = 2.0 * su * cu; 934 cv = cu * cu - su * su; 935 this.ss[k][1] = sv; /* sin(2L) */ 936 this.cc[k][1] = cv; 937 for (i = 2; i < n; i++) 938 { 939 s = su * cv + cu * sv; 940 cv = cu * cv - su * sv; 941 sv = s; 942 this.ss[k][i] = sv; /* sin( i+1 L ) */ 943 this.cc[k][i] = cv; 944 } 945}; 946 947/* Compute mean elements at Julian date J. */ 948$ns.gplan.meanElements = function (date) { 949 var x, T, T2; // double 950 951 /* Time variables. T is in Julian centuries. */ 952 T = (date.julian - 2451545.0) / 36525.0; 953 T2 = T * T; 954 955 /* Mean longitudes of planets (Simon et al, 1994) 956 .047" subtracted from constant term for offset to DE403 origin. */ 957 958 /* Mercury */ 959 x = $util.mods3600( 538101628.6889819 * T + 908103.213 ); 960 x += (6.39e-6 * T 961 - 0.0192789) * T2; 962 this.Args[0] = $const.STR * x; 963 964 /* Venus */ 965 x = $util.mods3600( 210664136.4335482 * T + 655127.236 ); 966 x += (-6.27e-6 * T 967 + 0.0059381) * T2; 968 this.Args[1] = $const.STR * x; 969 970 /* Earth */ 971 x = $util.mods3600( 129597742.283429 * T + 361679.198 ); 972 x += (-5.23e-6 * T 973 - 2.04411e-2 ) * T2; 974 this.Ea_arcsec = x; 975 this.Args[2] = $const.STR * x; 976 977 /* Mars */ 978 x = $util.mods3600( 68905077.493988 * T + 1279558.751 ); 979 x += (-1.043e-5 * T 980 + 0.0094264) * T2; 981 this.Args[3] = $const.STR * x; 982 983 /* Jupiter */ 984 x = $util.mods3600( 10925660.377991 * T + 123665.420 ); 985 x += ((((-3.4e-10 * T 986 + 5.91e-8) * T 987 + 4.667e-6) * T
988 + 5.706e-5) * T 989 - 3.060378e-1)*T2; 990 this.Args[4] = $const.STR * x; 991 992 /* Saturn */ 993 x = $util.mods3600( 4399609.855372 * T + 180278.752 ); 994 x += (((( 8.3e-10 * T 995 - 1.452e-7) * T 996 - 1.1484e-5) * T 997 - 1.6618e-4) * T 998 + 7.561614E-1)*T2; 999 this.Args[5] = $const.STR * x; 1000 1001 /* Uranus */ 1002 x = $util.mods3600( 1542481.193933 * T + 1130597.971 ) 1003 + (0.00002156*T - 0.0175083)*T2; 1004 this.Args[6] = $const.STR * x; 1005 1006 /* Neptune */ 1007 x = $util.mods3600( 786550.320744 * T + 1095655.149 ) 1008 + (-0.00000895*T + 0.0021103)*T2; 1009 this.Args[7] = $const.STR * x; 1010 1011 /* Copied from cmoon.c, DE404 version. */ 1012 /* Mean elongation of moon = D */ 1013 x = $util.mods3600( 1.6029616009939659e+09 * T + 1.0722612202445078e+06 ); 1014 x += (((((-3.207663637426e-013 * T 1015 + 2.555243317839e-011) * T 1016 + 2.560078201452e-009) * T 1017 - 3.702060118571e-005) * T 1018 + 6.9492746836058421e-03) * T /* D, t^3 */ 1019 - 6.7352202374457519e+00) * T2; /* D, t^2 */ 1020 this.Args[9] = $const.STR * x; 1021 1022 /* Mean distance of moon from its ascending node = F */ 1023 x = $util.mods3600( 1.7395272628437717e+09 * T + 3.3577951412884740e+05 ); 1024 x += ((((( 4.474984866301e-013 * T 1025 + 4.189032191814e-011) * T 1026 - 2.790392351314e-009) * T 1027 - 2.165750777942e-006) * T 1028 - 7.5311878482337989e-04) * T /* F, t^3 */ 1029 - 1.3117809789650071e+01) * T2; /* F, t^2 */ 1030 this.NF_arcsec = x; 1031 this.Args[10] = $const.STR * x; 1032 1033 /* Mean anomaly of sun = l' (J. Laskar) */ 1034 x = $util.mods3600(1.2959658102304320e+08 * T + 1.2871027407441526e+06); 1035 x += (((((((( 1036 1.62e-20 * T 1037 - 1.0390e-17 ) * T 1038 - 3.83508e-15 ) * T 1039 + 4.237343e-13 ) * T 1040 + 8.8555011e-11 ) * T 1041 - 4.77258489e-8 ) * T 1042 - 1.1297037031e-5 ) * T 1043 + 8.7473717367324703e-05) * T 1044 - 5.5281306421783094e-01) * T2; 1045 this.Args[11] = $const.STR * x; 1046 1047 /* Mean anomaly of moon = l */ 1048 x = $util.mods3600( 1.7179159228846793e+09 * T + 4.8586817465825332e+05 ); 1049 x += (((((-1.755312760154e-012 * T 1050 + 3.452144225877e-011) * T 1051 - 2.506365935364e-008) * T 1052 - 2.536291235258e-004) * T 1053 + 5.2099641302735818e-02) * T /* l, t^3 */ 1054 + 3.1501359071894147e+01) * T2; /* l, t^2 */ 1055 this.Args[12] = $const.STR * x; 1056 1057 /* Mean longitude of moon, re mean ecliptic and equinox of date = L */ 1058 x = $util.mods3600( 1.7325643720442266e+09 * T + 7.8593980921052420e+05); 1059 x += ((((( 7.200592540556e-014 * T 1060 + 2.235210987108e-010) * T 1061 - 1.024222633731e-008) * T 1062 - 6.073960534117e-005) * T 1063 + 6.9017248528380490e-03) * T /* L, t^3 */ 1064 - 5.6550460027471399e+00) * T2; /* L, t^2 */ 1065 this.LP_equinox = x; 1066 this.Args[13] = $const.STR * x; 1067 1068 /* Precession of the equinox */ 1069 x = ((((((((( -8.66e-20*T - 4.759e-17)*T 1070 + 2.424e-15)*T 1071 + 1.3095e-12)*T 1072 + 1.7451e-10)*T 1073 - 1.8055e-8)*T 1074 - 0.0000235316)*T 1075 + 0.000076)*T 1076 + 1.105414)*T 1077 + 5028.791959)*T; 1078 /* Moon's longitude re fixed J2000 equinox. */ 1079 /* 1080 Args[13] -= x; 1081 */ 1082 this.pA_precession = $const.STR * x; 1083 1084 /* Free librations. */ 1085 /* longitudinal libration 2.891725 years */ 1086 x = $util.mods3600( 4.48175409e7 * T + 8.060457e5 ); 1087 this.Args[14] = $const.STR * x; 1088 /* libration P, 24.2 years */ 1089 x = $util.mods3600( 5.36486787e6 * T - 391702.8 ); 1090 this.Args[15] = $const.STR * x; 1091 1092 /* libration W, 74.7 years. */ 1093 x = $util.mods3600( 1.73573e6 * T ); 1094 this.Args[17] = $const.STR * x; 1095}; 1096 1097 1098/* Generic program to accumulate sum of trigonometric series 1099 in three variables (e.g., longitude, latitude, radius) 1100 of the same list of arguments. */ 1101$ns.gplan.calc3 = function (date, body_ptable, polar, body_number) { 1102 var i, j, k, m, n, k1, ip, np, nt; // int 1103 var p; // int array 1104 var pl; // double array 1105 var pb; // double array 1106 var pr; // double array 1107 1108 var su, cu, sv, cv; // double 1109 var T, t, sl, sb, sr; // double 1110 1111 this.meanElements (date); 1112 1113 T = (date.julian - $const.j2000) / body_ptable.timescale; 1114 n = body_ptable.maxargs; 1115 /* Calculate sin( i*MM ), etc. for needed multiple angles. */ 1116 for (i = 0; i < n; i++) 1117 { 1118 if ((j = body_ptable.max_harmonic [i]) > 0) 1119 { 1120 this.sscc (i, this.Args [i], j); 1121 } 1122 } 1123 1124 /* Point to start of table of arguments. */ 1125 p = body_ptable.arg_tbl; 1126 /* Point to tabulated cosine and sine amplitudes. */ 1127 pl = body_ptable.lon_tbl; 1128 pb = body_ptable.lat_tbl; 1129 pr = body_ptable.rad_tbl; 1130 1131 sl = 0.0; 1132 sb = 0.0; 1133 sr = 0.0; 1134 1135 var p_i = 0; 1136 var pl_i = 0; 1137 var pb_i = 0; 1138 var pr_i = 0; 1139 1140 for (;;) 1141 { 1142 /* argument of sine and cosine */ 1143 /* Number of periodic arguments. */ 1144 np = p [p_i ++]; //*p++; 1145 if (np < 0) 1146 break; 1147 if (np == 0) 1148 { /* It is a polynomial term. */ 1149 nt = p [p_i ++]; //*p++; 1150 /* "Longitude" polynomial (phi). */ 1151 cu = pl [pl_i ++]; //*pl++; 1152 for (ip = 0; ip < nt; ip++) 1153 { 1154 cu = cu * T + pl [pl_i ++]; //*pl++; 1155 } 1156 /* sl += mods3600 (cu); */ 1157 sl += cu; 1158 /* "Latitude" polynomial (theta). */ 1159 cu = pb [pb_i ++]; //*pb++; 1160 for (ip = 0; ip < nt; ip++) 1161 { 1162 cu = cu * T + pb [pb_i ++]; //*pb++; 1163 } 1164 sb += cu; 1165 /* Radius polynomial (psi). */ 1166 cu = pr [pr_i ++]; //*pr++; 1167 for (ip = 0; ip < nt; ip++) 1168 { 1169 cu = cu * T + pr [pr_i ++]; //*pr++; 1170 } 1171 sr += cu; 1172 continue; 1173 } 1174 k1 = 0; 1175 cv = 0.0; 1176 sv = 0.0; 1177 for (ip = 0; ip < np; ip++) { 1178 /* What harmonic. */ 1179 j = p [p_i ++]; //*p++; 1180 /* Which planet. */ 1181 m = p [p_i ++] - 1; //*p++ - 1; 1182 if (j) { 1183 /* k = abs (j); */ 1184 if (j < 0) 1185 k = -j; 1186 else 1187 k = j; 1188 k -= 1; 1189 su = this.ss[m][k]; /* sin(k*angle) */ 1190 if (j < 0) 1191 su = -su; 1192 cu = this.cc[m][k]; 1193 if (k1 == 0) 1194 { /* set first angle */ 1195 sv = su; 1196 cv = cu; 1197 k1 = 1; 1198 } 1199 else 1200 { /* combine angles */ 1201 t = su * cv + cu * sv;
1202 cv = cu * cv - su * sv; 1203 sv = t; 1204 } 1205 } 1206 } 1207 /* Highest power of T. */ 1208 nt = p [p_i ++]; //*p++; 1209 /* Longitude. */ 1210 cu = pl [pl_i ++]; //*pl++; 1211 su = pl [pl_i ++]; //*pl++; 1212 for (ip = 0; ip < nt; ip++) { 1213 cu = cu * T + pl [pl_i ++]; //*pl++; 1214 su = su * T + pl [pl_i ++]; //*pl++; 1215 } 1216 sl += cu * cv + su * sv; 1217 /* Latitiude. */ 1218 cu = pb [pb_i ++]; //*pb++; 1219 su = pb [pb_i ++]; //*pb++; 1220 for (ip = 0; ip < nt; ip++) 1221 { 1222 cu = cu * T + pb [pb_i ++]; //*pb++; 1223 su = su * T + pb [pb_i ++]; //*pb++; 1224 } 1225 sb += cu * cv + su * sv; 1226 /* Radius. */ 1227 cu = pr [pr_i ++]; //*pr++; 1228 su = pr [pr_i ++]; //*pr++; 1229 for (ip = 0; ip < nt; ip++) 1230 { 1231 cu = cu * T + pr [pr_i ++]; //*pr++; 1232 su = su * T + pr [pr_i ++]; //*pr++; 1233 } 1234 sr += cu * cv + su * sv; 1235 } 1236 t = body_ptable.trunclvl; 1237 polar[0] = this.Args[body_number - 1] + $const.STR * t * sl; 1238 polar[1] = $const.STR * t * sb; 1239 polar[2] = body_ptable.distance * (1.0 + $const.STR * t * sr); 1240}; 1241 1242/* Generic program to accumulate sum of trigonometric series 1243 in two variables (e.g., longitude, radius) 1244 of the same list of arguments. */ 1245$ns.gplan.calc2 = function (date, body_ptable, polar) { 1246 var i, j, k, m, n, k1, ip, np, nt; // int 1247 var p; // int array 1248 var pl; // double array 1249 var pr; // double array 1250 1251 var su, cu, sv, cv; // double 1252 var T, t, sl, sr; // double 1253 1254 this.meanElements (date); 1255 1256 T = (date.julian - $const.j2000) / body_ptable.timescale; 1257 n = body_ptable.maxargs; 1258 /* Calculate sin( i*MM ), etc. for needed multiple angles. */ 1259 for (i = 0; i < n; i++) 1260 { 1261 if ((j = body_ptable.max_harmonic[i]) > 0) 1262 { 1263 this.sscc (i, this.Args[i], j); 1264 } 1265 } 1266 1267 /* Point to start of table of arguments. */ 1268 p = body_ptable.arg_tbl; 1269 /* Point to tabulated cosine and sine amplitudes. */ 1270 pl = body_ptable.lon_tbl; 1271 pr = body_ptable.rad_tbl; 1272 1273 var p_i = 0; 1274 var pl_i = 0; 1275 var pr_i = 0; 1276 1277 sl = 0.0; 1278 sr = 0.0; 1279 1280 for (;;) 1281 { 1282 /* argument of sine and cosine */ 1283 /* Number of periodic arguments. */ 1284 np = p [p_i ++]; //*p++; 1285 if (np < 0) 1286 break; 1287 if (np == 0) 1288 { /* It is a polynomial term. */ 1289 nt = p [p_i ++]; //*p++; 1290 /* Longitude polynomial. */ 1291 cu = pl [pl_i ++]; //*pl++; 1292 for (ip = 0; ip < nt; ip++) 1293 { 1294 cu = cu * T + pl [pl_i ++]; //*pl++; 1295 } 1296 /* sl += mods3600 (cu); */ 1297 sl += cu; 1298 /* Radius polynomial. */ 1299 cu = pr [pr_i ++]; //*pr++; 1300 for (ip = 0; ip < nt; ip++) 1301 { 1302 cu = cu * T + pr [pr_i ++]; //*pr++; 1303 } 1304 sr += cu; 1305 continue; 1306 } 1307 k1 = 0; 1308 cv = 0.0; 1309 sv = 0.0; 1310 for (ip = 0; ip < np; ip++) 1311 { 1312 /* What harmonic. */ 1313 j = p [p_i ++]; //*p++; 1314 /* Which planet. */ 1315 m = p [p_i ++] - 1; //*p++ - 1; 1316 if (j) 1317 { 1318 /* k = abs (j); */ 1319 if (j < 0) 1320 k = -j; 1321 else 1322 k = j; 1323 k -= 1; 1324 su = this.ss[m][k]; /* sin(k*angle) */ 1325 if (j < 0) 1326 su = -su; 1327 cu = this.cc[m][k]; 1328 if (k1 == 0) 1329 { /* set first angle */ 1330 sv = su; 1331 cv = cu; 1332 k1 = 1; 1333 } 1334 else 1335 { /* combine angles */ 1336 t = su * cv + cu * sv; 1337 cv = cu * cv - su * sv; 1338 sv = t; 1339 } 1340 } 1341 } 1342 /* Highest power of T. */ 1343 nt = p [p_i ++]; //*p++; 1344 /* Longitude. */ 1345 cu = pl [pl_i ++]; //*pl++; 1346 su = pl [pl_i ++]; //*pl++; 1347 for (ip = 0; ip < nt; ip++) 1348 { 1349 cu = cu * T + pl [pl_i ++]; //*pl++; 1350 su = su * T + pl [pl_i ++]; //*pl++; 1351 } 1352 sl += cu * cv + su * sv; 1353 /* Radius. */ 1354 cu = pr [pr_i ++]; //*pr++; 1355 su = pr [pr_i ++]; //*pr++; 1356 for (ip = 0; ip < nt; ip++) 1357 { 1358 cu = cu * T + pr [pr_i ++]; //*pr++; 1359 su = su * T + pr [pr_i ++]; //*pr++; 1360 } 1361 sr += cu * cv + su * sv; 1362 } 1363 t = body_ptable.trunclvl; 1364 polar[0] = t * sl; 1365 polar[2] = t * sr; 1366}; 1367 1368/* Generic program to accumulate sum of trigonometric series 1369 in one variable. */ 1370$ns.gplan.calc1 = function (date, body_ptable) { 1371 var i, j, k, m, k1, ip, np, nt; // int 1372 var p; // int array 1373 var pl; // double array 1374 1375 var su, cu, sv, cv; // double 1376 var T, t, sl; // double 1377 1378 T = (date.julian - $const.j2000) / body_ptable.timescale; 1379 this.meanElements (date); 1380 /* Calculate sin( i*MM ), etc. for needed multiple angles. */ 1381 for (i = 0; i < this.Args.length; i++) 1382 { 1383 if ((j = body_ptable.max_harmonic[i]) > 0) 1384 { 1385 this.sscc (i, this.Args[i], j); 1386 } 1387 } 1388 1389 /* Point to start of table of arguments. */ 1390 p = body_ptable.arg_tbl; 1391 /* Point to tabulated cosine and sine amplitudes. */ 1392 pl = body_ptable.lon_tbl; 1393 1394 sl = 0.0; 1395 1396 var p_i = 0; 1397 var pl_i = 0; 1398 1399 for (;;) { 1400 /* argument of sine and cosine */ 1401 /* Number of periodic arguments. */ 1402 np = p [p_i ++]; //*p++; 1403 if (np < 0) 1404 break; 1405 if (np == 0) 1406 { /* It is a polynomial term. */ 1407 nt = p [p_i ++]; //*p++; 1408 cu = pl [pl_i ++]; //*pl++; 1409 for (ip = 0; ip < nt; ip++) 1410 { 1411 cu = cu * T + pl [pl_i ++]; //*pl++; 1412 } 1413 /* sl += mods3600 (cu); */ 1414 sl += cu; 1415 continue; 1416 } 1417 k1 = 0; 1418 cv = 0.0; 1419 sv = 0.0; 1420 for (ip = 0; ip < np; ip++) 1421 { 1422 /* What harmonic. */ 1423 j = p [p_i ++]; //*p++; 1424 /* Which planet. */ 1425 m = p [p_i ++] - 1; //*p++ - 1; 1426 if (j) 1427 { 1428 /* k = abs (j); */ 1429 if (j < 0) 1430 k = -j; 1431 else 1432 k = j; 1433 k -= 1; 1434 su = this.ss[m][k]; /* sin(k*angle) */ 1435 if (j < 0) 1436 su = -su; 1437 cu = this.cc[m][k]; 1438 if (k1 == 0) 1439 { /* set first angle */ 1440 sv = su; 1441 cv = cu; 1442 k1 = 1; 1443 } 1444 else 1445 { /* combine angles */ 1446 t = su * cv + cu * sv;
1447 cv = cu * cv - su * sv; 1448 sv = t; 1449 } 1450 } 1451 } 1452 /* Highest power of T. */ 1453 nt = p [p_i ++]; //*p++; 1454 /* Cosine and sine coefficients. */ 1455 cu = pl [pl_i ++]; //*pl++; 1456 su = pl [pl_i ++]; //*pl++; 1457 for (ip = 0; ip < nt; ip++) 1458 { 1459 cu = cu * T + pl [pl_i ++]; //*pl++; 1460 su = su * T + pl [pl_i ++]; //*pl++; 1461 } 1462 sl += cu * cv + su * sv; 1463 } 1464 return body_ptable.trunclvl * sl; 1465}; 1466 1467/* Compute geocentric moon. */ 1468$ns.gplan.moon = function (date, rect, pol, arrr) { 1469 var x, cosB, sinB, cosL, sinL; // double 1470 1471 this.calc2 (date, $moshier.plan404.moonlr, pol); 1472 x = pol[0]; 1473 x += this.LP_equinox; 1474 if (x < -6.48e5) { 1475 x += 1.296e6; 1476 } 1477 if (x > 6.48e5) { 1478 x -= 1.296e6; 1479 } 1480 pol[0] = $const.STR * x; 1481 1482 x = this.calc1 (date, $moshier.plan404.moonlat); 1483 pol[1] = $const.STR * x; 1484 x = (1.0 + $const.STR * pol[2]) * $moshier.plan404.moonlr.distance; 1485 pol[2] = x; 1486 /* Convert ecliptic polar to equatorial rectangular coordinates. */ 1487 $moshier.epsilon.calc (date); 1488 cosB = Math.cos(pol[1]); 1489 sinB = Math.sin(pol[1]); 1490 cosL = Math.cos(pol[0]); 1491 sinL = Math.sin(pol[0]); 1492 rect[0] = cosB * cosL * x; 1493 rect[1] = ($moshier.epsilon.coseps * cosB * sinL - $moshier.epsilon.sineps * sinB) * x; 1494 rect[2] = ($moshier.epsilon.sineps * cosB * sinL + $moshier.epsilon.coseps * sinB) * x; 1495 1496 arrr[0] = this.Args[13]*$const.RTD; 1497}; 1498 1499$ns.precess = { 1500 /* In WILLIAMS and SIMON, Laskar's terms of order higher than t^4 1501 have been retained, because Simon et al mention that the solution 1502 is the same except for the lower order terms. */ 1503 pAcof: [ 1504 /* Corrections to Williams (1994) introduced in DE403. */ 1505 -8.66e-10, -4.759e-8, 2.424e-7, 1.3095e-5, 1.7451e-4, -1.8055e-3, 1506 -0.235316, 0.076, 110.5414, 50287.91959 1507 ], 1508 /* Pi from Williams' 1994 paper, in radians. No change in DE403. */ 1509 nodecof: [ 1510 6.6402e-16, -2.69151e-15, -1.547021e-12, 7.521313e-12, 1.9e-10, 1511 -3.54e-9, -1.8103e-7, 1.26e-7, 7.436169e-5, 1512 -0.04207794833, 3.052115282424 1513 ], 1514 /* pi from Williams' 1994 paper, in radians. No change in DE403. */ 1515 inclcof: [ 1516 1.2147e-16, 7.3759e-17, -8.26287e-14, 2.503410e-13, 2.4650839e-11, 1517 -5.4000441e-11, 1.32115526e-9, -6.012e-7, -1.62442e-5, 1518 0.00227850649, 0.0 1519 ] 1520}; 1521 1522/* Precession of the equinox and ecliptic 1523 * from epoch Julian date J to or from J2000.0 1524 * 1525 * Subroutine arguments: 1526 * 1527 * R = rectangular equatorial coordinate vector to be precessed. 1528 * The result is written back into the input vector. 1529 * J = Julian date 1530 * direction = 1531 * Precess from J to J2000: direction = 1 1532 * Precess from J2000 to J: direction = -1 1533 * Note that if you want to precess from J1 to J2, you would 1534 * first go from J1 to J2000, then call the program again 1535 * to go from J2000 to J2. 1536 */ 1537$ns.precess.calc = function (R, date, direction) { 1538 var A, B, T, pA, W, z; // double 1539 var x = []; // double 1540 var p; // double array 1541 var p_i = 0; 1542 var i; // int 1543 1544 if( date.julian == $const.j2000 ) { 1545 return; 1546 } 1547 /* Each precession angle is specified by a polynomial in 1548 * T = Julian centuries from J2000.0. See AA page B18. 1549 */ 1550 T = (date.julian - $const.j2000) / 36525.0; 1551 1552 /* Implementation by elementary rotations using Laskar's expansions. 1553 * First rotate about the x axis from the initial equator 1554 * to the ecliptic. (The input is equatorial.) 1555 */ 1556 if (direction == 1) { 1557 $moshier.epsilon.calc (date); /* To J2000 */ 1558 } else { 1559 $moshier.epsilon.calc ({julian: $const.j2000}); /* From J2000 */ 1560 } 1561 x[0] = R[0]; 1562 z = $moshier.epsilon.coseps*R[1] + $moshier.epsilon.sineps*R[2]; 1563 x[2] = -$moshier.epsilon.sineps*R[1] + $moshier.epsilon.coseps*R[2]; 1564 x[1] = z; 1565 1566 /* Precession in longitude 1567 */ 1568 T /= 10.0; /* thousands of years */ 1569 p = this.pAcof; 1570 pA = p [p_i ++]; //*p++; 1571 for( i=0; i<9; i++ ) { 1572 pA = pA * T + p [p_i ++]; //*p++; 1573 } 1574 pA *= $const.STR * T; 1575 1576 /* Node of the moving ecliptic on the J2000 ecliptic. 1577 */ 1578 p = this.nodecof; 1579 p_i = 0; 1580 W = p [p_i ++]; //*p++; 1581 for( i=0; i<10; i++ ) { 1582 W = W * T + p [p_i ++]; //*p++; 1583 } 1584 1585 /* Rotate about z axis to the node. 1586 */ 1587 if( direction == 1 ) { 1588 z = W + pA; 1589 } else { 1590 z = W; 1591 } 1592 B = Math.cos(z); 1593 A = Math.sin(z); 1594 z = B * x[0] + A * x[1]; 1595 x[1] = -A * x[0] + B * x[1]; 1596 x[0] = z; 1597 1598 /* Rotate about new x axis by the inclination of the moving 1599 * ecliptic on the J2000 ecliptic. 1600 */ 1601 p = this.inclcof; 1602 p_i = 0; 1603 z = p [p_i ++]; //*p++; 1604 for( i=0; i<10; i++ ) { 1605 z = z * T + p [p_i ++]; //*p++; 1606 } 1607 if( direction == 1 ) { 1608 z = -z; 1609 } 1610 B = Math.cos(z); 1611 A = Math.sin(z); 1612 z = B * x[1] + A * x[2]; 1613 x[2] = -A * x[1] + B * x[2]; 1614 x[1] = z; 1615 1616 /* Rotate about new z axis back from the node. 1617 */ 1618 if( direction == 1 ) { 1619 z = -W; 1620 } else { 1621 z = -W - pA; 1622 } 1623 B = Math.cos(z); 1624 A = Math.sin(z); 1625 z = B * x[0] + A * x[1]; 1626 x[1] = -A * x[0] + B * x[1]; 1627 x[0] = z; 1628 1629 /* Rotate about x axis to final equator. 1630 */ 1631 if( direction == 1 ) { 1632 $moshier.epsilon.calc ({julian: $const.j2000}); 1633 } else { 1634 $moshier.epsilon.calc ( date ); 1635 } 1636 z = $moshier.epsilon.coseps * x[1] - $moshier.epsilon.sineps * x[2]; 1637 x[2] = $moshier.epsilon.sineps * x[1] + $moshier.epsilon.coseps * x[2]; 1638 x[1] = z; 1639 1640 for( i=0; i<3; i++ ) { 1641 R[i] = x[i]; 1642 } 1643}; 1644 1645$ns.util = {}; 1646 1647$ns.util.mods3600 = function (value) { 1648 var result; 1649 1650 result = (value - 1.296e6 * Math.floor (value / 1.296e6)); 1651 1652 return result; 1653}; 1654 1655/* Reduce x modulo 2 pi 1656 */ 1657$ns.util.modtp = function (x) { 1658 var y; // double 1659 1660 y = Math.floor ( x / $const.TPI ); 1661 y = x - y * $const.TPI; 1662 while( y < 0.0 ) { 1663 y += $const.TPI; 1664 } 1665 while( y >= $const.TPI ) { 1666 y -= $const.TPI; 1667 } 1668 return y; 1669}; 1670 1671/* Reduce x modulo 360 degrees 1672 */ 1673$ns.util.mod360 = function (x) { 1674 var k; // int 1675 var y; // double 1676 1677 k = Math.floor (x / 360.0); 1678 y = x - k * 360.0; 1679 while( y < 0.0 ) { 1680 y += 360.0; 1681 } 1682 while( y > 360.0 ) { 1683 y -= 360.0; 1684 } 1685 return y; 1686}; 1687 1688/* Reduce x modulo 30 degrees 1689 */ 1690$ns.util.mod30 = function (x) { 1691 var k; // int 1692 var y; // double 1693 1694 k = Math.floor (x / 30.0); 1695 y = x - k * 30.0; 1696 while( y < 0.0 ) { 1697 y += 30.0; 1698 } 1699 while( y > 30.0 ) { 1700 y -= 30.0; 1701 } 1702 return y; 1703}; 1704 1705$ns.util.zatan2 = function ( x, y ) { 1706 var z, w; // double 1707 var code; // short 1708 1709 code = 0; 1710 1711 if( x < 0.0 ) { 1712 code = 2; 1713 } 1714 if( y < 0.0 ) { 1715 code |= 1; 1716 } 1717 1718 if( x == 0.0 ) { 1719 if( code & 1 ) { 1720 return 1.5 * Math.PI ; 1721 } 1722 if( y == 0.0 ) { 1723 return 0.0; 1724 } 1725 return 0.5 * Math.PI; 1726 } 1727 1728 if( y == 0.0 ) { 1729 if( code & 2 ) { 1730 return Math.PI; 1731 } 1732 return 0.0; 1733 } 1734 1735 switch( code ) { 1736 default: 1737 case 0: w = 0.0; break; 1738 case 1: w = 2.0 * Math.PI; break; 1739 case 2: 1740 case 3: w = Math.PI; break; 1741 } 1742 1743 z = Math.atan (y / x); 1744 1745 return w + z; 1746}; 1747 1748$ns.util.sinh = function (x) { 1749 return (Math.exp(x) - Math.exp(-x)) / 2; 1750}; 1751 1752$ns.util.cosh = function (x) { 1753 return (Math.exp(x) + Math.exp(-x)) / 2; 1754}; 1755
1756$ns.util.tanh = function (x) { 1757 return (Math.exp(x) - Math.exp(-x)) / (Math.exp(x) + Math.exp(-x)); 1758}; 1759 1760$ns.util.hms = function (x) { 1761 var h, m; // int 1762 var sint, sfrac; // long 1763 var s; // double 1764 var result = {}; 1765 1766 s = x * $const.RTOH; 1767 if (s < 0.0) { 1768 s += 24.0; 1769 } 1770 h = Math.floor (s); 1771 s -= h; 1772 s *= 60; 1773 m = Math.floor (s); 1774 s -= m; 1775 s *= 60; 1776 /* Handle shillings and pence roundoff. */ 1777 sfrac = Math.floor (1000.0 * s + 0.5); 1778 if ( sfrac >= 60000 ) { 1779 sfrac -= 60000; 1780 m += 1; 1781 if( m >= 60 ) { 1782 m -= 60; 1783 h += 1; 1784 } 1785 } 1786 sint = Math.floor (sfrac / 1000); 1787 sfrac -= Math.floor (sint * 1000); 1788 1789 result.hours = h; 1790 result.minutes = m; 1791 result.seconds = sint; 1792 result.milliseconds = sfrac; 1793 1794 return result; 1795}; 1796 1797$ns.util.dms = function (x) { 1798 var s; // double 1799 var d, m; // int 1800 var result = {}; 1801 1802 s = x * $const.RTD; 1803 if( s < 0.0 ) { 1804 s = -s; 1805 } 1806 d = Math.floor (s); 1807 s -= d; 1808 s *= 60; 1809 m = Math.floor (s); 1810 s -= m; 1811 s *= 60; 1812 1813 result.degree = d; 1814 result.minutes = m; 1815 result.seconds = s; 1816 1817 return result; 1818}; 1819 1820/* Display magnitude of correction vector 1821 * in arc seconds 1822 */ 1823$ns.util.showcor = function (p, dp, result) { 1824 var p1 = []; // dr, dd; // double 1825 var i; // int 1826 var d; 1827 1828 for( i=0; i<3; i++ ) { 1829 p1[i] = p[i] + dp[i]; 1830 } 1831 1832 d = $util.deltap ( p, p1); 1833 1834 result = result || {}; 1835 result.dRA = $const.RTS * d.dr/15.0; 1836 result.dDec = $const.RTS * d.dd; 1837 1838 return result; 1839}; 1840 1841/* Display Right Ascension and Declination 1842 * from input equatorial rectangular unit vector. 1843 * Output vector pol[] contains R.A., Dec., and radius. 1844 */ 1845$ns.util.showrd = function (p, pol, result) { 1846 var x, y, r; // double 1847 var i; // int 1848 1849 r = 0.0; 1850 for( i=0; i<3; i++ ) { 1851 x = p[i]; 1852 r += x * x; 1853 } 1854 r = Math.sqrt(r); 1855 1856 x = $util.zatan2( p[0], p[1] ); 1857 pol[0] = x; 1858 1859 y = Math.asin( p[2]/r ); 1860 pol[1] = y; 1861 1862 pol[2] = r; 1863 1864 result = result || {}; 1865 1866 $copy (result, { 1867 dRA: x, 1868 dDec: y, 1869 ra: $util.hms (x), 1870 dec: $util.dms (y) 1871 }); 1872 1873 return result; 1874}; 1875 1876/* 1877 * Convert change in rectangular coordinatates to change 1878 * in right ascension and declination. 1879 * For changes greater than about 0.1 degree, the 1880 * coordinates are converted directly to R.A. and Dec. 1881 * and the results subtracted. For small changes, 1882 * the change is calculated to first order by differentiating 1883 * tan(R.A.) = y/x 1884 * to obtain 1885 * dR.A./cos**2(R.A.) = dy/x - y dx/x**2 1886 * where 1887 * cos**2(R.A.) = 1/(1 + (y/x)**2). 1888 * 1889 * The change in declination arcsin(z/R) is 1890 * d asin(u) = du/sqrt(1-u**2) 1891 * where u = z/R. 1892 * 1893 * p0 is the initial object - earth vector and 1894 * p1 is the vector after motion or aberration. 1895 * 1896 */ 1897$ns.util.deltap = function (p0, p1, d) { 1898 var dp = [], A, B, P, Q, x, y, z; // double 1899 var i; // int 1900 1901 d = d || {}; 1902 1903 P = 0.0; 1904 Q = 0.0; 1905 z = 0.0; 1906 for( i=0; i<3; i++ ) { 1907 x = p0[i]; 1908 y = p1[i]; 1909 P += x * x; 1910 Q += y * y; 1911 y = y - x; 1912 dp[i] = y; 1913 z += y*y; 1914 } 1915 1916 A = Math.sqrt(P); 1917 B = Math.sqrt(Q); 1918 1919 if( (A < 1.e-7) || (B < 1.e-7) || (z/(P+Q)) > 5.e-7 ) { 1920 P = $util.zatan2( p0[0], p0[1] ); 1921 Q = $util.zatan2( p1[0], p1[1] ); 1922 Q = Q - P; 1923 while( Q < -Math.PI ) { 1924 Q += 2.0*Math.PI; 1925 } 1926 while( Q > Math.PI ) { 1927 Q -= 2.0*Math.PI; 1928 } 1929 d.dr = Q; 1930 P = Math.asin( p0[2]/A ); 1931 Q = Math.asin( p1[2]/B ); 1932 d.dd = Q - P; 1933 return d; 1934 } 1935 1936 1937 x = p0[0]; 1938 y = p0[1]; 1939 if( x == 0.0 ) { 1940 d.dr = 1.0e38; 1941 } else { 1942 Q = y/x; 1943 Q = (dp[1] - dp[0]*y/x)/(x * (1.0 + Q*Q)); 1944 d.dr = Q; 1945 } 1946 1947 x = p0[2] / A; 1948 P = Math.sqrt( 1.0 - x*x ); 1949 d.dd = (p1[2] / B - x) / P; 1950 1951 return d; 1952}; 1953 1954/* Sun - object - earth angles and distances. 1955 * q (object), e (earth), and p (q minus e) are input vectors. 1956 * The answers are posted in the following global locations: 1957 */ 1958$ns.util.angles = function (p, q, e) { 1959 var a, b, s; // double 1960 var i; // int 1961 1962 $const.EO = 0.0; 1963 $const.SE = 0.0; 1964 $const.SO = 0.0; 1965 $const.pq = 0.0; 1966 $const.ep = 0.0; 1967 $const.qe = 0.0; 1968 for( i=0; i<3; i++ ) { 1969 a = e[i]; 1970 b = q[i]; 1971 s = p[i]; 1972 $const.EO += s * s; 1973 $const.SE += a * a; 1974 $const.SO += b * b; 1975 $const.pq += s * b; 1976 $const.ep += a * s; 1977 $const.qe += b * a; 1978 } 1979 $const.EO = Math.sqrt($const.EO); /* Distance between Earth and object */ 1980 $const.SO = Math.sqrt($const.SO); /* Sun - object */ 1981 $const.SE = Math.sqrt($const.SE); /* Sun - earth */ 1982 /* Avoid fatality: if object equals sun, SO is zero. */ 1983 if( $const.SO > 1.0e-12 ) 1984 { 1985 $const.pq /= $const.EO*$const.SO; /* cosine of sun-object-earth */ 1986 $const.qe /= $const.SO*$const.SE; /* cosine of earth-sun-object */ 1987 } 1988 $const.ep /= $const.SE*$const.EO; /* -cosine of sun-earth-object */ 1989}; 1990 1991$ns.kepler = {}; 1992 1993$ns.kepler.calc = function (date, body, rect, polar) { 1994 var alat, E, M, W, temp; // double 1995 var epoch, inclination, ascnode, argperih; // double 1996 var meandistance, dailymotion, eccent, meananomaly; // double 1997 var r, coso, sino, cosa; // double 1998 1999 rect = rect || []; 2000 polar = polar || []; 2001 2002 /* Call program to compute position, if one is supplied. */ 2003 if ( body.ptable ) { 2004 if ( body.key == 'earth' ) { 2005 $moshier.gplan.calc3 (date, body.ptable, polar, 3); 2006 } else { 2007 $moshier.gplan.calc (date, body.ptable, polar); 2008 } 2009 E = polar[0]; /* longitude */ 2010 body.longitude = E; 2011 W = polar[1]; /* latitude */ 2012 r = polar[2]; /* radius */ 2013 body.distance = r; 2014 body.epoch = date.julian; 2015 body.equinox = {julian: $const.j2000}; 2016 // goto kepdon; 2017 } else { 2018 /* Decant the parameters from the data structure 2019 */ 2020 epoch = body.epoch; 2021 inclination = body.inclination; 2022 ascnode = body.node * $const.DTR; 2023 argperih = body.perihelion; 2024 meandistance = body.semiAxis; /* semimajor axis */ 2025 dailymotion = body.dailyMotion; 2026 eccent = body.eccentricity; 2027 meananomaly = body.anomaly; 2028 2029 /* Check for parabolic orbit. */ 2030 if( eccent == 1.0 ) { 2031 /* meandistance = perihelion distance, q 2032 * epoch = perihelion passage date 2033 */ 2034 temp = meandistance * Math.sqrt (meandistance); 2035 W = (date.julian - epoch ) * 0.0364911624 / temp; 2036 /* The constant above is 3 k / sqrt(2),
2037 * k = Gaussian gravitational constant = 0.01720209895 . */ 2038 E = 0.0; 2039 M = 1.0; 2040 while (Math.abs(M) > 1.0e-11) { 2041 temp = E * E; 2042 temp = (2.0 * E * temp + W)/( 3.0 * (1.0 + temp)); 2043 M = temp - E; 2044 if( temp != 0.0 ) { 2045 M /= temp; 2046 } 2047 E = temp; 2048 } 2049 r = meandistance * (1.0 + E * E ); 2050 M = Math.atan (E); 2051 M = 2.0 * M; 2052 alat = M + $const.DTR*argperih; 2053 // goto parabcon; 2054 } else { 2055 if( eccent > 1.0 ) { 2056 /* The equation of the hyperbola in polar coordinates r, theta 2057 * is r = a(e^2 - 1)/(1 + e cos(theta)) 2058 * so the perihelion distance q = a(e-1), 2059 * the "mean distance" a = q/(e-1). 2060 */ 2061 meandistance = meandistance/(eccent - 1.0); 2062 temp = meandistance * Math.sqrt(meandistance); 2063 W = (date.julian - epoch ) * 0.01720209895 / temp; 2064 /* solve M = -E + e sinh E */ 2065 E = W/(eccent - 1.0); 2066 M = 1.0; 2067 while( Math.abs(M) > 1.0e-11 ) 2068 { 2069 M = -E + eccent * $util.sinh(E) - W; 2070 E += M/(1.0 - eccent * $util.cosh(E)); 2071 } 2072 r = meandistance * (-1.0 + eccent * $util.cosh(E)); 2073 temp = (eccent + 1.0)/(eccent - 1.0); 2074 M = Math.sqrt(temp) * $util.tanh( 0.5*E ); 2075 M = 2.0 * Math.atan(M); 2076 alat = M + $const.DTR * argperih; 2077 // goto parabcon; 2078 } else { 2079 /* Calculate the daily motion, if it is not given. 2080 */ 2081 if( dailymotion == 0.0 ) 2082 { 2083 /* The constant is 180 k / pi, k = Gaussian gravitational constant. 2084 * Assumes object in heliocentric orbit is massless. 2085 */ 2086 dailymotion = 0.9856076686 / (body.semiAxis * Math.sqrt(body.semiAxis)); 2087 } 2088 dailymotion *= date.julian - epoch; 2089 /* M is proportional to the area swept out by the radius 2090 * vector of a circular orbit during the time between 2091 * perihelion passage and Julian date J. 2092 * It is the mean anomaly at time J. 2093 */ 2094 M = $const.DTR * ( meananomaly + dailymotion ); 2095 M = $util.modtp(M); 2096 /* If mean longitude was calculated, adjust it also 2097 * for motion since epoch of elements. 2098 */ 2099 if( body.longitude ) 2100 { 2101 body.longitude += dailymotion; 2102 body.longitude = $util.mod360 (body.longitude); 2103 } 2104 2105 /* By Kepler's second law, M must be equal to 2106 * the area swept out in the same time by an 2107 * elliptical orbit of same total area. 2108 * Integrate the ellipse expressed in polar coordinates 2109 * r = a(1-e^2)/(1 + e cosW) 2110 * with respect to the angle W to get an expression for the 2111 * area swept out by the radius vector. The area is given 2112 * by the mean anomaly; the angle is solved numerically. 2113 * 2114 * The answer is obtained in two steps. We first solve 2115 * Kepler's equation 2116 * M = E - eccent*sin(E) 2117 * for the eccentric anomaly E. Then there is a 2118 * closed form solution for W in terms of E. 2119 */ 2120 2121 E = M; /* Initial guess is same as circular orbit. */ 2122 temp = 1.0; 2123 do { 2124 /* The approximate area swept out in the ellipse */ 2125 temp = E - eccent * Math.sin(E) 2126 /* ...minus the area swept out in the circle */ 2127 - M; 2128 /* ...should be zero. Use the derivative of the error 2129 * to converge to solution by Newton's method. 2130 */ 2131 E -= temp/(1.0 - eccent * Math.cos(E)); 2132 } while ( Math.abs(temp) > 1.0e-11 ); 2133 2134 /* The exact formula for the area in the ellipse is 2135 * 2.0*atan(c2*tan(0.5*W)) - c1*eccent*sin(W)/(1+e*cos(W)) 2136 * where 2137 * c1 = sqrt( 1.0 - eccent*eccent ) 2138 * c2 = sqrt( (1.0-eccent)/(1.0+eccent) ). 2139 * Substituting the following value of W 2140 * yields the exact solution. 2141 */ 2142 temp = Math.sqrt( (1.0+eccent)/(1.0-eccent) ); 2143 W = 2.0 * Math.atan( temp * Math.tan(0.5*E) ); 2144 2145 /* The true anomaly. 2146 */ 2147 W = $util.modtp(W); 2148 2149 meananomaly *= $const.DTR; 2150 /* Orbital longitude measured from node 2151 * (argument of latitude) 2152 */ 2153 if( body.longitude ) { 2154 alat = (body.longitude) * $const.DTR + W - meananomaly - ascnode; 2155 } else { 2156 alat = W + $const.DTR * argperih; /* mean longitude not given */ 2157 } 2158 2159 /* From the equation of the ellipse, get the 2160 * radius from central focus to the object. 2161 */ 2162 r = meandistance*(1.0-eccent*eccent)/(1.0+eccent*Math.cos(W)); 2163 } 2164 } 2165// parabcon: 2166 /* The heliocentric ecliptic longitude of the object 2167 * is given by 2168 * tan( longitude - ascnode ) = cos( inclination ) * tan( alat ). 2169 */ 2170 coso = Math.cos( alat ); 2171 sino = Math.sin( alat ); 2172 inclination *= $const.DTR; 2173 W = sino * Math.cos( inclination ); 2174 E = $util.zatan2 ( coso, W ) + ascnode; 2175 2176 /* The ecliptic latitude of the object 2177 */ 2178 W = sino * Math.sin( inclination ); 2179 W = Math.asin (W); 2180 } 2181// kepdon: 2182 2183 /* Convert to rectangular coordinates, 2184 * using the perturbed latitude. 2185 */ 2186 rect[2] = r * Math.sin(W); 2187 cosa = Math.cos(W); 2188 rect[1] = r * cosa * Math.sin(E); 2189 rect[0] = r * cosa * Math.cos(E); 2190
2191 /* Convert from heliocentric ecliptic rectangular 2192 * to heliocentric equatorial rectangular coordinates 2193 * by rotating eps radians about the x axis. 2194 */ 2195 $moshier.epsilon.calc (body.equinox); 2196 W = $moshier.epsilon.coseps*rect[1] - $moshier.epsilon.sineps*rect[2]; 2197 M = $moshier.epsilon.sineps*rect[1] + $moshier.epsilon.coseps*rect[2]; 2198 rect[1] = W; 2199 rect[2] = M; 2200 2201 /* Precess the position 2202 * to ecliptic and equinox of J2000.0 2203 * if not already there. 2204 */ 2205 $moshier.precess.calc (rect, body.equinox, 1); 2206 2207 /* If earth, adjust from earth-moon barycenter to earth 2208 * by AA page E2. 2209 */ 2210 if( body.key == 'earth' ) { 2211 r = this.embofs ( date, rect); /* see below */ 2212 } 2213 2214 /* Rotate back into the ecliptic. */ 2215 $moshier.epsilon.calc ({julian: $const.j2000}); 2216 W = $moshier.epsilon.coseps*rect[1] + $moshier.epsilon.sineps*rect[2]; 2217 M = -$moshier.epsilon.sineps*rect[1] + $moshier.epsilon.coseps*rect[2]; 2218 2219 /* Convert to polar coordinates */ 2220 E = $util.zatan2( rect[0], W ); 2221 W = Math.asin( M/r ); 2222 2223 /* Output the polar cooordinates 2224 */ 2225 polar[0] = E; /* longitude */ 2226 polar[1] = W; /* latitude */ 2227 polar[2] = r; /* radius */ 2228 2229 // fill the body.position only if rect and polar are 2230 // not defined 2231 if (arguments.length < 4) { 2232 body.position = { 2233 date: date, 2234 rect: rect, 2235 polar: polar 2236 }; 2237 } 2238}; 2239 2240/* Adjust position from Earth-Moon barycenter to Earth 2241 * 2242 * J = Julian day number 2243 * emb = Equatorial rectangular coordinates of EMB. 2244 * return = Earth's distance to the Sun (au) 2245 */ 2246$ns.kepler.embofs = function (date, ea) { 2247 var pm = [], polm = []; // double 2248 var a, b; // double 2249 var i; // int 2250 var xx = []; 2251 2252 /* Compute the vector Moon - Earth. */ 2253 $moshier.gplan.moon (date, pm, polm, xx); 2254 2255 /* Precess the lunar position 2256 * to ecliptic and equinox of J2000.0 2257 */ 2258 $moshier.precess.calc (pm, date, 1); 2259 2260 /* Adjust the coordinates of the Earth 2261 */ 2262 a = 1.0 / ($const.emrat + 1.0); 2263 b = 0.0; 2264 for( i=0; i<3; i++ ) { 2265 ea[i] = ea[i] - a * pm[i]; 2266 b = b + ea[i] * ea[i]; 2267 } 2268 /* Sun-Earth distance. */ 2269 return Math.sqrt (b); 2270}; 2271 2272$ns.kepler.init = function () { 2273 var a, b, fl, co, si, u; // double 2274 2275 u = $const.glat * $const.DTR; 2276 2277 /* Reduction from geodetic latitude to geocentric latitude 2278 * AA page K5 2279 */ 2280 co = Math.cos(u); 2281 si = Math.sin(u); 2282 fl = 1.0 - 1.0 / $const.flat; 2283 fl = fl*fl; 2284 si = si*si; 2285 u = 1.0/Math.sqrt( co*co + fl*si ); 2286 a = $const.aearth*u + $const.height; 2287 b = $const.aearth*fl*u + $const.height; 2288 $const.trho = Math.sqrt( a*a*co*co + b*b*si ); 2289 $const.tlat = $const.RTD * Math.acos( a*co/$const.trho ); 2290 if( $const.glat < 0.0 ) { 2291 $const.tlat = -$const.tlat; 2292 } 2293 $const.trho /= $const.aearth; 2294 2295 /* Reduction from geodetic latitude to geocentric latitude 2296 * AA page K5 2297 */ 2298 /* 2299 tlat = glat 2300 - 0.19242861 * sin(2.0*u) 2301 + 0.00032314 * sin(4.0*u) 2302 - 0.00000072 * sin(6.0*u); 2303 2304 trho = 0.998327073 2305 + 0.001676438 * cos(2.0*u) 2306 - 0.000003519 * cos(4.0*u) 2307 + 0.000000008 * cos(6.0*u); 2308 trho += height/6378160.; 2309 */ 2310 2311 $const.Clightaud = 86400.0 * $const.Clight / $const.au; 2312 /* Radius of the earth in au 2313 Thanks to Min He <[email protected]> for pointing out 2314 this needs to be initialized early. */ 2315 $const.Rearth = 0.001 * $const.aearth / $const.au; 2316}; 2317 2318/** 2319 * 2320 * body definition { 2321 * 2322 * // body 2323 * epoch: epoch = epoch of orbital elements 2324 * inclination: i = inclination 2325 * node: W = longitude of the ascending node 2326 * perihelion: w = argument of the perihelion 2327 * semiAxis: a = mean distance (semimajor axis), if 0.0 then = perihelionDistance / (1 - eccentricity) 2328 * dailyMotion: dm = daily motion, if 0.0 will be calculated 2329 * eccentricity: ecc = eccentricity 2330 * anomaly: M = mean anomaly 2331 * equinox: equinox = epoch of equinox and ecliptic 2332 * magnitude: mag = visual magnitude at 1AU from earth and sun 2333 * semiDiameter: sdiam = equatorial semidiameter at 1au, arc seconds 2334 * perihelionDistance: = perihelion distance 2335 * // computed values 2336 * longitude: L = computed mean longitude 2337 * distance: r = computed radius vector 2338 * perturbation plat = perturbation in ecliptic latitude 2339 * 2340 * // star 2341 * ra: ra = right ascension, radians 2342 * dec: dec = declination, radians 2343 * parallax: px = parallax, radians 2344 * raMotion: mura = proper motion in R.A., rad/century 2345 * decMotion: mudec = proper motion in Dec., rad/century 2346 * velocity: v = radial velocity, km/s 2347 * equinox: equinox = epoch of equinox and ecliptic 2348 * magnitude: mag = visual magnitude 2349 * 2350 * // constellation 2351 * index: index of constellation (1-88) 2352 * raLow: lower right ascension, in units of hours times 3600 2353 * raHight: upper right ascension, in units of hours times 3600 2354 * dec0: lower declination, in units of degrees times 3600 2355 * 2356 * } 2357 * 2358 */ 2359 2360$ns.body = { 2361 /** 2362 * Sun 2363 */ 2364 sun: { 2365 weight: 100 2366 }, 2367 2368 /** 2369 * Planets 2370 */ 2371 mercury: { 2372 epoch: 2446800.5, // 05.01.1987 2373 inclination: 7.0048, 2374 node: 48.177, 2375 perihelion: 29.074, 2376 semiAxis: 0.387098, 2377 dailyMotion: 4.09236, 2378 eccentricity: 0.205628, 2379 anomaly: 198.7199, 2380 equinox: {julian: 2446800.5}, 2381 magnitude: -0.42, 2382 semiDiameter: 3.36 2383 }, 2384 venus: { 2385 epoch: 2446800.5, // 05.01.1987 2386 inclination: 3.3946, 2387 node: 76.561, 2388 perihelion: 54.889, 2389 semiAxis: 0.723329, 2390 dailyMotion: 1.60214, 2391 eccentricity: 0.006757, 2392 anomaly: 9.0369, 2393 equinox: {julian: 2446800.5}, 2394 /* Note the calculated apparent visual magnitude for Venus 2395 * is not very accurate. 2396 */ 2397 magnitude: -4.40, 2398 semiDiameter: 8.34 2399 }, 2400 earth: { 2401 epoch: 2446800.5, // 05.01.1987 2402 inclination: 0.0, 2403 node: 0.0, 2404 perihelion: 102.884, 2405 semiAxis: 0.999999, 2406 dailyMotion: 0.985611, 2407 eccentricity: 0.016713, 2408 anomaly: 1.1791, 2409 equinox: {julian: 2446800.5}, 2410 magnitude: -3.86, 2411 semiDiameter: 0.0, 2412 longitude: 0.0, // computed 2413 distance: 0.0, // computed 2414 perturbation: 0.0 // computed 2415 }, 2416 moon: { 2417 }, 2418 mars: { 2419 epoch: 2446800.5, // 05.01.1987 2420 inclination: 1.8498, 2421 node: 49.457, 2422 perihelion: 286.343, 2423 semiAxis: 1.523710, 2424 dailyMotion: 0.524023, 2425 eccentricity: 0.093472, 2426 anomaly: 53.1893, 2427 equinox: {julian: 2446800.5}, 2428 magnitude: -1.52, 2429 semiDiameter: 4.68 2430 }, 2431 jupiter: { 2432 epoch: 2446800.5, // 05.01.1987 2433 inclination: 1.3051, 2434 node: 100.358, 2435 perihelion: 275.129, 2436 semiAxis: 5.20265, 2437 dailyMotion: 0.0830948, 2438 eccentricity: 0.048100, 2439 anomaly: 344.5086, 2440 equinox: {julian: 2446800.5}, 2441 magnitude: -9.40, 2442 semiDiameter: 98.44 2443 }, 2444 saturn: { 2445 epoch: 2446800.5, // 05.01.1987 2446 inclination: 2.4858, 2447 node: 113.555, 2448 perihelion: 337.969, 2449 semiAxis: 9.54050, 2450 dailyMotion: 0.0334510, 2451 eccentricity: 0.052786, 2452 anomaly: 159.6327, 2453 equinox: {julian: 2446800.5}, 2454 magnitude: -8.88, 2455 semiDiameter: 82.73 2456 }, 2457 uranus: { 2458 epoch: 2446800.5, // 05.01.1987 2459 inclination: 0.7738, 2460 node: 73.994, 2461 perihelion: 98.746, 2462 semiAxis: 19.2233, 2463 dailyMotion: 0.0116943, 2464 eccentricity: 0.045682, 2465 anomaly: 84.8516, 2466 equinox: {julian: 2446800.5}, 2467 magnitude: -7.19,
2468 semiDiameter: 35.02 2469 }, 2470/* 2471 neptune: { 2472 epoch: 2446800.5, // 05.01.1987 2473 inclination: 1.7697, 2474 node: 131.677, 2475 perihelion: 250.623, 2476 semiAxis: 30.1631, 2477 dailyMotion: 0.00594978, 2478 eccentricity: 0.009019, 2479 anomaly: 254.2568, 2480 equinox: {julian: 2446800.5}, 2481 magnitude: -6.87, 2482 semiDiameter: 33.50 2483 }, 2484 neptunecty: { 2485 inclination: 0.00035372, 2486 node: -0.00508664, 2487 perihelion: -0.32241464, 2488 semiAxis: 0.00026291, 2489 eccentricity: 0.00005105, 2490 longitude: 218.45945325 2491 }, 2492 pluto: { 2493 epoch: 2446640.5, 2494 inclination: 17.1346, 2495 node: 110.204, 2496 perihelion: 114.21, 2497 semiAxis: 39.4633, 2498 dailyMotion: 0.00397570, 2499 eccentricity: 0.248662, 2500 anomaly: 355.0554, 2501 equinox: {julian: 2446640.5}, 2502 magnitude: -1.0, 2503 semiDiameter: 2.07 2504 }, 2505 plutocty: { 2506 inclination: 0.00004818, 2507 node: -0.01183482, 2508 perihelion: -0.04062942, 2509 semiAxis: -0.00031596, 2510 dailyMotion: 0.00397570, 2511 eccentricity: 0.00005170, 2512 longitude: 145.20780515 2513 }, 2514*/ 2515 neptune: { 2516 epoch: 2451545.0, // 05.01.1987 2517 inclination: 1.77004347, 2518 node: 131.78422574, 2519 perihelion: 44.96476227, 2520 semiAxis: 30.06992276, 2521 dailyMotion: 0.00594978, 2522 eccentricity: 0.00859048, 2523 anomaly: 254.2568, 2524 equinox: {julian: 2451545.0}, 2525 magnitude: -6.87, 2526 semiDiameter: 33.50 2527 }, 2528 neptunecty: { 2529 inclination: 0.00035372, 2530 node: -0.00508664, 2531 perihelion: -0.32241464, 2532 semiAxis: 0.00026291, 2533 eccentricity: 0.00005105, 2534 longitude: 218.45945325 2535 }, 2536 pluto: { 2537 epoch: 2451545.0, 2538 inclination: 17.14001206, 2539 node: 110.30393684, 2540 perihelion: 224.06891629, 2541 longitude: 238.92903833, 2542 semiAxis: 39.48211675, 2543 dailyMotion: 0.00397570, 2544 eccentricity: 0.24882730, 2545 anomaly: 355.0554, 2546 equinox: {julian: 2451545.0}, 2547 magnitude: -1.0, 2548 semiDiameter: 2.07 2549 }, 2550 plutocty: { 2551 inclination: 0.00004818, 2552 node: -0.01183482, 2553 perihelion: -0.04062942, 2554 semiAxis: -0.00031596, 2555 dailyMotion: 0.00397570, 2556 eccentricity: 0.00005170, 2557 longitude: 145.20780515 2558 }, 2559 2560 /** 2561 * Comets and asteroids 2562 */ 2563 chiron: { 2564 epoch: 2456000.5, 2565 inclination: 6.926651533484328, 2566 node: 209.3851130617651, 2567 perihelion: 339.4595737215378, 2568 semiAxis: 0.0, // will be calulated if 0.0 2569 dailyMotion: 0.0, // will be calculated 2570 eccentricity: 0.3792037887546262, 2571 anomaly: 114.8798253094007, 2572 equinox: {julian: 2450109.234581196786}, 2573 magnitude: 6.5, 2574 semiDiameter: 0.0, 2575 perihelionDistance: 8.486494269138399 2576 }, 2577 2578 /** 2579 * Stars (implemented, not tested) 2580 */ 2581 spica: { 2582 epoch: 2000.0, 2583 hmsRa: {hours: 13, minutes: 25, seconds: 11.5793}, 2584 hmsDec: {hours: -11, minutes: 9, seconds: 40.7501}, 2585 raMotion: -42.35, 2586 decMotion: -30.67, 2587 velocity: 1.0, 2588 parallax: 13.06, 2589 magnitude: 0.97, 2590 ra: 0.0, 2591 dec: 0.0, 2592 equinox: {julian: 0.0} 2593 }, 2594 2595 revati: { 2596 epoch: 2000.0, 2597 hmsRa: {hours: 1, minutes: 13, seconds: 43.88735}, 2598 hmsDec: {hours: 7, minutes: 34, seconds: 31.2745}, 2599 raMotion: 145, 2600 decMotion: -55.69, 2601 velocity: 15.0, 2602 parallax: 18.76, 2603 magnitude: 5.187, 2604 ra: 0.0, 2605 dec: 0.0, 2606 equinox: {julian: 0.0} 2607 }, 2608 2609 pushya: { 2610 epoch: 2000.0, 2611 hmsRa: {hours: 8, minutes: 44, seconds: 41.09921}, 2612 hmsDec: {hours: 18, minutes: 9, seconds: 15.5034}, 2613 raMotion: -17.67, 2614 decMotion: -229.26, 2615 velocity: 17.14, 2616 parallax: 24.98, 2617 magnitude: 3.94, 2618 ra: 0.0, 2619 dec: 0.0, 2620 equinox: {julian: 0.0} 2621 }, 2622 2623 mula: { 2624 epoch: 2000.0, 2625 hmsRa: {hours: 17, minutes: 33, seconds: 36.52012}, 2626 hmsDec: {hours: -37, minutes: 6, seconds: 13.7648}, 2627 raMotion: -8.53, 2628 decMotion: -30.8, 2629 velocity: -3, 2630 parallax: 5.71, 2631 magnitude: 1.62, 2632 ra: 0.0, 2633 dec: 0.0, 2634 equinox: {julian: 0.0} 2635 }, 2636 2637 saggi: { 2638 epoch: 2000.0, 2639 hmsRa: {hours: 17, minutes: 45, seconds: 40.03599}, 2640 hmsDec: {hours: -29, minutes: 0, seconds: 28.1699}, 2641 raMotion: -2.755718425, 2642 decMotion: -5.547, 2643 velocity: 0.0, 2644 parallax: 0, 2645 magnitude: 0.125, 2646 ra: 0.0, 2647 dec: 0.0, 2648 equinox: {julian: 0.0} 2649 }, 2650 2651 2652 sirius: { 2653 epoch: 2000.0, 2654 hmsRa: {hours: 6, minutes: 45, seconds: 8.871}, 2655 hmsDec: {hours: -16, minutes: 42, seconds: 57.99}, 2656 raMotion: -3.847, 2657 decMotion: -120.53, 2658 velocity: -7.6, 2659 parallax: 0.3751, 2660 magnitude: -1.46, 2661 ra: 0.0, 2662 dec: 0.0, 2663 equinox: {julian: 0.0} 2664 } 2665}
2665; 2666 2667$ns.body.init = function () { 2668 for (var key in this) { 2669 if (this.hasOwnProperty (key) && key != 'init') { 2670 // fill the 'key' 2671 this [key].key = key; 2672 // fill the ptable for the body 2673 if ($moshier.plan404.hasOwnProperty (key)) { 2674 this [key].ptable = $moshier.plan404 [key]; 2675 } 2676 } 2677 } 2678}; 2679 2680$ns.sun = {}; 2681 2682$ns.sun.calc = function () { 2683 var r, x, y, t; // double 2684 var ecr = [], rec = [], pol = []; // double 2685 var i; // int 2686 var d; 2687 //double asin(), modtp(), sqrt(), cos(), sin(); 2688 2689 $moshier.body.sun.position = $moshier.body.sun.position || {}; 2690 2691 /* Display ecliptic longitude and latitude. 2692 */ 2693 for( i=0; i<3; i++ ) { 2694 ecr[i] = - $moshier.body.earth.position.rect [i];//-rearth[i]; 2695 } 2696 r = $moshier.body.earth.position.polar [2]; //eapolar [2]; 2697 2698 $moshier.body.sun.position.equinoxEclipticLonLat = $moshier.lonlat.calc (ecr, $moshier.body.earth.position.date, pol, 1); // TDT 2699 2700 /* Philosophical note: the light time correction really affects 2701 * only the Sun's barymetric position; aberration is due to 2702 * the speed of the Earth. In Newtonian terms the aberration 2703 * is the same if the Earth is standing still and the Sun moving 2704 * or vice versa. Thus the following is actually wrong, but it 2705 * differs from relativity only in about the 8th decimal. 2706 * It should be done the same way as the corresponding planetary 2707 * correction, however. 2708 */ 2709 pol [2] = r; 2710 for( i=0; i<2; i++ ) { 2711 t = pol [2] / 173.1446327; 2712 /* Find the earth at time TDT - t */ 2713 $moshier.kepler.calc ({julian: $moshier.body.earth.position.date.julian - t}, $moshier.body.earth, ecr, pol ); 2714 } 2715 r = pol [2]; 2716 2717 for( i=0; i<3; i++ ) { 2718 x = -ecr[i]; 2719 y = - $moshier.body.earth.position.rect [i]; //-rearth[i]; 2720 ecr[i] = x; /* position t days ago */ 2721 rec[i] = y; /* position now */ 2722 pol[i] = y - x; /* change in position */ 2723 } 2724 2725 $copy ($moshier.body.sun.position, { 2726 date: $moshier.body.earth.position.date, 2727 lightTime: 1440.0*t, 2728 aberration: $util.showcor (ecr, pol) 2729 }); 2730 2731 /* Estimate rate of change of RA and Dec 2732 * for use by altaz(). 2733 */ 2734 d = $util.deltap( ecr, rec); /* see dms.c */ 2735 $const.dradt = d.dr; 2736 $const.ddecdt = d.dd; 2737 $const.dradt /= t; 2738 $const.ddecdt /= t; 2739 2740 2741 /* There is no light deflection effect. 2742 * AA page B39. 2743 */ 2744 2745 /* precess to equinox of date 2746 */ 2747 if ($const.truepos != 0 ) { ecr[0] = rec[0]; ecr[1] = rec[1]; ecr[2] = rec[2]; } 2748 $moshier.precess.calc ( ecr, $moshier.body.earth.position.date, -1); 2749 2750 for( i=0; i<3; i++ ) { 2751 rec[i] = ecr[i]; 2752 } 2753 2754 /* Nutation. 2755 */ 2756 $moshier.epsilon.calc ($moshier.body.earth.position.date); 2757 $moshier.nutation.calc ($moshier.body.earth.position.date, ecr); 2758 2759 /* Display the final apparent R.A. and Dec. 2760 * for equinox of date. 2761 */ 2762 $moshier.body.sun.position.constellation = $moshier.constellation.calc (ecr, $moshier.body.earth.position.date); 2763 2764 $moshier.body.sun.position.apparent = $util.showrd (ecr, pol); 2765 2766 /* Show it in ecliptic coordinates */ 2767 y = $moshier.epsilon.coseps * rec[1] + $moshier.epsilon.sineps * rec[2]; 2768 y = $util.zatan2( rec[0], y ) + $moshier.nutation.nutl; 2769 $moshier.body.sun.position.apparentLongitude = $const.RTD*y; 2770 var dmsLongitude = $util.dms (y); 2771 $moshier.body.sun.position.apparentLongitudeString = 2772 dmsLongitude.degree + '\u00B0' + 2773 dmsLongitude.minutes + '\'' + 2774 Math.floor (dmsLongitude.seconds) + '"' 2775 ; 2776 2777 $moshier.body.sun.position.apparentLongitude30String = 2778 $util.mod30 (dmsLongitude.degree) + '\u00B0' + 2779 dmsLongitude.minutes + '\'' + 2780 Math.floor (dmsLongitude.seconds) + '"' 2781 ; 2782 $moshier.body.sun.position.geocentricDistance = -1; 2783 2784 /* Report altitude and azimuth 2785 */ 2786 $moshier.body.sun.position.altaz = $moshier.altaz.calc ( pol, $moshier.body.earth.position.date ); 2787}; 2788 2789$ns.aberration = {}; 2790 2791$ns.aberration.calc = function (p, result) { 2792 var A, B, C; // double 2793 var betai, pV; // double 2794 var x = [], V = []; // double 2795 var i; // int 2796 2797 /* Calculate the velocity of the earth (see vearth.c). 2798 */ 2799 $moshier.vearth.calc ($moshier.body.earth.position.date); 2800 betai = 0.0; 2801 pV = 0.0; 2802 for( i=0; i<3; i++ ) { 2803 A = $moshier.vearth.vearth [i]/$const.Clightaud; 2804 V[i] = A; 2805 betai += A*A; 2806 pV += p[i] * A; 2807 } 2808 /* Make the adjustment for aberration. 2809 */ 2810 betai = Math.sqrt( 1.0 - betai ); 2811 C = 1.0 + pV; 2812 A = betai/C; 2813 B = (1.0 + pV/(1.0 + betai))/C; 2814 2815 for( i=0; i<3; i++ ) { 2816 C = A * p[i] + B * V[i]; 2817 x[i] = C; 2818 $const.dp[i] = C - p[i]; 2819 } 2820 2821 result = result || {}; 2822 2823 $util.showcor (p, $const.dp, result); 2824 for( i=0; i<3; i++ ) { 2825 p[i] = x[i]; 2826 } 2827 2828 return result; 2829}; 2830 2831$ns.altaz = { 2832 azimuth: 0.0, 2833 elevation: 0.0, 2834 refracted_elevation: 0.0 2835}; 2836 2837$ns.altaz.calc = function (pol, date, result) { 2838 var dec, cosdec, sindec, lha, coslha, sinlha; // double 2839 var ra, dist, last, alt, az, coslat, sinlat; // double 2840 var N, D, x, y, z, TPI; // double 2841 2842 result = result || {}; 2843 2844 ra = pol[0]; 2845 dec = pol[1]; 2846 dist = pol[2]; 2847 TPI = 2.0*Math.PI; 2848 /* local apparent sidereal time, seconds converted to radians 2849 */ 2850 last = $moshier.siderial.calc ( date, $const.tlong ) * $const.DTR/240.0; 2851 lha = last - ra; /* local hour angle, radians */ 2852 result.dLocalApparentSiderialTime = last; 2853 result.localApparentSiderialTime = $util.hms (last); 2854 2855 /* Display rate at which ra and dec are changing 2856 */ 2857 /* 2858 *if( prtflg ) 2859 * { 2860 * x = RTS/24.0; 2861 * N = x*dradt; 2862 * D = x*ddecdt; 2863 * if( N != 0.0 ) 2864 * printf( "dRA/dt %.2f\"/h, dDec/dt %.2f\"/h\n", N, D ); 2865 * } 2866 */ 2867 2868 result.diurnalAberation = $moshier.diurnal.aberration ( last, ra, dec ); 2869 ra = result.diurnalAberation.ra; 2870 dec = result.diurnalAberation.dec; 2871 2872 /* Do rise, set, and transit times 2873 trnsit.c takes diurnal parallax into account, 2874 but not diurnal aberration. */ 2875 lha = last - ra; 2876 result.transit = $moshier.transit.calc ( date, lha, dec ); 2877 2878 /* Diurnal parallax 2879 */ 2880 result.diurnalParallax = $moshier.diurnal.parallax (last, ra, dec, dist); 2881 ra = result.diurnalParallax.ra; 2882 dec = result.diurnalParallax.dec; 2883 2884 /* Diurnal aberration 2885 */ 2886 /*diurab( last, &ra, &dec );*/ 2887 2888 /* Convert ra and dec to altitude and azimuth 2889 */ 2890 cosdec = Math.cos(dec); 2891 sindec = Math.sin(dec); 2892 lha = last - ra; 2893 coslha = Math.cos(lha); 2894 sinlha = Math.sin(lha); 2895 /* Use the geodetic latitude for altitude and azimuth */ 2896 x = $const.DTR * $const.glat;
2897 coslat = Math.cos(x); 2898 sinlat = Math.sin(x); 2899 2900 N = -cosdec * sinlha; 2901 D = sindec * coslat - cosdec * coslha * sinlat; 2902 az = $const.RTD * $util.zatan2( D, N ); 2903 alt = sindec * sinlat + cosdec * coslha * coslat; 2904 alt = $const.RTD * Math.asin(alt); 2905 2906 /* Store results */ 2907 this.azimuth = az; 2908 this.elevation = alt; /* Save unrefracted value. */ 2909 2910 /* Correction for atmospheric refraction 2911 * unit = degrees 2912 */ 2913 D = $moshier.refraction.calc ( alt ); 2914 alt += D; 2915 this.refracted_elevation = alt; 2916 /* Convert back to R.A. and Dec. 2917 */ 2918 y = Math.sin($const.DTR*alt); 2919 x = Math.cos($const.DTR*alt); 2920 z = Math.cos($const.DTR*az); 2921 sinlha = -x * Math.sin($const.DTR*az); 2922 coslha = y*coslat - x*z*sinlat; 2923 sindec = y*sinlat + x*z*coslat; 2924 lha = $util.zatan2( coslha, sinlha ); 2925 2926 y = ra; /* save previous values, before refrac() */ 2927 z = dec; 2928 dec = Math.asin( sindec ); 2929 ra = last - lha; 2930 y = ra - y; /* change in ra */ 2931 while( y < - Math.PI ) { 2932 y += $const.TPI; 2933 } 2934 while( y > Math.PI ) { 2935 y -= $const.TPI; 2936 } 2937 y = $const.RTS*y/15.0; 2938 z = $const.RTS*(dec - z); 2939 2940 result.atmosphericRefraction = { 2941 deg: D, 2942 dRA: y, 2943 dDec: z 2944 }; 2945 2946 result.topocentric = { 2947 altitude: alt, 2948 azimuth: az, 2949 ra: ra, 2950 dec: dec, 2951 dRA: $util.hms (ra), 2952 dDec: $util.dms (dec) 2953 }; 2954 2955 return result; 2956}; 2957 2958$ns.constellation = { 2959 /* Constellation names 2960 */ 2961 constel: [ 2962 "And Andromedae", 2963 "Ant Antliae", 2964 "Aps Apodis", 2965 "Aql Aquilae", 2966 "Aqr Aquarii", 2967 "Ari Arietis", 2968 "Ara Arae", 2969 "Aur Aurigae", 2970 "Boo Bootis", 2971 "Cae Caeli", 2972 "Cam Camelopardalis", 2973 "Can Cancri", /* also abbreviated Cnc */ 2974 "Cap Capricorni", 2975 "Car Carinae", 2976 "Cas Cassiopeiae", 2977 "Cen Centauri", 2978 "Cep Cephei", 2979 "Cet Ceti", 2980 "Cha Chamaeleontis", 2981 "Cir Circini", 2982 "CMa Canis Majoris", 2983 "CMi Canis Minoris", 2984 "Cnc Cancri", 2985 "Col Columbae", 2986 "Com Comae Berenices", 2987 "CrA Coronae Austrinae", 2988 "CrB Coronae Borealis", 2989 "Crt Crateris", 2990 "Cru Crucis", 2991 "Crv Corvi", 2992 "CVn Canum Venaticorum", 2993 "Cyg Cygni", 2994 "Del Delphini", 2995 "Dor Doradus", 2996 "Dra Draconis", 2997 "Equ Equulei", 2998 "Eri Eridani", 2999 "For Fornacis", 3000 "Gem Geminorum", 3001 "Gru Gruis", 3002 "Her Herculis", 3003 "Hor Horologii", 3004 "Hya Hydrae", 3005 "Hyi Hydri", 3006 "Ind Indi", 3007 "Lac Lacertae", 3008 "Leo Leonis", 3009 "Lep Leporis", 3010 "Lib Librae", 3011 "LMi Leonis Minoris", 3012 "Lup Lupi", 3013 "Lyn Lyncis", 3014 "Lyr Lyrae", 3015 "Men Mensae", 3016 "Mic Microscopii", 3017 "Mon Monocerotis", 3018 "Mus Muscae", 3019 "Nor Normae", 3020 "Oct Octantis", 3021 "Oph Ophiuchi", 3022 "Ori Orionis", 3023 "Pav Pavonis", 3024 "Peg Pegasi", 3025 "Per Persei", 3026 "Phe Phoenicis", 3027 "Pic Pictoris", 3028 "PsA Piscis Austrini", 3029 "Psc Piscium", 3030 "Pup Puppis", 3031 "Pyx Pyxidis", 3032 "Ret Reticuli", 3033 "Scl Sculptoris", 3034 "Sco Scorpii", 3035 "Sct Scuti", 3036 "Ser Serpentis", 3037 "Sex Sextantis", 3038 "Sge Sagittae", 3039 "Sgr Sagittarii", 3040 "Tau Tauri", 3041 "Tel Telescopii", 3042 "TrA Trianguli Australis", 3043 "Tri Trianguli", 3044 "Tuc Tucanae", 3045 "UMa Ursae Majoris", 3046 "UMi Ursae Minoris", 3047 "Vel Velorum", 3048 "Vir Virginis", 3049 "Vol Volantis", 3050 "Vul Vulpeculae" 3051 ], 3052 3053 /* Greek letters 3054 */ 3055 greek: [ 3056 "alpha", 3057 "beta", 3058 "gamma", 3059 "delta", 3060 "epsilon", 3061 "zeta", 3062 "eta", 3063 "theta", 3064 "iota", 3065 "kappa", 3066 "lambda", 3067 "mu", 3068 "nu", 3069 "xi", 3070 "omicron", 3071 "pi", 3072 "rho", 3073 "sigma", 3074 "tau", 3075 "upsilon", 3076 "phi", 3077 "chi", 3078 "psi", 3079 "omega" 3080 ], 3081 3082 /* Table of constellation boundaries. 3083 3084 Roman, Nancy Grace, "Identification of a Constellation from a Position" 3085 Pub. Astron. Soc. Pac. 99, 695, (1987) 3086 3087 Array items are 3088 Lower Right Ascension, Upper Right Ascension, 3089 both in units of hours times 3600; 3090 Lower Declination, in units of degrees times 3600; 3091 and array index of constellation name. */ 3092 bndries: [ 3093 0, 86400, 316800, 84, 3094 28800, 52200, 311400, 84, 3095 75600, 82800, 310200, 84, 3096 64800, 75600, 309600, 84, 3097 0, 28800, 306000, 16, 3098 33000, 38400, 295200, 10, 3099 0, 18000, 288000, 16, 3100 38400, 52200, 288000, 10, 3101 63000, 64800, 288000, 84, 3102 72600, 75600, 288000, 34, 3103 0, 12630, 277200, 16, 3104 41400, 48900, 277200, 10, 3105 59520, 63000, 270000, 84, 3106 72600, 74400, 270000, 16, 3107 28680, 33000, 264600, 10, 3108 33000, 40800, 264600, 34, 3109 46800, 59520, 252000, 84, 3110 11160, 12300, 244800, 14, 3111 73500, 74400, 241200, 34, 3112 40800, 43200, 239400, 34, 3113 0, 1200, 237600, 16, 3114 50400, 56400, 237600, 84, 3115 84900, 86400, 237600, 16, 3116 43200, 48600, 230400, 34, 3117 48600, 51900, 226800, 34, 3118 83400, 84900, 226800, 16, 3119 21960, 25200, 223200, 10, 3120 72000, 73500, 221400, 34, 3121 73932, 74160, 219300, 16, 3122 25200, 28680, 216000, 10, 3123 28680, 30300, 216000, 83, 3124 71160, 72000, 214200, 34, 3125 72000, 73932, 214200, 16, 3126 82320, 83400, 212700, 16, 3127 0, 8760, 210600, 14, 3128 69900, 71160, 208800, 34, 3129 6120, 6870, 207000, 14, 3130 8760, 11160, 205200, 14, 3131 11160, 11400, 205200, 10, 3132 80340, 82320, 202500, 16, 3133 18000, 21960, 201600, 10, 3134 50520, 51900, 199800, 83, 3135 51900, 69900, 199800, 34, 3136 11400, 12000, 198000, 10, 3137 79680, 80340, 198000, 16, 3138 74160, 79080, 197400, 16, 3139 0, 6120, 194400, 14, 3140 21960, 23400, 194400, 51, 3141 43500, 48600, 190800, 83, 3142 54900, 56700, 190800, 34, 3143 79080, 79680, 189900, 16, 3144 12000, 18000, 189000, 10, 3145 82320, 84000, 189000, 14, 3146 56700, 61200, 185400, 34, 3147 7350, 9060, 181800, 63, 3148 61200, 65640, 181800, 34, 3149 0, 4920, 180000, 14, 3150 4920, 6000, 180000, 63, 3151 23400, 24480, 180000, 51, 3152 84000, 86400, 180000, 14, 3153 48600, 50520, 174600, 83, 3154 0, 4020, 172800, 14, 3155 84900, 86400, 172800, 14, 3156 65430, 65640, 171000, 40, 3157 65640, 68700, 171000, 34, 3158 68700, 69000, 171000, 31, 3159 6000, 7350, 169200, 63, 3160 30300, 33000, 169200, 83, 3161 600, 3120, 165600, 14, 3162 43200, 43500, 162000, 83, 3163 24480, 26520, 160200, 51, 3164 78870, 79080, 158400, 31, 3165 78750, 78870, 157500, 31, 3166 69000, 69840, 156600, 31, 3167 33000, 36600, 151200, 83, 3168 36600, 38820, 144000, 83, 3169 55560, 56700, 144000, 8, 3170 56700, 58800, 144000, 40, 3171 33300, 34500, 143100, 51, 3172 0, 9060, 132300, 0, 3173 9060, 9240, 132300, 63, 3174 69690, 69840, 131400, 52, 3175 16200, 16890, 129600, 63, 3176 78240, 78750, 129600, 31, 3177 78750, 79200, 129600, 45, 3178 23520, 26520, 127800, 7, 3179 26520, 27900, 127800, 51, 3180 0, 7200, 126000, 0, 3181 79200, 82140, 126000, 45, 3182 82140, 82320, 124200, 45, 3183 82320, 84600, 124200, 0, 3184 9240, 9780, 122400, 63, 3185 38820, 39600, 122400, 83, 3186 43200, 44400, 122400, 30, 3187 27900, 33300, 120600, 51, 3188 33300, 35580, 120600, 49, 3189 2580, 5070, 118800, 0, 3190 54660, 55560, 118800, 8, 3191 84600, 85500, 115500, 0, 3192 44400, 47700, 115200, 30, 3193 85500, 86400, 112800, 0, 3194 50250, 50520, 110700, 30, 3195 8700, 9780, 110400, 81, 3196 9780, 16200, 110400, 63, 3197 16200, 17100, 108000, 7, 3198 65430, 69690, 108000, 52, 3199 39600, 43200, 104400, 83, 3200 70800, 75300, 104400, 31, 3201 17100, 21180, 102600, 7, 3202 35580, 37800, 102600, 49, 3203 47700, 50250, 102600, 30, 3204 0, 240, 100800, 0, 3205 5070, 6000, 100800, 81, 3206 21180, 23520, 100800, 7, 3207 28380, 28800, 100800, 38, 3208 75300, 78240, 100800, 31, 3209 69330, 70800, 99000, 31, 3210 6900, 8700, 98100, 81, 3211 58200, 58800, 97200, 26, 3212 54300, 54660, 93600, 8, 3213 54660, 58200, 93600, 26, 3214 66120, 67920, 93600, 52, 3215 38700, 39600, 91800, 49, 3216 67920, 69330, 91800, 52, 3217 6000, 6900, 90000, 81, 3218 2580, 3060, 85500, 67, 3219 37800, 38700, 84600, 49, 3220 76500, 77100, 84600, 88, 3221 20520, 21180, 82200, 78, 3222 240, 510, 79200, 0, 3223 57300, 57720, 79200, 74, 3224 21180, 22380, 77400, 38, 3225 71400, 72900, 76500, 88, 3226 67920, 69300, 75900, 88, 3227 510, 3060, 75600, 0, 3228 72900, 74040, 73800, 88, 3229 28110, 28380, 72000, 38, 3230 74040, 76500, 70200, 88, 3231 69300, 71400, 69000, 88, 3232 11820, 12120, 68400, 5, 3233 67920, 68400, 66600, 76, 3234 20520, 20760, 64800, 60, 3235 22380, 22710, 63000, 38, 3236 68400, 71400, 58200, 76, 3237 17880, 19200, 57600, 78, 3238 57300, 57900, 57600, 40, 3239 71400, 72900, 56700, 76, 3240 16620, 17880, 55800, 78, 3241 19200, 20160, 55800, 78, 3242 46200, 48600, 54000, 24, 3243 62100, 65700, 51600, 40, 3244 42720, 46200, 50400, 24, 3245 27000, 28110, 48600, 38, 3246 60300, 62100, 46200, 40, 3247 0, 510, 45000, 62, 3248 20160, 20760, 45000, 78, 3249 25200, 27000, 45000, 38, 3250 76020, 76800, 45000, 62, 3251 22710, 24960, 43200, 38, 3252 65700, 67920, 43200, 40, 3253 75150, 75780, 42600, 32, 3254 75780, 76020, 42600, 62, 3255 41460, 42720, 39600, 46, 3256 22470, 22710, 36000, 60, 3257 24960, 25200, 36000, 38, 3258 28110, 28530, 36000, 22, 3259 85800, 86400, 36000, 62, 3260 6000, 11820, 35700, 5, 3261 72510, 73080, 30600, 32, 3262 48600, 54300, 28800, 8, 3263 81900, 85800, 27000, 62, 3264 28530, 33300, 25200, 22, 3265 33300, 38700, 25200, 46, 3266 65700, 67184, 22500, 59, 3267 67184, 67920, 22500, 3, 3268 75000, 75150, 21600, 32, 3269 25200, 25260, 19800, 21, 3270 65700, 66330, 16200, 74, 3271 57900, 60300, 14400, 40, 3272 65700, 66330, 10800, 59, 3273 77280, 78000, 9900, 62, 3274 0, 7200, 7200, 67, 3275 66900, 67920, 7200, 74, 3276 73080, 75000, 7200, 32, 3277 75000, 76800, 7200, 35, 3278 76800, 77280, 7200, 62, 3279 79200, 81900, 7200, 62, 3280 78000, 79200, 6300, 62, 3281 25260, 25920, 5400, 21, 3282 12900, 16620, 0, 78, 3283 16620, 16800, 0, 60, 3284 25920, 29100, 0, 21, 3285 52800, 54300, 0, 86, 3286 64200, 65700, 0, 59, 3287 9540, 11820, -6300, 17, 3288 11820, 12900, -6300, 78, 3289 54300, 58560, -11700, 74, 3290 16800, 18300, -14400, 60, 3291 21000, 22470, -14400, 60, 3292 64200, 64680, -14400, 74, 3293 65700, 66900, -14400, 74, 3294 66900, 67920, -14400, 3, 3295 81900, 85800, -14400, 67, 3296 38700, 41460, -21600, 46, 3297 41460, 42600, -21600, 86, 3298 0, 1200, -25200, 67, 3299 85800, 86400, -25200, 67, 3300 51300, 52800, -28800, 86, 3301 57300, 58560, -28800, 59, 3302 72000, 73920, -32400, 3, 3303 76800, 78720, -32400, 4, 3304 61800, 64680, -36000, 59, 3305 21000, 29100, -39600, 55, 3306 17700, 18300, -39600, 36, 3307 18300, 21000, -39600, 60, 3308 29100, 30120, -39600, 42, 3309 34500, 38700, -39600, 75, 3310 42600, 46200, -39600, 86, 3311 63300, 63600, -42000, 59, 3312 67920, 72000, -43320, 3, 3313 17400, 17700, -52200, 36, 3314 73920, 76800, -54000, 4, 3315 61800, 65700, -57600, 74, 3316 65700, 67920, -57600, 73, 3317 30120, 30900, -61200, 42, 3318 58560, 58950, -65700, 59, 3319 30900, 32700, -68400, 42, 3320 38700, 39000, -68400, 27, 3321 58560, 58950, -69300, 59, 3322 56400, 57300, -72000, 48, 3323 45300, 46200, -79200, 29, 3324 46200, 51300, -79200, 86, 3325 32700, 35100, -86400, 42, 3326 6000, 9540, -87780, 17, 3327 9540, 13500, -87780, 36, 3328 39000, 42600, -88200, 27, 3329 42600, 45300, -88200, 29, 3330 51300, 53700, -88200, 48, 3331 58560, 60300, -88500, 59, 3332 0, 6000, -91800, 17, 3333 76800, 78720, -91800, 12, 3334 78720, 85800, -91800, 4, 3335 85800, 86400, -91800, 17, 3336 35100, 36900, -95400, 42, 3337 16920, 17400, -98100, 36, 3338 17400, 22020, -98100, 47, 3339 72000, 76800, -100800, 12, 3340 36900, 38100, -105000, 42, 3341 45300, 53700, -106200, 42, 3342 53700, 56400, -106200, 48, 3343 56400, 57600, -106200, 72, 3344 16500, 16920, -108000, 36, 3345 60300, 63360, -108000, 59, 3346 63360, 64200, -108000, 77, 3347 38100, 39000, -112200, 42, 3348 22020, 26520, -118800, 20, 3349 44100, 45300, -118800, 42, 3350 39000, 44100, -126000, 42,
3351 12600, 13500, -129600, 37, 3352 30120, 33720, -132300, 69, 3353 15360, 16500, -133200, 36, 3354 64200, 69000, -133200, 77, 3355 76800, 82800, -133200, 66, 3356 82800, 84000, -133200, 71, 3357 10800, 12600, -142500, 37, 3358 33720, 39600, -143100, 1, 3359 0, 6000, -144000, 71, 3360 6000, 10800, -144000, 37, 3361 13920, 15360, -144000, 36, 3362 84000, 86400, -144000, 71, 3363 51000, 53700, -151200, 15, 3364 56400, 57600, -151200, 50, 3365 57600, 59115, -151200, 72, 3366 17400, 18000, -154800, 9, 3367 18000, 23700, -154800, 23, 3368 28800, 30120, -154800, 68, 3369 12300, 13920, -158400, 36, 3370 59115, 64200, -163800, 72, 3371 64200, 69000, -163800, 25, 3372 69000, 73200, -163800, 77, 3373 73200, 76800, -163800, 54, 3374 10800, 12300, -165600, 36, 3375 16200, 17400, -167400, 9, 3376 55200, 56400, -172800, 50, 3377 0, 8400, -173400, 64, 3378 9600, 10800, -176400, 36, 3379 14700, 15360, -176400, 41, 3380 15360, 16200, -176400, 9, 3381 76800, 79200, -180000, 39, 3382 21600, 28800, -182700, 68, 3383 28800, 29400, -182700, 85, 3384 8700, 9600, -183600, 36, 3385 13800, 14700, -183600, 41, 3386 0, 6600, -185400, 64, 3387 21600, 22200, -189000, 13, 3388 29400, 30420, -190800, 85, 3389 12600, 13800, -191400, 41, 3390 13800, 14400, -191400, 33, 3391 0, 5700, -192600, 64, 3392 7800, 8700, -194400, 36, 3393 16200, 18000, -194400, 65, 3394 54180, 55200, -194400, 50, 3395 30420, 31800, -196200, 85, 3396 22200, 23400, -198000, 13, 3397 42600, 46200, -198000, 15, 3398 51000, 54180, -198000, 50, 3399 54180, 55200, -198000, 57, 3400 14400, 15600, -203400, 33, 3401 31800, 39600, -203400, 85, 3402 39600, 40500, -203400, 15, 3403 63000, 64800, -205200, 6, 3404 64800, 73200, -205200, 79, 3405 79200, 84000, -205200, 39, 3406 11520, 12600, -207000, 41, 3407 18000, 19800, -207000, 65, 3408 23400, 24600, -208800, 13, 3409 0, 4800, -210600, 64, 3410 4800, 7800, -210600, 36, 3411 84000, 86400, -210600, 64, 3412 15600, 16500, -212400, 33, 3413 55200, 59115, -216000, 57, 3414 73200, 76800, -216000, 44, 3415 19800, 21600, -219600, 65, 3416 54600, 55200, -219600, 19, 3417 59115, 59700, -219600, 6, 3418 53700, 54600, -228900, 19, 3419 59700, 60300, -228900, 6, 3420 21600, 24600, -230400, 65, 3421 24600, 32520, -230400, 13, 3422 40500, 42600, -230400, 15, 3423 42600, 46200, -230400, 28, 3424 46200, 52320, -230400, 15, 3425 48600, 49200, -234000, 19, 3426 60300, 60600, -234000, 6, 3427 7800, 11520, -243000, 41, 3428 11520, 16500, -243000, 70, 3429 53100, 53700, -243000, 19, 3430 60600, 63000, -243000, 6, 3431 63000, 64800, -243000, 61, 3432 79200, 84000, -243000, 82, 3433 16500, 23700, -252000, 33, 3434 49200, 53100, -252000, 19, 3435 53100, 61200, -252000, 80, 3436 0, 4800, -270000, 82, 3437 12600, 16500, -270000, 43, 3438 23700, 32520, -270000, 87, 3439 32520, 40500, -270000, 13, 3440 40500, 49200, -270000, 56, 3441 64800, 76800, -270000, 61, 3442 76800, 84000, -270000, 44, 3443 84000, 86400, -270000, 82, 3444 2700, 4800, -273600, 82, 3445 0, 12600, -297000, 43, 3446 27600, 49200, -297000, 18, 3447 49200, 64800, -297000, 2, 3448 12600, 27600, -306000, 53, 3449 0, 86400, -324000, 58 3450 ] 3451}; 3452 3453/* Return the constellation name corresponding to a given mean equatorial 3454 position P. EPOCH is the precessional equinox and ecliptic date 3455 of P. */ 3456$ns.constellation.calc = function (pp, epoch) { 3457 var i, k; // int 3458 var ra, dec, d; // double 3459 var p = []; // double 3460 3461 for (i = 0; i < 3; i++) { 3462 p[i] = pp[i]; 3463 } 3464 3465 /* Precess from given epoch to J2000. */ 3466 $moshier.precess.calc (p, epoch, 1); 3467 /* Precess from J2000 to Besselian epoch 1875.0. */ 3468 $moshier.precess.calc (p, {julian: 2405889.25855}, -1); 3469 d = p[0] * p[0] + p[1] * p[1] + p[2] * p[2]; 3470 d = Math.sqrt (d); 3471 ra = Math.atan2 (p[1], p[0]) * ($const.RTD * 3600. / 15.); 3472 if (ra < 0.0) { 3473 ra += 86400.0; 3474 } 3475 dec = Math.asin (p[2] / d) * ($const.RTD * 3600.); 3476 3477 /* FIND CONSTELLATION SUCH THAT THE DECLINATION ENTERED IS HIGHER THAN 3478 THE LOWER BOUNDARY OF THE CONSTELLATION WHEN THE UPPER AND LOWER 3479 RIGHT ASCENSIONS FOR THE CONSTELLATION BOUND THE ENTERED RIGHT 3480 ASCENSION 3481 */ 3482 for (i = 0; i < this.bndries.length / 4; i++) { 3483 k = i << 2; 3484 if (ra >= this.bndries[k] && ra < this.bndries[k+1] && dec > this.bndries[k+2]) { 3485 k = this.bndries [k+3]; 3486 return k; 3487 } 3488 } 3489 return -1; 3490}; 3491 3492$ns.deflectioon = {}; 3493 3494$ns.deflectioon.calc = function (p, q, e, result) { 3495 var C; // double 3496 var i; // int 3497 3498 C = 1.974e-8/($const.SE*(1.0+$const.qe)); 3499 for( i=0; i<3; i++ ) { 3500 $const.dp[i] = C*($const.pq*e[i]/$const.SE - $const.ep*q[i]/$const.SO); 3501 p[i] += $const.dp[i]; 3502 } 3503 3504 result = result || {}; 3505 3506 result.sunElongation = Math.acos ( -$const.ep )/$const.DTR; 3507 result.lightDeflection = $util.showcor( p, $const.dp ); 3508 3509 return result; 3510}; 3511 3512$ns.diurnal = { 3513 /* Earth radii per au. */ 3514 DISFAC: 0.0 3515}; 3516 3517/* Diurnal aberration
3518 * This formula is less rigorous than the method used for 3519 * annual aberration. However, the correction is small. 3520 */ 3521$ns.diurnal.aberration = function (last, ra, dec, result) { 3522 var lha, coslha, sinlha, cosdec, sindec; // double 3523 var coslat, N, D; // double 3524 3525 result = result || {}; 3526 result.ra = ra; 3527 result.dec = dec; 3528 3529 lha = last - result.ra; 3530 coslha = Math.cos(lha); 3531 sinlha = Math.sin(lha); 3532 cosdec = Math.cos(result.dec); 3533 sindec = Math.sin(result.dec); 3534 coslat = Math.cos( $const.DTR*$const.tlat ); 3535 3536 if( cosdec != 0.0 ) 3537 N = 1.5472e-6*$const.trho*coslat*coslha/cosdec; 3538 else 3539 N = 0.0; 3540 result.ra += N; 3541 3542 D = 1.5472e-6*$const.trho*coslat*sinlha*sindec; 3543 result.dec += D; 3544 3545 result.dRA = $const.RTS*N/15.0; 3546 result.dDec = $const.RTS*D; 3547 3548 return result; 3549}; 3550 3551/* Diurnal parallax, AA page D3 3552 */ 3553$ns.diurnal.parallax = function (last, ra, dec, dist, result) { 3554 var cosdec, sindec, coslat, sinlat; // double 3555 var p = [], dp = [], x, y, z, D; // double 3556 3557 result = result || {}; 3558 result.ra = ra; 3559 result.dec = dec; 3560 3561 /* Don't bother with this unless the equatorial horizontal parallax 3562 * is at least 0.005" 3563 */ 3564 if( dist > 1758.8 ) { 3565 return result; 3566 } 3567 3568 this.DISFAC = $const.au / (0.001 * $const.aearth); 3569 cosdec = Math.cos(result.dec); 3570 sindec = Math.sin(result.dec); 3571 3572 /* Observer's astronomical latitude 3573 */ 3574 x = $const.tlat * $const.DTR; 3575 coslat = Math.cos(x); 3576 sinlat = Math.sin(x); 3577 3578 /* Convert to equatorial rectangular coordinates 3579 * in which unit distance = earth radius 3580 */ 3581 D = dist * this.DISFAC; 3582 p[0] = D*cosdec*Math.cos(result.ra); 3583 p[1] = D*cosdec*Math.sin(result.ra); 3584 p[2] = D*sindec; 3585 3586 dp[0] = -$const.trho*coslat*Math.cos(last); 3587 dp[1] = -$const.trho*coslat*Math.sin(last); 3588 dp[2] = -$const.trho*sinlat; 3589 3590 x = p[0] + dp[0]; 3591 y = p[1] + dp[1]; 3592 z = p[2] + dp[2]; 3593 D = x*x + y*y + z*z; 3594 D = Math.sqrt(D); /* topocentric distance */ 3595 3596 /* recompute ra and dec */ 3597 result.ra = $util.zatan2(x,y); 3598 result.dec = Math.asin(z/D); 3599 $util.showcor (p, dp, result); 3600 return result; 3601}; 3602 3603$ns.fk4fk5 = { 3604 /* Factors to eliminate E terms of aberration 3605 */ 3606 A: [-1.62557e-6, -3.1919e-7, - 1.3843e-7], 3607 Ad: [1.244e-3, -1.579e-3, -6.60e-4], 3608 3609 /* Transformation matrix for unit direction vector, 3610 * and motion vector in arc seconds per century 3611 */ 3612 Mat: [ 3613 0.9999256782, -0.0111820611, -4.8579477e-3, 3614 2.42395018e-6, -2.710663e-8, -1.177656e-8, 3615 0.0111820610, 0.9999374784, -2.71765e-5, 3616 2.710663e-8, 2.42397878e-6, -6.587e-11, 3617 4.8579479e-3, -2.71474e-5, 0.9999881997, 3618 1.177656e-8, -6.582e-11, 2.42410173e-6, 3619 -5.51e-4, -0.238565, 0.435739, 3620 0.99994704, -0.01118251, -4.85767e-3, 3621 0.238514, -2.667e-3, -8.541e-3, 3622 0.01118251, 0.99995883, -2.718e-5, 3623 -0.435623, 0.012254, 2.117e-3, 3624 4.85767e-3, -2.714e-5, 1.00000956 3625 ] 3626}; 3627 3628/* Convert FK4 B1950.0 catalogue coordinates 3629 * to FK5 J2000.0 coordinates. 3630 * AA page B58. 3631 */ 3632$ns.fk4fk5.calc = function (p, m, el) { 3633 var a, b, c; // double 3634 var u, v; // double array 3635 var R = []; // double 3636 var i, j; // int 3637 3638 /* Note the direction vector and motion vector 3639 * are already supplied by rstar.c. 3640 */ 3641 a = 0.0; 3642 b = 0.0; 3643 for( i=0; i<3; i++ ) { 3644 m[i] *= $const.RTS; /* motion must be in arc seconds per century */ 3645 a += this.A[i] * p[i]; 3646 b += this.Ad[i] * p[i]; 3647 } 3648 /* Remove E terms of aberration from FK4 3649 */ 3650 for( i=0; i<3; i++ ) { 3651 R[i] = p[i] - this.A[i] + a * p[i]; 3652 R[i+3] = m[i] - this.Ad[i] + b * p[i]; 3653 } 3654 3655 var u_i = 0; 3656 var v_i = 0; 3657 3658 /* Perform matrix multiplication 3659 */ 3660 v = this.Mat; 3661 for( i=0; i<6; i++ ) { 3662 a = 0.0; 3663 u = R; 3664 for( j=0; j<6; j++ ) { 3665 a += u [u_i ++] * v [v_i ++];//*u++ * *v++; 3666 } 3667 if( i < 3 ) { 3668 p[i] = a; 3669 } else { 3670 m[i-3] = a; 3671 } 3672 } 3673 3674 /* Transform the answers into J2000 catalogue entries 3675 * in radian measure. 3676 */ 3677 b = p[0]*p[0] + p[1]*p[1]; 3678 a = b + p[2]*p[2]; 3679 c = a; 3680 a = Math.sqrt(a); 3681 3682 el.ra = $util.zatan2( p[0], p[1] ); 3683 el.dec = Math.asin( p[2]/a ); 3684 3685 /* Note motion converted back to radians per (Julian) century */ 3686 el.raMotion = (p[0]*m[1] - p[1]*m[0])/($const.RTS*b); 3687 el.decMotion = (m[2]*b - p[2]*(p[0]*m[0] + p[1]*m[1]) )/($const.RTS*c*Math.sqrt(b)); 3688 3689 if( el.parallax > 0.0 ) { 3690 c = 0.0; 3691 for( i=0; i<3; i++ ) { 3692 c += p[i] * m[i]; 3693 } 3694
3695 /* divide by RTS to deconvert m (and therefore c) 3696 * from arc seconds back to radians 3697 */ 3698 el.velocity = c/(21.094952663 * el.parallax * $const.RTS * a); 3699 } 3700 el.parallax = el.parallax / a; /* a is dimensionless */ 3701 el.epoch = $const.j2000; 3702}; 3703 3704$ns.light = {}; 3705 3706$ns.light.calc = function (body, q, e) { 3707 var p = [], p0 = [], ptemp = []; // double 3708 var P, Q, E, t, x, y; // double 3709 var i, k; // int 3710 3711 /* save initial q-e vector for display */ 3712 for( i=0; i<3; i++ ) { 3713 p0[i] = q[i] - e[i]; 3714 } 3715 3716 E = 0.0; 3717 for( i=0; i<3; i++ ) { 3718 E += e[i]*e[i]; 3719 } 3720 E = Math.sqrt(E); 3721 3722 for( k=0; k<2; k++ ) { 3723 P = 0.0; 3724 Q = 0.0; 3725 for( i=0; i<3; i++ ) { 3726 y = q[i]; 3727 x = y - e[i]; 3728 p[i] = x; 3729 Q += y * y; 3730 P += x * x; 3731 } 3732 P = Math.sqrt(P); 3733 Q = Math.sqrt(Q); 3734 /* Note the following blows up if object equals sun. */ 3735 t = (P + 1.97e-8 * Math.log( (E+P+Q)/(E-P+Q) ) )/173.1446327; 3736 $moshier.kepler.calc ({julian: $moshier.body.earth.position.date.julian - t}, body, q, ptemp ); 3737 } 3738 3739 body.lightTime = 1440.0 * t; 3740 3741 /* Final object-earth vector and the amount by which it changed. 3742 */ 3743 for( i=0; i<3; i++ ) { 3744 x = q[i] - e[i]; 3745 p[i] = x; 3746 $const.dp [i] = x - p0[i]; 3747 } 3748 body.aberration = $util.showcor (p0, $const.dp ); 3749 3750 /* Calculate dRA/dt and dDec/dt. 3751 * The desired correction of apparent coordinates is relative 3752 * to the equinox of date, but the coordinates here are 3753 * for J2000. This introduces a slight error. 3754 * 3755 * Estimate object-earth vector t days ago. We have 3756 * p(?) = q(J-t) - e(J), and must adjust to 3757 * p(J-t) = q(J-t) - e(J-t) = q(J-t) - (e(J) - Vearth * t) 3758 * = p(?) + Vearth * t. 3759 */ 3760 $moshier.vearth.calc ($moshier.body.earth.position.date); 3761 3762 for( i=0; i<3; i++ ) { 3763 p[i] += $moshier.vearth.vearth [i]*t; 3764 } 3765 3766 var d = $util.deltap ( p, p0); /* see dms.c */ 3767 $const.dradt = d.dr; 3768 $const.ddecdt = d.dd; 3769 $const.dradt /= t; 3770 $const.ddecdt /= t; 3771}; 3772 3773$ns.moon = { 3774 ra: 0.0, /* Right Ascension */ 3775 dec: 0.0, 3776 ascNode: 0.0, 3777 meanM: 0.0, 3778}; 3779 3780 3781$ns.moon.swe_difrad2n = function( p1, p2) { 3782var dif; 3783 dif = (Math.PI*2 + p1 - p2) % (Math.PI*2); 3784 if (dif >= Math.PI) return (dif - Math.PI*2); 3785 return (dif); 3786}; 3787 3788$ns.moon.mods3600 = function(x) { 3789var lx; 3790lx = parseFloat(x); 3791lx = (1296000+ lx) % 1296000.0 ; 3792return( lx ); 3793}; 3794 3795$ns.moon.corr_mean_node = function(J) { 3796 var J0, dJ, dayscty, dcor, dcor0, dcor1, dfrac; 3797 var i; 3798var mean_node_corr = [ 3799-2.56, 3800-2.473, -2.392347, -2.316425, -2.239639, -2.167764, -2.095100, -2.024810, -1.957622, -1.890097, -1.826389, 3801-1.763335, -1.701047, -1.643016, -1.584186, -1.527309, -1.473352, -1.418917, -1.367736, -1.317202, -1.267269, 3802-1.221121, -1.174218, -1.128862, -1.086214, -1.042998, -1.002491, -0.962635, -0.923176, -0.887191, -0.850403, 3803-0.814929, -0.782117, -0.748462, -0.717241, -0.686598, -0.656013, -0.628726, -0.600460, -0.573219, -0.548634, 3804-0.522931, -0.499285, -0.476273, -0.452978, -0.432663, -0.411386, -0.390788, -0.372825, -0.353681, -0.336230, 3805-0.319520, -0.302343, -0.287794, -0.272262, -0.257166, -0.244534, -0.230635, -0.218126, -0.206365, -0.194000, 3806-0.183876, -0.172782, -0.161877, -0.153254, -0.143371, -0.134501, -0.126552, -0.117932, -0.111199, -0.103716, 3807-0.096160, -0.090718, -0.084046, -0.078007, -0.072959, -0.067235, -0.062990, -0.058102, -0.053070, -0.049786, 3808-0.045381, -0.041317, -0.038165, -0.034501, -0.031871, -0.028844, -0.025701, -0.024018, -0.021427, -0.018881, 3809-0.017291, -0.015186, -0.013755, -0.012098, -0.010261, -0.009688, -0.008218, -0.006670, -0.005979, -0.004756, 3810-0.003991, -0.002996, -0.001974, -0.001975, -0.001213, -0.000377, -0.000356, 5.779e-05, 0.000378, 0.000710, 38110.001092, 0.000767, 0.000985, 0.001443, 0.001069, 0.001141, 0.001321, 0.001462, 0.001695, 0.001319, 38120.001567, 0.001873, 0.001376, 0.001336, 0.001347, 0.001330, 0.001256, 0.000813, 0.000946, 0.001079, 38130.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 38140.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 38150.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3816-0.000364, -0.000452, -0.001091, -0.001159, -0.001136, -0.001798, -0.002249, -0.002622, -0.002990, -0.003555, 3817-0.004425, -0.004758, -0.005134, -0.006065, -0.006839, -0.007474, -0.008283, -0.009411, -0.010786, -0.011810, 3818-0.012989, -0.014825, -0.016426, -0.017922, -0.019774, -0.021881, -0.024194, -0.026190, -0.028440, -0.031285, 3819-0.033817, -0.036318, -0.039212, -0.042456, -0.045799, -0.048994, -0.052710, -0.056948, -0.061017, -0.065181, 3820-0.069843, -0.074922, -0.079976, -0.085052, -0.090755, -0.096840, -0.
3820102797, -0.108939, -0.115568, -0.122636, 3821-0.129593, -0.136683, -0.144641, -0.152825, -0.161044, -0.169758, -0.178916, -0.188712, -0.198401, -0.208312, 3822-0.219395, -0.230407, -0.241577, -0.253508, -0.265640, -0.278556, -0.291330, -0.304353, -0.318815, -0.332882, 3823-0.347316, -0.362895, -0.378421, -0.395061, -0.411748, -0.428666, -0.447477, -0.465636, -0.484277, -0.504600, 3824-0.524405, -0.545533, -0.567020, -0.588404, -0.612099, -0.634965, -0.658262, -0.683866, -0.708526, -0.734719, 3825-0.761800, -0.788562, -0.818092, -0.846885, -0.876177, -0.908385, -0.939371, -0.972027, -1.006149, -1.039634, 3826-1.076135, -1.112156, -1.148490, -1.188312, -1.226761, -1.266821, -1.309156, -1.350583, -1.395223, -1.440028, 3827-1.485047, -1.534104, -1.582023, -1.631506, -1.684031, -1.735687, -1.790421, -1.846039, -1.901951, -1.961872, 3828-2.021179, -2.081987, -2.146259, -2.210031, -2.276609, -2.344904, -2.413795, -2.486559, -2.559564, -2.634215, 3829-2.712692, -2.791289, -2.872533, -2.956217, -3.040965, -3.129234, -3.218545, -3.309805, -3.404827, -3.5008, 3830-3.601, -3.7, -3.8, 3831]; 3832 J0 = -3063616.5; /* 1-jan--13000 greg */ 3833 dayscty = 36524.25; /* days per Gregorian century */ 3834 dJ = J - J0; 3835 i = Math.floor(dJ / dayscty); /* centuries = index of lower correction value */ 3836 dfrac = (dJ - i * dayscty) / dayscty; 3837 dcor0 = mean_node_corr[i]; 3838 dcor1 = mean_node_corr[i + 1]; 3839 dcor = dcor0 + dfrac * (dcor1 - dcor0); 3840 return dcor; 3841}; 3842 3843var T,T2,SWELP,NF; 3844$ns.moon.mean_elements = function(J) { 3845/* Mean anomaly of sun = l' (J. Laskar) */ 3846/*M = mods3600(129596581.038354 * T + 1287104.76154);*/ 3847var z = [ 3848/* The following are scaled in arc seconds, time in Julian centuries. 3849 They replace the corresponding terms in the mean elements. */ 3850-1.312045233711e+01, /* F, t^2 */ 3851-1.138215912580e-03, /* F, t^3 */ 3852-9.646018347184e-06, /* F, t^4 */ 3853 3.146734198839e+01, /* l, t^2 */ 3854 4.768357585780e-02, /* l, t^3 */ 3855-3.421689790404e-04, /* l, t^4 */ 3856-6.847070905410e+00, /* D, t^2 */ 3857-5.834100476561e-03, /* D, t^3 */ 3858-2.905334122698e-04, /* D, t^4 */ 3859-5.663161722088e+00, /* L, t^2 */ 3860 5.722859298199e-03, /* L, t^3 */ 3861-8.466472828815e-05, /* L, t^4 */ 3862/* The following longitude terms are in arc seconds times 10^5. */ 3863-8.429817796435e+01, /* t^2 cos(18V - 16E - l) */ 3864-2.072552484689e+02, /* t^2 sin(18V - 16E - l) */ 3865 7.876842214863e+00, /* t^2 cos(10V - 3E - l) */ 3866 1.836463749022e+00, /* t^2 sin(10V - 3E - l) */ 3867-1.557471855361e+01, /* t^2 cos(8V - 13E) */ 3868-2.006969124724e+01, /* t^2 sin(8V - 13E) */ 3869 2.152670284757e+01, /* t^2 cos(4E - 8M + 3J) */ 3870-6.179946916139e+00, /* t^2 sin(4E - 8M + 3J) */ 3871-9.070028191196e-01, /* t^2 cos(18V - 16E) */ 3872-1.270848233038e+01, /* t^2 sin(18V - 16E) */ 3873-2.145589319058e+00, /* t^2 cos(2J - 5S) */ 3874 1.381936399935e+01, /* t^2 sin(2J - 5S) */ 3875-1.999840061168e+00, /* t^3 sin(l') */ 3876]; 3877 3878T = (parseFloat(J)-2451545.0)/36525.0; 3879T2 = T*T; 3880var T3 = T*T2; 3881var T4 = T2*T2; 3882var fracT = T % 1; 3883var M = this.mods3600(129600000.0 * fracT - 3418.961646 * T + 1287104.76154); 3884M += (((((((( 3885 1.62e-20 * T 3886- 1.0390e-17 ) * T 3887- 3.83508e-15 ) * T 3888+ 4.237343e-13 ) * T 3889+ 8.8555011e-11 ) * T 3890- 4.77258489e-8 ) * T 3891- 1.1297037031e-5 ) * T 3892+ 1.4732069041e-4 ) * T 3893- 0.552891801772 ) * T2; 3894/* Mean distance of moon from its ascending node = F */ 3895/*NF = mods3600((1739527263.0983 - 2.079419901760e-01) * T + 335779.55755);*/ 3896NF = this.mods3600(1739232000.0 * fracT + 295263.0983 * T - 2.079419901760e-01 * T + 335779.55755); 3897/* Mean anomaly of moon = l */ 3898/*MP = mods3600((1717915923.4728 - 2.035946368532e-01) * T + 485868.28096);*/ 3899var MP = this.mods3600(1717200000.0 * fracT + 715923.4728 * T - 2.035946368532e-01 * T + 485868.28096); 3900/* Mean elongation of moon = D */ 3901/*D = mods3600((1602961601.4603 + 3.962893294503e-01) * T + 1072260.73512);*/ 3902var D = this.mods3600(1601856000.0 * fracT + 1105601.4603 * T + 3.962893294503e-01 * T + 1072260.73512); 3903/* Mean longitude of moon, referred to the mean ecliptic and equinox of date */ 3904/*SWELP = mods3600((1732564372.83264 - 6.784914260953e-01) * T + 785939.95571);*/ 3905SWELP = this.mods3600(1731456000.0 * fracT + 1108372.83264 * T - 6.784914260953e-01 * T + 785939.95571); 3906/* Higher degree secular terms found by least squares fit */ 3907var a1 = ((z[2]*T + z[1])*T + z[0])*T2; 3908var a2 = ((z[5]*T + z[4])*T + z[3])*T2; 3909var a3 = ((z[8]*T + z[7])*T + z[6])*T2; 3910var a4 = ((z[11]*T + z[10])*T + z[9])*T2; 3911NF += a1; 3912MP += a2; 3913D += a3; 3914SWELP += a4; 3915 3916}; 3917 3918$ns.moon.calc_nodes = function(J) { 3919 var J0, dJ, dayscty, dcor, dcor0, dcor1, dfrac; 3920 var i; 3921 J0 = $const.j2000; /* 1-jan--13000 greg */ 3922 dayscty = 36524.25/5; 3923 dJ = J - J0; 3924 i = -(dJ / dayscty); 3925var ddd2 = parseFloat(J) - 0.001; 3926// var node = $moshier.body.moon.position.apparent.ascNode; 3927this.mean_elements(J); 3928dcor = this.corr_mean_node(J) * 3600.0; 3929var node1 = (Math.PI*2 + (SWELP - NF - dcor) * 4.8481368110953599359e-6) % (Math.PI*2); 3930this.mean_elements(ddd2); 3931dcor = this.corr_mean_node(ddd2) * 3600.0; 3932var node2= (Math.PI*2 + (SWELP - NF - dcor) * 4.8481368110953599359e-6) % (Math.PI*2); 3933var node3 = this.swe_difrad2n(node1, node2)*1000.0; 3934var xxx= [ node1, 0,0.00256955529, node3, 0,0 ]; 3935var yyy = []; 3936swi_polcart_sp(xxx, yyy);
3937var m = [ yyy[0], yyy[1], yyy[2], yyy[3],yyy[4],yyy[5] ]; 3938xxx=[ yyy[0], yyy[1], yyy[2]]; 3939swi_coortrf2(xxx, yyy, -$moshier.epsilon.sineps, $moshier.epsilon.coseps); 3940var mm= [yyy[0], yyy[1], yyy[2], m[3], m[4], m[5]]; 3941var zzz = [ m[3], m[4], m[5] ]; 3942swi_coortrf2(zzz, yyy, -$moshier.epsilon.sineps, $moshier.epsilon.coseps); 3943xxx = [ mm[0], mm[1], mm[2] ]; 3944$moshier.nutation.calc({julian: J}, xxx);$moshier.nutation2.calc({julian: J}); 3945m= [mm[0], mm[1], mm[2],yyy[0],yyy[1],yyy[2]]; 3946swi_coortrf2(xxx, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 3947mm= [yyy[0],yyy[1],yyy[2]]; 3948zzz = [ mm[3], mm[4], mm[5] ]; 3949swi_coortrf2(zzz, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 3950m= [mm[0], mm[1], mm[2],yyy[0],yyy[1],yyy[2]]; 3951xxx = [ m[0], m[1], m[2] ]; 3952swi_coortrf2(xxx, yyy, Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 3953mm= [yyy[0],yyy[1],yyy[2], m[3],m[4],m[5]]; 3954zzz = [ mm[3], mm[4], mm[5] ]; 3955$moshier.nutation.calc({julian: J}, zzz); 3956 swi_coortrf2(zzz, yyy,Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 3957m= [mm[0], mm[1], mm[2],yyy[0],yyy[1],yyy[2]]; 3958//zzz = [ yyy[0], yyy[1], yyy[2], 0, 0, 0 ]; 3959//swi_coortrf2(xxx, yyy, Math.sin($moshier.nutation.nuto), Math.cos($moshier.nutation.nuto)); 3960//xxx[0] = yyy[0];xxx[1] = yyy[1];xxx[2] = yyy[2]; 3961//swi_coortrf2(zzz, yyy, Math.sin($moshier.nutation.nuto), Math.cos($moshier.nutation.nuto)); 3962xxx =m; 3963swi_cartpol_sp(xxx, yyy); 3964var nnode = (360 + yyy[0]*$const.RTD ) % 360; 3965return nnode; 3966 3967}; 3968 3969 3970/* Calculate geometric position of the Moon and apply 3971 * approximate corrections to find apparent position, 3972 * phase of the Moon, etc. for AA.ARC. 3973 */ 3974$ns.moon.calc = function () { 3975 var i, prtsav; // int 3976 var ra0, dec0; // double 3977 var x, y, z, lon0; // double 3978 var pp = [], qq = [], pe = [], re = [], moonpp = [], moonpol = []; // double 3979 var aNode; 3980 3981 $moshier.body.moon.position = { 3982 polar: [], 3983 rect: [] 3984 }; 3985 3986 /* Geometric equatorial coordinates of the earth. */ 3987 for (i = 0; i < 3; i++) { 3988 re [i] = $moshier.body.earth.position.rect [i]; 3989 } 3990 3991 /* Run the orbit calculation twice, at two different times, 3992 * in order to find the rate of change of R.A. and Dec. 3993 */ 3994 3995 /* Calculate for 0.001 day ago 3996 */ 3997 this.calcll({julian: $moshier.body.earth.position.date.julian - 0.001}, moonpp, moonpol); // TDT - 0.001 3998 ra0 = this.ra; 3999 dec0 = this.dec; 4000 lon0 = moonpol[0]; 4001 4002 /* Calculate for present instant. 4003 */ 4004 $moshier.body.moon.position.nutation = this.calcll ($moshier.body.earth.position.date, moonpp, moonpol).nutation; 4005 4006 $moshier.body.moon.position.geometric = { 4007 longitude: $const.RTD * $moshier.body.moon.position.polar[0], 4008 latitude: $const.RTD * $moshier.body.moon.position.polar[1], 4009 distance: $const.RTD * $moshier.body.moon.position.polar[2] 4010 }; 4011 4012 /** 4013 * The rates of change. These are used by altaz () to 4014 * correct the time of rising, transit, and setting. 4015 */ 4016 $const.dradt = this.ra - ra0; 4017 if ($const.dradt >= Math.PI) 4018 $const.dradt = $const.dradt - 2.0 * Math.PI; 4019 if ($const.dradt <= -Math.PI) 4020 $const.dradt = $const.dradt + 2.0 * Math.PI; 4021 $const.dradt = 1000.0 * $const.dradt; 4022 $const.ddecdt = 1000.0*(this.dec-dec0); 4023 4024 /* Rate of change in longitude, degrees per day 4025 * used for phase of the moon 4026 */ 4027 lon0 = 1000.0*$const.RTD*(moonpol[0] - lon0); 4028 4029 /* Get apparent coordinates for the earth. */ 4030 z = re [0] * re [0] + re [1] * re [1] + re [2] * re [2]; 4031 z = Math.sqrt(z); 4032 for (i = 0; i < 3; i++) { 4033 re[i] /= z; 4034 } 4035 4036 /* aberration of light. */ 4037 $moshier.body.moon.position.annualAberration = $moshier.aberration.calc (re); 4038 4039 /* pe[0] -= STR * (20.496/(RTS*pe[2])); */ 4040 $moshier.precess.calc (re, $moshier.body.earth.position.date, -1); 4041 $moshier.nutation.calc ($moshier.body.earth.position.date, re); 4042 4043 for (i = 0; i < 3; i++) { 4044 re[i] *= z; 4045 if ($const.truepos!=0) { re[i] -= $const.dp[i]; } 4046 } 4047 4048 $moshier.lonlat.calc ( re, $moshier.body.earth.position.date, pe, 0 ); 4049 4050 /* Find sun-moon-earth angles */ 4051 for( i=0; i<3; i++ ) { 4052 qq[i] = re[i] + moonpp[i]; 4053 } 4054 $util.angles ( moonpp, qq, re ); 4055 4056 /* Display answers 4057 */ 4058 $moshier.body.moon.position.apparentGeocentric = { 4059 longitude: moonpol [0], 4060 dLongitude: $const.RTD * moonpol [0], 4061 latitude: moonpol [1], 4062 dLatitude: $const.RTD * moonpol [1], 4063 distance: moonpol [2] / $const.Rearth 4064 }; 4065 $moshier.body.moon.position.apparentLongitude = $moshier.body.moon.position.apparentGeocentric.dLongitude; 4066 var dmsLongitude = $util.dms ($moshier.body.moon.position.apparentGeocentric.longitude); 4067 $moshier.body.moon.position.apparentLongitudeString = 4068 dmsLongitude.degree + '\u00B0' + 4069 dmsLongitude.minutes + '\'' + 4070 Math.floor (dmsLongitude.seconds) + '"' 4071 ; 4072 4073 $moshier.body.moon.position.apparentLongitude30String = 4074 $util.mod30 (dmsLongitude.degree) + '\u00B0' + 4075 dmsLongitude.minutes + '\'' + 4076 Math.floor (dmsLongitude.seconds) + '"' 4077 ; 4078 4079 $moshier.body.moon.position.geocentricDistance = moonpol [2] / $const.Rearth; 4080 4081 x = $const.Rearth/moonpol[2]; 4082 $moshier.body.moon.position.dHorizontalParallax = Math.asin (x); 4083 $moshier.body.moon.position.horizontalParallax = $util.dms (Math.asin (x)); 4084 4085 x = 0.272453 * x + 0.0799 / $const.RTS; /* AA page L6 */ 4086 $moshier.body.moon.position.dSemidiameter = x; 4087 $moshier.body.moon.position.Semidiameter = $util.dms (x); 4088 4089 x = $const.RTD * Math.acos(-$const.ep); 4090 /* x = 180.0 - RTD * arcdot (re, pp); */ 4091 $moshier.body.moon.position.sunElongation = x; 4092 x = 0.5 * (1.0 + $const.pq); 4093 $moshier.body.moon.position.illuminatedFraction = x; 4094 4095 /* Find phase of the Moon by comparing Moon's longitude 4096 * with Earth's longitude. 4097 * 4098 * The number of days before or past indicated phase is 4099 * estimated by assuming the true longitudes change linearly 4100 * with time. These rates are estimated for the date, but 4101 * do not stay constant. The error can exceed 0.15 day in 4 days. 4102 */ 4103 x = moonpol[0] - pe[0]; 4104 x = $util.modtp ( x ) * $const.RTD; /* difference in longitude */ 4105 var i2 = (x/90) % 2; 4106 i = Math.floor (x/90); /* number of quarters */ 4107 x = (x - i*90.0); /* phase angle mod 90 degrees */ 4108 /* days per degree of phase angle */ 4109 z = moonpol[2]/(12.3685 * 0.00257357); 4110 4111 if( x > 45.0 ) { 4112 y = -(x - 90.0)*z; 4113 $moshier.body.moon.position.phaseDaysBefore = y; 4114 i = (i+1) & 3; 4115 } else { 4116 y = x*z; 4117 $moshier.body.moon.position.phaseDaysPast = y; 4118 } 4119 4120 $moshier.body.moon.position.phaseQuarter = i2; 4121 4122 $moshier.body.moon.position.apparent = { 4123 dRA: this.ra, 4124 dDec: this.dec, 4125 ra: $util.hms (this.ra), 4126 dec: $util.dms (this.dec), 4127 ascNode: $moshier.nutation.ascNode, 4128 meanM: this.meanM, 4129 phaseDB: $moshier.body.moon.position.phaseDaysBefore, 4130 phaseDP: $moshier.body.moon.position.phaseDaysPast, 4131 lon0: lon0, 4132 }; 4133 4134 /* Compute and display topocentric position (altaz.c) 4135 */ 4136 pp[0] = this.ra; 4137 pp[1] = this.dec; 4138 pp[2] = moonpol[2]; 4139 $moshier.body.moon.position.altaz = $moshier.altaz.calc (pp, $moshier.body.earth.position.date); 4140}; 4141 4142/* Calculate apparent latitude, longitude, and horizontal parallax 4143 * of the Moon at Julian date J. 4144 */ 4145$ns.moon.calcll = function (date, rect, pol, result) { 4146 var cosB, sinB, cosL, sinL, y, z; // double 4147 var qq = [], pp = []; // double 4148 var i; // int 4149 var xx = []; 4150 4151 result = result || {}; 4152 4153 /* Compute obliquity of the ecliptic, coseps, and sineps. */ 4154 $moshier.epsilon.calc (date); 4155 /* Get geometric coordinates of the Moon. */ 4156 $moshier.gplan.moon (date, rect, pol, xx); 4157 this.meanM = xx[0]; 4158 /* Post the geometric ecliptic longitude and latitude, in radians, 4159 * and the radius in au. 4160 */ 4161 $const.body.position.polar [0] = pol[0]; 4162 $const.body.position.polar[1] = pol[1]; 4163 $const.body.position.polar[2] = pol[2]; 4164 4165 /* Light time correction to longitude, 4166 * about 0.7". 4167 */ 4168 pol[0] -= 0.0118 * $const.DTR * $const.Rearth / pol[2]; 4169 4170 /* convert to equatorial system of date */ 4171 cosB = Math.cos(pol[1]); 4172 sinB = Math.sin(pol[1]); 4173 cosL = Math.cos(pol[0]); 4174 sinL = Math.sin(pol[0]); 4175 rect[0] = cosB*cosL; 4176 rect[1] = $moshier.epsilon.coseps*cosB*sinL - $moshier.epsilon.sineps*sinB; 4177 rect[2] = $moshier.epsilon.sineps*cosB*sinL + $moshier.epsilon.coseps*sinB; 4178 4179 /* Rotate to J2000. */ 4180 $moshier.precess.calc ( rect, {julian: $moshier.body.earth.position.date.julian}, 1 ); // TDT 4181 4182 /* Find Euclidean vectors and angles between earth, object, and the sun 4183 */ 4184 for( i=0; i<3; i++ ) { 4185 pp[i] = rect[i] * pol[2]; 4186 qq[i] = $moshier.body.earth.position.rect [i] + pp[i]; 4187 } 4188 $util.angles (pp, qq, $moshier.body.earth.position.rect); 4189 4190 /* Make rect a unit vector. */ 4191 /* for (i = 0; i < 3; i++) */ 4192 /* rect[i] /= EO; */ 4193 4194 /* Correct position for light deflection. 4195 (Ignore.) */ 4196 /* relativity( rect, qq, rearth ); */ 4197 4198 /* Aberration of light. 4199 The Astronomical Almanac (Section D, Daily Polynomial Coefficients) 4200 seems to omit this, even though the reference ephemeris is inertial. */ 4201 /* annuab (rect); */ 4202 4203 /* Precess to date. */ 4204 $moshier.precess.calc (rect, {julian: $moshier.body.earth.position.date.julian}, -1); // TDT 4205 4206 /* Correct for nutation at date TDT. 4207 */ 4208 result.nutation = $moshier.nutation.calc ({julian: $moshier.body.earth.position.date.julian}, rect); // TDT 4209 4210 /* Apparent geocentric right ascension and declination. */ 4211 this.ra = $util.zatan2(rect[0],rect[1]); 4212 this.dec = Math.asin(rect[2]); 4213 4214 /* For apparent ecliptic coordinates, rotate from the true 4215 equator into the ecliptic of date. */ 4216 cosL = Math.cos($moshier.epsilon.eps + $moshier.nutation.nuto); 4217 sinL = Math.sin($moshier.epsilon.eps + $moshier.nutation.nuto);
4218 y = cosL * rect[1] + sinL * rect[2]; 4219 z = -sinL * rect[1] + cosL * rect[2]; 4220 pol[0] = $util.zatan2( rect[0], y ); 4221 pol[1] = Math.asin(z); 4222 4223 /* Restore earth-moon distance. */ 4224 for( i=0; i<3; i++ ) { 4225 rect[i] *= $const.EO; 4226 } 4227 4228 return result; 4229}; 4230 4231$ns.nutation = { 4232 /* The answers are posted here by nutlo(): 4233 */ 4234 jdnut: {}, /* time to which the nutation applies */ 4235 nutl: 0.0, /* nutation in longitude (radians) */ 4236 nuto: 0.0, /* nutation in obliquity (radians) */ 4237 ascNode: 0.0, 4238 meanM: 0.0, 4239 phaseDB: 0.0, 4240 phaseDP: 0.0, 4241 4242 /* Each term in the expansion has a trigonometric 4243 * argument given by 4244 * W = i*MM + j*MS + k*FF + l*DD + m*OM 4245 * where the variables are defined below. 4246 * The nutation in longitude is a sum of terms of the 4247 * form (a + bT) * sin(W). The terms for nutation in obliquity 4248 * are of the form (c + dT) * cos(W). The coefficients 4249 * are arranged in the tabulation as follows: 4250 * 4251 * Coefficient: 4252 * i j k l m a b c d 4253 * 0, 0, 0, 0, 1, -171996, -1742, 92025, 89, 4254 * The first line of the table, above, is done separately 4255 * since two of the values do not fit into 16 bit integers. 4256 * The values a and c are arc seconds times 10000. b and d 4257 * are arc seconds per Julian century times 100000. i through m 4258 * are integers. See the program for interpretation of MM, MS, 4259 * etc., which are mean orbital elements of the Sun and Moon. 4260 * 4261 * If terms with coefficient less than X are omitted, the peak 4262 * errors will be: 4263 * 4264 * omit error, omit error, 4265 * a < longitude c < obliquity 4266 * .0005" .0100" .0008" .0094" 4267 * .0046 .0492 .0095 .0481 4268 * .0123 .0880 .0224 .0905 4269 * .0386 .1808 .0895 .1129 4270 */ 4271 nt: [ 4272 0, 0, 0, 0, 2, 2062, 2,-895, 5, 4273 -2, 0, 2, 0, 1, 46, 0,-24, 0, 4274 2, 0,-2, 0, 0, 11, 0, 0, 0, 4275 -2, 0, 2, 0, 2,-3, 0, 1, 0, 4276 1,-1, 0,-1, 0,-3, 0, 0, 0, 4277 0,-2, 2,-2, 1,-2, 0, 1, 0, 4278 2, 0,-2, 0, 1, 1, 0, 0, 0, 4279 0, 0, 2,-2, 2,-13187,-16, 5736,-31, 4280 0, 1, 0, 0, 0, 1426,-34, 54,-1, 4281 0, 1, 2,-2, 2,-517, 12, 224,-6, 4282 0,-1, 2,-2, 2, 217,-5,-95, 3, 4283 0, 0, 2,-2, 1, 129, 1,-70, 0, 4284 2, 0, 0,-2, 0, 48, 0, 1, 0, 4285 0, 0, 2,-2, 0,-22, 0, 0, 0, 4286 0, 2, 0, 0, 0, 17,-1, 0, 0, 4287 0, 1, 0, 0, 1,-15, 0, 9, 0, 4288 0, 2, 2,-2, 2,-16, 1, 7, 0, 4289 0,-1, 0, 0, 1,-12, 0, 6, 0, 4290 -2, 0, 0, 2, 1,-6, 0, 3, 0, 4291 0,-1, 2,-2, 1,-5, 0, 3, 0, 4292 2, 0, 0,-2, 1, 4, 0,-2, 0, 4293 0, 1, 2,-2, 1, 4, 0,-2, 0, 4294 1, 0, 0,-1, 0,-4, 0, 0, 0, 4295 2, 1, 0,-2, 0, 1, 0, 0, 0, 4296 0, 0,-2, 2, 1, 1, 0, 0, 0, 4297 0, 1,-2, 2, 0,-1, 0, 0, 0, 4298 0, 1, 0, 0, 2, 1, 0, 0, 0, 4299 -1, 0, 0, 1, 1, 1, 0, 0, 0, 4300 0, 1, 2,-2, 0,-1, 0, 0, 0, 4301 0, 0, 2, 0, 2,-2274,-2, 977,-5, 4302 1, 0, 0, 0, 0, 712, 1,-7, 0, 4303 0, 0, 2, 0, 1,-386,-4, 200, 0, 4304 1, 0, 2, 0, 2,-301, 0, 129,-1, 4305 1, 0, 0,-2, 0,-158, 0,-1, 0, 4306 -1, 0, 2, 0, 2, 123, 0,-53, 0, 4307 0, 0, 0, 2, 0, 63, 0,-2, 0, 4308 1, 0, 0, 0, 1, 63, 1,-33, 0, 4309 -1, 0, 0, 0, 1,-58,-1, 32, 0, 4310 -1, 0, 2, 2, 2,-59, 0, 26, 0, 4311 1, 0, 2, 0, 1,-51, 0, 27, 0, 4312 0, 0, 2, 2, 2,-38, 0, 16, 0, 4313 2, 0, 0, 0, 0, 29, 0,-1, 0, 4314 1, 0, 2,-2, 2, 29, 0,-12, 0, 4315 2, 0, 2, 0, 2,-31, 0, 13, 0, 4316 0, 0, 2, 0, 0, 26, 0,-1, 0, 4317 -1, 0, 2, 0, 1, 21, 0,-10, 0, 4318 -1, 0, 0, 2, 1, 16, 0,-8, 0, 4319 1, 0, 0,-2, 1,-13, 0, 7, 0, 4320 -1, 0, 2, 2, 1,-10, 0, 5, 0, 4321 1, 1, 0,-2, 0,-7, 0, 0, 0, 4322 0, 1, 2, 0, 2, 7, 0,-3, 0, 4323 0,-1, 2, 0, 2,-7, 0, 3, 0, 4324 1, 0, 2, 2, 2,-8, 0, 3, 0, 4325 1, 0, 0, 2, 0, 6, 0, 0, 0, 4326 2, 0, 2,-2, 2, 6, 0,-3, 0, 4327 0, 0, 0, 2, 1,-6, 0, 3, 0, 4328 0, 0, 2, 2, 1,-7, 0, 3, 0, 4329 1, 0, 2,-2, 1, 6, 0,-3, 0, 4330 0, 0, 0,-2, 1,-5, 0, 3, 0, 4331 1,-1, 0, 0, 0, 5, 0, 0, 0, 4332 2, 0, 2, 0, 1,-5, 0, 3, 0, 4333 0, 1, 0,-2, 0,-4, 0, 0, 0, 4334 1, 0,-2, 0, 0, 4, 0, 0, 0, 4335 0, 0, 0, 1, 0,-4, 0, 0, 0, 4336 1, 1, 0, 0, 0,-3, 0, 0, 0, 4337 1, 0, 2, 0, 0, 3, 0, 0, 0, 4338 1,-1, 2, 0, 2,-3, 0, 1, 0, 4339 -1,-1, 2, 2, 2,-3, 0, 1, 0, 4340 -2, 0, 0, 0, 1,-2, 0, 1, 0, 4341 3, 0, 2, 0, 2,-3, 0, 1, 0, 4342 0,-1, 2, 2, 2,-3, 0, 1, 0, 4343 1, 1, 2, 0, 2, 2, 0,-1, 0, 4344 -1, 0, 2,-2, 1,-2, 0, 1, 0, 4345 2, 0, 0, 0, 1, 2, 0,-1, 0, 4346 1, 0, 0, 0, 2,-2, 0, 1, 0, 4347 3, 0, 0, 0, 0, 2, 0, 0, 0, 4348 0, 0, 2, 1, 2, 2, 0,-1, 0, 4349 -1, 0, 0, 0, 2, 1, 0,-1, 0, 4350 1, 0, 0,-4, 0,-1, 0, 0, 0, 4351 -2, 0, 2, 2, 2, 1, 0,-1, 0, 4352 -1, 0, 2, 4, 2,-2, 0, 1, 0, 4353 2, 0, 0,-4, 0,-1, 0, 0, 0, 4354 1, 1, 2,-2, 2, 1, 0,-1, 0, 4355 1, 0, 2, 2, 1,-1, 0, 1, 0, 4356 -2, 0, 2, 4, 2,-1, 0, 1, 0, 4357 -1, 0, 4, 0, 2, 1, 0, 0, 0, 4358 1,-1, 0,-2, 0, 1, 0, 0, 0, 4359 2, 0, 2,-2, 1, 1, 0,-1, 0, 4360 2, 0, 2, 2, 2,-1, 0, 0, 0, 4361 1, 0, 0, 2, 1,-1, 0, 0, 0, 4362 0, 0, 4,-2, 2, 1, 0, 0, 0, 4363 3, 0, 2,-2, 2, 1, 0, 0, 0, 4364 1, 0, 2,-2, 0,-1, 0, 0, 0, 4365 0, 1, 2, 0, 1, 1, 0, 0, 0, 4366 -1,-1, 0, 2, 1, 1, 0, 0, 0, 4367 0, 0,-2, 0, 1,-1, 0, 0, 0, 4368 0, 0, 2,-1, 2,-1, 0, 0, 0, 4369 0, 1, 0, 2, 0,-1, 0, 0, 0, 4370 1, 0,-2,-2, 0,-1, 0, 0, 0, 4371 0,-1, 2, 0, 1,-1, 0, 0, 0, 4372 1, 1, 0,-2, 1,-1, 0, 0, 0, 4373 1, 0,-2, 2, 0,-1, 0, 0, 0, 4374 2, 0, 0, 2, 0, 1, 0, 0, 0, 4375 0, 0, 2, 4, 2,-1, 0, 0, 0, 4376 0, 1, 0, 1, 0, 1, 0, 0, 0 4377 ], 4378 4379 ss: [], 4380 cc: [] 4381}; 4382 4383/* Nutation -- AA page B20 4384 * using nutation in longitude and obliquity from nutlo() 4385 * and obliquity of the ecliptic from epsiln() 4386 * both calculated for Julian date J. 4387 * 4388 * p[] = equatorial rectangular position vector of object for 4389 * mean ecliptic and equinox of date. 4390 */ 4391$ns.nutation.calc = function (date, p) { 4392 var ce, se, cl, sl, sino, f; // double 4393 var dp = [], p1 = []; // double 4394 var i; // int 4395 var result; 4396 4397 this.calclo (date); /* be sure we calculated nutl and nuto */ 4398 $moshier.epsilon.calc (date); /* and also the obliquity of date */ 4399 4400 f = $moshier.epsilon.eps + this.nuto;
4401 ce = Math.cos( f ); 4402 se = Math.sin( f ); 4403 sino = Math.sin(this.nuto); 4404 cl = Math.cos( this.nutl ); 4405 sl = Math.sin( this.nutl ); 4406 4407 /* Apply adjustment 4408 * to equatorial rectangular coordinates of object. 4409 * 4410 * This is a composite of three rotations: rotate about x axis 4411 * to ecliptic of date; rotate about new z axis by the nutation 4412 * in longitude; rotate about new x axis back to equator of date 4413 * plus nutation in obliquity. 4414 */ 4415 p1[0] = cl*p[0] 4416 - sl*$moshier.epsilon.coseps*p[1] 4417 - sl*$moshier.epsilon.sineps*p[2]; 4418 4419 p1[1] = sl*ce*p[0] 4420 + ( cl*$moshier.epsilon.coseps*ce + $moshier.epsilon.sineps*se )*p[1] 4421 - ( sino + (1.0-cl)*$moshier.epsilon.sineps*ce )*p[2]; 4422 4423 p1[2] = sl*se*p[0] 4424 + ( sino + (cl-1.0)*se*$moshier.epsilon.coseps )*p[1] 4425 + ( cl*$moshier.epsilon.sineps*se + $moshier.epsilon.coseps*ce )*p[2]; 4426 4427 for( i=0; i<3; i++ ) { 4428 dp[i] = p1[i] - p[i]; 4429 } 4430 4431 result = $util.showcor (p, dp); 4432 4433 for( i=0; i<3; i++ ) { 4434 p[i] = p1[i]; 4435 } 4436 4437 return result; 4438}; 4439 4440/* Nutation in longitude and obliquity 4441 * computed at Julian date J. 4442 */ 4443$ns.nutation.calclo = function (date, ret) { 4444 var f, g, T, T2, T10; // double 4445 var MM, MS, FF, DD, OM; // double 4446 var cu, su, cv, sv, sw; // double 4447 var C, D; // double 4448 var i, j, k, k1, m; // int 4449 var p; // short array 4450 4451 if( this.jdnut.julian == date.julian ) 4452 return(0); 4453 this.jdnut = date; 4454 4455 /* Julian centuries from 2000 January 1.5, 4456 * barycentric dynamical time 4457 */ 4458 T = (date.julian - 2451545.0) / 36525.0; 4459 T2 = T * T; 4460 T10 = T / 10.0; 4461 4462 /* Fundamental arguments in the FK5 reference system. */ 4463 4464 4465 4466 /* Mean longitude of the ascending node of the Moon. */ 4467// OM = $util.mod360(( 450160.398036 + T*( -6962890.5431 + T*( 7.4722 + T*( 0.007702 + T*(-0.00005939 ))))) / 3600.0) * $const.DTR; 4468 4469 /* longitude of the mean ascending node of the lunar orbit 4470 * on the ecliptic, measured from the mean equinox of date 4471 */ 4472 OM = ($util.mods3600 (-6962890.539 * T + 450160.280) + (0.008 * T + 7.455) * T2) 4473 * $const.STR; 4474 4475 /* Mean anomaly of the Sun */ 4476// MS = $util.mod360((1287104.79305 + T*( 129596581.0481 + T*( -0.5532 + T*( 0.000136 + T*( -0.00001149 ))))) / 3600.0) * $const.DTR; 4477 /* mean longitude of the Sun minus the 4478 * mean longitude of the Sun's perigee 4479 */ 4480 MS = ($util.mods3600 (129596581.224 * T + 1287099.804) - (0.012 * T + 0.577) * T2) 4481 * $const.STR; 4482 4483 /* Mean anomaly of the Moon. */ 4484// MM = $util.mod360(( 485868.249036 + T*( 1717915923.2178 + T*( 31.8792 + T*( 0.051635 + T*(- 0.00024470 ))))) / 3600.0) * $const.DTR; 4485 /* mean longitude of the Moon minus the 4486 * mean longitude of the Moon's perigee 4487 */ 4488 MM = ($util.mods3600 (1717915922.633 * T + 485866.733) + (0.064 * T + 31.310) * T2) 4489 * $const.STR; 4490 4491 /* Mean argument of the latitude of the Moon. */ 4492// FF = $util.mod360(( 335779.526232 + T*( 1739527262.8478 + T*(-12.7512 + T*( -0.001037 + T*(0.00000417 ))))) / 3600.0) * $const.DTR; 4493 /* mean longitude of the Moon minus the 4494 * mean longitude of the Moon's node 4495 */ 4496 FF = ($util.mods3600 (1739527263.137 * T + 335778.877) + (0.011 * T - 13.257) * T2) 4497 * $const.STR; 4498 4499 /* Mean elongation of the Moon from the Sun. */ 4500// DD = $util.mod360((1072260.70369 + T*( 1602961601.2090 + T*( -6.3706 + T*( 0.006593 + T*( -0.00003169 ))))) / 3600.0) * $const.DTR; 4501 /* mean elongation of the Moon from the Sun. 4502 */ 4503 DD = ($util.mods3600 (1602961601.328 * T + 1072261.307) + (0.019 * T - 6.891) * T2) 4504 * $const.STR; 4505 4506 /* Calculate sin( i*MM ), etc. for needed multiple angles 4507 */ 4508 this.sscc ( 0, MM, 3 ); 4509 this.sscc ( 1, MS, 2 ); 4510 this.sscc ( 2, FF, 4 ); 4511 this.sscc ( 3, DD, 4 ); 4512 this.sscc ( 4, OM, 2 ); 4513 4514 C = 0.0; 4515 D = 0.0; 4516 p = this.nt; /* point to start of table */ 4517 4518 var p_i = 0; 4519 4520 for( i=0; i<105; i++ ) { 4521 /* argument of sine and cosine */ 4522 k1 = 0; 4523 cv = 0.0; 4524 sv = 0.0; 4525 for( m=0; m<5; m++ ) { 4526 j = p [p_i ++]; //*p++; 4527 if( j ) { 4528 k = j; 4529 if( j < 0 ) { 4530 k = -k; 4531 } 4532 su = this.ss[m][k-1]; /* sin(k*angle) */ 4533 if( j < 0 ) { 4534 su = -su; 4535 } 4536 cu = this.cc[m][k-1]; 4537 if( k1 == 0 ) { /* set first angle */ 4538 sv = su; 4539 cv = cu; 4540 k1 = 1; 4541 } else { /* combine angles */ 4542 sw = su*cv + cu*sv; 4543 cv = cu*cv - su*sv; 4544 sv = sw; 4545 } 4546 } 4547 } 4548 /* longitude coefficient */ 4549 f = p [p_i ++]; //*p++; 4550 if( (k = p [p_i ++] /* *p++ */) != 0 ) { 4551 f += T10 * k; 4552 } 4553 4554 /* obliquity coefficient */ 4555 g = p [p_i ++]; //*p++; 4556 if( (k = p [p_i ++] /* *p++ */) != 0 ) 4557 g += T10 * k; 4558 4559 /* accumulate the terms */ 4560 C += f * sv; 4561 D += g * cv; 4562 } 4563 /* first terms, not in table: */ 4564 C += (-1742.*T10 - 171996.)*this.ss[4][0]; /* sin(OM) */ 4565 D += ( 89.*T10 + 92025.)*this.cc[4][0]; /* cos(OM) */ 4566 /* 4567 printf( "nutation: in longitude %.3f\", in obliquity %.3f\"\n", C, D ); 4568 */ 4569 /* Save answers, expressed in radians */ 4570 this.nutl = 0.0001 * $const.STR * C; 4571 this.nuto = 0.0001 * $const.STR * D; 4572 this.ascNode = FF * $const.RTD; 4573 4574}; 4575 4576/* Prepare lookup table of sin and cos ( i*Lj ) 4577 * for required multiple angles 4578 */ 4579$ns.nutation.sscc = function (k, arg, n) { 4580 var cu, su, cv, sv, s; // double 4581 var i; // int 4582 4583 su = Math.sin (arg);
4584 cu = Math.cos (arg); 4585 this.ss[k] = []; 4586 this.cc[k] = []; 4587 4588 this.ss[k][0] = su; /* sin(L) */ 4589 this.cc[k][0] = cu; /* cos(L) */ 4590 sv = 2.0 * su * cu; 4591 cv = cu * cu - su * su; 4592 this.ss[k][1] = sv; /* sin(2L) */ 4593 this.cc[k][1] = cv; 4594 for (i = 2; i < n; i++) 4595 { 4596 s = su * cv + cu * sv; 4597 cv = cu * cv - su * sv; 4598 sv = s; 4599 this.ss[k][i] = sv; /* sin( i+1 L ) */ 4600 this.cc[k][i] = cv; 4601 } 4602}; 4603 4604 4605 4606 4607 4608 4609 4610 4611$ns.nutation2 = { 4612 /* The answers are posted here by nutlo(): 4613 */ 4614 jdnut: {}, /* time to which the nutation applies */ 4615 nutl: 0.0, /* nutation in longitude (radians) */ 4616 nuto: 0.0, /* nutation in obliquity (radians) */ 4617 ascNode: 0.0, 4618 meanM: 0.0, 4619 phaseDB: 0.0, 4620 phaseDP: 0.0, 4621 4622 /* Each term in the expansion has a trigonometric 4623 * argument given by 4624 * W = i*MM + j*MS + k*FF + l*DD + m*OM 4625 * where the variables are defined below. 4626 * The nutation in longitude is a sum of terms of the 4627 * form (a + bT) * sin(W). The terms for nutation in obliquity 4628 * are of the form (c + dT) * cos(W). The coefficients 4629 * are arranged in the tabulation as follows: 4630 * 4631 * Coefficient: 4632 * i j k l m a b c d 4633 * 0, 0, 0, 0, 1, -171996, -1742, 92025, 89, 4634 * The first line of the table, above, is done separately 4635 * since two of the values do not fit into 16 bit integers. 4636 * The values a and c are arc seconds times 10000. b and d 4637 * are arc seconds per Julian century times 100000. i through m 4638 * are integers. See the program for interpretation of MM, MS, 4639 * etc., which are mean orbital elements of the Sun and Moon. 4640 * 4641 * If terms with coefficient less than X are omitted, the peak 4642 * errors will be: 4643 * 4644 * omit error, omit error, 4645 * a < longitude c < obliquity 4646 * .0005" .0100" .0008" .0094" 4647 * .0046 .0492 .0095 .0481 4648 * .0123 .0880 .0224 .0905 4649 * .0386 .1808 .0895 .1129 4650 */ 4651 4652 nls: [ 46530, 0, 0, 0, 1, 46540, 0, 2, -2, 2, 46550, 0, 2, 0, 2, 46560, 0, 0, 0, 2, 46570, 1, 0, 0, 0, 46580, 1, 2, -2, 2, 46591, 0, 0, 0, 0, 46600, 0, 2, 0, 1, 46611, 0, 2, 0, 2, 46620, -1, 2, -2, 2, 46630, 0, 2, -2, 1, 4664-1, 0, 2, 0, 2, 4665-1, 0, 0, 2, 0, 46661, 0, 0, 0, 1, 4667-1, 0, 0, 0, 1, 4668-1, 0, 2, 2, 2, 46691, 0, 2, 0, 1, 4670-2, 0, 2, 0, 1, 46710, 0, 0, 2, 0, 46720, 0, 2, 2, 2, 46730, -2, 2, -2, 2, 4674-2, 0, 0, 2, 0, 46752, 0, 2, 0, 2, 46761, 0, 2, -2, 2, 4677-1, 0, 2, 0, 1, 46782, 0, 0, 0, 0, 46790, 0, 2, 0, 0, 46800, 1, 0, 0, 1, 4681-1, 0, 0, 2, 1, 46820, 2, 2, -2, 2, 46830, 0, -2, 2, 0, 46841, 0, 0, -2, 1, 46850, -1, 0, 0, 1, 4686-1, 0, 2, 2, 1, 46870, 2, 0, 0, 0, 46881, 0, 2, 2, 2, 4689-2, 0, 2, 0, 0, 46900, 1, 2, 0, 2, 46910, 0, 2, 2, 1, 46920, -1, 2, 0, 2, 46930, 0, 0, 2, 1, 46941, 0, 2, -2, 1, 46952, 0, 2, -2, 2, 4696-2, 0, 0, 2, 1, 46972, 0, 2, 0, 1, 46980, -1, 2, -2, 1, 46990, 0, 0, -2, 1, 4700-1, -1, 0, 2, 0, 47012, 0, 0, -2, 1, 47021, 0, 0, 2, 0, 47030, 1, 2, -2, 1, 47041, -1, 0, 0, 0, 4705-2, 0, 2, 0, 2, 47063, 0, 2, 0, 2, 47070, -1, 0, 2, 0, 47081, -1, 2, 0, 2, 47090, 0, 0, 1, 0, 4710-1, -1, 2, 2, 2, 4711-1, 0, 2, 0, 0, 47120, -1, 2, 2, 2, 4713-2, 0, 0, 0, 1, 47141, 1, 2, 0, 2, 47152, 0, 0, 0, 1, 4716-1, 1, 0, 1, 0, 47171, 1, 0, 0, 0, 47181, 0, 2, 0, 0, 4719-1, 0, 2, -2, 1, 47201, 0, 0, 0, 2, 4721-1, 0, 0, 1, 0, 47220, 0, 2, 1, 2, 4723-1, 0, 2, 4, 2, 4724-1, 1, 0, 1, 1, 47250, -2, 2, -2, 1, 47261, 0, 2, 2, 1, 4727-2, 0, 2, 2, 2, 4728-1, 0, 0, 0, 2, 47291, 1, 2, -2, 2, 4730-2, 0, 2, 4, 2, 4731-1, 0, 4, 0, 2, 47322, 0, 2, -2, 1, 47332, 0, 2, 2, 2, 47341, 0, 0, 2, 1, 47353, 0, 0, 0, 0, 47363, 0, 2, -2, 2, 47370, 0, 4, -2, 2, 47380, 1, 2, 0, 1, 47390, 0, -2, 2, 1, 47400, 0, 2, -2, 3, 4741-1, 0, 0, 4, 0, 47422, 0, -2, 0, 1, 4743-2, 0, 0, 4, 0, 4744-1, -1, 0, 2, 1, 4745-1, 0, 0, 1, 1, 47460, 1, 0, 0, 2, 47470, 0, -2, 0, 1, 47480, -1, 2, 0, 1, 47490, 0, 2, -1, 2, 47500, 0, 2, 4, 2, 4751-2, -1, 0, 2, 0, 47521, 1, 0, -2, 1, 4753-1, 1, 0, 2, 0, 4754-1, 1, 0, 1, 2, 47551, -1, 0, 0, 1, 47561, -1, 2, 2, 2, 4757-1, 1, 2, 2, 2, 47583, 0, 2, 0, 1, 47590, 1, -2, 2, 0, 4760-1, 0, 0, -2, 1, 47610, 1, 2, 2, 2, 4762-1, -1, 2, 2, 1, 47630, -1, 0, 0, 2, 47641, 0, 2, -4, 1, 4765-1, 0, -2, 2, 0, 47660, -1, 2, 2, 1, 47672, -1, 2, 0, 2, 47680, 0, 0, 2, 2, 47691, -1, 2, 0, 1, 4770-1, 1, 2, 0, 2, 47710, 1, 0, 2, 0, 47720, -1, -2, 2, 0, 47730, 3, 2, -2, 2, 47740, 0, 0, 1, 1, 4775-1, 0, 2, 2, 0, 47762, 1, 2, 0, 2, 47771, 1, 0, 0, 1, 47781, 1, 2, 0, 1, 47792, 0, 0, 2, 0, 47801, 0, -2, 2, 0, 4781-1, 0, 0, 2, 2, 47820, 1, 0, 1, 0, 47830, 1, 0, -2, 1, 4784-1, 0, 2, -2, 2, 47850, 0, 0, -1, 1, 4786-1, 1, 0, 0, 1, 47871, 0, 2, -1, 2, 47881, -1, 0, 2, 0, 47890, 0, 0, 4, 0, 47901, 0, 2, 1, 2, 47910, 0, 2, 1, 1, 47921, 0, 0, -2, 2, 4793-1, 0, 2, 4, 1, 47941, 0, -2, 0, 1, 47951, 1, 2, -2, 1, 47960, 0, 2, 2, 0, 4797-1, 0, 2, -1, 1, 4798-2, 0, 2, 2, 1, 47994, 0, 2, 0, 2, 48002, -1, 0, 0, 0, 48012, 1, 2, -2, 2, 48020, 1, 2, 1, 2, 48031, 0, 4, -2, 2, 4804-1, -1, 0, 0, 1, 48050, 1, 0, 2, 1, 4806-2, 0, 2, 4, 1, 48072, 0, 2, 0, 0, 48081, 0, 0, 1, 0, 4809-1, 0, 0, 4, 1, 4810-1, 0, 4, 0, 1, 48112, 0, 2, 2, 1, 48120, 0, 2, -3, 2, 4813-1, -2, 0, 2, 0, 48142, 1, 0, 0, 0, 48150, 0, 4, 0, 2, 48160, 0, 0, 0, 3, 48170, 3, 0, 0, 0, 48180, 0, 2, -4, 1, 48190, -1, 0, 2, 1, 48200, 0, 0, 4, 1, 4821-1, -1, 2, 4, 2, 48221, 0, 2, 4, 2, 4823-2, 2, 0, 2, 0, 4824-2, -1, 2, 0, 1, 4825-2, 0, 0, 2, 2, 4826-1, -1, 2, 0, 2, 48270, 0, 4, -2, 1, 48283, 0, 2, -2, 1, 4829-2, -1, 0, 2, 1, 48301, 0, 0, -1, 1, 48310, -2, 0, 2, 0, 4832-2, 0, 0, 4, 1, 4833-3, 0, 0, 0, 1, 48341, 1, 2, 2, 2, 48350, 0, 2, 4, 1, 48363, 0, 2, 2, 2, 4837-1, 1, 2, -2, 1, 48382, 0, 0, -4, 1, 48390, 0, 0, -2, 2, 48402, 0, 2, -4, 1, 4841-1, 1, 0, 2, 1, 48420, 0, 2, -1, 1, 48430, -2, 2, 2, 2, 48442, 0, 0, 2, 1, 48454, 0, 2, -2, 2, 48462, 0, 0, -2, 2, 48470, 2, 0, 0, 1, 48481, 0, 0, -4, 1, 48490, 2, 2, -2, 1, 4850-3, 0, 0, 4, 0, 4851-1, 1, 2, 0, 1, 4852-1, -1, 0, 4, 0, 4853-1, -2, 2, 2, 2, 4854-2, -1, 2, 4, 2, 48551, -1, 2, 2, 1, 4856-2, 1, 0, 2, 0, 4857-2, 1, 2, 0, 1, 48582, 1, 0, -2, 1, 4859-3, 0, 2, 0, 1, 4860-2, 0, 2, -2, 1, 4861-1, 1, 0, 2, 2, 48620, -1, 2, -1, 2, 4863-1, 0, 4, -2, 2, 48640, -2, 2, 0, 2, 4865-1, 0, 2, 1, 2, 48662, 0, 0, 0, 2, 48670, 0, 2, 0, 3, 4868-2, 0, 4, 0, 2, 4869-1, 0, -2, 0, 1, 4870-1, 1, 2, 2, 1, 48713, 0, 0, 0, 1, 4872-1, 0, 2, 3, 2, 48732, -1, 2, 0, 1, 48740, 1, 2, 2, 1, 48750, -1, 2, 4, 2, 48762, -1, 2, 2, 2, 48770, 2, -2, 2, 0, 4878-1, -1, 2, -1, 1, 48790, -2, 0, 0, 1, 48801, 0, 2, -4, 2, 48811, -1, 0, -2, 1, 4882-1, -1, 2, 0, 1, 48831, -1, 2, -2, 2, 4884-2, -1, 0, 4, 0, 4885-1, 0, 0, 3, 0, 4886-2, -1, 2, 2, 2, 48870, 2, 2, 0, 2, 48881, 1, 0, 2, 0, 48892, 0, 2, -1, 2, 48901, 0, 2, 1, 1, 48914, 0, 0, 0, 0, 48922, 1, 2, 0, 1, 48933, -1, 2, 0, 2, 4894-2, 2, 0, 2, 1, 48951, 0, 2, -3, 1, 48961, 1, 2, -4, 1, 4897-1, -1, 2, -2, 1, 48980, -1, 0, -1, 1, 48990, -1, 0, -2, 1, 4900-2, 0, 0, 0, 2, 4901-2, 0, -2, 2, 0, 4902-1, 0, -2, 4, 0, 49031, -2, 0, 0, 0, 49040, 1, 0, 1, 1, 4905-1, 2, 0, 2, 0, 49061, -1, 2, -2, 1, 49071, 2, 2, -2, 2, 49082, -1, 2, -2, 2, 49091, 0, 2, -1, 1, 49102, 1, 2, -2, 1, 4911-2, 0, 0, -2, 1, 49121, -2, 2, 0, 2, 49130, 1, 2, 1, 1, 49141, 0, 4, -2, 1, 4915-2, 0, 4, 2, 2, 49161, 1, 2, 1, 2, 49171, 0, 0, 4, 0, 49181, 0, 2, 2, 0, 49192, 0, 2, 1, 2, 49203, 1, 2, 0, 2, 49214, 0, 2, 0, 1, 4922-2, -1, 2, 0, 0, 49230, 1, -2, 2, 1, 49241, 0, -2, 1, 0, 49250, -1, -2, 2, 1, 49262, -1, 0, -2, 1, 4927-1, 0, 2, -1, 2, 49281, 0, 2, -3, 2, 49290, 1, 2, -2, 3, 49300, 0, 2, -3, 1, 4931-1, 0, -2, 2, 1, 49320, 0, 2, -4, 2, 4933-2, 1, 0, 0, 1, 4934-1, 0, 0, -1, 1, 49352, 0, 2, -4, 2, 49360, 0, 4, -4, 4, 49370, 0, 4, -4, 2, 4938-1, -2, 0, 2, 1, 4939-2, 0, 0, 3, 0, 49401, 0, -2, 2, 1, 4941-3, 0, 2, 2, 2, 4942-3, 0, 2, 2, 1, 4943-2, 0, 2, 2, 0, 49442, -1, 0, 0, 1, 4945-2, 1, 2, 2, 2, 49461, 1, 0, 1, 0, 49470, 1, 4, -2, 2, 4948-1, 1, 0, -2, 1, 49490, 0, 0, -4, 1, 49501, -1, 0, 2, 1, 49511, 1, 0, 2, 1, 4952-1, 2, 2, 2, 2, 49533, 1, 2, -2, 2, 49540, -1, 0, 4, 0, 49552, -1, 0, 2, 0, 49560, 0, 4, 0, 1, 49572, 0, 4, -2, 2, 4958-1, -1, 2, 4, 1, 49591, 0, 0, 4, 1, 49601, -2, 2, 2, 2, 49610, 0, 2, 3, 2, 4962-1, 1, 2, 4, 2, 49633, 0, 0, 2, 0, 4964-1, 0, 4, 2, 2, 49651, 1, 2, 2, 1, 4966-2, 0, 2, 6, 2, 49672, 1, 2, 2, 2, 4968-1, 0, 2, 6, 2, 49691, 0, 2, 4, 1, 49702, 0, 2, 4, 2, 49711, 1, -2, 1, 0, 4972-3, 1, 2, 1, 2, 49732, 0, -2, 0, 2, 4974-1, 0, 0, 1, 2, 4975-4, 0, 2, 2, 1, 4976-1, -1, 0, 1, 0, 49770, 0, -2, 2, 2, 49781, 0, 0, -1, 2, 49790, -1, 2, -2, 3, 4980-2, 1, 2, 0, 0, 49810, 0, 2, -2, 4, 4982-2, -2, 0, 2, 0, 4983-2, 0, -2, 4, 0, 49840, -2, -2, 2, 0, 49851, 2, 0, -2, 1, 49863, 0, 0, -4, 1, 4987-1, 1, 2, -2, 2, 49881, -1, 2, -4, 1, 49891, 1, 0, -2, 2, 4990-3, 0, 2, 0, 0, 4991-3, 0, 2, 0, 2, 4992-2, 0, 0, 1, 0, 49930, 0, -2, 1, 0, 4994-3, 0, 0, 2, 1, 4995-1, -1, -2, 2, 0, 49960, 1, 2, -4, 1, 49972, 1, 0, -4, 1, 49980, 2, 0, -2, 1, 49991, 0, 0, -3, 1, 5000-2, 0, 2, -2, 2, 5001-2, -1, 0, 0, 1, 5002-4, 0, 0, 2, 0, 50031, 1, 0, -4, 1, 5004-1, 0, 2, -4, 1, 50050, 0, 4, -4, 1, 50060, 3, 2, -2, 2, 5007-3, -1, 0, 4, 0, 5008-3, 0, 0, 4, 1, 50091, -1, -2, 2, 0, 5010-1, -1, 0, 2, 2, 50111, -2, 0, 0, 1, 50121, -1, 0, 0, 2, 50130, 0, 0, 1, 2, 5014-1, -1, 2, 0, 0, 50151, -2, 2, -2, 2, 50160, -1, 2, -1, 1, 5017-1, 0, 2, 0, 3, 50181, 1, 0, 0, 2, 5019-1, 1, 2, 0, 0, 50201, 2, 0, 0, 0, 5021-1, 2, 2, 0, 2, 5022-1, 0, 4, -2, 1, 50233, 0, 2, -4, 2, 50241, 2, 2, -2, 1, 50251, 0, 4, -4, 2, 5026-2, -1, 0, 4, 1, 50270, -1, 0, 2, 2, 5028-2, 1, 0, 4, 0, 5029-2, -1, 2, 2, 1, 50302, 0, -2, 2, 0, 50311, 0, 0, 1, 1, 50320, 1, 0, 2, 2, 50331, -1, 2, -1, 2, 5034-2, 0, 4, 0, 1, 50352, 1, 0, 0, 1, 50360, 1, 2, 0, 0, 50370, -1, 4, -2, 2, 50380, 0, 4, -2, 4, 50390, 2, 2, 0, 1, 5040-3, 0, 0, 6, 0, 5041-1, -1, 0, 4, 1, 50421, -2, 0, 2, 0, 5043-1, 0, 0, 4, 2, 5044-1, -2, 2, 2, 1, 5045-1, 0, 0, -2, 2, 50461, 0, -2, -2, 1, 50470, 0, -2, -2, 1, 5048-2, 0, -2, 0, 1, 50490, 0, 0, 3, 1, 50500, 0, 0, 3, 0, 5051-1, 1, 0, 4, 0, 5052-1, -1, 2, 2, 0, 5053-2, 0, 2, 3, 2, 50541, 0, 0, 2, 2, 50550, -1, 2, 1, 2, 50563, -1, 0, 0, 0, 50572, 0, 0, 1, 0, 50581, -1, 2, 0, 0, 50590, 0, 2, 1, 0, 50601, 0, 2, 0, 3, 50613, 1, 0, 0, 0, 50623, -1, 2, -2, 2, 50632, 0, 2, -1, 1, 50641, 1, 2, 0, 0, 50650, 0, 4, -1, 2, 50661, 2, 2, 0, 2, 5067-2, 0, 0, 6, 0, 50680, -1, 0, 4, 1, 5069-2, -1, 2, 4, 1, 50700, -2, 2, 2, 1, 50710, -1, 2, 2, 0, 5072-1, 0, 2, 3, 1, 5073-2, 1, 2, 4, 2, 50742, 0, 0, 2, 2, 50752, -2, 2, 0, 2, 5076-1, 1, 2, 3, 2, 50773, 0, 2, -1, 2, 50784, 0, 2, -2, 1, 5079-1, 0, 0, 6, 0, 5080-1, -2, 2, 4, 2, 5081-3, 0, 2, 6, 2, 5082-1, 0, 2, 4, 0, 50833, 0, 0, 2, 1, 50843, -1, 2, 0, 1, 50853, 0, 2, 0, 0, 50861, 0, 4, 0, 2, 50875, 0, 2, -2, 2, 50880, -1, 2, 4, 1, 50892, -1, 2, 2, 1, 50900, 1, 2, 4, 2, 50911, -1, 2, 4, 2, 50923, -1, 2, 2, 2, 50933, 0, 2, 2, 1, 50945, 0, 2, 0, 2, 50950, 0, 2, 6, 2, 50964, 0, 2, 2, 2, 50970, -1, 1, -1, 1, 5098-1, 0, 1, 0, 3, 50990, -2, 2, -2, 3, 51001, 0, -1, 0, 1, 51012, -2, 0, -2, 1, 5102-1, 0, 1, 0, 2, 5103-1, 0, 1, 0, 1, 5104-1, -1, 2, -1, 2, 5105-2, 2, 0, 2, 2, 5106-1, 0, 1, 0, 0, 5107-4, 1, 2, 2, 2, 5108-3, 0, 2, 1, 1, 5109-2, -1, 2, 0, 2, 51101, 0, -2, 1, 1, 51112, -1, -2, 0, 1, 5112-4, 0, 2, 2, 0, 5113-3, 1, 0, 3, 0, 5114-1, 0, -1, 2, 0, 51150, -2, 0, 0, 2, 51160, -2, 0, 0, 2, 5117-3, 0, 0, 3, 0, 5118-2, -1, 0, 2, 2, 5119-1, 0, -2, 3, 0, 5120-4, 0, 0, 4, 0, 51212, 1, -2, 0, 1, 51222, -1, 0, -2, 2, 51230, 0, 1, -1, 0, 5124-1, 2, 0, 1, 0, 5125-2, 1, 2, 0, 2, 51261, 1, 0, -1, 1, 51271, 0, 1, -2, 1, 51280, 2, 0, 0, 2, 51291, -1, 2, -3, 1, 5130-1, 1, 2, -1, 1, 5131-2, 0, 4, -2, 2, 5132-2, 0, 4, -2, 1, 5133-2, -2, 0, 2, 1, 5134-2, 0, -2, 4, 0, 51351, 2, 2, -4, 1, 51361, 1, 2, -4, 2, 5137-1, 2, 2, -2, 1, 51382, 0, 0, -3, 1, 5139-1, 2, 0, 0, 1, 51400, 0, 0, -2, 0, 5141-1, -1, 2, -2, 2, 5142-1, 1, 0, 0, 2, 51430, 0, 0, -1, 2, 5144-2, 1, 0, 1, 0, 51451, -2, 0, -2, 1, 51461, 0, -2, 0, 2, 5147-3, 1, 0, 2, 0, 5148-1, 1, -2, 2, 0, 5149-1, -1, 0, 0, 2, 5150-3, 0, 0, 2, 0, 5151-3, -1, 0, 2, 0, 51522, 0, 2, -6, 1, 51530, 1, 2, -4, 2, 51542, 0, 0, -4, 2, 5155-2, 1, 2, -2, 1, 51560, -1, 2, -4, 1, 51570, 1, 0, -2, 2, 5158-1, 0, 0, -2, 0, 51592, 0, -2, -2, 1, 5160-4, 0, 2, 0, 1, 5161-1, -1, 0, -1, 1, 51620, 0, -2, 0, 2, 5163-3, 0, 0, 1, 0, 5164-1, 0, -2, 1, 0, 5165-2, 0, -2, 2, 1, 51660, 0, -4, 2, 0, 5167-2, -1, -2, 2, 0, 51681, 0, 2, -6, 1, 5169-1, 0, 2, -4, 2, 51701, 0, 0, -4, 2, 51712, 1, 2, -4, 2, 51722, 1, 2, -4, 1, 51730, 1, 4, -4, 4, 51740, 1, 4, -4, 2, 5175-1, -1, -2, 4, 0, 5176-1, -3, 0, 2, 0, 5177-1, 0, -2, 4, 1, 5178-2, -1, 0, 3, 0, 51790, 0, -2, 3, 0, 5180-2, 0, 0, 3, 1, 51810, -1, 0, 1, 0, 5182-3, 0, 2, 2, 0, 51831, 1, -2, 2, 0, 5184-1, 1, 0, 2, 2, 51851, -2, 2, -2, 1, 51860, 0, 1, 0, 2, 51870, 0, 1, 0, 1, 51880, 0, 1, 0, 0, 5189-1, 2, 0, 2, 1, 51900, 0, 2, 0, 2, 5191-2, 0, 2, 0, 2, 51922, 0, 0, -1, 1, 51933, 0, 0, -2, 1, 51941, 0, 2, -2, 3, 51951, 2, 0, 0, 1, 51962, 0, 2, -3, 2, 5197-1, 1, 4, -2, 2, 5198-2, -2, 0, 4, 0, 51990, -3, 0, 2, 0, 52000, 0, -2, 4, 0, 5201-1, -1, 0, 3, 0, 5202-2, 0, 0, 4, 2, 5203-1, 0, 0, 3, 1, 52042, -2, 0, 0, 0, 52051, -1, 0, 1, 0, 5206-1, 0, 0, 2, 0, 52070, -2, 2, 0, 1, 5208-1, 0, 1, 2, 1, 5209-1, 1, 0, 3, 0, 5210-1, -1, 2, 1, 2, 52110, -1, 2, 0, 0, 5212-2, 1, 2, 2, 1, 52132, -2, 2, -2, 2, 52141, 1, 0, 1, 1, 52151, 0, 1, 0, 1, 52161, 0, 1, 0, 0, 52170, 2, 0, 2, 0, 52182, -1, 2, -2, 1, 52190, -1, 4, -2, 1, 52200, 0, 4, -2, 3, 52210, 1, 4, -2, 1, 52224, 0, 2, -4, 2, 52232, 2, 2, -2, 2, 52242, 0, 4, -4, 2, 5225-1, -2, 0, 4, 0, 5226-1, -3, 2, 2, 2, 5227-3, 0, 2, 4, 2, 5228-3, 0, 2, -2, 1, 5229-1, -1, 0, -2, 1, 5230-3, 0, 0, 0, 2, 5231-3, 0, -2, 2, 0, 52320, 1, 0, -4, 1, 5233-2, 1, 0, -2, 1, 5234-4, 0, 0, 0, 1, 5235-1, 0, 0, -4, 1, 5236-3, 0, 0, -2, 1, 52370, 0, 0, 3, 2, 5238-1, 1, 0, 4, 1, 52391, -2, 2, 0, 1, 52400, 1, 0, 3, 0, 5241-1, 0, 2, 2, 3, 52420, 0, 2, 2, 2, 5243-2, 0, 2, 2, 2, 5244-1, 1, 2, 2, 0, 52453, 0, 0, 0, 2, 52462, 1, 0, 1, 0, 52472, -1, 2, -1, 2, 52480, 0, 2, 0, 1, 52490, 0, 3, 0, 3, 52500, 0, 3, 0, 2, 5251-1, 2, 2, 2, 1, 5252-1, 0, 4, 0, 0, 52531, 2, 2, 0, 1, 52543, 1, 2, -2, 1, 52551, 1, 4, -2, 2, 5256-2, -1, 0, 6, 0, 52570, -2, 0, 4, 0, 5258-2, 0, 0, 6, 1, 5259-2, -2, 2, 4, 2, 52600, -3, 2, 2, 2, 52610, 0, 0, 4, 2, 5262-1, -1, 2, 3, 2, 5263-2, 0, 2, 4, 0, 52642, -1, 0, 2, 1, 52651, 0, 0, 3, 0, 52660, 1, 0, 4, 1, 52670, 1, 0, 4, 0, 52681, -1, 2, 1, 2, 52690, 0, 2, 2, 3, 52701, 0, 2, 2, 2, 5271-1, 0, 2, 2, 2, 5272-2, 0, 4, 2, 1, 52732, 1, 0, 2, 1, 52742, 1, 0, 2, 0, 52752, -1, 2, 0, 0, 52761, 0, 2, 1, 0, 52770, 1, 2, 2, 0, 52782, 0, 2, 0, 3, 52793, 0, 2, 0, 2, 52801, 0, 2, 0, 2, 52811, 0, 3, 0, 3, 52821, 1, 2, 1, 1, 52830, 2, 2, 2, 2, 52842, 1, 2, 0, 0, 52852, 0, 4, -2, 1, 52864, 1, 2, -2, 2, 5287-1, -1, 0, 6, 0, 5288-3, -1, 2, 6, 2, 5289-1, 0, 0, 6, 1, 5290-3, 0, 2, 6, 1, 52911, -1, 0, 4, 1, 52921, -1, 0, 4, 0, 5293-2, 0, 2, 5, 2, 52941, -2, 2, 2, 1, 52953, -1, 0, 2, 0, 52961, -1, 2, 2, 0, 52970, 0, 2, 3, 1, 5298-1, 1, 2, 4, 1, 52990, 1, 2, 3, 2, 5300-1, 0, 4, 2, 1, 53012, 0, 2, 1, 1, 53025, 0, 0, 0, 0, 53032, 1, 2, 1, 2, 53041, 0, 4, 0, 1, 53053, 1, 2, 0, 1, 53063, 0, 4, -2, 2, 5307-2, -1, 2, 6, 2, 53080, 0, 0, 6, 0, 53090, -2, 2, 4, 2, 5310-2, 0, 2, 6, 1, 53112, 0, 0, 4, 1, 53122, 0, 0, 4, 0, 53132, -2, 2, 2, 2, 53140, 0, 2, 4, 0, 53151, 0, 2, 3, 2, 53164, 0, 0, 2, 0, 53172, 0, 2, 2, 0, 53180, 0, 4, 2, 2, 53194, -1, 2, 0, 2, 53203, 0, 2, 1, 2, 53212, 1, 2, 2, 1, 53224, 1, 2, 0, 2, 5323-1, -1, 2, 6, 2, 5324-1, 0, 2, 6, 1, 53251, -1, 2, 4, 1, 53261, 1, 2, 4, 2, 53273, 1, 2, 2, 2, 53285, 0, 2, 0, 1, 53292, -1, 2, 4, 2, 53302, 0, 2, 4, 1, 5331], 5332 5333/* Luni-Solar nutation coefficients, unit 1e-7 arcsec 5334 * longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin) */ 5335cls: [ 5336-172064161, -174666, 33386, 92052331, 9086, 15377, 5337-13170906, -1675, -13696, 5730336, -3015, -4587, 5338-2276413, -234, 2796, 978459, -485, 1374, 53392074554, 207, -698, -897492, 470, -291, 53401475877, -3633, 11817, 73871, -184, -1924, 5341-516821, 1226, -524, 224386, -677, -174, 5342711159, 73, -872, -6750, 0, 358, 5343-387298, -367, 380, 200728, 18, 318,
5344-301461, -36, 816, 129025, -63, 367, 5345215829, -494, 111, -95929, 299, 132, 5346128227, 137, 181, -68982, -9, 39, 5347123457, 11, 19, -53311, 32, -4, 5348156994, 10, -168, -1235, 0, 82, 534963110, 63, 27, -33228, 0, -9, 5350-57976, -63, -189, 31429, 0, -75, 5351-59641, -11, 149, 25543, -11, 66, 5352-51613, -42, 129, 26366, 0, 78, 535345893, 50, 31, -24236, -10, 20, 535463384, 11, -150, -1220, 0, 29, 5355-38571, -1, 158, 16452, -11, 68, 535632481, 0, 0, -13870, 0, 0, 5357-47722, 0, -18, 477, 0, -25, 5358-31046, -1, 131, 13238, -11, 59, 535928593, 0, -1, -12338, 10, -3, 536020441, 21, 10, -10758, 0, -3, 536129243, 0, -74, -609, 0, 13, 536225887, 0, -66, -550, 0, 11, 5363-14053, -25, 79, 8551, -2, -45, 536415164, 10, 11, -8001, 0, -1, 5365-15794, 72, -16, 6850, -42, -5, 536621783, 0, 13, -167, 0, 13, 5367-12873, -10, -37, 6953, 0, -14, 5368-12654, 11, 63, 6415, 0, 26, 5369-10204, 0, 25, 5222, 0, 15, 537016707, -85, -10, 168, -1, 10, 5371-7691, 0, 44, 3268, 0, 19, 5372-11024, 0, -14, 104, 0, 2, 53737566, -21, -11, -3250, 0, -5, 5374-6637, -11, 25, 3353, 0, 14, 5375-7141, 21, 8, 3070, 0, 4, 5376-6302, -11, 2, 3272, 0, 4, 53775800, 10, 2, -3045, 0, -1, 53786443, 0, -7, -2768, 0, -4, 5379-5774, -11, -15, 3041, 0, -5, 5380-5350, 0, 21, 2695, 0, 12, 5381-4752, -11, -3, 2719, 0, -3, 5382-4940, -11, -21, 2720, 0, -9, 53837350, 0, -8, -51, 0, 4, 53844065, 0, 6, -2206, 0, 1, 53856579, 0, -24, -199, 0, 2, 53863579, 0, 5, -1900, 0, 1, 53874725, 0, -6, -41, 0, 3, 5388-3075, 0, -2, 1313, 0, -1, 5389-2904, 0, 15, 1233, 0, 7, 53904348, 0, -10, -81, 0, 2, 5391-2878, 0, 8, 1232, 0, 4, 5392-4230, 0, 5, -20, 0, -2, 5393-2819, 0, 7, 1207, 0, 3, 5394-4056, 0, 5, 40, 0, -2, 5395-2647, 0, 11, 1129, 0, 5, 5396-2294, 0, -10, 1266, 0, -4, 53972481, 0, -7, -1062, 0, -3, 53982179, 0, -2, -1129, 0, -2, 53993276, 0, 1, -9, 0, 0, 5400-3389, 0, 5, 35, 0, -2, 54013339, 0, -13, -107, 0, 1, 5402-1987, 0, -6, 1073, 0, -2, 5403-1981, 0, 0, 854, 0, 0, 54044026, 0, -353, -553, 0, -139, 54051660, 0, -5, -710, 0, -2, 5406-1521, 0, 9, 647, 0, 4, 54071314, 0, 0, -700, 0, 0, 5408-1283, 0, 0, 672, 0, 0, 5409-1331, 0, 8, 663, 0, 4, 54101383, 0, -2, -594, 0, -2, 54111405, 0, 4, -610, 0, 2, 54121290, 0, 0, -556, 0, 0, 5413-1214, 0, 5, 518, 0, 2, 54141146, 0, -3, -490, 0, -1, 54151019, 0, -1, -527, 0, -1, 5416-1100, 0, 9, 465, 0, 4, 5417-970, 0, 2, 496, 0, 1, 54181575, 0, -6, -50, 0, 0, 5419934, 0, -3, -399, 0, -1, 5420922, 0, -1, -395, 0, -1, 5421815, 0, -1, -422, 0, -1, 5422834, 0, 2, -440, 0, 1, 54231248, 0, 0, -170, 0, 1, 54241338, 0, -5, -39, 0, 0, 5425716, 0, -2, -389, 0, -1, 54261282, 0, -3, -23, 0, 1, 5427742, 0, 1, -391, 0, 0, 54281020, 0, -25, -495, 0, -10, 5429715, 0, -4, -326, 0, 2, 5430-666, 0, -3, 369, 0, -1, 5431-667, 0, 1, 346, 0, 1, 5432-704, 0, 0, 304, 0, 0, 5433-694, 0, 5, 294, 0, 2, 5434-1014, 0, -1, 4, 0, -1, 5435-585, 0, -2, 316, 0, -1, 5436-949, 0, 1, 8, 0, -1, 5437-595, 0, 0, 258, 0, 0, 5438528, 0, 0, -279, 0, 0, 5439-590, 0, 4, 252, 0, 2, 5440570, 0, -2, -244, 0, -1, 5441-502, 0, 3, 250, 0, 2, 5442-875, 0, 1, 29, 0, 0, 5443-492, 0, -3, 275, 0, -1, 5444535, 0, -2, -228, 0, -1, 5445-467, 0, 1, 240, 0, 1, 5446591, 0, 0, -253, 0, 0, 5447-453, 0, -1, 244, 0, -1, 5448766, 0, 1, 9, 0, 0, 5449-446, 0, 2, 225, 0, 1, 5450-488, 0, 2, 207, 0, 1, 5451-468, 0, 0, 201, 0, 0, 5452-421, 0, 1, 216, 0, 1, 5453463, 0, 0, -200, 0, 0, 5454-673, 0, 2, 14, 0, 0, 5455658, 0, 0, -2, 0, 0, 5456-438, 0, 0, 188, 0, 0, 5457-390, 0, 0, 205, 0, 0, 5458639, -11, -2, -19, 0, 0, 5459412, 0, -2, -176, 0, -1, 5460-361, 0, 0, 189, 0, 0, 5461360, 0, -1, -185, 0, -1, 5462588, 0, -3, -24, 0, 0, 5463-578, 0, 1, 5, 0, 0, 5464-396, 0, 0, 171, 0, 0, 5465565, 0, -1, -6, 0, 0, 5466-335, 0, -1, 184, 0, -1, 5467357, 0, 1, -154, 0, 0, 5468321, 0, 1, -174, 0, 0, 5469-301, 0, -1, 162, 0, 0, 5470-334, 0, 0, 144, 0, 0, 5471493, 0, -2, -15, 0, 0, 5472494, 0, -2, -19, 0, 0, 5473337, 0, -1, -143, 0, -1, 5474280, 0, -1, -144, 0, 0, 5475309, 0, 1, -134, 0, 0, 5476-263, 0, 2, 131, 0, 1, 5477253, 0, 1, -138, 0, 0, 5478245, 0, 0, -128, 0, 0, 5479416, 0, -2, -17, 0, 0, 5480-229, 0, 0, 128, 0, 0, 5481231, 0, 0, -120, 0, 0, 5482-259, 0, 2, 109, 0, 1, 5483375, 0, -1, -8, 0, 0, 5484252, 0, 0, -108, 0, 0, 5485-245, 0, 1, 104, 0, 0, 5486243, 0, -1, -104, 0, 0, 5487208, 0, 1, -112, 0, 0, 5488199, 0, 0, -102, 0, 0, 5489-208, 0, 1, 105, 0, 0, 5490335, 0, -2, -14, 0, 0, 5491-325, 0, 1, 7, 0, 0, 5492-187, 0, 0, 96, 0, 0, 5493197, 0, -1, -100, 0, 0, 5494-192, 0, 2, 94, 0, 1, 5495-188, 0, 0, 83, 0, 0, 5496276, 0, 0, -2, 0, 0, 5497-286, 0, 1, 6, 0, 0, 5498186, 0, -1, -79, 0, 0, 5499-219, 0, 0, 43, 0, 0, 5500276, 0, 0, 2, 0, 0, 5501-153, 0, -1, 84, 0, 0, 5502-156, 0, 0, 81, 0, 0, 5503-154, 0, 1, 78, 0, 0, 5504-174, 0, 1, 75, 0, 0, 5505-163, 0, 2, 69, 0, 1, 5506-228, 0, 0, 1, 0, 0, 550791, 0, -4, -54, 0, -2, 5508175, 0, 0, -75, 0, 0, 5509-159, 0, 0, 69, 0, 0, 5510141, 0, 0, -72, 0, 0, 5511147, 0, 0, -75, 0, 0, 5512-132, 0, 0, 69, 0, 0, 5513159, 0, -28, -54, 0, 11, 5514213, 0, 0, -4, 0, 0, 5515123, 0, 0, -64, 0, 0, 5516-118, 0, -1, 66, 0, 0, 5517144, 0, -1, -61, 0, 0, 5518-121, 0, 1, 60, 0, 0, 5519-134, 0, 1, 56, 0, 1, 5520-105, 0, 0, 57, 0, 0, 5521-102, 0, 0, 56, 0, 0, 5522120, 0, 0, -52, 0, 0, 5523101, 0, 0, -54, 0, 0, 5524-113, 0, 0, 59, 0, 0, 5525-106, 0, 0, 61, 0, 0, 5526-129, 0, 1, 55, 0, 0, 5527-114, 0, 0, 57, 0, 0, 5528113, 0, -1, -49, 0, 0, 5529-102, 0, 0, 44, 0, 0, 5530-94, 0, 0, 51, 0, 0, 5531-100, 0, -1, 56, 0, 0, 553287, 0, 0, -47, 0, 0, 5533161, 0, 0, -1, 0, 0, 553496, 0, 0, -50, 0, 0, 5535151, 0, -1, -5, 0, 0, 5536-104, 0, 0, 44, 0, 0, 5537-110, 0, 0, 48, 0, 0, 5538-100, 0, 1, 50, 0, 0, 553992, 0, -5, 12, 0, -2, 554082, 0, 0, -45, 0, 0, 554182, 0, 0, -45, 0, 0, 5542-78, 0, 0, 41, 0, 0, 5543-77, 0, 0, 43, 0, 0, 55442, 0, 0, 54, 0, 0, 554594, 0, 0, -40, 0, 0, 5546-93, 0, 0, 40, 0, 0, 5547-83, 0, 10, 40, 0, -2, 554883, 0, 0, -36, 0, 0, 5549-91, 0, 0, 39, 0, 0, 5550128, 0, 0, -1, 0, 0, 5551-79, 0, 0, 34, 0, 0, 5552-83, 0, 0, 47, 0, 0, 555384, 0, 0, -44, 0, 0, 555483, 0, 0, -43, 0, 0, 555591, 0, 0, -39, 0, 0, 5556-77, 0, 0, 39, 0, 0, 555784, 0, 0, -43, 0, 0, 5558-92, 0, 1, 39, 0, 0, 5559-92, 0, 1, 39, 0, 0, 5560-94, 0, 0, 0, 0, 0, 556168, 0, 0, -36, 0, 0, 5562-61, 0, 0, 32, 0, 0, 556371, 0, 0, -31, 0, 0, 556462, 0, 0, -34, 0, 0, 5565-63, 0, 0, 33, 0, 0, 5566-73, 0, 0, 32, 0, 0, 5567115, 0, 0, -2, 0, 0, 5568-103, 0, 0, 2, 0, 0, 556963, 0, 0, -28, 0, 0, 557074, 0, 0, -32, 0, 0, 5571-103, 0, -3, 3, 0, -1, 5572-69, 0, 0, 30, 0, 0, 557357, 0, 0, -29, 0, 0, 557494, 0, 0, -4, 0, 0, 557564, 0, 0, -33, 0, 0, 5576-63, 0, 0, 26, 0, 0, 5577-38, 0, 0, 20, 0, 0, 5578-43, 0, 0, 24, 0, 0, 5579-45, 0, 0, 23, 0, 0, 558047, 0, 0, -24, 0, 0, 5581-48, 0, 0, 25, 0, 0, 558245, 0, 0, -26, 0, 0, 558356, 0, 0, -25, 0, 0, 558488, 0, 0, 2, 0, 0, 5585-75, 0, 0, 0, 0, 0, 558685, 0, 0, 0, 0, 0, 558749, 0, 0, -26, 0, 0, 5588-74, 0, -3, -1, 0, -1, 5589-39, 0, 0, 21, 0, 0, 559045, 0, 0, -20, 0, 0, 559151, 0, 0, -22, 0, 0, 5592-40, 0, 0, 21, 0, 0, 559341, 0, 0, -21, 0, 0, 5594-42, 0, 0, 24, 0, 0, 5595-51, 0, 0, 22, 0, 0, 5596-42, 0, 0, 22, 0, 0, 559739, 0, 0, -21, 0, 0, 559846, 0, 0, -18, 0, 0, 5599-53, 0, 0, 22, 0, 0, 560082, 0, 0, -4, 0, 0, 560181, 0, -1, -4, 0, 0, 560247, 0, 0, -19, 0, 0, 560353, 0, 0, -23, 0, 0, 5604-45, 0, 0, 22, 0, 0, 5605-44, 0, 0, -2, 0, 0, 5606-33, 0, 0, 16, 0, 0, 5607-61, 0, 0, 1, 0, 0, 560828, 0, 0, -15, 0, 0, 5609-38, 0, 0, 19, 0, 0, 5610-33, 0, 0, 21, 0, 0, 5611-60, 0, 0, 0, 0, 0, 561248, 0, 0, -10, 0, 0, 561327, 0, 0, -14, 0, 0, 561438, 0, 0, -20, 0, 0, 561531, 0, 0, -13, 0, 0, 5616-29, 0, 0, 15, 0, 0, 561728, 0, 0, -15, 0, 0, 5618-32, 0, 0, 15, 0, 0, 561945, 0, 0, -8, 0, 0, 5620-44, 0, 0, 19, 0, 0, 562128, 0, 0, -15, 0, 0, 5622-51, 0, 0, 0, 0, 0, 5623-36, 0, 0, 20, 0, 0, 562444, 0, 0, -19, 0, 0, 562526, 0, 0, -14, 0, 0, 5626-60, 0, 0, 2, 0, 0, 562735, 0, 0, -18, 0, 0, 5628-27, 0, 0, 11, 0, 0, 562947, 0, 0, -1, 0, 0, 563036, 0, 0, -15, 0, 0, 5631-36, 0, 0, 20, 0, 0, 5632-35, 0, 0, 19, 0, 0, 5633-37, 0, 0, 19, 0, 0, 563432, 0, 0, -16, 0, 0, 563535, 0, 0, -14, 0, 0, 563632, 0, 0, -13, 0, 0, 563765, 0, 0, -2, 0, 0, 563847, 0, 0, -1, 0, 0, 563932, 0, 0, -16, 0, 0, 564037, 0, 0, -16, 0, 0, 5641-30, 0, 0, 15, 0, 0, 5642-32, 0, 0, 16, 0, 0, 5643-31, 0, 0, 13, 0, 0, 564437, 0, 0, -16, 0, 0, 564531, 0, 0, -13, 0, 0, 564649, 0, 0, -2, 0, 0, 564732, 0, 0, -13, 0, 0, 564823, 0, 0, -12, 0, 0, 5649-43, 0, 0, 18, 0, 0, 565026, 0, 0, -11, 0, 0, 5651-32, 0, 0, 14, 0, 0, 5652-29, 0, 0, 14, 0, 0, 5653-27, 0, 0, 12, 0, 0, 565430, 0, 0, 0, 0, 0, 5655-11, 0, 0, 5, 0, 0, 5656-21, 0, 0, 10, 0, 0, 5657-34, 0, 0, 15, 0, 0, 5658-10, 0, 0, 6, 0, 0, 5659-36, 0, 0, 0, 0, 0, 5660-9, 0, 0, 4, 0, 0, 5661-12, 0, 0, 5, 0, 0, 5662-21, 0, 0, 5, 0, 0, 5663-29, 0, 0, -1, 0, 0, 5664-15, 0, 0, 3, 0, 0, 5665-20, 0, 0, 0, 0, 0, 566628, 0, 0, 0, 0, -2, 566717, 0, 0, 0, 0, 0, 5668-22, 0, 0, 12, 0, 0, 5669-14, 0, 0, 7, 0, 0, 567024, 0, 0, -11, 0, 0, 567111, 0, 0, -6, 0, 0, 567214, 0, 0, -6, 0, 0, 567324, 0, 0, 0, 0, 0, 567418, 0, 0, -8, 0, 0, 5675-38, 0, 0, 0, 0, 0, 5676-31, 0, 0, 0, 0, 0, 5677-16, 0, 0, 8, 0, 0, 567829, 0, 0, 0, 0, 0, 5679-18, 0, 0, 10, 0, 0, 5680-10, 0, 0, 5, 0, 0, 5681-17, 0, 0, 10, 0, 0, 56829, 0, 0, -4, 0, 0, 568316, 0, 0, -6, 0, 0, 568422, 0, 0, -12, 0, 0, 568520, 0, 0, 0, 0, 0, 5686-13, 0, 0, 6, 0, 0, 5687-17, 0, 0, 9, 0, 0, 5688-14, 0, 0, 8, 0, 0, 56890, 0, 0, -7, 0, 0, 569014, 0, 0, 0, 0, 0, 569119, 0, 0, -10, 0, 0, 5692-34, 0, 0, 0, 0, 0, 5693-20, 0, 0, 8, 0, 0, 56949, 0, 0, -5, 0, 0, 5695-18, 0, 0, 7, 0, 0, 569613, 0, 0, -6, 0, 0, 569717, 0, 0, 0, 0, 0, 5698-12, 0, 0, 5, 0, 0, 569915, 0, 0, -8, 0, 0, 5700-11, 0, 0, 3, 0, 0, 570113, 0, 0, -5, 0, 0, 5702-18, 0, 0, 0, 0, 0, 5703-35, 0, 0, 0, 0, 0, 57049, 0, 0, -4, 0, 0, 5705-19, 0, 0, 10, 0, 0, 5706-26, 0, 0, 11, 0, 0, 57078, 0, 0, -4, 0, 0, 5708-10, 0, 0, 4, 0, 0, 570910, 0, 0, -6, 0, 0, 5710-21, 0, 0, 9, 0, 0, 5711-15, 0, 0, 0, 0, 0, 57129, 0, 0, -5, 0, 0, 5713-29, 0, 0, 0, 0, 0, 5714-19, 0, 0, 10, 0, 0, 571512, 0, 0, -5, 0, 0, 571622, 0, 0, -9, 0, 0, 5717-10, 0, 0, 5, 0, 0, 5718-20, 0, 0, 11, 0, 0, 5719-20, 0, 0, 0, 0, 0, 5720-17, 0, 0, 7, 0, 0, 572115, 0, 0, -3, 0, 0, 57228, 0, 0, -4, 0, 0, 572314, 0, 0, 0, 0, 0, 5724-12, 0, 0, 6, 0, 0, 572525, 0, 0, 0, 0, 0, 5726-13, 0, 0, 6, 0, 0, 5727-14, 0, 0, 8, 0, 0, 572813, 0, 0, -5, 0, 0, 5729-17, 0, 0, 9, 0, 0, 5730-12, 0, 0, 6, 0, 0, 5731-10, 0, 0, 5, 0, 0, 573210, 0, 0, -6, 0, 0, 5733-15, 0, 0, 0, 0, 0, 5734-22, 0, 0, 0, 0, 0, 573528, 0, 0, -1, 0, 0, 573615, 0, 0, -7, 0, 0, 573723, 0, 0, -10, 0, 0, 573812, 0, 0, -5, 0, 0, 573929, 0, 0, -1, 0, 0, 5740-25, 0, 0, 1, 0, 0, 574122, 0, 0, 0, 0, 0, 5742-18, 0, 0, 0, 0, 0, 574315, 0, 0, 3, 0, 0, 5744-23, 0, 0, 0, 0, 0, 574512, 0, 0, -5, 0, 0, 5746-8, 0, 0, 4, 0, 0, 5747-19, 0, 0, 0, 0, 0, 5748-10, 0, 0, 4, 0, 0, 574921, 0, 0, -9, 0, 0, 575023, 0, 0, -1, 0, 0, 5751-16, 0, 0, 8, 0, 0, 5752-19, 0, 0, 9, 0, 0, 5753-22, 0, 0, 10, 0, 0, 575427, 0, 0, -1, 0, 0, 575516, 0, 0, -8, 0, 0, 575619, 0, 0, -8, 0, 0, 57579, 0, 0, -4, 0, 0, 5758-9, 0, 0, 4, 0, 0, 5759-9, 0, 0, 4, 0, 0, 5760-8, 0, 0, 4, 0, 0, 576118, 0, 0, -9, 0, 0, 576216, 0, 0, -1, 0, 0, 5763-10, 0, 0, 4, 0, 0, 5764-23, 0, 0, 9, 0, 0, 576516, 0, 0, -1, 0, 0, 5766-12, 0, 0, 6, 0, 0, 5767-8, 0, 0, 4, 0, 0, 576830, 0, 0, -2, 0, 0, 576924, 0, 0, -10, 0, 0, 577010, 0, 0, -4, 0, 0, 5771-16, 0, 0, 7, 0, 0, 5772-16, 0, 0, 7, 0, 0, 577317, 0, 0, -7, 0, 0, 5774-24, 0, 0, 10, 0, 0, 5775-12, 0, 0, 5, 0, 0, 5776-24, 0, 0, 11, 0, 0, 5777-23, 0, 0, 9, 0, 0, 5778-13, 0, 0, 5, 0, 0, 5779-15, 0, 0, 7, 0, 0, 57800, 0, -1988, 0, 0, -1679, 57810, 0, -63, 0, 0, -27, 5782-4, 0, 0, 0, 0, 0, 57830, 0, 5, 0, 0, 4, 57845, 0, 0, -3, 0, 0, 57850, 0, 364, 0, 0, 176, 57860, 0, -1044, 0, 0, -891, 5787-3, 0, 0, 1, 0, 0, 57884, 0, 0, -2, 0, 0, 57890, 0, 330, 0, 0, 0, 57905, 0, 0, -2, 0, 0, 57913, 0, 0, -2, 0, 0, 5792-3, 0, 0, 1, 0, 0, 5793-5, 0, 0, 2, 0, 0, 57943, 0, 0, -1, 0, 0, 57953, 0, 0, 0, 0, 0, 57963, 0, 0, 0, 0, 0, 57970, 0, 5, 0, 0, 0, 57980, 0, 0, 1, 0, 0, 57994, 0, 0, -2, 0, 0, 58006, 0, 0, 0, 0, 0, 58015, 0, 0, -2, 0, 0, 5802-7, 0, 0, 0, 0, 0, 5803-12, 0, 0, 0, 0, 0, 58045, 0, 0, -3, 0, 0, 58053, 0, 0, -1, 0, 0, 5806-5, 0, 0, 0, 0, 0, 58073, 0, 0, 0, 0, 0, 5808-7, 0, 0, 3, 0, 0, 58097, 0, 0, -4, 0, 0, 58100, 0, -12, 0, 0, -10, 58114, 0, 0, -2, 0, 0, 58123, 0, 0, -2, 0, 0, 5813-3, 0, 0, 2, 0, 0, 5814-7, 0, 0, 3, 0, 0, 5815-4, 0, 0, 2, 0, 0, 5816-3, 0, 0, 1, 0, 0, 58170, 0, 0, 0, 0, 0, 5818-3, 0, 0, 1, 0, 0, 58197, 0, 0, -3, 0, 0, 5820-4, 0, 0, 2, 0, 0, 58214, 0, 0, -2, 0, 0, 5822-5, 0, 0, 3, 0, 0, 58235, 0, 0, 0, 0, 0, 5824-5, 0, 0, 2, 0, 0, 58255, 0, 0, -2, 0, 0, 5826-8, 0, 0, 3, 0, 0, 58279, 0, 0, 0, 0, 0, 58286, 0, 0, -3, 0, 0, 5829-5, 0, 0, 2, 0, 0, 58303, 0, 0, 0, 0, 0, 5831-7, 0, 0, 0, 0, 0, 5832-3, 0, 0, 1, 0, 0, 58335, 0, 0, 0, 0, 0, 58343, 0, 0, 0, 0, 0, 5835-3, 0, 0, 2, 0, 0, 58364, 0, 0, -2, 0, 0, 58373, 0, 0, -1, 0, 0, 5838-5, 0, 0, 2, 0, 0, 58394, 0, 0, -2, 0, 0, 58409, 0, 0, -3, 0, 0, 58414, 0, 0, 0, 0, 0, 58424, 0, 0, -2, 0, 0, 5843-3, 0, 0, 2, 0, 0, 5844-4, 0, 0, 2, 0, 0, 58459, 0, 0, -3, 0, 0, 5846-4, 0, 0, 0, 0, 0, 5847-4, 0, 0, 0, 0, 0, 58483, 0, 0, -2, 0, 0, 58498, 0, 0, 0, 0, 0, 58503, 0, 0, 0, 0, 0, 5851-3, 0, 0, 2, 0, 0, 58523, 0, 0, -1, 0, 0, 58533, 0, 0, -1, 0, 0, 5854-3, 0, 0, 1, 0, 0, 58556, 0, 0, -3, 0, 0, 58563, 0, 0, 0, 0, 0, 5857-3, 0, 0, 1, 0, 0, 5858-7, 0, 0, 0, 0, 0, 58599, 0, 0, 0, 0, 0, 5860-3, 0, 0, 2, 0, 0, 5861-3, 0, 0, 0, 0, 0, 5862-4, 0, 0, 0, 0, 0, 5863-5, 0, 0, 3, 0, 0, 5864-13, 0, 0, 0, 0, 0, 5865-7, 0, 0, 0, 0, 0, 586610, 0, 0, 0, 0, 0, 58673, 0, 0, -1, 0, 0, 586810, 0, 13, 6, 0, -5, 58690, 0, 30, 0, 0, 14, 58700, 0, -162, 0, 0, -138, 58710, 0, 75, 0, 0, 0, 5872-7, 0, 0, 4, 0, 0, 5873-4, 0, 0, 2, 0, 0, 58744, 0, 0, -2, 0, 0, 58755, 0, 0, -2, 0, 0, 58765, 0, 0, -3, 0, 0, 5877-3, 0, 0, 0, 0, 0, 5878-3, 0, 0, 2, 0, 0, 5879-4, 0, 0, 2, 0, 0, 5880-5, 0, 0, 2, 0, 0, 58816, 0, 0, 0, 0, 0, 58829, 0, 0, 0, 0, 0, 58835, 0, 0, 0, 0, 0, 5884-7, 0, 0, 0, 0, 0, 5885-3, 0, 0, 1, 0, 0, 5886-4, 0, 0, 2, 0, 0, 58877, 0, 0, 0, 0, 0, 5888-4, 0, 0, 0, 0, 0, 58894, 0, 0, 0, 0, 0, 5890-6, 0, -3, 3, 0, 1, 58910, 0, -3, 0, 0, -2, 589211, 0, 0, 0, 0, 0, 58933, 0, 0, -1, 0, 0, 589411, 0, 0, 0, 0, 0, 5895-3, 0, 0, 2, 0, 0, 5896-1, 0, 3, 3, 0, -1, 58974, 0, 0, -2, 0, 0, 58980, 0, -13, 0, 0, -11, 58993, 0, 6, 0, 0, 0, 5900-7, 0, 0, 0, 0, 0, 59015, 0, 0, -3, 0, 0, 5902-3, 0, 0, 1, 0, 0, 59033, 0, 0, 0, 0, 0, 59045, 0, 0, -3, 0, 0, 5905-7, 0, 0, 3, 0, 0, 59068, 0, 0, -3, 0, 0, 5907-4, 0, 0, 2, 0, 0, 590811, 0, 0, 0, 0, 0, 5909-3, 0, 0, 1, 0, 0, 59103, 0, 0, -1, 0, 0, 5911-4, 0, 0, 2, 0, 0, 59128, 0, 0, -4, 0, 0, 59133, 0, 0, -1, 0, 0, 591411, 0, 0, 0, 0, 0, 5915-6, 0, 0, 3, 0, 0, 5916-4, 0, 0, 2, 0, 0, 5917-8, 0, 0, 4, 0, 0, 5918-7, 0, 0, 3, 0, 0, 5919-4, 0, 0, 2, 0, 0, 59203, 0, 0, -1, 0, 0, 59216, 0, 0, -3, 0, 0, 5922-6, 0, 0, 3, 0, 0, 59236, 0, 0, 0, 0, 0, 59246, 0, 0, -1, 0, 0, 59255, 0, 0, -2, 0, 0, 5926-5, 0, 0, 2, 0, 0, 5927-4, 0, 0, 0, 0, 0, 5928-4, 0, 0, 2, 0, 0, 59294, 0, 0, 0, 0, 0, 59306, 0, 0, -3, 0, 0, 5931-4, 0, 0, 2, 0, 0, 59320, 0, -26, 0, 0, -11, 59330, 0, -10, 0, 0, -5, 59345, 0, 0, -3, 0, 0, 5935-13, 0, 0, 0, 0, 0, 59363, 0, 0, -2, 0, 0, 59374, 0, 0, -2, 0, 0, 59387, 0, 0, -3, 0, 0, 59394, 0, 0, 0, 0, 0, 59405, 0, 0, 0, 0, 0, 5941-3, 0, 0, 2, 0, 0, 5942-6, 0, 0, 2, 0, 0, 5943-5, 0, 0, 2, 0, 0, 5944-7, 0, 0, 3, 0, 0, 59455, 0, 0, -2, 0, 0, 594613, 0, 0, 0, 0, 0, 5947-4, 0, 0, 2, 0, 0, 5948-3, 0, 0, 0, 0, 0, 59495, 0, 0, -2, 0, 0, 5950-11, 0, 0, 0, 0, 0, 59515, 0, 0, -2, 0, 0, 59524, 0, 0, 0, 0, 0, 59534, 0, 0, -2, 0, 0, 5954-4, 0, 0, 2, 0, 0, 59556, 0, 0, -3, 0, 0, 59563, 0, 0, -2, 0, 0, 5957-12, 0, 0, 0, 0, 0, 59584, 0, 0, 0, 0, 0, 5959-3, 0, 0, 0, 0, 0, 5960-4, 0, 0, 0, 0, 0, 59613, 0, 0, 0, 0, 0, 59623, 0, 0, -1, 0, 0, 5963-3, 0, 0, 1, 0, 0, 59640, 0, -5, 0, 0, -2, 5965-7, 0, 0, 4, 0, 0, 59666, 0, 0, -3, 0, 0, 5967-3, 0, 0, 0, 0, 0, 59685, 0, 0, -3, 0, 0, 59693, 0, 0, -1, 0, 0, 59703, 0, 0, 0, 0, 0, 5971-3, 0, 0, 1, 0, 0, 5972-5, 0, 0, 3, 0, 0, 5973-3, 0, 0, 2, 0, 0, 5974-3, 0, 0, 2, 0, 0, 597512, 0, 0, 0, 0, 0, 59763, 0, 0, -1, 0, 0, 5977-4, 0, 0, 2, 0, 0, 59784, 0, 0, 0, 0, 0, 59796, 0, 0, 0, 0, 0, 59805, 0, 0, -3, 0, 0, 59814, 0, 0, -2, 0, 0, 5982-6, 0, 0, 3, 0, 0, 59834, 0, 0, -2, 0, 0, 59846, 0, 0, -3, 0, 0, 59856, 0, 0, 0, 0, 0, 5986-6, 0, 0, 3, 0, 0, 59873, 0, 0, -2, 0, 0, 59887, 0, 0, -4, 0, 0, 59894, 0, 0, -2, 0, 0, 5990-5, 0, 0, 2, 0, 0, 59915, 0, 0, 0, 0, 0, 5992-6, 0, 0, 3, 0, 0, 5993-6, 0, 0, 3, 0, 0, 5994-4, 0, 0, 2, 0, 0, 599510, 0, 0, 0, 0, 0, 5996-4, 0, 0, 2, 0, 0, 59977, 0, 0, 0, 0, 0, 59987, 0, 0, -3, 0, 0, 59994, 0, 0, 0, 0, 0, 600011, 0, 0, 0, 0, 0, 60015, 0, 0, -2, 0, 0, 6002-6, 0, 0, 2, 0, 0, 60034, 0, 0, -2, 0, 0, 60043, 0, 0, -2, 0, 0, 60055, 0, 0, -2, 0, 0, 6006-4, 0, 0, 2, 0, 0, 6007-4, 0, 0, 2, 0, 0, 6008-3, 0, 0, 2, 0, 0, 60094, 0, 0, -2, 0, 0, 60103, 0, 0, -1, 0, 0, 6011-3, 0, 0, 1, 0, 0, 6012-3, 0, 0, 1, 0, 0, 6013-3, 0, 0, 2, 0, 0, 6014] 6015 6016}; 6017 6018/* Nutation -- AA page B20 6019 * using nutation in longitude and obliquity from nutlo() 6020 * and obliquity of the ecliptic from epsiln() 6021 * both calculated for Julian date J. 6022 * 6023 * p[] = equatorial rectangular position vector of object for 6024 * mean ecliptic and equinox of date. 6025 */ 6026$ns.nutation2.calc = function (date, p) { 6027 6028 this.calclo (date); /* be sure we calculated nutl and nuto */ 6029 6030 return; 6031}; 6032 6033/* Nutation in longitude and obliquity 6034 * computed at Julian date J. 6035 */ 6036$ns.nutation2.calclo = function (date) { 6037 var f, g, T, T2, T10; // double 6038 var MM, MS, FF, DD, OM; // double 6039 var cu, su, cv, sv, sw; // double 6040 var C, D; // double 6041 var i, j, k, k1, m; // int 6042 var p; // short array 6043 6044 if( this.jdnut.julian == date.julian ) 6045 return; 6046 this.jdnut = date; 6047 6048 /* Julian centuries from 2000 January 1.5, 6049 * barycentric dynamical time 6050 */ 6051 T = (date.julian - 2451545.0) / 36525.0; 6052 T2 = T * T; 6053 T10 = T / 10.0; 6054 6055 /* Fundamental arguments in the FK5 reference system. */ 6056 6057 6058 6059 /* Mean longitude of the ascending node of the Moon. */ 6060 OM = $util.mod360(( 450160.398036 + T*( -6962890.5431 + T*( 7.4722 + T*( 0.007702 + T*(-0.00005939 ))))) / 3600.0) * $const.DTR; 6061 6062 /* longitude of the mean ascending node of the lunar orbit 6063 * on the ecliptic, measured from the mean equinox of date 6064 */ 6065// OM = ($util.mods3600 (-6962890.539 * T + 450160.280) + (0.008 * T + 7.455) * T2) 6066// * $const.STR; 6067 6068 /* Mean anomaly of the Sun */ 6069 MS = $util.mod360((1287104.79305 + T*( 129596581.0481 + T*( -0.5532 + T*( 0.000136 + T*( -0.
606900001149 ))))) / 3600.0) * $const.DTR; 6070 /* mean longitude of the Sun minus the 6071 * mean longitude of the Sun's perigee 6072 */ 6073// MS = ($util.mods3600 (129596581.224 * T + 1287099.804) - (0.012 * T + 0.577) * T2) 6074// * $const.STR; 6075 6076 /* Mean anomaly of the Moon. */ 6077 MM = $util.mod360(( 485868.249036 + T*( 1717915923.2178 + T*( 31.8792 + T*( 0.051635 + T*(- 0.00024470 ))))) / 3600.0) * $const.DTR; 6078 /* mean longitude of the Moon minus the 6079 * mean longitude of the Moon's perigee 6080 */ 6081// MM = ($util.mods3600 (1717915922.633 * T + 485866.733) + (0.064 * T + 31.310) * T2) 6082// * $const.STR; 6083 6084 /* Mean argument of the latitude of the Moon. */ 6085 FF = $util.mod360(( 335779.526232 + T*( 1739527262.8478 + T*(-12.7512 + T*( -0.001037 + T*(0.00000417 ))))) / 3600.0) * $const.DTR; 6086 /* mean longitude of the Moon minus the 6087 * mean longitude of the Moon's node 6088 */ 6089// FF = ($util.mods3600 (1739527263.137 * T + 335778.877) + (0.011 * T - 13.257) * T2) 6090// * $const.STR; 6091 6092 /* Mean elongation of the Moon from the Sun. */ 6093 DD = $util.mod360((1072260.70369 + T*( 1602961601.2090 + T*( -6.3706 + T*( 0.006593 + T*( -0.00003169 ))))) / 3600.0) * $const.DTR; 6094 /* mean elongation of the Moon from the Sun. 6095 */ 6096// DD = ($util.mods3600 (1602961601.328 * T + 1072261.307) + (0.019 * T - 6.891) * T2) 6097// * $const.STR; 6098 6099var dpsi =0 ,deps =0; 6100for (i = 77 - 1; i >= 0; i--) { 6101j = i * 5; 6102var darg = $util.modtp( this.nls[j + 0] * MM + this.nls[j + 1] * MS + this.nls[j + 2] * FF + this.nls[j + 3] * DD + this.nls[j + 4] * OM); 6103var sinarg = Math.sin(darg); 6104var cosarg = Math.cos(darg); 6105k = i * 6; 6106dpsi += (this.cls[k+0] + this.cls[k+1] * T) * sinarg + this.cls[k+2] * cosarg; 6107deps += (this.cls[k+3] + this.cls[k+4] * T) * cosarg + this.cls[k+5] * sinarg; 6108} 6109 this.nutl = dpsi/ 3600.0 / 10000000.0; 6110 this.nuto = deps/ 3600.0 / 10000000.0; 6111 6112 6113 /* Save answers, expressed in radians */ 6114 this.nutl *= $const.DTR; 6115 this.nuto *= $const.DTR; 6116 this.ascNode = FF * $const.RTD; 6117 6118}; 6119 6120 6121 6122 6123 6124 6125$ns.planet = {}; 6126 6127$ns.planet.calc = function (body) { 6128 this.prepare (body); 6129 6130 /* calculate heliocentric position of the object */ 6131 $moshier.kepler.calc ($moshier.body.earth.position.date, body); 6132 /* apply correction factors and print apparent place */ 6133 this.reduce (body, body.position.rect, $moshier.body.earth.position.rect); 6134}; 6135 6136/* The following program reduces the heliocentric equatorial 6137 * rectangular coordinates of the earth and object that 6138 * were computed by kepler() and produces apparent geocentric 6139 * right ascension and declination. 6140 */ 6141$ns.planet.reduce = function (body, q, e) { 6142 var p = [], temp = [], polar = []; // double 6143 var a, b, s; // double 6144 var i; // int 6145 6146 /* Save the geometric coordinates at TDT 6147 */ 6148 for ( i=0; i<3; i++ ) { 6149 temp[i] = q[i]; 6150 } 6151 6152 /* Display ecliptic longitude and latitude, precessed to equinox 6153 of date. */ 6154 body.equinoxEclipticLonLat = $moshier.lonlat.calc (q, $moshier.body.earth.position.date, polar, 1 ); 6155 6156 /* Adjust for light time (planetary aberration) 6157 */ 6158 $moshier.light.calc ( body, q, e ); 6159 6160 /* Find Euclidean vectors between earth, object, and the sun 6161 */ 6162 for( i=0; i<3; i++ ) { 6163 p[i] = q[i] - e[i]; 6164 if ($const.truepos!=0) { p[i] -= $const.dp[i]; } 6165 } 6166 6167 $util.angles ( p, q, e ); 6168 6169 a = 0.0; 6170 for( i=0; i<3; i++ ) { 6171 b = temp[i] - e[i]; 6172 a += b * b; 6173 } 6174 a = Math.sqrt(a); 6175 body.position.trueGeocentricDistance = a; /* was EO */ 6176 body.position.equatorialDiameter = 2.0*body.semiDiameter / $const.EO; 6177 6178 6179 /* Calculate visual magnitude. 6180 * "Visual" refers to the spectrum of visible light. 6181 * Phase = 0.5(1+pq) = geometric fraction of disc illuminated. 6182 * where pq = cos( sun-object-earth angle ) 6183 * The magnitude is 6184 * V(1,0) + 2.5 log10( SE^2 SO^2 / Phase) 6185 * where V(1,0) = elemnt->mag is the magnitude at 1au from 6186 * both earth and sun and 100% illumination. 6187 */ 6188 a = 0.5 * (1.0 + $const.pq); 6189 /* Fudge the phase for light leakage in magnitude estimation. 6190 * Note this phase term estimate does not reflect reality well. 6191 * Calculated magnitudes of Mercury and Venus are inaccurate. 6192 */ 6193 b = 0.5 * (1.01 + 0.99*$const.pq); 6194 s = body.magnitude + 2.1715 * Math.log( $const.EO*$const.SO ) - 1.085*Math.log(b); 6195 body.position.approxVisual = { 6196 magnitude: s, 6197 phase: a 6198 }; 6199 6200 /* Find unit vector from earth in direction of object 6201 */ 6202 for( i=0; i<3; i++ ) { 6203 p[i] /= $const.EO; 6204 temp[i] = p[i]; 6205 } 6206 6207 /* Report astrometric position 6208 */ 6209 body.position.astrometricJ2000 = $util.showrd (p, polar ); 6210 6211 /* Also in 1950 coordinates 6212 */ 6213 $moshier.precess.calc ( temp, {julian: $const.b1950}, -1 ); 6214 body.position.astrometricB1950 = $util.showrd (temp, polar ); 6215 6216 /* Correct position for light deflection 6217 */ 6218 if ($const.truepos == 0) { body.position.deflection = $moshier.deflectioon.calc ( p, q, e ); }// relativity 6219 6220 /* Correct for annual aberration 6221 */ 6222 if ($const.truepos == 0) { body.position.aberration = $moshier.aberration.calc (p); } 6223 6224if (body.key !== 'sun' && body.key !== 'moon') { 6225var rb = [];var xx = []; 6226for (i = 0; i <= 2; i++) { 6227 rb[i]= []; 6228} 6229 6230rb[0][0] = +0.99999999999999412; 6231rb[1][0] = -0.00000007078368961; 6232rb[2][0] = +0.00000008056213978; 6233rb[0][1] = +0.00000007078368695; 6234rb[1][1] = +0.99999999999999700; 6235rb[2][1] = +0.00000003306428553; 6236rb[0][2] = -0.00000008056214212; 6237rb[1][2] = -0.00000003306427981; 6238rb[2][2] = +0.99999999999999634; 6239for (i = 0; i <= 2; i++) { 6240xx[i] = (p[0] * rb[0][i] + p[1] * rb[1][i] + p[2] * rb[2][i])*$const.EO; 6241p[i] = xx[i]; 6242} 6243} 6244 6245 /* Precession of the equinox and ecliptic 6246 * from J2000.0 to ephemeris date 6247 */ 6248 $moshier.precess.calc ( p, $moshier.body.earth.position.date, -1 ); 6249 6250 /* Ajust for nutation 6251 * at current ecliptic. 6252 */ 6253 $moshier.epsilon.calc ( $moshier.body.earth.position.date ); 6254 body.position.nutation = $moshier.nutation.calc ( $moshier.body.earth.position.date, p ); 6255 6256 /* Display the final apparent R.A. and Dec. 6257 * for equinox of date. 6258 */ 6259if (body.key == 'sun' || body.key == 'moon') { 6260 body.position.constellation = $moshier.constellation.calc (p, $moshier.body.earth.position.date); 6261 body.position.apparent = $util.showrd (p, polar); 6262} 6263if (body.key !== 'sun' && body.key !== 'moon') { 6264 6265 $moshier.nutation.calclo($moshier.body.earth.position.date); 6266$moshier.nutation2.calclo($moshier.body.earth.position.date); 6267 6268 6269var yyy = []; 6270xxx = [ p[0], p[1], p[2], 0, 0, 0 ]; 6271 6272swi_coortrf2(xxx, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6273 6274xxx[0] = yyy[0];xxx[1] = yyy[1];xxx[2] = yyy[2]; 6275 6276 6277zzz = [ temp[0], temp[1], temp[2], 0,0,0 ]; 6278swi_coortrf2(zzz, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6279 6280zzz = [ yyy[0], yyy[1], yyy[2], 0, 0, 0 ]; 6281 6282swi_coortrf2(xxx, yyy, Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 6283xxx[0] = yyy[0];xxx[1] = yyy[1];xxx[2] = yyy[2]; 6284 6285 6286swi_coortrf2(zzz, yyy, Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 6287 6288xxx[3] = yyy[0]; xxx[4] =yyy[1]; xxx[5] = yyy[2]; 6289 6290 6291swi_cartpol_sp(xxx, yyy); 6292body.position.apparentLongitude = yyy[0] * $const.RTD; 6293 6294} else { 6295 6296 6297 /* Geocentric ecliptic longitude and latitude. */ 6298 for( i=0; i<3; i++ ) { 6299 p[i] *= $const.EO; 6300 } 6301 body.position.apparentGeocentric = $moshier.lonlat.calc ( p, $moshier.body.earth.position.date, temp, 0 ); 6302 body.position.apparentLongitude = body.position.apparentGeocentric [0] * $const.RTD; 6303 body.position.apparentLongitudeString = 6304 body.position.apparentGeocentric [3].degree + '\u00B0' + 6305 body.position.apparentGeocentric [3].minutes + '\'' + 6306 Math.floor (body.position.apparentGeocentric [3].seconds) + '"' 6307 ; 6308 6309 body.position.apparentLongitude30String = 6310 $util.mod30 (body.position.apparentGeocentric [3].degree) + '\u00B0' + 6311 body.position.apparentGeocentric [3].minutes + '\'' + 6312 Math.floor (body.position.apparentGeocentric [3].seconds) + '"' 6313 ; 6314 6315 body.position.geocentricDistance = -1; 6316 6317 /* Go do topocentric reductions. 6318 */ 6319 polar[2] = $const.EO; 6320 body.position.altaz = $moshier.altaz.calc (polar, $moshier.body.earth.position.date); 6321} 6322}; 6323 6324$ns.planet.prepare = function (body) { 6325 if (!body.semiAxis) { 6326 body.semiAxis = body.perihelionDistance / (1 - body.eccentricity); 6327 } 6328}; 6329 6330$ns.refraction = {}; 6331 6332/* Atmospheric refraction 6333 * Returns correction in degrees to be added to true altitude 6334 * to obtain apparent altitude. 6335 */ 6336$ns.refraction.calc = function (alt) { 6337 var y, y0, D0, N, D, P, Q; // double 6338 var i; // int 6339 6340 if( (alt < -2.0) || (alt >= 90.0) ) { 6341 return 0.0; 6342 } 6343 6344 /* For high altitude angle, AA page B61 6345 * Accuracy "usually about 0.1' ". 6346 */ 6347 if( alt > 15.0 ) 6348 { 6349 D = 0.00452*$const.atpress/((273.0+$const.attemp)*Math.tan( $const.DTR*alt )); 6350 return D; 6351 } 6352 6353 /* Formula for low altitude is from the Almanac for Computers. 6354 * It gives the correction for observed altitude, so has 6355 * to be inverted numerically to get the observed from the true. 6356 * Accuracy about 0.2' for -20C < T < +40C and 970mb < P < 1050mb. 6357 */ 6358 6359 /* Start iteration assuming correction = 0 6360 */ 6361 y = alt; 6362 D = 0.0; 6363 /* Invert Almanac for Computers formula numerically 6364 */ 6365 P = ($const.atpress - 80.0)/930.0; 6366 Q = 4.8e-3 * ($const.attemp - 10.0); 6367 y0 = y; 6368 D0 = D; 6369 6370 for( i=0; i<4; i++ ) { 6371 N = y + (7.31/(y+4.4)); 6372 N = 1.0/Math.tan ($const.DTR * N); 6373 D = N*P/(60.0 + Q * (N + 39.0)); 6374 N = y - y0; 6375 y0 = D - D0 - N; /* denominator of derivative */ 6376 6377 if( (N != 0.0) && (y0 != 0.0) ) { 6378 /* Newton iteration with numerically estimated derivative */ 6379 N = y - N*(alt + D - y)/y0; 6380 } else { 6381 /* Can't do it on first pass */ 6382 N = alt + D; 6383 } 6384 6385 y0 = y; 6386 D0 = D;
6387 y = N; 6388 } 6389 return D; 6390}; 6391 6392$ns.siderial = {}; 6393 6394$ns.siderial.calc = function (date, tlong) { 6395 var jd0; // double /* Julian day at midnight Universal Time */ 6396 var secs; // double /* Time of day, UT seconds since UT midnight */ 6397 var eqeq,gmst2, gmst, jd, T0, msday; // double 6398var SIDT_LTERM_T0 = 2396758.5; /* 1 Jan 1850 */ 6399var SIDT_LTERM_T1 = 2469807.5; /* 1 Jan 2050 */ 6400var SIDT_LTERM_OFS0 = (0.000378172 / 15.0); 6401var SIDT_LTERM_OFS1 = (0.001385646 / 3.0); 6402 6403 var jdrel = (date.julian - ($moshier.delta.calc(date)/864.0)) - $const.j2000; 6404 var tt = (date.julian - $const.j2000) / 36525.0; 6405 //gmst = sidtime_long_term(tjd, eps, nut); 6406 /*long il;*/ 6407 jd = date.universal; // UT 6408 jd0 = Math.floor(jd); 6409 secs = date.julian - jd0; // UT 6410 if( secs < 0.5 ) { 6411 jd0 -= 0.5; 6412 secs += 0.5; 6413 } else { 6414 jd0 += 0.5; 6415 secs -= 0.5; 6416 } 6417 secs *= 86400.0; 6418 6419 6420 6421 6422 6423 /* Julian centuries from standard epoch J2000.0 */ 6424 /* T = (jd - J2000)/36525.0; */ 6425 /* Same but at 0h Universal Time of date */ 6426 T0 = (jd0 - $const.j2000)/36525.0; 6427 6428 /* The equation of the equinoxes is the nutation in longitude 6429 * times the cosine of the obliquity of the ecliptic. 6430 * We already have routines for these. 6431 */ 6432 $moshier.nutation2.calclo(date); 6433 $moshier.epsilon.calc (date); 6434 /* nutl is in radians; convert to seconds of time 6435 * at 240 seconds per degree 6436 */ 6437 6438 6439 6440 eqeq = 240.0 * $const.RTD*$moshier.nutation2.nutl* $moshier.epsilon.coseps; 6441 /* Greenwich Mean Sidereal Time at 0h UT of date */ 6442 /* Corrections to Williams (1994) introduced in DE403. */ 6443 gmst = (((-2.0e-6*T0 - 3.e-7)*T0 + 9.27701e-2)*T0 + 8640184.7942063)*T0 6444 + 24110.54841; 6445 msday = (((-(4.0 * 2.0e-6)*T0 - (3.0 * 3.e-7))*T0 + (2.0 * 9.27701e-2))*T0 6446 + 8640184.7942063)/(86400.0*36525.0) + 1.0; 6447 6448 /* Local apparent sidereal time at given UT */ 6449 gmst = gmst + msday*secs + eqeq /**+ 240.0*parseFloat(tlong)*/; 6450 /* Sidereal seconds modulo 1 sidereal day */ 6451 gmst = gmst - 86400.0 * Math.floor( gmst/86400.0 ); 6452 /* 6453 * il = gmst/86400.0; 6454 * gmst = gmst - 86400.0 * il; 6455 * if( gmst < 0.0 ) 6456 * gmst += 86400.0; 6457 */ 6458 var gmst1 = ((0.7790572732640 + jdrel*1.00273781191135448)*360.0); 6459 gmst =(gmst1) % 360.0; if ( gmst < 0 ) { gmst += 360.0; } 6460var a1= -0.000029956 + tt * -0.0000000368; 6461var a2 = -0.00000044 + tt*a1; 6462var a3 = 1.3915817 + tt* a2; 6463var a4 = 4612.156534 + tt*a3; 6464var a5 = 0.014506 + tt * a4; 6465 gmst += a5/3600.0 6466// gmst += (0.014506 + tt * (4612.156534 + tt * (1.3915817 + tt * (-0.00000044 + tt * (-0.000029956 + tt * -0.0000000368))))) / 3600.0; 6467if (SIDT_LTERM_T0 > date.julian) { gmst -= SIDT_LTERM_OFS0; } 6468else if (SIDT_LTERM_T1 < date.julian) { gmst -= SIDT_LTERM_OFS1; } 6469 gmst = (gmst / 15.0) * 3600.0 ; 6470 gmst = gmst + eqeq ; 6471 /* Sidereal seconds modulo 1 sidereal day */ 6472 gmst = gmst - 86400.0 * Math.floor( gmst/86400.0 ); 6473 /* return in hours */ 6474 gmst = gmst/3600.0; 6475 return gmst; /* Julian day at given UT */ 6476}; 6477 6478$ns.star = {}; 6479 6480 6481function swi_coortrf(xpo,xpn, eps) { 6482 var sineps, coseps; 6483 var x = []; 6484 sineps = Math.sin(eps); 6485 coseps = Math.cos(eps); 6486 x[0] = xpo[0]; 6487 x[1] = xpo[1] * coseps + xpo[2] * sineps; 6488 x[2] = -xpo[1] * sineps + xpo[2] * coseps; 6489 xpn[0] = x[0]; 6490 xpn[1] = x[1]; 6491 xpn[2] = x[2]; 6492return; 6493} 6494 6495function swi_coortrf2(xpo,xpn, sineps, coseps) { 6496 var x= []; 6497 x[0] = xpo[0]; 6498 x[1] = xpo[1] * coseps + xpo[2] * sineps; 6499 x[2] = -xpo[1] * sineps + xpo[2] * coseps; 6500 xpn[0] = x[0]; 6501 xpn[1] = x[1]; 6502 xpn[2] = x[2]; 6503return; 6504} 6505 6506 6507function swi_cartpol(x, l) { 6508 var rxy; 6509 var ll = []; 6510 if (x[0] == 0 && x[1] == 0 && x[2] == 0) { 6511 l[0] = l[1] = l[2] = 0; 6512 return; 6513 } 6514 rxy = x[0]*x[0] + x[1]*x[1]; 6515 ll[2] = Math.sqrt(rxy + x[2]*x[2]); 6516 rxy = Math.sqrt(rxy); 6517 ll[0] = Math.atan2(x[1], x[0]); 6518 if (ll[0] < 0.0) ll[0] += $const.TPI; 6519 ll[1] = Math.atan(x[2] / rxy); 6520 l[0] = ll[0]; 6521 l[1] = ll[1]; 6522 l[2] = ll[2]; 6523} 6524 6525function swi_cartpol_sp(x,l) { 6526 var xx =[], ll =[]; 6527 var rxy, coslon, sinlon, coslat, sinlat; 6528var x3 = [ x[3], x[4], x[5] ]; 6529 /* zero position */ 6530 if (x[0] == 0 && x[1] == 0 && x[2] == 0) { 6531 l[0] = l[1] = l[3] = l[4] = 0; 6532 l[5] = Math.sqrt(x[3]*x[3] + x[4]*x[4] + x[5]*x[5]); 6533 swi_cartpol(x3, l); 6534 l[2] = 0; 6535 return; 6536 } 6537 /* zero speed */ 6538 if (x[3] == 0 && x[4] == 0 && x[5] == 0) { 6539 l[3] = l[4] = l[5] = 0; 6540 swi_cartpol(x, l); 6541 return; 6542 } 6543 /* position */ 6544 rxy = x[0]*x[0] + x[1]*x[1]; 6545 ll[2] = Math.sqrt(rxy + x[2]*x[2]); 6546 rxy = Math.sqrt(rxy); 6547 ll[0] = Math.atan2(x[1], x[0]); 6548 if (ll[0] < 0.0) ll[0] += $const.TPI; 6549 ll[1] = Math.atan(x[2] / rxy); 6550 coslon = x[0] / rxy; /* cos(l[0]); */ 6551 sinlon = x[1] / rxy; /* sin(l[0]); */ 6552 coslat = rxy / ll[2]; /* cos(l[1]); */ 6553 sinlat = x[2] / ll[2]; /* sin(ll[1]); */ 6554 xx[3] = x[3] * coslon + x[4] * sinlon; 6555 xx[4] = -x[3] * sinlon + x[4] * coslon; 6556 l[3] = xx[4] / rxy; /* speed in longitude */ 6557 xx[4] = -sinlat * xx[3] + coslat * x[5]; 6558 xx[5] = coslat * xx[3] + sinlat * x[5]; 6559 l[4] = xx[4] / ll[2]; /* speed in latitude */ 6560 l[5] = xx[5]; /* speed in radius */ 6561 l[0] = ll[0]; /* return position */ 6562 l[1] = ll[1]; 6563 l[2] = ll[2]; 6564return; 6565} 6566 6567 6568/* conversion from polar (l[3]) to cartesian coordinates (x[3]). 6569 * x = l is allowed. 6570 */ 6571function swi_polcart(l,x) 6572{ 6573 var xx = []; 6574 var cosl1; 6575 cosl1 = Math.cos(l[1]); 6576 xx[0] = l[2] * cosl1 * Math.cos(l[0]); 6577 xx[1] = l[2] * cosl1 * Math.sin(l[0]); 6578 xx[2] = l[2] * Math.sin(l[1]); 6579 x[0] = xx[0]; 6580 x[1] = xx[1]; 6581 x[2] = xx[2]; 6582} 6583 6584function swi_polcart_sp(l,x) 6585{ 6586 var sinlon, coslon, sinlat, coslat; 6587 var xx = [], rxy, rxyz; 6588 /* zero speed */ 6589 if (l[3] == 0 && l[4] == 0 && l[5] == 0) {
6590 x[3] = x[4] = x[5] = 0; 6591 swi_polcart(l, x); 6592 return; 6593 } 6594 /* position */ 6595 coslon = Math.cos(l[0]); 6596 sinlon = Math.sin(l[0]); 6597 coslat = Math.cos(l[1]); 6598 sinlat = Math.sin(l[1]); 6599 xx[0] = l[2] * coslat * coslon; 6600 xx[1] = l[2] * coslat * sinlon; 6601 xx[2] = l[2] * sinlat; 6602 /* speed; explanation s. swi_cartpol_sp(), same method the other way round*/ 6603 rxyz = l[2]; 6604 rxy = Math.sqrt(xx[0] * xx[0] + xx[1] * xx[1]); 6605 xx[5] = l[5]; 6606 xx[4] = l[4] * rxyz; 6607 x[5] = sinlat * xx[5] + coslat * xx[4]; /* speed z */ 6608 xx[3] = coslat * xx[5] - sinlat * xx[4]; 6609 xx[4] = l[3] * rxy; 6610 x[3] = coslon * xx[3] - sinlon * xx[4]; /* speed x */ 6611 x[4] = sinlon * xx[3] + coslon * xx[4]; /* speed y */ 6612 x[0] = xx[0]; /* return position */ 6613 x[1] = xx[1]; 6614 x[2] = xx[2]; 6615} 6616 6617 6618$ns.star.calc = function (body) { 6619 if (!body.isPrepared) { 6620 this.prepare (body); 6621 body.isPrepared = true; 6622 } 6623 this.reduce (body); 6624}; 6625 6626$ns.star.reduce = function (body) { 6627 var p = [0, 0, 0], q = [], e = [], m = [], temp = [], polar = []; // double 6628 var T, vpi, epoch; // double 6629 var cosdec, sindec, cosra, sinra, rapm, depm, radv, parall; // double 6630 var i; // int 6631 6632 /* Convert from RA and Dec to equatorial rectangular direction 6633 */ 6634z = body.parallax/1000; 6635if( z > 1.0 ) { 6636 body.parallax = 1 / z / 3600; 6637} else { 6638 body.parallax /= 3600; /* parsecs -> radians */ 6639} 6640body.velocity *= 21.095; 6641radv = body.velocity; 6642parall = body.parallax*$const.DTR / 1000; 6643 6644 6645 6646rapm = $const.DTR*body.raMotion / 10 / 3600; 6647depm = $const.DTR*body.decMotion / 10 / 3600; 6648rapm /= Math.cos(body.dec); 6649 6650 6651 6652 6653// loop: 6654//do { 6655 cosdec = Math.cos( body.dec ); 6656 sindec = Math.sin( body.dec ); 6657 cosra = Math.cos( body.ra ); 6658 sinra = Math.sin( body.ra ); 6659 q[0] = cosra * cosdec; 6660 q[1] = sinra * cosdec; 6661 q[2] = sindec; 6662 6663var rapmcosdec = rapm*cosdec; 6664var depmsindec = depm*sindec; 6665 6666 /* space motion */ 6667 vpi = radv*parall; 6668 m[0] = (vpi*q[0]) - (rapmcosdec*sinra + depmsindec*cosra) ; 6669 6670 m[1] = ((vpi*q[1]) + (rapmcosdec*cosra)) - (depmsindec*sinra); 6671 6672 m[2] = (depm*cosdec) + (vpi*sindec); 6673 6674 epoch = body.epoch; 6675 6676 /* Convert FK4 to FK5 catalogue */ 6677// if( epoch == $const.b1950 ) { 6678// $moshier.fk4fk5.calc ( q, m, body); 6679 //goto loop; 6680// } 6681//} while ( epoch == $const.b1950 ) ; 6682 6683m[0] /= 36525.0; 6684m[1] /= 36525.0; 6685m[2] /= 36525.0; 6686 for( i=0; i<3; i++ ) { 6687 e[i] = $moshier.body.earth.position.rect[i]; 6688 } 6689 6690 /* precess the earth to the star epoch */ 6691 $moshier.precess.calc ( e, {julian: epoch}, -1 ); 6692 6693 /* Correct for proper motion and parallax 6694 */ 6695 T = ($moshier.body.earth.position.date.julian - epoch); 6696 6697$moshier.vearth.calc ($moshier.body.earth.position.date); 6698 6699 for( i=0; i<3; i++ ) { 6700 p[i] =q[i] + ( T * m[i] ) - ( parall * e[i] ) ; 6701 m[i] = m[i] - (parall* $moshier.vearth.vearth [i]); 6702 6703 } 6704 6705 for( i=0; i<3; i++ ) { 6706p[i] *= 10000; 6707m[i] *= 10000; 6708 6709} 6710 /* precess the star to J2000 */ 6711 $moshier.precess.calc (p, {julian: epoch}, 1 ); 6712 /* reset the earth to J2000 */ 6713 for( i=0; i<3; i++ ) { 6714 e[i] = $moshier.body.earth.position.rect [i]; 6715 } 6716 6717 /* Find Euclidean vectors between earth, object, and the sun 6718 * angles( p, q, e ); 6719 */ 6720 $util.angles ( p, p, e ); 6721 6722 6723 /* Find unit vector from earth in direction of object 6724 */ 6725 for( i=0; i<3; i++ ) { 6726 p[i] /= $const.EO; 6727 temp[i] = p[i]; 6728 } 6729 6730 6731 body.position = {}; 6732 body.position.approxVisualMagnitude = body.magnitude; 6733 6734 /* Report astrometric position 6735 */ 6736 body.position.astrimetricJ2000 = $util.showrd ( p, polar ); 6737 6738 /* Also in 1950 coordinates 6739 */ 6740// $moshier.precess.calc ( temp, {julian: $const.b1950}, -1 ); 6741 6742// body.position.astrimetricB1950 = $util.showrd (temp, polar); 6743 6744 6745 6746 /* For equinox of date: */ 6747 for( i=0; i<3; i++ ) { 6748 temp[i] = p[i]; 6749 } 6750 6751 $moshier.precess.calc ( temp, $moshier.body.earth.position.date, -1 ); 6752 body.position.astrimetricDate = $util.showrd (temp, polar); 6753 6754 /* Correct position for light deflection 6755 * relativity( p, q, e ); 6756 */ 6757 body.position.deflectioon = $moshier.deflectioon.calc ( p, p, e ); // relativity 6758 body.position.deflectioon = $moshier.deflectioon.calc ( m, m, e ); // relativity 6759 6760 6761 6762 /* Correct for annual aberration 6763 */ 6764 body.position.aberration = $moshier.aberration.calc ( p ); 6765 6766 6767 /* precess the star to J2000 */ 6768 $moshier.precess.calc (p, {julian: epoch}, 1 ); 6769 $moshier.precess.calc (m, {julian: epoch}, 1 ); 6770 6771 /* Precession of the equinox and ecliptic 6772 * from J2000.0 to ephemeris date 6773 */ 6774 $moshier.precess.calc ( p, $moshier.body.earth.position.date, -1 ); 6775 6776 6777 6778 6779 $moshier.precess.calc(m, $moshier.body.earth.position.date, -1); 6780 6781var xxx = [ p[0], p[1], p[2], 0, 0, 0 ]; 6782var yyy = [ 0,0,0,0,0,0 ]; 6783 6784 swi_coortrf2(xxx,yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6785xxx = [ yyy[0], yyy[1], yyy[2], 0,0,0]; 6786var zzz = [ m[0], m[1], m[2], 0,0,0 ]; 6787 swi_coortrf2(zzz, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6788 6789 6790zzz = [ xxx[0], xxx[1], xxx[2], yyy[3], yyy[4], yyy[5] ]; 6791 6792xxx = [ xxx[0], xxx[1], xxx[2], zzz[3], zzz[4], zzz[5] ]; 6793 6794 swi_cartpol_sp(xxx,yyy); 6795// yyy[3] += (50.290966 + 0.0222226 * (T/36525.0)) / 3600 / 365.25 * $const.DTR * -1; 6796 /* formula from Montenbruck, German 1994, p. 18 */ 6797var dpre = $moshier.epsilon.swi_ldp_peps($moshier.body.earth.position.date.julian,1); 6798var dpre2 = $moshier.epsilon.swi_ldp_peps($moshier.body.earth.position.date.julian+1,1); 6799 6800yyy[3] += dpre2 - dpre; 6801 6802xxx=[ yyy[0], yyy[1], yyy[2], yyy[3], yyy[4], yyy[5]]; 6803 swi_polcart_sp(xxx, yyy); 6804 6805 $moshier.epsilon.calc ( $moshier.body.earth.position.date ); 6806 6807xxx=[ yyy[0], yyy[1], yyy[2], yyy[3], yyy[4], yyy[5]]; 6808 swi_coortrf2(xxx, yyy, -$moshier.epsilon.sineps, $moshier.epsilon.coseps); 6809p = [yyy[0], yyy[1], yyy[2],0,0,0 ]; 6810zzz = [ xxx[3], xxx[4], xxx[5], 0,0,0 ]; 6811 swi_coortrf2(zzz, yyy, -$moshier.epsilon.sineps, $moshier.epsilon.coseps); 6812 6813m= [yyy[0], yyy[1], yyy[2], 0 ,0 ,0]; 6814 6815 /* Ajust for nutation 6816 * at current ecliptic. 6817 */ 6818 $moshier.nutation.calc ( $moshier.body.earth.position.date, p ); 6819 6820 $moshier.nutation.calclo($moshier.body.earth.position.date); 6821$moshier.nutation2.calclo($moshier.body.earth.position.date); 6822 6823 6824 6825xxx = [ p[0], p[1], p[2], 0, 0, 0 ]; 6826 6827swi_coortrf2(xxx, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6828 6829xxx[0] = yyy[0];xxx[1] = yyy[1];xxx[2] = yyy[2]; 6830 6831 6832zzz = [ m[0], m[1], m[2], 0,0,0 ]; 6833swi_coortrf2(zzz, yyy, $moshier.epsilon.sineps, $moshier.epsilon.coseps); 6834 6835zzz = [ yyy[0], yyy[1], yyy[2], 0, 0, 0 ]; 6836 6837swi_coortrf2(xxx, yyy, Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 6838xxx[0] = yyy[0];xxx[1] = yyy[1];xxx[2] = yyy[2]; 6839 6840 6841swi_coortrf2(zzz, yyy, Math.sin($moshier.nutation2.nuto), Math.cos($moshier.nutation2.nuto)); 6842 6843xxx[3] = yyy[0]; xxx[4] =yyy[1]; xxx[5] = yyy[2]; 6844 6845 6846swi_cartpol_sp(xxx, yyy); 6847 6848 6849 // prepare for display 6850 body.position.apparentLongitude = yyy[0]; 6851 6852 6853 var dmsLongitude = $util.dms (body.position.apparentLongitude); 6854 6855 body.position.apparentLongitudeString = 6856 dmsLongitude.degree + '\u00B0' + 6857 dmsLongitude.minutes + '\'' + 6858 Math.floor (dmsLongitude.seconds) + '"' 6859 ; 6860 6861 body.position.apparentLongitude30String = 6862 $util.mod30 (dmsLongitude.degree) + '\u00B0' + 6863 dmsLongitude.minutes + '\'' + 6864 Math.floor (dmsLongitude.seconds) + '"' 6865 ; 6866 6867 body.position.geocentricDistance = 7777; 6868 6869 /* Go do topocentric reductions. 6870 */ 6871 $const.dradt = 0.0; 6872 $const.ddecdt = 0.0; 6873 polar [2] = 1.0e38; /* make it ignore diurnal parallax */ 6874 6875 body.position.altaz = $moshier.altaz.calc ( polar, $moshier.body.earth.position.date ); 6876}; 6877 6878$ns.star.prepare = function (body) { 6879 var sign; // int 6880 var s; // char array 6881 var x, z; // double 6882 var p; // char array 6883 var i; // int 6884 6885 /* Read in the ASCII string data and name of the object 6886 */ 6887// sscanf( s, "%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %s", 6888// &body->epoch, &rh, &rm, &rs, &dd, &dm, &ds, 6889// &body->
6889mura, &body->mudec, &body->v, &body->px, &body->mag, &body->obname[0] ); 6890 6891 x = body.epoch; 6892 if( x == 2000.0 ) { 6893 x = $const.j2000; 6894 } else if( x == 1950.0 ) { 6895 x = $const.b1950; 6896 } else if( x == 1900.0 ) { 6897 x = $const.j1900; 6898 } else { 6899 x = $const.j2000 + 365.25 * (x - 2000.0); 6900 } 6901 body.epoch = x; 6902 6903 /* read the right ascension */ 6904 if (!body.ra) { 6905 body.ra = 2.0 * Math.PI * (3600.0*body.hmsRa.hours + 60.0*body.hmsRa.minutes + body.hmsRa.seconds)/86400.0; 6906 } 6907 6908 /* read the declination */ 6909 if (!body.dec) { 6910 sign = 1; 6911 6912 /* the '-' sign may appaer at any part of hmsDec */ 6913 if ( (body.hmsDec.hours < 0.0) || (body.hmsDec.minutes < 0.0) || (body.hmsDec.seconds < 0.0) ) { 6914 sign = -1; 6915 } 6916 z = (3600.0*Math.abs(body.hmsDec.hours) + 60.0*Math.abs(body.hmsDec.minutes) + Math.abs(body.hmsDec.seconds))/$const.RTS; 6917 if( sign < 0 ) { 6918 z = -z; 6919 } 6920 body.dec = z; 6921 } 6922 6923// body.raMotion *= 15.0/$const.RTS; /* s/century -> "/century -> rad/century */ 6924// body.decMotion /= $const.RTS; 6925}; 6926 6927$ns.transit = { 6928 /* Earth radii per au */ 6929 DISFAC: 2.3454780e4, 6930 6931 /* cosine of 90 degrees 50 minutes: */ 6932 COSSUN: -0.014543897651582657, 6933 /* cosine of 90 degrees 34 minutes: */ 6934 COSZEN: -9.8900378587411476e-3, 6935 6936 /* Returned transit, rise, and set times in radians (2 pi = 1 day) */ 6937 r_trnsit: 0.0, 6938 r_rise: 0.0, 6939 r_set: 0.0, 6940 elevation_threshold: 0.0, 6941 semidiameter: 0.0, 6942 f_trnsit: 0, // int 6943 southern_hemisphere: 0, // int 6944 6945 /* Julian dates of rise, transet and set times. */ 6946 t_rise: 0.0, 6947 t_trnsit: 0.0, 6948 elevation_trnsit: 0.0, 6949 t_set: 0.0, 6950 6951 STEP_SCALE: 0.5 6952}; 6953 6954/* Calculate time of transit 6955 * assuming RA and Dec change uniformly with time 6956 */ 6957$ns.transit.calc = function (date, lha, dec, result) { 6958 var x, y, z, N, D; // double 6959 var lhay, cosdec, sindec, coslat, sinlat; // double 6960 6961 result = result || {}; 6962 6963 this.f_trnsit = 0; 6964 /* Initialize to no-event flag value. */ 6965 this.r_rise = -10.0; 6966 this.r_set = -10.0; 6967 /* observer's geodetic latitude, in radians */ 6968 x = $const.glat * $const.DTR; 6969 coslat = Math.cos(x); 6970 sinlat = Math.sin(x); 6971 6972 cosdec = Math.cos(dec); 6973 sindec = Math.sin(dec); 6974 6975 if (sinlat < 0) { 6976 this.southern_hemisphere = 1; 6977 } else { 6978 this.southern_hemisphere = 0; 6979 } 6980 6981 /* Refer to same start of date as iter_trnsit, 6982 so r_trnsit means the same thing in both programs. */ 6983 x = Math.floor(date.universal - 0.5) + 0.5; // UT 6984 x = (date.universal - x) * $const.TPI; // UT 6985 /* adjust local hour angle */ 6986 y = lha; 6987 /* printf ("%.7f,", lha); */ 6988 while( y < -Math.PI ) { 6989 y += $const.TPI; 6990 } 6991 while( y > Math.PI ) { 6992 y -= $const.TPI; 6993 } 6994 lhay = y; 6995 y = y/( -$const.dradt/$const.TPI + 1.00273790934); 6996 this.r_trnsit = x - y; 6997 /* printf ("rt %.7f ", r_trnsit); */ 6998 /* Ordinarily never print here. */ 6999 result.approxLocalMeridian = $util.hms (this.r_trnsit); 7000 result.UTdate = this.r_trnsit/$const.TPI; 7001 if( !((coslat == 0.0) || (cosdec == 0.0)) ) { 7002 /* The time at which the upper limb of the body meets the 7003 * horizon depends on the body's angular diameter. 7004 */ 7005 switch( $const.body.key ) { 7006 /* Sun */ 7007 case 'sun': 7008 N = this.COSSUN; 7009 this.semidiameter = 0.2666666666666667; 7010 this.elevation_threshold = -0.8333333333333333; 7011 break; 7012 7013 /* Moon, elevation = -34' - semidiameter + parallax 7014 * semidiameter = 0.272453 * parallax + 0.0799" 7015 */ 7016 case 'moon': 7017 N = 1.0/(this.DISFAC*$const.body.position.polar [2]); 7018 D = Math.asin( N ); /* the parallax */ 7019 this.semidiameter = 0.2725076*D + 3.874e-7; 7020 N = -9.890199094634534e-3 - this.semidiameter + D; 7021 this.semidiameter *= $const.RTD; 7022 this.elevation_threshold = -34.0/60.0 - this.semidiameter; 7023 N = Math.sin(N); 7024 break; 7025 7026 /* Other object */ 7027 default: 7028 N = this.COSZEN; 7029 this.semidiameter = 0.0; 7030 this.elevation_threshold = -0.5666666666666666; 7031 break; 7032 } 7033 y = (N - sinlat*sindec)/(coslat*cosdec); 7034 7035 if( (y < 1.0) && (y > -1.0) ) 7036 { 7037 this.f_trnsit = 1; 7038 /* Derivative of y with respect to declination 7039 * times rate of change of declination: 7040 */ 7041 z = -$const.ddecdt*(sinlat + this.COSZEN*sindec); 7042 z /= $const.TPI*coslat*cosdec*cosdec; 7043 /* Derivative of acos(y): */ 7044 z /= Math.sqrt( 1.0 - y*y); 7045 y = Math.acos(y); 7046 D = -$const.dradt/$const.TPI + 1.00273790934; 7047 this.r_rise = x - (lhay + y)*(1.0 + z)/D; 7048 this.r_set = x - (lhay - y)*(1.0 - z)/D; 7049 /* Ordinarily never print here. */ 7050 7051 result.dApproxRiseUT = this.r_rise ; 7052 result.dApproxSetUT = this.r_set; 7053 result.approxRiseUT = $util.hms (this.r_rise); 7054 result.approxSetUT = $util.hms (this.r_set); 7055 } 7056 } 7057 return result; 7058}; 7059 7060/* Compute estimate of lunar rise and set times for iterative solution. */ 7061$ns.transit.iterator = function (julian, callback) { 7062 var date = { 7063 julian: julian 7064 }; 7065 7066 $moshier.toGregorian (date); 7067 $moshier.julian.calc (date); 7068 $moshier.delta.calc (date); 7069 7070 $moshier.kepler (date, $moshier.body.earth); 7071 7072 callback (); 7073}; 7074 7075/* Iterative computation of rise, transit, and set times. */ 7076$ns.transit.iterateTransit = function (callback, result) { 7077 //var JDsave, TDTsave, UTsave; // double 7078 var date, date_trnsit, t0, t1; // double 7079 var rise1, set1, trnsit1, loopctr, retry; // double 7080 var isPrtrnsit = false;
7081 7082 result = result || {}; 7083 7084 loopctr = 0; 7085 //JDsave = JD; 7086 //TDTsave = TDT; 7087 //UTsave = UT; 7088 retry = 0; 7089 /* Start iteration at time given by the user. */ 7090 t1 = $moshier.body.earth.position.date.universal; // UT 7091 7092 /* Find transit time. */ 7093 do { 7094 t0 = t1; 7095 date = Math.floor (t0 - 0.5) + 0.5; 7096 this.iterator (t0, callback); 7097 t1 = date + this.r_trnsit / $const.TPI; 7098 if (++loopctr > 10) { 7099 break; 7100 // goto no_trnsit; 7101 } 7102 } while (Math.abs (t1 - t0) > .0001); 7103 7104 if (!(loopctr > 10)) { 7105 this.t_trnsit = t1; 7106 this.elevation_trnsit = $moshier.altaz.elevation; 7107 trnsit1 = this.r_trnsit; 7108 set1 = this.r_set; 7109 if (this.f_trnsit == 0) { 7110 /* Rise or set time not found. Apply a search technique to 7111 check near inferior transit if object is above horizon now. */ 7112 this.t_rise = -1.0; 7113 this.t_set = -1.0; 7114 if ($moshier.altaz.elevation > this.elevation_threshold) { 7115 this.noRiseSet (this.t_trnsit, callback); 7116 } 7117 // goto prtrnsit; 7118 } else { 7119 /* Set current date to be that of the transit just found. */ 7120 date_trnsit = date; 7121 t1 = date + this.r_rise / $const.TPI; 7122 /* Choose rising no later than transit. */ 7123 if (t1 >= this.t_trnsit) { 7124 date -= 1.0; 7125 t1 = date + this.r_rise / $const.TPI; 7126 } 7127 loopctr = 0; 7128 do { 7129 t0 = t1; 7130 this.iterator (t0, callback); 7131 /* Skip out if no event found. */ 7132 if (this.f_trnsit == 0) { 7133 /* Rise or set time not found. Apply search technique. */ 7134 this.t_rise = -1.0; 7135 this.t_set = -1.0; 7136 this.noRiseSet (this.t_trnsit, callback); 7137 isPrtrnsit = true; 7138 // goto prtrnsit; 7139 } else { 7140 if (++loopctr > 10) { 7141 // Rise time did not converge 7142 this.f_trnsit = 0; 7143 isPrtrnsit = true; 7144 // goto prtrnsit; 7145 } else { 7146 t1 = date + this.r_rise / $const.TPI; 7147 if (t1 > this.t_trnsit) { 7148 date -= 1; 7149 t1 = date + this.r_rise / $const.TPI; 7150 } 7151 } 7152 } 7153 } while (Math.abs (t1 - t0) > .0001); 7154 7155 if (!isPrtrnsit) { 7156 isPrtrnsit = false; 7157 rise1 = this.r_rise; 7158 this.t_rise = t1; 7159 7160 /* Set current date to be that of the transit. */ 7161 date = date_trnsit; 7162 this.r_set = set1; 7163 /* Choose setting no earlier than transit. */ 7164 t1 = date + this.r_set / $const.TPI; 7165 if (t1 <= this.t_trnsit) { 7166 date += 1.0; 7167 t1 = date + this.r_set / $const.TPI; 7168 } 7169 loopctr = 0; 7170 do { 7171 t0 = t1; 7172 this.iterator (t0, callback); 7173 if (this.f_trnsit == 0) { 7174 /* Rise or set time not found. Apply search technique. */ 7175 this.t_rise = -1.0; 7176 this.t_set = -1.0; 7177 this.noRiseSet (this.t_trnsit, callback); 7178 isPrtrnsit = true; 7179 //goto prtrnsit; 7180 } else { 7181 if (++loopctr > 10) { 7182 // Set time did not converge 7183 this.f_trnsit = 0; 7184 isPrtrnsit = true; 7185 //goto prtrnsit; 7186 } else { 7187 t1 = date + this.r_set / $const.TPI; 7188 if (t1 < this.t_trnsit) { 7189 date += 1.0; 7190 t1 = date + this.r_set / $const.TPI; 7191 } 7192 } 7193 } 7194 } while (fabs(t1 - t0) > .0001); 7195 7196 if (!isPrtrnsit) { 7197 this.t_set = t1; 7198 this.r_trnsit = trnsit1; 7199 this.r_rise = rise1; 7200 } 7201 } 7202 } 7203// prtrnsit: 7204 result.localMeridianTransit = $moshier.julian.toGregorian ({julian: this.t_trnsit}); 7205 if (this.t_rise != -1.0) { 7206 result.riseDate = $moshier.julian.toGregorian ({julian: this.t_rise}); 7207 } 7208 if (this.t_set != -1.0) { 7209 result.setDate = $moshier.julian.toGregorian ({julian: this.t_set}); 7210 if (this.t_rise != -1.0) { 7211 t0 = this.t_set - this.t_rise; 7212 if ((t0 > 0.0) && (t0 < 1.0)) { 7213 result.visibleHaours = 24.0 * t0; 7214 } 7215 } 7216 } 7217 7218 if ( 7219 (Math.abs($moshier.body.earth.position.date.julian - this.t_rise) > 0.5) && 7220 (Math.abs($moshier.body.earth.position.date.julian - this.t_trnsit) > 0.5) && 7221 (Math.abs($moshier.body.earth.position.date.julian - this.t_set) > 0.5) 7222 ) { 7223 // wrong event date 7224 result.wrongEventDate = true; 7225 } 7226 } 7227// no_trnsit: 7228 //JD = JDsave; 7229 //TDT = TDTsave; 7230 //UT = UTsave; 7231 /* Reset to original input date entry. */ 7232 // update(); 7233 //prtflg = prtsave; 7234 this.f_trnsit = 1; 7235 return result; 7236}; 7237 7238/* If the initial approximation fails to locate a rise or set time, 7239 this function steps between the transit time and the previous 7240 or next inferior transits to find an event more reliably. */ 7241$ns.transit.noRiseSet = function (t0, callback) { 7242 var t_trnsit0 = this.t_trnsit; // double 7243 var el_trnsit0 = this.elevation_trnsit; // double 7244 var t, e; // double 7245 var t_above, el_above, t_below, el_below; // double 7246 7247 /* Step time toward previous inferior transit to find 7248 whether a rise event was missed. The step size is a function 7249 of the azimuth and decreases near the transit time. */ 7250 t_above = t_trnsit0; 7251 el_above = el_trnsit0; 7252 t_below = -1.0; 7253 el_below = el_above; 7254 t = t_trnsit0 - 0.25; 7255 e = 1.0; 7256 while (e > 0.005) { 7257 this.iterator (t, callback); 7258 if ($moshier.altaz.elevation > this.elevation_threshold) { 7259 /* Object still above horizon. */ 7260 t_above = t; 7261 el_above = $moshier.altaz.elevation; 7262 } else { 7263 /* Object is below horizon. Rise event is bracketed. 7264 Proceed to interval halving search. */ 7265 t_below = t; 7266 el_below = $moshier.altaz.elevation; 7267 break; // goto search_rise; 7268 } 7269 /* Step time by an amount proportional to the azimuth deviation. */ 7270 e = azimuth/360.0; 7271 if (azimuth < 180.0) 7272 { 7273 if (this.southern_hemisphere == 0) { 7274 t -= this.STEP_SCALE * e; 7275 } else { 7276 t += this.STEP_SCALE * e; 7277 } 7278 } else { 7279 e = 1.0 - e; 7280 if (this.southern_hemisphere == 0) { 7281 t += this.STEP_SCALE * e; 7282 } else { 7283 t -= this.STEP_SCALE * e; 7284 } 7285 } 7286 } 7287 7288 /* No rise event detected. */ 7289 if ($moshier.altaz.elevation > this.elevation_threshold) { 7290 /* printf ("Previous inferior transit is above horizon.\n"); */ 7291 this.t_rise = -1.0; 7292 // goto next_midnight; 7293 } else { 7294 /* Find missed rise time. */ 7295// search_rise: 7296 this.t_rise = this.searchHalve (t_below, el_below, t_above, el_above, callback); 7297 this.f_trnsit = 1; 7298 } 7299 7300// next_midnight: 7301 /* Step forward in time toward the next inferior transit. */ 7302 t_above = t_trnsit0; 7303 el_above = el_trnsit0; 7304 t_below = -1.0; 7305 el_below = el_above; 7306 t = t_trnsit0 + 0.25; 7307 e = 1.0; 7308 while (e > 0.005) { 7309 this.iterator (t, callback); 7310 if ($moshier.altaz.elevation > this.elevation_threshold) { 7311 /* Object still above horizon. */ 7312 t_above = t; 7313 el_above = $moshier.altaz.elevation; 7314 } else { 7315 /* Object is below horizon. Event is bracketed. 7316 Proceed to interval halving search. */ 7317 t_below = t; 7318 el_below = $moshier.altaz.elevation; 7319 break; // goto search_set; 7320 } 7321 /* Step time by an amount proportional to the azimuth deviation. */ 7322 e = $moshier.altaz.azimuth/360.0; 7323 if ($moshier.altaz.azimuth < 180.0) { 7324 if (this.southern_hemisphere == 0) { 7325 t -= this.STEP_SCALE * e; 7326 } else { 7327 t += this.STEP_SCALE * e; /* Southern hemisphere observer. */ 7328 } 7329 } else { 7330 e = 1.0 - e; 7331 if (this.southern_hemisphere == 0) { 7332 t += this.STEP_SCALE * e; 7333 } else { 7334 t -= this.STEP_SCALE * e; 7335 } 7336 } 7337 } 7338 7339 if ($moshier.altaz.elevation > this.elevation_threshold) { 7340 /* printf ("Next inferior transit is above horizon.\n"); */ 7341 this.t_set = -1.0; 7342 // return 0; 7343 } else { 7344 /* Find missed set time. */ 7345// search_set: 7346 this.t_set = search_halve (t, elevation, this.t_trnsit, this.elevation_trnsit, callback); 7347 this.f_trnsit = 1; 7348 } 7349}; 7350 7351/* Search rise or set time by simple interval halving 7352 after the event has been bracketed in time. */ 7353$ns.transit.searchHalve = function (t1, y1, t2, y2, callback) { 7354 var e2, e1, em, tm, ym; // double 7355 7356 e2 = y2 - this.elevation_threshold; 7357 e1 = y1 - this.elevation_threshold; 7358 tm = 0.5 * (t1 + t2); 7359 7360 while( Math.abs(t2 - t1) > .00001 ) { 7361 /* Evaluate at middle of current interval. */ 7362 tm = 0.5 * (t1 + t2); 7363 this.iterator (tm, callback); 7364 ym = $moshier.altaz.elevation; 7365 em = ym - this.elevation_threshold; 7366 /* Replace the interval boundary whose error has the same sign as em. */ 7367 if( em * e2 > 0 ) {
7368 y2 = ym; 7369 t2 = tm; 7370 e2 = em; 7371 } else { 7372 y1 = ym; 7373 t1 = tm; 7374 e1 = em; 7375 } 7376 } 7377 return tm; 7378}; 7379 7380$ns.vearth = { 7381 jvearth: -1.0, 7382 vearth: [] 7383}; 7384 7385$ns.vearth.calc = function (date) { 7386 var e = [], p = [], t; // double 7387 var i; // int 7388 7389 if( date.julian == this.jvearth ) { 7390 return; 7391 } 7392 7393 this.jvearth = date.julian; 7394 7395 /* calculate heliocentric position of the earth 7396 * as of a short time ago. 7397 */ 7398 t = 0.0005; 7399 $moshier.kepler.calc ({julian: date.julian - t}, $moshier.body.earth, e, p); 7400 7401 for( i=0; i<3; i++ ) { 7402 this.vearth [i] = ($moshier.body.earth.position.rect [i] - e[i])/t; 7403 } 7404}; 7405 7406$ns.processor = {}; 7407 7408$ns.processor.calc = function (date, body) { 7409 $const.body = body; 7410 7411 $moshier.julian.calc (date); 7412 $moshier.delta.calc (date); 7413 7414 date.universalDate = $moshier.julian.toGregorian ({ 7415 julian: date.universal 7416 }); 7417 7418 date.universalDateString = 7419 date.universalDate.day + '.' + 7420 date.universalDate.month + '.' + 7421 date.universalDate.year + ' ' + 7422 date.universalDate.hours + ':' + 7423 date.universalDate.minutes + ':' + 7424 (date.universalDate.seconds + date.universalDate.milliseconds / 1000) 7425 ; 7426 7427 // First to calculate the erath 7428 $moshier.kepler.calc (date, $moshier.body.earth); 7429 7430 switch (body.key) { 7431 case 'sun': 7432 $moshier.sun.calc (); 7433 break; 7434 case 'moon': 7435 $moshier.moon.calc (); 7436 break; 7437 default: 7438 if (body.raMotion) { // star 7439 $moshier.star.calc (body); 7440 } else { // planet 7441 $moshier.planet.calc (body); 7442 } 7443 break; 7444 } 7445}; 7446 7447$ns.processor.ecliptic = function (date, observer, body) { 7448 this.calc (date, observer); 7449 this.calc (date, body); 7450 7451 //this.reduce (observer, body); 7452}; 7453 7454$ns.processor.init = function () { 7455 $moshier.body.init (); 7456 $moshier.kepler.init (); 7457}; 7458 7459$ns.processor.test = function () { 7460 var body, date; 7461 7462 // tested position 7463 $copy ($const, { 7464 tlong: -71.13, 7465 glat: 42.27, 7466 attemp: 12.0, 7467 atpress: 1010.0, 7468 height: 0.0 7469 }); 7470 7471 // initialize processor 7472 this.init (); 7473 7474 // test the moon 7475 date = {year: 1986, month: 1, day: 1, hours: 1, minutes: 52, seconds: 0}; 7476 body = $moshier.body.moon; 7477 this.calc (date, body); 7478 7479 $assert (date.julian, 2446431.577777778); 7480 $assert (date.delta, 54.87009963821919); 7481 7482 $assert (body.position.nutation.dRA, -0.48342256851185134); 7483 $assert (body.position.nutation.dDec, 5.886353197581648); 7484 7485 $assert (body.position.geometric.longitude, 156.0921880198016); 7486 $assert (body.position.geometric.latitude, 4.422063993387057); 7487 $assert (body.position.geometric.distance, 0.14716616073282882); 7488 7489 $assert (body.position.apparentGeocentric.longitude, 2.7242742960376667); 7490 $assert (body.position.apparentGeocentric.latitude, 0.07717957641849299); 7491 $assert (body.position.apparentGeocentric.distance, 60.24442952894567); 7492 7493 $assert (body.position.dHorizontalParallax, 0.016599807399569004); 7494 7495 $assert (body.position.sunElongation, 124.15076164595345); 7496 $assert (body.position.illuminatedFraction, 0.7815787330095528); 7497 7498 $assert (body.position.apparent.dRA, 2.7844808512258266); 7499 $assert (body.position.apparent.dDec, 0.23362556081599462); 7500 7501 $assert (body.position.altaz.diurnalAberation.ra, 2.7844805966970942); 7502 $assert (body.position.altaz.diurnalAberation.dec, 0.23362530162522877); 7503 7504 $assert (body.position.altaz.diurnalParallax.ra, 2.7967931740378766); 7505 $assert (body.position.altaz.diurnalParallax.dec, 0.2221893682125501); 7506 7507 $assert (body.position.altaz.atmosphericRefraction.deg, 0.6356568799861307); 7508 $assert (body.position.altaz.atmosphericRefraction.dRA, -112.9014532718829); 7509 $assert (body.position.altaz.atmosphericRefraction.dDec, 1585.1382135790564); 7510 7511 $assert (body.position.altaz.topocentric.altitude, -0.2989379770846806); 7512 $assert (body.position.altaz.topocentric.ra, -3.4946025585162133); 7513 $assert (body.position.altaz.topocentric.dec, 0.22987433513647665); 7514 $assert (body.position.altaz.topocentric.azimuth, 71.78002666681668); 7515 7516 // test the sun 7517 date = {year: 1986, month: 1, day: 1, hours: 16, minutes: 47, seconds: 0}; 7518 body = $moshier.body.sun; 7519 this.calc (date, body); 7520 7521 $assert (date.julian, 2446432.199305556); 7522 $assert (date.delta, 54.87089572485891); 7523 7524 $assert (body.position.equinoxEclipticLonLat [0], 4.90413951369789); 7525 $assert (body.position.equinoxEclipticLonLat [1], 0.000002184617423267333); 7526 $assert (body.position.equinoxEclipticLonLat [2], 0.9832794756330766); 7527 7528 $assert (body.position.lightTime, 8.177686171897745); 7529 7530 $assert (body.position.aberration.dRA, 1.50327643199855); 7531 $assert (body.position.aberration.dDec, 1.7448150469138453); 7532 7533 $assert (body.position.constellation, 77); 7534 7535 $assert (body.position.apparent.dRA, 4.920756988829355); 7536 $assert (body.position.apparent.dDec, -0.40123417213339135); 7537 7538 $assert (body.position.apparentLongitude, 280.9781321178379); 7539 7540 $assert (body.position.altaz.diurnalParallax.ra, 4.920758543965699); 7541 $assert (body.position.altaz.diurnalParallax.dec, -0.4012734282906353); 7542 7543 $assert (body.position.altaz.atmosphericRefraction.deg, 0.0347669495824713); 7544 $assert (body.position.altaz.atmosphericRefraction.dRA, -0.0654871080210392); 7545 $assert (body.position.altaz.atmosphericRefraction.dDec, 125.15775095794257); 7546 7547 $assert (body.position.altaz.topocentric.altitude, 24.771802544653966); 7548 $assert (body.position.altaz.topocentric.ra, -1.3624315255707726); 7549 $assert (body.position.altaz.topocentric.dec, -0.4006666463910222); 7550 $assert (body.position.altaz.topocentric.azimuth, 179.48488458374226); 7551 7552 // test the sirius 7553 date = {year: 1986, month: 1, day: 1, hours: 0, minutes: 0, seconds: 0}; 7554 body = $moshier.body.sirius; 7555 this.calc (date, body); 7556 7557 $assert (date.julian, 2446431.5); 7558 $assert (date.delta, 54.87); 7559 7560 $assert (body.position.apparent.dRA, 1.7651675096112047); 7561 $assert (body.position.apparent.dDec, -0.29137543179606207); 7562 7563 $assert (body.position.astrimetricDate.dRA, 1.7651002655957506); 7564 $assert (body.position.astrimetricDate.dDec, -0.29140596467162816); 7565 7566 $assert (body.position.altaz.topocentric.altitude, 1.7060953673767152); 7567 $assert (body.position.altaz.topocentric.ra, -4.522192086886859); 7568 $assert (body.position.altaz.topocentric.dec, -0.2873401996237649); 7569 $assert (body.position.altaz.topocentric.azimuth, 114.21923743994829); 7570 7571 // test the sirius 7572 date = {year: 1986, month: 1, day: 1, hours: 0, minutes: 0, seconds: 0}; 7573 body = $moshier.body.sirius; 7574 this.calc (date, body); 7575 7576 $assert (date.julian, 2446431.5); 7577 $assert (date.delta, 54.87); 7578 7579 $assert (body.position.apparent.dRA, 1.7651675096112047); 7580 $assert (body.position.apparent.dDec, -0.29137543179606207); 7581 7582 $assert (body.position.astrimetricDate.dRA, 1.7651002655957506); 7583 $assert (body.position.astrimetricDate.dDec, -0.29140596467162816); 7584 7585 $assert (body.position.altaz.topocentric.altitude, 1.7060953673767152); 7586 $assert (body.position.altaz.topocentric.ra, -4.522192086886859); 7587 $assert (body.position.altaz.topocentric.dec, -0.2873401996237649); 7588 $assert (body.position.altaz.topocentric.azimuth, 114.21923743994829); 7589}; 7590 7591$ns = ephemeris.astronomy.moshier.plan404 = {}; 7592
vendor: 16,689 bytes, lines 7593-8254
7593$ns.mercury = { 7594 maxargs: 9, 7595 max_harmonic: [11, 14, 10, 11, 4, 5, 2, 0, 0], 7596 max_power_of_t: 6, 7597 distance: 3.8709830979999998e-01, 7598 timescale: 3652500.0, 7599 trunclvl: 1.0, 7600 lon_tbl: [ 7601 35.85255, -163.26379, 53810162857.56026, 908082.18475, 7602 0.05214, -0.07712, 7603 1.07258, 0.04008, 0.49259, 0.00230, 7604 0.02324, 0.05869, 7605 0.24516, 0.22898, -0.06037, 0.13023, 7606 0.00331, -0.03576, 7607 0.06464, 0.00089, 7608 0.03103, 0.05078, 7609 -0.01133, 0.01520, 7610 0.14654, 0.07538, 0.25112, -0.24473, 7611 -0.17928, -0.53366, 7612 -0.06367, 0.20458, -0.42985, 0.14848, 7613 -0.35317, -0.61364, 7614 0.00325, -0.08617, -0.23180, 0.08576, 7615 0.22995, 0.43569, 7616 1.92114, 2.89319, -5.55637, 4.70329, 7617 -4.91411, -5.45521, 7618 0.02607, 0.04468, 7619 -0.05439, 0.13476, -0.07329, -0.00985, 7620 -0.00278, 0.05377, 7621 0.07474, -0.09658, 0.29818, 0.20422, 7622 -0.29074, 0.44962, 7623 -0.15411, -0.04287, 0.29907, -1.02948, 7624 3.62183, 0.84869, 7625 -0.08157, 0.02754, 7626 -0.03610, -0.12909, 0.09195, -0.04424, 7627 -0.08845, 0.09347, 7628 -0.27140, 0.08185, 7629 0.24783, 0.19543, -0.25154, 0.41371, 7630 -0.00046, 0.01524, 7631 0.04127, 0.06663, 7632 0.43023, 0.11790, 7633 0.04427, 0.05329, 7634 0.00411, -0.71074, 7635 -0.07111, -0.09824, 7636 0.01264, -0.02075, 7637 -0.00068, -0.01678, 7638 0.01186, 0.00181, 7639 0.00302, -0.21963, 7640 -0.06412, -0.10155, -0.36856, 0.20240, 7641 0.32282, 0.65133, 7642 -0.07178, -0.01876, 0.13399, -0.39522, 7643 1.28413, 0.33790, 7644 0.05040, -0.01679, 7645 -0.00794, 0.01117, 7646 0.02630, 0.00575, 7647 -0.07113, -0.11414, 0.16422, -0.23060, 7648 0.35198, 0.05409, 7649 1.11486, -0.35833, 0.87313, 1.66304, 7650 -1.28434, 0.72067, 7651 0.01400, 0.00971, 7652 0.21044, -0.87385, 3.20820, 0.67957, 7653 -0.01716, 0.00111, 7654 -0.13776, -0.02650, 7655 -0.06778, 0.00908, 0.00616, -0.04520, 7656 -0.31625, -0.61913, 7657 0.36184, 0.09373, 7658 0.00984, -0.03292, 7659 0.01944, 0.00530, 7660 0.00243, -0.00123, 7661 0.01589, 0.02223, 7662 -0.02992, -0.01086, 7663 4356.04809, -5859.86328, 2918.27323, -4796.67315, 7664 510.24783, -1220.02233, 127.48927, 250.10654, 7665 3250.43013, -904.27614, -5667.40042, -22634.00922, 7666 -82471.79425, 18615.92342, 7667 0.01941, 0.00372, 7668 0.01830, -0.00652, 7669 -0.02548, -0.01157, 7670 0.00635, 0.02343, 7671 -0.00980, 0.00961, 7672 0.12137, 0.10068, 0.16676, -0.07257, 7673 -0.07267, -0.13761, 0.25305, -0.28112, 7674 -0.07974, 0.07866, 7675 -0.41726, 0.49991, -1.55187, -1.14150, 7676 1.54754, -2.35141, 7677 -0.00862, 0.00808, 7678 0.00218, -0.03726, 7679 0.06914, -0.08986, 7680 -0.00501, 2.09577, 7681 -0.01409, -0.01842, 7682 0.04138, 0.05961, 7683 -0.12276, -0.04929, 7684 -0.03963, -0.06080, 7685 -0.27697, -0.09329, 7686 -0.01011, 0.00295, 7687 -0.01374, 0.01328, 7688 -0.00171, 0.25815, 7689 0.01446, 0.00782, 7690 0.17909, -0.04683, 7691 0.03765, -0.04990, 7692 0.00036, 0.00528, 7693 0.05508, -0.01369, 7694 -0.11751, -0.10624, -0.14448, 0.10522, 7695 -0.00884, 0.43006, 7696 0.01162, 0.01659, 7697 -0.00076, 0.10143, 7698 0.55779, 0.05510, 0.12350, -0.34025, 7699 0.01320, 0.92985, 7700 -0.00026, -0.03426, 7701 0.01305, 0.00041, 7702 0.13187, -0.11903, 7703 0.00058, 0.09877, 7704 -33.10230, -41.96782, -268.28908, 174.29259, 7705 731.20089, 1508.07639, 5223.99114, -3008.08849, 7706 -3909.34957, -9646.69156, 7707 0.02988, 0.03182, 7708 0.07149, 0.04513, 7709 -0.02356, -0.01641, 7710 -0.03188, -0.03711, 0.15084, -0.22436, 7711 0.61987, 0.25706, 7712 0.02425, 0.01200, 7713 -0.05543, -0.14435, -0.53398, 0.10997, 7714 0.00465, -0.01893, 7715 0.01260, -0.01314, 7716 0.00650, -0.05499, 7717 -0.06804, 0.01608, 7718 0.02134, 0.04160, 7719 0.00636, 0.01293, 7720 -0.03470, -0.02697, 7721 -0.11323, 0.02409, 7722 -0.02618, 0.00827, 7723 0.01879, 0.16838, 0.08978, 0.01934, 7724 -0.23564, 0.05565, 7725 0.03686, 0.02644, 7726 -0.02471, 0.00558, 7727 -140.22669, -120.40692, -501.88143, 434.05868, 7728 1044.54998, 1162.72084, 1527.78437, -882.37371, 7729 -0.00768, 0.02213, 7730 -0.04090, 0.16718, 7731 -0.05923, -0.12595, 7732 0.01154, -0.00025, 7733 -0.00776, -0.01653, 7734 -0.01213, -0.02773, 7735 0.00344, 0.02180, 7736 -0.02558, -0.05682, 7737 -0.00490, 0.01050, 7738 38.75496, -78.17502, -189.90700, -136.33371, 7739 -249.94062, 319.76423, 205.73478, 272.64549, 7740 -0.01132, -0.01071, -0.04607, -0.00390, 7741 0.02903, -0.02070, 7742 0.01326, -0.00901, 7743 35.38435, 7.45358, 31.08987, -70.52685, 7744 -92.13879, -51.58876, -51.80016, 48.98102, 7745 -0.00124, -0.01159, 7746 0.47335, 13.71886, 23.71637, 5.55804, 7747 10.06850, -25.65292, -11.85300, -10.20802, 7748 -4.72861, 1.27151, -0.47322, 7.46754, 7749 6.99528, 1.79089, 2.05336, -2.90866, 7750 -1.97528, 0.72236, -0.25084, 1.90269, 7751 0.72127, 0.41354, 7752 -0.30286, -0.53125, -0.50883, -0.01200, 7753 -0.08301, 0.18083, 7754 -0.04286, -0.10963, -0.04544, -0.01645, 7755 -0.00013, -0.00986 7756 ], 7757 lat_tbl: [ 7758 68.33369, 422.77623, -2057.26405, -2522.29068, 7759 -0.00030, -0.00009, 7760 0.02400, -0.06471, 0.02074, -0.00904, 7761 0.00044, 0.00261, 7762 -0.00174, -0.00088, -0.00027, 0.00003, 7763 0.00005, -0.00004, 7764 -0.00036, 0.00200, 7765 0.01432, 0.01199, 7766 0.00006, -0.00004, 7767 0.00236, 0.00803, 0.01235, 0.00406, 7768 -0.03253, 0.00179, 7769 -0.00243, 0.00132, -0.00352, 0.00011, 7770 -0.00146, -0.01154, 7771 0.00824, -0.01195, -0.01829, -0.00465, 7772 0.12540, 0.09997, 7773 0.00400, 0.00288, -0.02848, 0.01094, 7774 -0.02273, -0.07051, 7775 0.01305, 0.01078, 7776 -0.00119, 0.00136, -0.00107, -0.00066, 7777 0.00097, -0.00315, 7778 0.00120, 0.00430, -0.00710, -0.00157, 7779 0.06052, -0.04777, 7780 0.00192, -0.00229, -0.02077, 0.00647, 7781 0.06907, 0.07644, 7782 -0.00717, 0.00451, 7783 0.00052, -0.00262, 0.00345, 0.00039, 7784 -0.00674, 0.00346, 7785 -0.02880, 0.00807, 7786 0.00054, 0.00206, -0.01745, 0.00517, 7787 -0.00044, 0.00049, 7788 0.01749, 0.01230, 7789 0.01703, 0.01563, 7790 0.00934, 0.02372, 7791 0.01610, -0.01136, 7792 0.00186, -0.00503, 7793 0.00082, -0.00673, 7794 0.00170, -0.00539, 7795 0.00042, 0.00037, 7796 0.00415, -0.00430, 7797 0.00258, -0.00914, -0.01761, -0.00251, 7798 0.15909, 0.13276, 7799 0.02436, -0.00791, 0.00491, 0.03890, 7800 -0.02982, 0.05645, 7801 -0.00003, 0.00427, 7802 -0.00363, 0.00221, 7803 0.00077, 0.00130, 7804 0.00131, -0.00071, 0.00796, 0.00453, 7805 0.01186, 0.01631, 7806 0.12949, -0.02546, 0.03613, 0.32854, 7807 -0.43001, 0.01417, 7808 0.00034, 0.00095, 7809 -0.03268, 0.04034, 0.11407, 0.15049, 7810 -0.00079, -0.00052, 7811 -0.04009, 0.00988, 7812 -0.00259, -0.00085, 0.00221, -0.00133, 7813 0.00003, -0.01733, 7814 0.01055, 0.01976, 7815 0.00222, 0.00085, 7816 0.00089, 0.00087, 7817 0.00014, 0.00001, 7818 0.00145, 0.00802, 7819 0.00122, 0.00068, 7820 947.79367, -1654.39690, 542.00864, -1281.09901, 7821 90.02068, -318.36115, -87.67090, 92.91960, 7822 376.98232, -419.10705, 5094.60412, 2476.97098, 7823 -18160.57888, 16010.48165, 7824 0.00621, -0.00128, 7825 0.00186, -0.00153, 7826 -0.00790, 0.00011, 7827 -0.00032, 0.00165, 7828 -0.00277, 0.00539, 7829 0.00552, 0.00682, 0.01086, -0.00978, 7830 -0.02292, -0.01300, 0.02940, -0.04427, 7831 -0.02051, 0.04860, 7832 -0.05020, 0.29089, -0.50763, -0.04900, 7833 0.11177, -0.41357, 7834 -0.00222, 0.00504, 7835 -0.00006, -0.00459, 7836 -0.00175, -0.02691, 7837 0.05921, 0.18938, 7838 -0.00181, -0.00154, 7839 0.00322, 0.00586, 7840 -0.01098, -0.00520, 7841 -0.00861, -0.01342, 7842 -0.02694, -0.00706, 7843 -0.00103, 0.00012, 7844 -0.00284, 0.00797, 7845 0.00743, 0.02523, 7846 0.00872, 0.00096, 7847 0.03155, -0.01644, 7848 0.00414, -0.00583, 7849 0.00029, 0.00066, 7850 0.00935, -0.00619, 7851 -0.02498, -0.01600, -0.03545, 0.07623, 7852 0.01649, 0.06498, 7853 0.00148, 0.00209, 7854 0.00621, 0.02014, 7855 0.17407, -0.05022, -0.03485, -0.17012, 7856 0.06164, 0.20059, 7857 -0.00804, -0.01475, 7858 0.00296, -0.00068, 7859 0.01880, -0.03797, 7860 0.00608, 0.02270, 7861 5.89651, -6.62562, -37.41057, -10.51542, 7862 -47.22373, 95.76862, 494.45951, -5.37252, 7863 -3991.04809, -2886.97750, 7864 0.01232, 0.00487, 7865 0.03163, 0.00561, 7866 -0.01847, -0.00207, 7867 -0.10138, 0.01430, -0.04269, -0.22338, 7868 0.24955, -0.02066, 7869 0.01119, -0.00186, 7870 0.03416, 0.01805, -0.12498, 0.10385, 7871 -0.00210, -0.01011, 7872 0.00346, -0.00682, 7873 -0.00683, -0.02227, 7874 -0.01649, 0.01259, 7875 0.01392, 0.01174, 7876 0.00440, 0.00351, 7877 -0.02871, -0.00375, 7878 -0.03170, 0.02246, 7879 -0.00833, 0.00596, 7880 0.04081, 0.06666, 0.05400, -0.02387, 7881 -0.07852, 0.05781, 7882 0.01881, 0.00324, 7883 -0.00868, 0.00606, 7884 -6.52157, -19.74446, -72.46009, 43.12366, 7885 321.78233, 215.45201, 452.61804, -1025.05619, 7886 0.00119, 0.01169, 7887 0.02239, 0.09003, 7888 -0.05329, -0.03974, 7889 0.00688, -0.00421, 7890 -0.00676, -0.00515, 7891 -0.01171, -0.00952, 7892 0.01337, 0.01270, 7893 -0.02791, -0.02184, 7894 0.00058, 0.00679, 7895 8.42102, -11.87757, -49.07247, -25.34584, 7896 -43.54829, 161.26509, 261.70993, 56.25777, 7897 0.00568, 0.00871, -0.02656, 0.01582, 7898 0.00875, -0.02114, 7899 0.00464, -0.01075, 7900 9.08966, 1.37810, 3.44548, -27.44651, 7901 -59.62749, -0.73611, -0.77613, 65.72607, 7902 -0.00664, -0.00723, 7903 1.04214, 4.78920, 11.67397, -1.84524, 7904 -4.16685, -19.14211, -16.14483, 3.02496, 7905 -1.98140, 1.16261, 1.81526, 4.21224, 7906 5.59020, -2.55741, -1.54151, -3.85817, 7907 -1.08723, 1.23372, 1.12378, 1.51554, 7908 0.88937, -0.57631, 7909 -0.50549, -0.25617, -0.37618, 0.42163, 7910 0.18902, 0.19575, 7911 -0.15402, -0.04062, -0.04017, 0.05717, 7912 -0.01665, -0.00199 7913 ], 7914 rad_tbl: [ 7915 -8.30490, -11.68232, 86.54880, 4361.05018, 7916 0.00002, -0.00001, 7917 -0.01102, 0.00410, 0.00007, -0.00276, 7918 0.00117, 0.00082, 7919 0.00049, 0.00007, 0.00003, -0.00001, 7920 0.00012, 0.00005, 7921 -0.00186, -0.00534, 7922 -0.03301, 0.01808, 7923 0.00008, 0.00005, 7924 -0.00394, 0.00202, 0.02362, -0.00359, 7925 0.00638, -0.06767, 7926 0.00422, -0.00493, 0.00660, 0.00513, 7927 -0.00417, 0.00708, 7928 0.05849, -0.00213, -0.07647, -0.16162, 7929 -0.30551, 0.13856, 7930 -0.02789, 0.01811, -0.04155, -0.06229, 7931 0.05729, -0.03694, 7932 -0.03087, 0.01610, 7933 -0.00297, -0.00167, 0.00041, -0.00157, 7934 -0.00115, 0.00058, 7935 0.00796, 0.00436, -0.01393, 0.02921, 7936 -0.05902, -0.02363, 7937 0.00459, -0.01512, 0.10038, 0.02964, 7938 -0.08369, 0.34570, 7939 -0.00749, -0.02653, 7940 0.01361, -0.00326, 0.00406, 0.00952, 7941 -0.00594, -0.00829, 7942 -0.02763, -0.09933, 7943 -0.04143, 0.05152, -0.08436, -0.05294, 7944 -0.00329, -0.00016, 7945 -0.04340, 0.02566, 7946 -0.03027, 0.10904, 7947 0.03665, -0.03070, 7948 0.23525, 0.00182, 7949 0.03092, -0.02212, 7950 0.01255, 0.00777, 7951 -0.01025, 0.00042, 7952 -0.00065, 0.00440, 7953 0.08688, 0.00136, 7954 0.05700, -0.03616, -0.11272, -0.20838, 7955 -0.37048, 0.18314, 7956 0.00717, -0.02911, 0.15848, 0.05266, 7957 -0.13451, 0.51639, 7958 0.00688, 0.02029, 7959 0.00596, 0.00423, 7960 -0.00253, 0.01196, 7961 0.05264, -0.03301, 0.10669, 0.07558, 7962 -0.02461, 0.16282, 7963 -0.18481, -0.57118, 0.85303, -0.44876, 7964 0.37090, 0.65915, 7965 -0.00458, 0.00660, 7966 0.41186, 0.09829, -0.31999, 1.51149, 7967 -0.00052, -0.00809, 7968 0.01384, -0.07114, 7969 -0.00435, -0.03237, 0.02162, 0.00294, 7970 0.29742, -0.15430, 7971 -0.04508, 0.17436, 7972 0.01577, 0.00485, 7973 -0.00258, 0.00946, 7974 0.00061, 0.00119, 7975 0.01095, -0.00788, 7976 0.00530, -0.01478, 7977 2885.06380, 2152.76256, 2361.91098, 1442.28586, 7978 602.45147, 251.18991, -121.68155, 71.20167, 7979 404.94753, 1607.37580, 11211.04090, -2905.37340, 7980 -9066.27933, -40747.62807, 7981 -0.00189, 0.00957, 7982 0.00332, 0.00907, 7983 0.00574, -0.01255, 7984 -0.01134, 0.00291, 7985 -0.00666, -0.00615, 7986 -0.04947, 0.06182, 0.03965, 0.08091, 7987 0.06846, -0.03612, 0.13966, 0.12543, 7988 -0.05494, -0.05043, 7989 -0.24454, -0.20507, 0.56201, -0.75997, 7990 1.15728, 0.76203, 7991 -0.00559, -0.00536, 7992 0.01872, 0.00104, 7993 0.03044, 0.02504, 7994 -1.07241, -0.00288, 7995 0.00950, -0.00760, 7996 -0.03211, 0.02261, 7997 0.02678, -0.06868, 7998 0.03008, -0.02062, 7999 0.04997, -0.15164, 8000 -0.00176, -0.00580, 8001 -0.00730, -0.00676, 8002 -0.13906, -0.00089, 8003 -0.00362, 0.00817, 8004 0.02021, 0.07719, 8005 0.02788, 0.02061, 8006 -0.00274, 0.00016, 8007 0.00566, 0.02293, 8008 0.04691, -0.05005, -0.05095, -0.06225, 8009 -0.19770, -0.00456, 8010 -0.00848, 0.00595, 8011 -0.04506, -0.00172, 8012 -0.01960, 0.22971, 0.14459, 0.04362, 8013 -0.40199, 0.00386, 8014 0.01442, -0.00088, 8015 -0.00020, 0.00544, 8016 0.04768, 0.05222, 8017 -0.04069, -0.00003, 8018 15.71084, -12.28846, -66.23443, -109.83758, 8019 -586.31996, 311.09606, 1070.75040, 2094.34080, 8020 3839.04103, -1797.34193, 8021 -0.01216, 0.01244, 8022 -0.01666, 0.02627, 8023 0.00687, -0.01291, 8024 0.00939, -0.01905, 0.09401, 0.05027, 8025 -0.09398, 0.23942, 8026 -0.00379, 0.00834, 8027 0.05632, -0.01907, -0.04654, -0.21243, 8028 0.00255, 0.00179, 8029 0.00540, 0.00497, 8030 0.01427, 0.00243, 8031 -0.00697, -0.02792, 8032 -0.01524, 0.00810, 8033 -0.00461, 0.00238, 8034 0.00899, -0.01515, 8035 -0.01011, -0.04390, 8036 -0.00447, -0.00992, 8037 -0.06110, 0.00975, -0.00261, 0.03415, 8038 -0.02336, -0.08776, 8039 -0.00883, 0.01346, 8040 -0.00229, -0.00895, 8041 42.18049, -48.21316, -148.61588, -171.57236, 8042 -414.27195, 343.09118, 394.59044, 511.79914, 8043 -0.00911, -0.00220, 8044 -0.06315, -0.00988, 8045 0.04357, -0.02389, 8046 0.00004, 0.00232, 8047 0.00581, -0.00317, 8048 0.00948, -0.00497, 8049 -0.00734, 0.00300, 8050 0.01883, -0.01055, 8051 -0.00365, -0.00126, 8052 24.18074, 12.28004, 43.18187, -58.69806, 8053 -102.40566, -79.48349, -74.81060, 89.71332, 8054 0.00241, -0.00135, -0.00136, -0.01617, 8055 0.00818, 0.00873, 8056 0.00368, 0.00383, 8057 -2.25893, 10.18542, 20.73104, 9.07389, 8058 13.73458, -29.10491, -20.62071, -10.63404, 8059 0.00382, -0.00143, 8060 -3.77385, 0.12725, -1.30842, 6.75795, 8061 7.94463, 1.79092, 1.24458, -4.73211, 8062 -0.36978, -1.25710, -2.06373, 0.06194, 8063 -0.00509, 2.08851, 1.07491, 0.04112, 8064 -0.28582, -0.51413, -0.53312, 0.11936, 8065 0.04447, 0.23945, 8066 0.12450, -0.11821, -0.06100, -0.12924, 8067 -0.05193, 0.02219, 8068 0.01977, -0.02933, -0.00771, -0.01077, 8069 0.00109, -0.00273 8070 ], 8071 arg_tbl: [ 8072 0, 3, 8073 3, 1, 1, -10, 3, 11, 4, 0, 8074 2, 2, 5, -5, 6, 2, 8075 3, 5, 1, -14, 2, 2, 3, 1, 8076 3, 1, 1, -5, 2, 4, 3, 0, 8077 1, 1, 6, 0, 8078 1, 2, 6, 0, 8079 3, 2, 1, -7, 2, 3, 3, 0, 8080 1, 1, 5, 2, 8081 2, 1, 1, -4, 3, 2, 8082 1, 2, 5, 2, 8083 2, 2, 1, -5, 2, 2, 8084 1, 3, 5, 0, 8085 2, 4, 1, -10, 2, 1, 8086 2, 3, 1, -8, 2, 0, 8087 2, 1, 1, -3, 2, 2, 8088 2, 1, 1, -2, 2, 2, 8089 1, 1, 3, 0, 8090 2, 3, 1, -7, 2, 1, 8091 2, 1, 1, -3, 3, 0, 8092 1, 1, 2, 0, 8093 2, 2, 1, -4, 2, 1, 8094 2, 4, 1, -9, 2, 0, 8095 1, 2, 3, 0, 8096 2, 1, 1, -2, 3, 0, 8097 2, 1, 1, -4, 2, 0, 8098 2, 1, 1, -1, 2, 0, 8099 2, 3, 1, -6, 2, 0, 8100 1, 3, 3, 0, 8101 2, 2, 1, -7, 2, 0, 8102 2, 1, 1, -2, 4, 0, 8103 2, 1, 1, -1, 3, 0, 8104 1, 2, 2, 2, 8105 2, 2, 1, -3, 2, 2, 8106 2, 4, 1, -8, 2, 0, 8107 2, 3, 1, -10, 2, 0, 8108 2, 1, 1, -4, 5, 0, 8109 2, 1, 1, -3, 5, 2, 8110 2, 1, 1, -5, 2, 2, 8111 2, 1, 1, -5, 6, 0, 8112 2, 1, 1, -2, 5, 1, 8113 3, 1, 1, -4, 5, 5, 6, 0, 8114 1, 4, 3, 0, 8115 2, 1, 1, -3, 6, 1, 8116 2, 1, 1, -1, 5, 0, 8117 2, 1, 1, -2, 6, 0, 8118 2, 1, 1, -1, 6, 0, 8119 2, 1, 1, -2, 7, 0, 8120 2, 1, 1, -1, 7, 0, 8121 3, 4, 1, -14, 2, 2, 3, 0, 8122 3, 1, 1, 2, 5, -5, 6, 0, 8123 1, 1, 1, 6, 8124 3, 2, 1, -10, 3, 11, 4, 0, 8125 3, 1, 1, -2, 5, 5, 6, 0, 8126 3, 6, 1, -14, 2, 2, 3, 0, 8127 2, 1, 1, 1, 6, 0, 8128 2, 1, 1, 2, 6, 0, 8129 2, 1, 1, 1, 5, 1, 8130 2, 2, 1, -4, 3, 1, 8131 2, 1, 1, 2, 5, 0, 8132 2, 3, 1, -5, 2, 2, 8133 2, 1, 1, 3, 5, 0, 8134 2, 5, 1, -10, 2, 0, 8135 1, 3, 2, 0, 8136 2, 2, 1, -2, 2, 0, 8137 2, 1, 1, 1, 3, 0, 8138 2, 4, 1, -7, 2, 0, 8139 2, 2, 1, -3, 3, 0, 8140 2, 1, 1, 1, 2, 0, 8141 2, 3, 1, -4, 2, 0, 8142 2, 5, 1, -9, 2, 0, 8143 2, 1, 1, 2, 3, 0, 8144 2, 2, 1, -2, 3, 0, 8145 1, 4, 2, 0, 8146 2, 2, 1, -1, 2, 0, 8147 2, 4, 1, -6, 2, 0, 8148 2, 2, 1, -2, 4, 0, 8149 2, 2, 1, -1, 3, 0, 8150 2, 1, 1, 2, 2, 1, 8151 2, 3, 1, -3, 2, 0, 8152 2, 5, 1, -8, 2, 0, 8153 2, 2, 1, -3, 5, 0, 8154 1, 5, 2, 1, 8155 2, 2, 1, -2, 5, 0, 8156 2, 1, 1, 4, 3, 0, 8157 2, 2, 1, -3, 6, 0, 8158 2, 2, 1, -1, 5, 0, 8159 2, 2, 1, -2, 6, 0, 8160 1, 2, 1, 4, 8161 2, 2, 1, 1, 5, 0, 8162 2, 3, 1, -4, 3, 0, 8163 2, 2, 1, 2, 5, 0, 8164 2, 4, 1, -5, 2, 2, 8165 2, 1, 1, 3, 2, 0, 8166 2, 3, 1, -2, 2, 1, 8167 2, 3, 1, -3, 3, 0, 8168 2, 2, 1, 1, 2, 0, 8169 2, 4, 1, -4, 2, 0, 8170 2, 3, 1, -2, 3, 0, 8171 2, 3, 1, -1, 2, 0, 8172 2, 3, 1, -1, 3, 0, 8173 2, 2, 1, 2, 2, 0, 8174 2, 4, 1, -3, 2, 0, 8175 2, 3, 1, -3, 5, 0, 8176 2, 1, 1, 5, 2, 1, 8177 2, 3, 1, -2, 5, 0, 8178 2, 3, 1, -1, 5, 0, 8179 2, 3, 1, -2, 6, 0, 8180 1, 3, 1, 3, 8181 2, 4, 1, -4, 3, 0, 8182 2, 5, 1, -5, 2, 0, 8183 2, 4, 1, -2, 2, 0, 8184 2, 5, 1, -4, 2, 0, 8185 2, 4, 1, -2, 3, 0, 8186 2, 5, 1, -3, 2, 0, 8187 2, 2, 1, 5, 2, 0, 8188 2, 4, 1, -2, 5, 0, 8189 2, 4, 1, -1, 5, 0, 8190 1, 4, 1, 3, 8191 2, 6, 1, -5, 2, 1, 8192 2, 5, 1, -2, 2, 0, 8193 2, 5, 1, -2, 5, 0, 8194 1, 5, 1, 3, 8195 2, 7, 1, -5, 2, 0, 8196 1, 6, 1, 3, 8197 1, 7, 1, 3, 8198 1, 8, 1, 2, 8199 1, 9, 1, 2, 8200 1, 10, 1, 1, 8201 1, 11, 1, 0, 8202 -1 8203 ] 8204}; 8205 8206$ns.venus = { 8207 maxargs: 9, 8208 max_harmonic: [5, 14, 13, 8, 4, 5, 1, 0, 0], 8209 max_power_of_t: 5, 8210 distance: 7.2332982000000001e-01, 8211 timescale: 3652500.0, 8212 trunclvl: 1.0, 8213 lon_tbl: [ 8214 9.08078, 55.42416, 21066413644.98911, 655127.20186, 8215 0.00329, 0.10408, 8216 0.00268, -0.01908, 8217 0.00653, 0.00183, 8218 0.15083, -0.21997, 8219 6.08596, 2.34841, 3.70668, -0.22740, 8220 -2.29376, -1.46741, 8221 -0.03840, 0.01242, 8222 0.00176, 0.00913, 8223 0.00121, -0.01222, 8224 -1.22624, 0.65264, -1.15974, -1.28172, 8225 1.00656, -0.66266, 8226 0.01560, -0.00654, 0.00896, 0.00069, 8227 0.21649, -0.01786, 8228 0.01239, 0.00255, 8229 0.00084, -0.06086, 8230 -0.00041, 0.00887, 8231 0.13453, -0.20013, 0.08234, 0.01575, 8232 0.00658, -0.00214, 8233 0.00254, 0.00857, 8234 -0.01047, -0.00519, 8235 0.63215, -0.40914, 0.34271, -1.53258, 8236 0.00038, -0.01437, 8237 -0.02599, -2.27805, -0.36873, -1.01799, 8238 -0.36798, 1.41356, 8239 -0.08167, 0.01368, 0.20676, 0.06807, 8240 0.02282, -0.04691, 8241 0.30308, -0.20218, 0.24785, 0.27522, 8242 0.00197, -0.00499, 8243 1.43909, -0.46154, 0.93459, 2.99583, 8244 -3.43274, 0.05672, 8245 -0.06586, 0.12467, 0.02505, -0.08433, 8246 0.00743, 0.00174, 8247 -0.04013, 0.17715, 8248 -0.00603, -0.01024, 8249 0.01542, -0.02378, 8250 0.00676, 0.00002, 8251 -0.00168, -4.89487, 8252 0.02393, -0.03064, 8253 0.00090, 0.00977, 8254 0.01223, 0.00381,
vendor: 4,218 bytes, lines 8255-8424
8255 0.28135, -0.09158, 0.18550, 0.58372, 8256 -0.67437, 0.01409, 8257 -0.25404, -0.06863, 8258 0.06763, -0.02939, 8259 -0.00009, -0.04888, 8260 0.01718, -0.00978, 8261 -0.01945, 0.08847, 8262 -0.00135, -11.29920, 8263 0.01689, -0.04756, 8264 0.02075, -0.01667, 8265 0.01397, 0.00443, 8266 -0.28437, 0.07600, 0.17996, -0.44326, 8267 0.29356, 1.41869, -1.58617, 0.03206, 8268 0.00229, -0.00753, 8269 -0.03076, -2.96766, 8270 0.00245, 0.00697, 8271 0.01063, -0.02468, 8272 -0.00351, -0.18179, 8273 -0.01088, 0.00380, 8274 0.00496, 0.02072, 8275 -0.12890, 0.16719, -0.06820, -0.03234, 8276 -60.36135, -11.74485, -11.03752, -3.80145, 8277 -21.33955, -284.54495, -763.43839, 248.50823, 8278 1493.02775, 1288.79621, -2091.10921, -1851.15420, 8279 -0.00922, 0.06233, 8280 0.00004, 0.00785, 8281 0.10363, -0.16770, 0.45497, 0.24051, 8282 -0.28057, 0.61126, 8283 -0.02057, 0.00010, 8284 0.00561, 0.01994, 8285 0.01416, -0.00442, 8286 0.03073, -0.14961, 8287 -0.06272, 0.08301, 8288 0.02040, 7.12824, 8289 -0.00453, -0.01815, 8290 0.00004, -0.00013, 8291 -0.03593, -0.18147, 0.20353, -0.00683, 8292 0.00003, 0.06226, 8293 -0.00443, 0.00257, 8294 0.03194, 0.03254, 8295 0.00282, -0.01401, 8296 0.00422, 1.03169, 8297 -0.00169, -0.00591, 8298 -0.00307, 0.00540, 8299 0.05511, 0.00347, 8300 0.07896, 0.06583, 8301 0.00783, 0.01926, 8302 0.03109, 0.15967, 8303 0.00343, 0.88734, 8304 0.01047, 0.32054, 8305 0.00814, 0.00051, 8306 0.02474, 0.00047, 8307 0.00052, 0.03763, 8308 -57.06618, 20.34614, -45.06541, -115.20465, 8309 136.46887, -84.67046, 92.93308, 160.44644, 8310 -0.00020, -0.00082, 8311 0.02496, 0.00279, 8312 0.00849, 0.00195, 8313 -0.05013, -0.04331, 8314 -0.00136, 0.14491, 8315 -0.00183, -0.00406, 8316 0.01163, 0.00093, 8317 -0.00604, -0.00680, 8318 -0.00036, 0.06861, 8319 -0.00450, -0.00969, 8320 0.00171, 0.00979, 8321 -0.00152, 0.03929, 8322 0.00631, 0.00048, 8323 -0.00709, -0.00864, 8324 1.51002, -0.24657, 1.27338, 2.64699, 8325 -2.40990, -0.57413, 8326 -0.00023, 0.03528, 8327 0.00268, 0.00522, 8328 -0.00010, 0.01933, 8329 -0.00006, 0.01100, 8330 0.06313, -0.09939, 0.08571, 0.03206, 8331 -0.00004, 0.00645 8332 ], 8333 lat_tbl: [ 8334 -23.91858, 31.44154, 25.93273, -67.68643, 8335 -0.00171, 0.00123, 8336 0.00001, -0.00018, 8337 -0.00005, 0.00018, 8338 -0.00001, 0.00019, 8339 0.00733, 0.00030, -0.00038, 0.00011, 8340 0.00181, 0.00120, 8341 0.00010, 0.00002, 8342 -0.00012, 0.00002, 8343 0.00021, 0.00004, 8344 -0.00403, 0.00101, 0.00342, -0.00328, 8345 0.01564, 0.01212, 8346 0.00011, 0.00010, -0.00002, -0.00004, 8347 -0.00524, 0.00079, 8348 0.00011, 0.00002, 8349 -0.00001, 0.00003, 8350 0.00001, 0.00000, 8351 0.00108, 0.00035, 0.00003, 0.00064, 8352 -0.00000, -0.00002, 8353 -0.00069, 0.00031, 8354 0.00020, 0.00003, 8355 0.00768, 0.03697, -0.07906, 0.01673, 8356 -0.00003, -0.00001, 8357 -0.00198, -0.01045, 0.01761, -0.00803, 8358 -0.00751, 0.04199, 8359 0.00280, -0.00213, -0.00482, -0.00209, 8360 -0.01077, 0.00715, 8361 0.00048, -0.00004, 0.00199, 0.00237, 8362 0.00017, -0.00032, 8363 -0.07513, -0.00658, -0.04213, 0.16065, 8364 0.27661, 0.06515, 8365 0.02156, -0.08144, -0.23994, -0.05674, 8366 0.00167, 0.00069, 8367 0.00244, -0.01247, 8368 -0.00100, 0.00036, 8369 0.00240, 0.00012, 8370 0.00010, 0.00018, 8371 0.00208, -0.00098, 8372 -0.00217, 0.00707, 8373 -0.00338, 0.01260, 8374 -0.00127, -0.00039, 8375 -0.03516, -0.00544, -0.01746, 0.08258, 8376 0.10633, 0.02523, 8377 0.00077, -0.00214, 8378 -0.02335, 0.00976, 8379 -0.00019, 0.00003, 8380 0.00041, 0.00039, 8381 0.00199, -0.01098, 8382 0.00813, -0.00853, 8383 0.02230, 0.00349, 8384 -0.02250, 0.08119, 8385 -0.00214, -0.00052, 8386 -0.00220, 0.15216, 0.17152, 0.08051, 8387 -0.01561, 0.27727, 0.25837, 0.07021, 8388 -0.00005, -0.00000, 8389 -0.02692, -0.00047, 8390 -0.00007, -0.00016, 8391 0.01072, 0.01418, 8392 -0.00076, 0.00379, 8393 -0.00807, 0.03463, 8394 -0.05199, 0.06680, 8395 -0.00622, 0.00787, 0.00672, 0.00453, 8396 -10.69951, -67.43445, -183.55956, -37.87932, 8397 -102.30497, -780.40465, 2572.21990, -446.97798, 8398 1665.42632, 5698.61327, -11889.66501, 2814.93799, 8399 0.03204, -0.09479, 8400 0.00014, -0.00001, 8401 -0.04118, -0.04562, 0.03435, -0.05878, 8402 0.01700, 0.02566, 8403 -0.00121, 0.00170, 8404 0.02390, 0.00403, 8405 0.04629, 0.01896, 8406 -0.00521, 0.03215, 8407 -0.01051, 0.00696, 8408 -0.01332, -0.08937, 8409 -0.00469, -0.00751, 8410 0.00016, -0.00035, 8411 0.00492, -0.03930, -0.04742, -0.01013, 8412 0.00065, 0.00021, 8413 -0.00006, 0.00017, 8414 0.06768, -0.01558, 8415 -0.00055, 0.00322, 8416 -0.00287, -0.01656, 8417 0.00061, -0.00041, 8418 0.00030, 0.00047, 8419 -0.01436, -0.00148, 8420 0.30302, -0.05511, 8421 -0.00020, -0.00005, 8422 0.00042, -0.00025, 8423 0.01270, 0.00458, 8424 -0.00593, -0.04480,
8425 0.00005, -0.00008, 8426 0.08457, -0.01569, 8427 0.00062, 0.00018, 8428 9.79942, -2.48836, 4.17423, 6.72044, 8429 -63.33456, 34.63597, 39.11878, -72.89581, 8430 -0.00066, 0.00036, 8431 -0.00045, -0.00062, 8432 -0.00287, -0.00118, 8433 -0.21879, 0.03947, 8434 0.00086, 0.00671, 8435 -0.00113, 0.00122, 8436 -0.00193, -0.00029, 8437 -0.03612, 0.00635, 8438 0.00024, 0.00207, 8439 -0.00273, 0.00443, 8440 -0.00055, 0.00030, 8441 -0.00451, 0.00175, 8442 -0.00110, -0.00015, 8443 -0.02608, 0.00480, 8444 2.16555, -0.70419, 1.74648, 0.97514, 8445 -1.15360, 1.73688, 8446 0.00004, 0.00105, 8447 0.00187, -0.00311, 8448 0.00005, 0.00055, 8449 0.00004, 0.00032, 8450 -0.04629, 0.02292, -0.00363, -0.03807, 8451 0.00002, 0.00020 8452 ], 8453 rad_tbl: [ 8454 -0.24459, 3.72698, -6.67281, 5.24378, 8455 0.00030, 0.00003, 8456 -0.00002, -0.00000, 8457 -0.00000, 0.00001, 8458 0.00032, 0.00021, 8459 -0.00326, 0.01002, 0.00067, 0.00653, 8460 0.00243, -0.00417, 8461 -0.00004, -0.00010, 8462 -0.00002, -0.00001, 8463 0.00004, -0.00002, 8464 -0.00638, -0.01453, 0.01458, -0.01235, 8465 0.00755, 0.01030, 8466 0.00006, 0.00014, 0.00000, 0.00009, 8467 0.00063, 0.00176, 8468 0.00003, -0.00022, 8469 0.00112, 0.00001, 8470 -0.00014, -0.00001, 8471 0.00485, 0.00322, -0.00035, 0.00198, 8472 0.00004, 0.00013, 8473 -0.00015, -0.00003, 8474 0.00011, -0.00025, 8475 0.00634, 0.02207, 0.04620, 0.00160, 8476 0.00045, 0.00001, 8477 -0.11563, 0.00643, -0.05947, 0.02018, 8478 0.07704, 0.01574, 8479 -0.00090, -0.00471, -0.00322, 0.01104, 8480 0.00265, -0.00038, 8481 0.01395, 0.02165, -0.01948, 0.01713, 8482 -0.00057, -0.00019, 8483 0.04889, 0.13403, -0.28327, 0.10597, 8484 -0.02325, -0.35829, 8485 0.01171, -0.00904, 0.00747, 0.02546, 8486 0.00029, -0.00190, 8487 -0.03408, -0.00703, 8488 0.00176, -0.00109, 8489 0.00463, 0.00293, 8490 0.00000, 0.00148, 8491 1.06691, -0.00054, 8492 -0.00935, -0.00790, 8493 0.00552, -0.00084, 8494 -0.00100, 0.00336, 8495 0.02874, 0.08604, -0.17876, 0.05973, 8496 -0.00720, -0.21195, 8497 0.02134, -0.07980, 8498 0.01500, 0.01398, 8499 0.01758, -0.00004, 8500 0.00371, 0.00650, 8501 -0.03375, -0.00723, 8502 4.65465, -0.00040, 8503 0.02040, 0.00707, 8504 -0.00727, -0.01144, 8505 -0.00196, 0.00620, 8506 -0.03396, -0.12904, 0.20160, 0.08092, 8507 -0.67045, 0.14014, -0.01571, -0.75141, 8508 0.00361, 0.00110, 8509 1.42165, -0.01499, 8510 -0.00334, 0.00117, 8511 0.01187, 0.00507, 8512 0.08935, -0.00174, 8513 -0.00211, -0.00525, 8514 0.01035, -0.00252, 8515 -0.08355, -0.06442, 0.01616, -0.03409, 8516 5.55241, -30.62428, 2.03824, -6.26978, 8517 143.07279, -10.24734, -125.25411, -380.85360, 8518 -644.78411, 745.02852, 926.70000, -1045.09820, 8519 -0.03124, -0.00465, 8520 -0.00396, 0.00002, 8521 0.08518, 0.05248, -0.12178, 0.23023, 8522 -0.30943, -0.14208, 8523 -0.00005, -0.01054, 8524 -0.00894, 0.00233, 8525 -0.00173, -0.00768, 8526 0.07881, 0.01633, 8527 -0.04463, -0.03347, 8528 -3.92991, 0.00945, 8529 0.01524, -0.00422, 8530 -0.00011, -0.00005, 8531 0.10842, -0.02126, 0.00349, 0.12097, 8532 -0.03752, 0.00001, 8533 -0.00156, -0.00270, 8534 -0.01520, 0.01349, 8535 0.00895, 0.00186, 8536 -0.67751, 0.00180, 8537 0.00516, -0.00151, 8538 -0.00365, -0.00210, 8539 -0.00276, 0.03793, 8540 -0.02637, 0.03235, 8541 -0.01343, 0.00541, 8542 -0.11270, 0.02169, 8543 -0.63365, 0.00122, 8544 -0.24329, 0.00428, 8545 -0.00040, 0.00586, 8546 0.00581, 0.01112, 8547 -0.02731, 0.00008, 8548 -2.69091, 0.42729, 2.78805, 3.43849, 8549 -0.87998, -6.62373, 0.56882, 4.69370, 8550 0.00005, -0.00008, 8551 -0.00181, 0.01767, 8552 -0.00168, 0.00660, 8553 0.01802, -0.01836, 8554 -0.11245, -0.00061, 8555 0.00199, -0.00070, 8556 -0.00076, 0.00919, 8557 0.00311, -0.00165, 8558 -0.05650, -0.00018, 8559 0.00121, -0.00069, 8560 -0.00803, 0.00146, 8561 -0.03260, -0.00072, 8562 -0.00042, 0.00524, 8563 0.00464, -0.00339, 8564 -0.06203, -0.00278, 0.04145, 0.02871, 8565 -0.01962, -0.01362, 8566 -0.03040, -0.00010, 8567 0.00085, -0.00001, 8568 -0.01712, -0.00006, 8569 -0.00996, -0.00003, 8570 -0.00029, 0.00026, 0.00016, -0.00005, 8571 -0.00594, -0.00003 8572 ], 8573 arg_tbl: [ 8574 0, 3, 8575 2, 2, 5, -5, 6, 0, 8576 3, 2, 2, 1, 3, -8, 4, 0, 8577 3, 5, 1, -14, 2, 2, 3, 0, 8578 3, 3, 2, -7, 3, 4, 4, 0, 8579 2, 8, 2, -13, 3, 2, 8580 3, 6, 2, -10, 3, 3, 5, 0, 8581 1, 1, 7, 0, 8582 2, 1, 5, -2, 6, 0, 8583 2, 1, 2, -3, 4, 2, 8584 2, 2, 5, -4, 6, 1, 8585 1, 1, 6, 0, 8586 3, 3, 2, -5, 3, 1, 5, 0, 8587 3, 3, 2, -5, 3, 2, 5, 0, 8588 2, 1, 5, -1, 6, 0, 8589 2, 2, 2, -6, 4, 1, 8590 2, 2, 5, -3, 6, 0, 8591 1, 2, 6, 0, 8592 2, 3, 5, -5, 6, 0, 8593 1, 1, 5, 1, 8594 2, 2, 5, -2, 6, 0, 8595 2, 3, 2, -5, 3, 2, 8596 2, 5, 2, -8, 3, 1, 8597 1, 2, 5, 0, 8598 2, 2, 1, -5, 2, 1, 8599 2, 6, 2, -10, 3, 0, 8600 2, 2, 2, -3, 3, 2, 8601 2, 1, 2, -2, 3, 1, 8602 2, 4, 2, -7, 3, 0, 8603 2, 4, 2, -6, 3, 0, 8604 1, 1, 4, 0, 8605 2, 1, 2, -2, 4, 0, 8606 2, 2, 2, -5, 4, 0, 8607 2, 1, 2, -1, 3, 0, 8608 2, 1, 1, -3, 2, 0, 8609 2, 2, 2, -4, 3, 0, 8610 2, 6, 2, -9, 3, 0, 8611 2, 3, 2, -4, 3, 2, 8612 2, 1, 1, -2, 2, 0, 8613 1, 1, 3, 0, 8614 2, 1, 2, -1, 4, 0, 8615 2, 2, 2, -4, 4, 0, 8616 2, 5, 2, -7, 3, 0, 8617 2, 2, 2, -2, 3, 0, 8618 2, 1, 2, -3, 5, 0, 8619 2, 1, 2, -3, 3, 0, 8620 2, 7, 2, -10, 3, 0, 8621 2, 1, 2, -2, 5, 1, 8622 2, 4, 2, -5, 3, 1, 8623 3, 1, 2, 1, 5, -5, 6, 0, 8624 2, 1, 2, -1, 5, 0, 8625 3, 1, 2, -3, 5, 5, 6, 0, 8626 2, 1, 2, -2, 6, 0, 8627 2, 1, 2, -1, 6, 0, 8628 1, 3, 4, 0, 8629 2, 7, 2, -13, 3, 0, 8630 3, 1, 2, 2, 5, -5, 6, 1, 8631 1, 1, 2, 5, 8632 2, 9, 2, -13, 3, 0, 8633 3, 1, 2, 1, 5, -2, 6, 0, 8634 2, 2, 2, -3, 4, 2, 8635 2, 3, 2, -6, 4, 0, 8636 2, 1, 2, 1, 5, 0, 8637 2, 2, 2, -5, 3, 0, 8638 2, 6, 2, -8, 3, 0, 8639 2, 2, 1, -4, 2, 0, 8640 2, 3, 2, -3, 3, 0, 8641 1, 2, 3, 0, 8642 2, 3, 2, -7, 3, 0, 8643 2, 5, 2, -6, 3, 1, 8644 2, 2, 2, -2, 4, 0, 8645 2, 3, 2, -5, 4, 0, 8646 2, 2, 2, -1, 3, 0, 8647 2, 7, 2, -9, 3, 0, 8648 2, 4, 2, -4, 3, 0, 8649 2, 1, 2, 1, 3, 0, 8650 2, 3, 2, -4, 4, 0, 8651 2, 6, 2, -7, 3, 0, 8652 2, 3, 2, -2, 3, 0, 8653 2, 2, 2, -4, 5, 0, 8654 2, 2, 2, -3, 5, 0, 8655 2, 2, 2, -2, 5, 0, 8656 2, 5, 2, -5, 3, 0, 8657 2, 2, 2, -3, 6, 0, 8658 2, 2, 2, -1, 5, 0, 8659 2, 2, 2, -2, 6, 0, 8660 1, 2, 2, 3, 8661 2, 2, 2, 1, 5, 0, 8662 2, 7, 2, -8, 3, 0, 8663 2, 2, 1, -3, 2, 0, 8664 2, 4, 2, -3, 3, 0, 8665 2, 6, 2, -6, 3, 0, 8666 2, 3, 2, -1, 3, 0, 8667 2, 8, 2, -9, 3, 0, 8668 2, 5, 2, -4, 3, 0, 8669 2, 7, 2, -7, 3, 0, 8670 2, 4, 2, -2, 3, 0, 8671 2, 3, 2, -4, 5, 0, 8672 2, 3, 2, -3, 5, 0, 8673 2, 9, 2, -10, 3, 0, 8674 2, 3, 2, -2, 5, 0, 8675 1, 3, 2, 2, 8676 2, 8, 2, -8, 3, 0, 8677 2, 5, 2, -3, 3, 0, 8678 2, 9, 2, -9, 3, 0, 8679 2, 10, 2, -10, 3, 0, 8680 1, 4, 2, 1, 8681 2, 11, 2, -11, 3, 0, 8682 -1 8683 ] 8684}; 8685 8686$ns.earth = { 8687 maxargs: 12, 8688 max_harmonic: [2, 11, 14, 19, 6, 10, 2, 2, 0, 1, 1, 4, 0, 0, 0, 0, 0, 0], 8689 max_power_of_t: 3, 8690 distance: 1.0001398729597080e+00,
vendor: 11,688 bytes, lines 8691-9461
8691 timescale: 3.6525000000000000e+06, 8692 trunclvl: 1.0000000000000000e-04, 8693 lon_tbl: [ 8694 -242809, -178223, -6154, -6547, 8695 15526, -79460, 66185, -19531, 8696 -12754, 4389, 3153, -1151, 8697 768, 1750, 8698 -248, 657, -80, 0, 8699 -4, -29, 8700 -3020, 301, -360, 412, 8701 -1463, 2266, 8702 -41, 30, 8703 -39868, -14275, -25052, 1583, 8704 15695, 10018, 8705 -113, -122, 8706 -243, 18, -33, 31, 8707 -134, -171, 243, -115, 8708 18, 148, 8709 -120, -129, 19, -220, 8710 -30, 19, 8711 8, 23, 8712 -162, -124, 189, -315, 8713 73, 77, 8714 32006, -11295, 11595, 5629, 8715 -838, 1728, 8716 0, 4, 8717 38, 15, 8718 142, -228, 92, 32, 8719 -2274, -1500, -2277, 3143, 8720 3204, 127, 8721 -20, -11, 8722 5186, 1054, 996, 1769, 8723 -231, 163, 8724 -88, -19, 8725 -2, -145, 8726 -27, 48, 8727 -8, 421, 8728 -7, 148, 8729 -16, -2, 8730 -3964, 4259, -11192, -8385, 8731 11513, -13415, 8732 103, -43, 8733 -289, -79, -29, 163, 8734 -117, 559, -190, -15, 8735 7108, 5345, 12933, -7709, 8736 3485, -26023, 8737 11, -5, 8738 311, 78, 22, 76, 8739 2846, -3922, 2329, 43, 8740 34, 442, 8741 3, -245, 8742 -5, -3, 8743 -17, 5, 8744 318, 15963, 2520, 7115, 8745 2548, -9836, 8746 -7063, 1950, -4471, -8326, 8747 4964, -3101, 8748 563, -80, -1444, -472, 8749 8, -22, 8750 1558, -88, 235, 359, 8751 293, -16, 144, 209, 8752 -13, -7, 8753 812, -744, 150, -740, 8754 -2569, -956, 69, -2475, 8755 1009, -55, 8756 -1707, -2525, 1071, -1761, 8757 550, 279, 8758 -14, 36, 8759 -10442, 3344, -6759, -21551, 8760 24737, -434, 8761 504, -385, 191, 96, 8762 -2760, -1068, 85, -2617, 8763 1062, -43, 8764 192, -16, 30, 42, 8765 -2446, 588, -1522, -2933, 8766 1746, -1070, 8767 511, -1401, 139, 729, 8768 -12, 29, 8769 -2618, -2076, 2079, -3711, 8770 -21, -2727, 8771 -80, -19, 8772 113, 2420, 325, 1058, 8773 379, -1478, 8774 296, -251, -265, -409, 8775 -10, 20, 8776 15, -15, 8777 11, 143, -83, 19, 8778 266, -17, 40, 59, 8779 19, -105, 5, 48331, 8780 21, -16, 8781 -97, -318, 158, -171, 8782 456, -351, 168, 85, 8783 12, -2, 8784 20, -15, 8785 15, 2, 8786 385, -1125, 521, -23, 8787 -815, -2088, 1644, -1329, 8788 7, 14, 8789 -582, 234, -67, -467, 8790 -167, -51, 8791 -684, -2302, 1315, -797, 8792 6, -70, 8793 -118, -406, 67, -63, 8794 -4848, 3713, -8483, -8776, 8795 13049, -9404, 8796 -23, 34, 8797 -12, 1, 8798 -24, -10, 8799 -21, 0, 8800 -1, 24, 8801 -3, 28, 8802 -3032, -2494, 2498, -4342, 8803 -6538, 1899, -4414, -13249, 8804 15540, -292, 8805 -228, 176, -40, -161, 8806 -20, -36, 8807 -800, -172, -36, -208, 8808 -249, -374, -1410, -72118, 8809 -745, 213, -23, 196, 8810 -14, -2, 8811 -239, -341, 1015, -291, 8812 33, -94, 90, -20431, 8813 4, -39, 8814 75, 216, -23, 41, 8815 116, 24, 5, 26, 8816 -45, -4178, 8817 -9, -23, 8818 12, 18, 8819 68, -2, 8820 36, -19, 8821 42, -8, 8822 6, -106, 8823 4, -38, 8824 -73, 259, 107, -293, 8825 -12, -44, 37, 13, 8826 73, -46, 17, 8, 8827 5832, 1989, -1404, 4469, 8828 -1619, -743, 8829 -1796, -2206, 461, -291, 8830 153, 1104, 8831 19195, 652503, 5587, -5252787, 8832 47, -17340051, -32, 68926621, 8833 1054, -230, -1601, 356, 8834 -562, -998, 8835 124, -446, -171, 66, 8836 26, 60, 8837 -7, 0, 8838 -88, -43, 65, -400, 8839 4, 183, 8840 -1014, 2043, -1076, 126, 8841 -41, -205, 8842 -127, -85, -15, 68, 8843 0, 0, 8844 -320, 75, -42, 285, 8845 -303, 771, 616, 400, 8846 -470, 48, -76, -103, 8847 -190, -11, 8848 -139, -5, -48, -87, 8849 -22, -362, -271, 1233, 8850 -392, 353, -154, -71, 8851 -109, 112, 8852 17, 8, 8853 1, -17, 8854 -170, 623, -279, 21, 8855 139, -151, -107, -55199, 8856 588, -188, 397, 674, 8857 -406, 269, 8858 166, -207, 585, 333, 8859 -386, 754, 8860 29, -65, 8861 35, 10, 8862 63, 1291, 8863 62, 8, 8864 239, 1323, -1434, 53, 8865 19, -1, 8866 34, 82, 8867 -15, -16, 8868 265, -338, -729, -207, 8869 3, 17, 8870 697, 399, 274, 760, 8871 -12, 2, 8872 -48, -9, 8873 3, 64, 8874 147, 36, 9, 46, 8875 77, 144, -76, 65, 8876 2329, 1763, 987, 5506, 8877 66, -123, -41, -24, 8878 -12, 1, 8879 -19, 94, 8880 19, 8, 8881 -1, -18, 8882 142, 77, -78, 187, 8883 6, 18, 8884 607, 163, 17, 158, 8885 27, -208, 154, 27317, 8886 587, -143, 22, -153, 8887 5, -34, 8888 75, 330, 8889 98, -128, -67, -6542, 8890 -115, -236, 217, -12, 8891 10, -6, 8892 -250, 653, 1611, -209, 8893 4, 1072, 8894 -129, 216, 402, 81, 8895 117, 11, 8896 0, 20, 8897 24, -28, 8898 245, 437, -16, 59, 8899 527952, -74895, 169682, 177186, 8900 -376, -362869, -60, 719658, 8901 -151, -382, -22, -43, 8902 5, -5, 8903 14, 5, 8904 -9, 13, 8905 83, 296, -369, -1, 8906 -14, -6, 8907 42, 8, 8908 -31, 7, 8909 -354, 634, 1132, 243, 8910 -38, 42, 8911 -14, 68, 8912 -6, 31, 8913 -36, -13, 8914 7, -2104, 8915 16, 67, 8916 9, -4, 8917 174, 144, 58, 438, 8918 -15, 5, 8919 -16, 19, 8920 -135, 1642, 8921 -140, -11, 8922 -4, 27, 8923 253, -382, -651, -221, 8924 11, 1, 8925 -12, -6, 8926 136, 23, 8927 -1, 43, 8928 3, 38, 8929 -26, -5, 8930 17864, -4244, 5704, 7754, 8931 -36, -7891, -3, 10418, 8932 2, -844, 8933 -1, 126, 8934 -7, 32, 8935 -67, -5, 8936 39, 10, 8937 5, 52, 8938 -13, 159, 8939 -49, -21, 8940 1, -394, 8941 7, -15, 8942 -4, -245, 1, 172, 8943 -36, -3, 8944 13, 5, 8945 0, 1, 8946 -1, 0, 0, -202, 8947 -2, 19, 8948 -20, -2, 8949 5, 3, 8950 0, -110, 8951 -12, -1, 8952 0, -62, 8953 0, -36, 8954 0, -22, 8955 -13, 3 8956 ], 8957 lat_tbl: [ 8958 -428091, -488399, 746850, 6, 8959 210, -93, 32, 1, 8960 -365, 332, -105, 76, 8961 -7, 2, 8962 -8, 14, -1, 2, 8963 0, 0, 8964 -65, 12, -17, 7, 8965 -1, 1, 8966 0, 0, 8967 -15, 65, -4, 26, 8968 -2, 0, 8969 0, 0, 8970 0, 2, 0, 0, 8971 2, 2, 0, 0, 8972 0, 0, 8973 -1, -3, 0, 0, 8974 0, 0, 8975 0, 0, 8976 -2, 0, 0, 0, 8977 -1, 0, 8978 -30, 28, -6, 10, 8979 0, 0, 8980 0, 0, 8981 0, 0, 8982 2, 0, 0, 0, 8983 -16, 20, -6, -41, 8984 -9, -3, 8985 0, 0, 8986 -6, 2, 2, 0, 8987 0, 0, 8988 0, 0, 8989 0, 0, 8990 0, 0, 8991 0, 0, 8992 0, 0, 8993 0, 0, 8994 -96, 33, -12, 228, 8995 -23, -21, 8996 0, 0, 8997 -12, -2, -4, 4, 8998 -1, 0, 1, 0, 8999 -329, -22, -34, -726, 9000 -147, -21, 9001 0, 0, 9002 -2, 4, -1, 0, 9003 2, -7, 0, 1, 9004 0, 0, 9005 0, 0, 9006 0, 0, 9007 0, 0, 9008 36, 88, -162, -19, 9009 -11, 21, 9010 31, 37, -31, 53, 9011 -5, -15, 9012 -3, -11, 9, 3, 9013 0, 0, 9014 -2, 0, 1, 0, 9015 2, -1, 0, 0, 9016 0, 0, 9017 -162, -102, -37, 30, 9018 19, 23, -18, 9, 9019 1, -6, 9020 -6, 22, -2, 3, 9021 1, -2, 9022 0, -1, 9023 26, -25, 66, 52, 9024 -641, -153, 9025 -13, -9, 2, -3, 9026 -29, 8, -6, -2, 9027 0, -6, 9028 2, -4, 1, 0, 9029 -26, -11, -1, -10, 9030 -6, -13, 9031 66, -1337, -879, -207, 9032 1, -1, 9033 8, -30, -24, -18, 9034 -16, 1, 9035 9, 1, 9036 -24, -8, 9, -17, 9037 -13, 75, 9038 19, -8, -29, 24, 9039 0, 0, 9040 -1, 1, 9041 -25, 36, -7, -22, 9042 0, -3, 1, -1, 9043 187, -46, -6, 74, 9044 5, -10, 9045 -5, -4, -16, 10, 9046 -5, -5, 2, -4, 9047 5, -2, 9048 -2, 1, 9049 -1, 0, 9050 -16, -12, 1, -13, 9051 -17, -111, -186, 73, 9052 -1, -2, 9053 -277, -77, -27, 106, 9054 16, 5, 9055 -12, -15, -13, -30, 9056 -1, 1, 9057 0, 36, -10, 4, 9058 607, 262, 533, -1530, 9059 -1630, 304, 9060 8, -6, 9061 1, 1, 9062 0, -1, 9063 5, -2, 9064 0, -1, 9065 -1, -4, 9066 -44, -22, -64, -46, 9067 537, 430, 268, -1553, 9068 -2040, -486, 9069 -3, -23, 20, 41, 9070 -1, 2, 9071 -21, -4, -1, -3, 9072 -84, 50, -177, 26, 9073 5, -12, 2, -4, 9074 7, 1, 9075 -115, -305, -310, 138, 9076 -186, 246, -96, 17, 9077 0, 0, 9078 4, -2, 1, 1, 9079 -3, 2, -1, 0, 9080 -15, 68, 9081 0, 2, 9082 -3, 0, 9083 -5, 0, 9084 -1, 1, 9085 -5, 6, 9086 0, 0, 9087 0, 0, 9088 -235, -98, -2, 2, 9089 9, -40, -1, -2, 9090 -33, -9, -5, -4, 9091 5662, -3849, 1941, -124, 9092 210, 160, 9093 -24721, -72945, 4099, -21914, 9094 1345, -555, 9095 23637393, -5516830, 17737677, 43330654, 9096 -44668315, 14540723, -824, -2086, 9097 -4423, -41801, 5562, -11664, 9098 960, -125, 9099 2001, -149, 587, -350, 9100 23, -52, 9101 -3, 3, 9102 -248, -148, -40, 86, 9103 2, 0, 9104 21, -82, 11, 8, 9105 -8, 0, 9106 -30, -33, -22, 46, 9107 0, -191, 9108 -168, -135, 27, -85, 9109 14, 232, 217, 59, 9110 5, 12, -5, 2, 9111 -24, -26, 9112 -52, 13, -3, 18, 9113 26, 45, 32, -169, 9114 14, -6, -3, 4, 9115 -5, 2, 9116 6, 2, 9117 -2, 3, 9118 20, -15, 0, 10, 9119 -486, -8, 4, -114, 9120 102, -188, 23, -67, 9121 6, 12, 9122 -43, -1, -32, 2, 9123 15, 9, 9124 16, -36, 9125 -6, -2, 9126 14, -5, 9127 17, -15, 9128 -28, 307, 289, 69, 9129 2, -7, 9130 3, -1, 9131 -1, 1, 9132 -16, -811, 287, -68, 9133 0, 0, 9134 0, -1, 16, -7, 9135 0, 0, 9136 0, 2, 9137 0, 0, 9138 0, -1, 1, 0, 9139 -3, -4, 2, 3, 9140 -29, 34, 59, -15, 9141 -3, -3, -1, 0, 9142 -2, -3, 9143 3, -19, 9144 0, 0, 9145 0, 0, 9146 -15, 1, 5, 2, 9147 0, 0, 9148 -1, -5, 0, -1, 9149 -120, 84, 7, -30, 9150 -7, -3, -1, 0, 9151 0, -1, 9152 9, -6, 9153 -186, -11, 13, -57, 9154 1, 4, 1, -1, 9155 0, 0, 9156 -5, 796, 46, 5, 9157 -1, -6, 9158 -10, 228, 5, -6, 9159 1, -5, 9160 0, 0, 9161 -6, -2, 9162 148, 137, 10, 28, 9163 430546, -279834, 488902, 664558, 9164 -746515, 243112, -39, -37, 9165 -13, -174, 6, -25, 9166 2, -3, 9167 -4, -2, 9168 0, 4, 9169 -5, 70, 82, 20, 9170 0, 1, 9171 1, 1, 9172 0, 1, 9173 -27, 430, 226, -53, 9174 1, 1, 9175 0, 1, 9176 1, -7, 9177 2, 1, 9178 -3, -8, 9179 1, 0, 9180 -1, 12, 9181 -2, -5, 4, 0, 9182 0, 1, 9183 1, 1, 9184 1, 9, 9185 33, 4, 9186 0, 0, 9187 0, -321, 4, 1, 9188 0, 0, 9189 1, 0, 9190 106, -22, 9191 0, 0, 9192 4, 0, 9193 0, 2, 9194 7006, -9443, 12833, 11137, 9195 -14037, 4575, -2, 0, 9196 -1, -6, 9197 1, 1, 9198 4, 6, 9199 16, 2, 9200 55, -10, 9201 1, 0, 9202 0, 1, 9203 0, 2, 9204 0, -4, 9205 -2, 0, 9206 -351, 24, 0, 0, 9207 8, 1, 9208 30, -5, 9209 -12, 10, 9210 -4, 1, -1, -2, 9211 0, 0, 9212 4, 0, 9213 17, -3, 9214 0, -2, 9215 2, 0, 9216 0, -1, 9217 0, -1, 9218 0, 0, 9219 0, 0 9220 ], 9221 rad_tbl: [ 9222 14575, -26192, -144864, 2, 9223 -22, 15, -8, -21, 9224 -148, -104, -14, -75, 9225 15, 2, 9226 -5, -3, -1, 0, 9227 0, 0, 9228 0, 21, -2, 7, 9229 -5, -3, 9230 0, 0, 9231 83, -94, 9, -67, 9232 -29, 50, 9233 1, -1, 9234 3, 2, 0, 0, 9235 4, 3, 1, 1, 9236 -1, -1, 9237 0, -1, 2, -1, 9238 0, 1, 9239 0, 0, 9240 -2, 3, -5, -2, 9241 -1, 1, 9242 197, 511, -82, 189, 9243 -28, -12, 9244 0, 0, 9245 0, -1, 9246 6, -1, 0, 1, 9247 30, -30, -37, -25, 9248 6, 21, 9249 0, 0, 9250 16, -139, 43, -28, 9251 4, 6, 9252 0, 3, 9253 4, 0, 9254 1, 1, 9255 -13, 0, 9256 -4, 0, 9257 0, 1, 9258 150, 135, -291, 436, 9259 -560, -343, 9260 1, 3, 9261 8, -15, -13, -5, 9262 -17, -3, 1, -6, 9263 -314, 428, 606, 758, 9264 1230, -411, 9265 0, -1, 9266 11, -14, 4, 1, 9267 221, 157, 1, 132, 9268 -25, 3, 9269 12, 0, 9270 0, 0, 9271 0, -1, 9272 1487, -108, 707, -79, 9273 -950, -190, 9274 177, 582, -676, 399, 9275 -281, -396, 9276 0, 52, 39, -130, 9277 2, 1, 9278 12, 148, -34, 23, 9279 1, 27, -20, 13, 9280 1, -1, 9281 198, -34, -21, -80, 9282 -99, 332, -307, 9, 9283 -15, -125, 9284 330, -231, 236, 139, 9285 -36, 74, 9286 7, 3, 9287 -588, -1722, 3623, -1245, 9288 187, 4366, 9289 -72, -75, 11, -33, 9290 174, -467, 444, 9, 9291 11, 180, 9292 -6, -39, 8, -7, 9293 -126, -500, 599, -317, 9294 224, 355, 9295 -590, -39, 134, -379, 9296 -7, -3, 9297 494, -628, 893, 490, 9298 712, -7, 9299 -7, 35, 9300 -720, 50, -321, 72, 9301 443, 106, 9302 74, 82, 112, -84, 9303 -6, -3, 9304 5, 4, 9305 58, 7, -2, 38, 9306 6, 92, -20, 14, 9307 33, 13, -11189, -2, 9308 -11, -8, 9309 106, -35, 58, 52, 9310 132, 170, -32, 63, 9311 -2, -6, 9312 6, 7, 9313 -1, 6, 9314 452, 155, 9, 209, 9315 788, -318, 511, 616, 9316 -5, 3, 9317 142, 303, -280, 32, 9318 21, -69, 9319 984, -291, 340, 562, 9320 30, 2, 9321 171, -51, 27, 28, 9322 -1570, -2053, 3702, -3593, 9323 4012, 5467, 9324 -14, -9, 9325 -1, -6, 9326 4, -11, 9327 0, -9, 9328 -11, 0, 9329 15, 2, 9330 1133, -1366, 1961, 1134, 9331 -867, -3010, 6041, -2049, 9332 142, 7138, 9333 -79, -103, 73, -18, 9334 17, -9, 9335 79, -372, 97, -17, 9336 182, -118, 33577, -675, 9337 -99, -347, -91, -11, 9338 1, -7, 9339 158, -111, 136, 474, 9340 50, 16, 9739, 51, 9341 19, 2, 9342 -105, 36, -20, -11, 9343 -12, 56, -13, 2, 9344 2030, -22, 9345 11, -4, 9346 9, -6, 9347 1, 33, 9348 10, 18, 9349 4, 21, 9350 53, 3, 9351 19, 2, 9352 130, 37, -147, -54, 9353 -22, 6, 7, -19, 9354 22, 36, -4, 8, 9355 -949, 2911, -2221, -697, 9356 371, -808, 9357 1203, -1117, 191, 189, 9358 -549, 77, 9359 -321201, 19788, 2622593, 5990, 9360 8667033, 114, -34455835, 86, 9361 -92, -493, 179, 807, 9362 -499, 281, 9363 225, 51, -34, -88, 9364 -30, 13, 9365 0, -3, 9366 20, -43, 201, 33, 9367 -93, 2, 9368 -1034, -518, -63, -545, 9369 104, -20, 9370 43, -64, -34, -7, 9371 0, 0, 9372 -61, -159, -143, -8, 9373 -392, -157, -204, 309, 9374 -24, -248, 55, -40, 9375 -6, 91, 9376 -16, 57, -41, 18, 9377 197, -20, -668, -150, 9378 -192, -216, 39, -84, 9379 -62, -59, 9380 -4, 8, 9381 -7, -1, 9382 -352, -100, -10, -158, 9383 61, 55, 32493, -49, 9384 107, 344, -395, 227, 9385 -154, -238, 9386 123, 104, -205, 348, 9387 -449, -236, 9388 -54, -19, 9389 -6, 21, 9390 -790, 27, 9391 -5, 30, 9392 -846, 154, -26, -920, 9393 0, 12, 9394 -54, 21, 9395 11, -10, 9396 137, 132, 109, -337, 9397 -11, 2, 9398 -272, 467, -511, 179, 9399 -1, -8, 9400 7, -32, 9401 -44, 2, 9402 -26, 101, -32, 6, 9403 -98, 48, -42, -53, 9404 -1222, 1601, -3775, 656, 9405 83, 46, 16, -28, 9406 0, 7, 9407 -66, -14, 9408 -6, 13, 9409 12, 0, 9410 -58, 91, -123, -58, 9411 -12, 4, 9412 -114, 423, -111, 12, 9413 112, 27, -19072, 71, 9414 100, 410, 107, 15, 9415 24, 3, 9416 -214, 30, 9417 49, 44, 5017, -27, 9418 167, -80, 8, 153, 9419 4, 7, 9420 -219, -35, 244, 694, 9421 -762, 2, 9422 -84, -49, -28, 158, 9423 -4, 56, 9424 -14, 0, 9425 9, 12, 9426 7, 18, 2, -7, 9427 -15426, 91, 25800, -15, 9428 144767, -53, -287824, -24, 9429 19, -9, 6, 7, 9430 0, 0, 9431 -3, 8, 9432 -5, -3, 9433 -232, 53, -1, -271, 9434 4, -12, 9435 -8, 30, 9436 -8, -25, 9437 -253, -150, -105, 470, 9438 -37, -29, 9439 -59, -6, 9440 -24, -5, 9441 9, -18, 9442 1784, 3, 9443 -54, 13, 9444 -12, 7, 9445 -116, 144, -353, 52, 9446 -4, -12, 9447 -17, -14, 9448 -1340, -64, 9449 10, -116, 9450 -24, -2, 9451 190, 131, 130, -307, 9452 -1, 9, 9453 5, -7, 9454 -10, 56, 9455 -33, 0, 9456 -14, 3, 9457 2, -12, 9458 -635, -160, 64, -44, 9459 2712, -3, -3606, -1, 9460 774, 1, 9461 133, -1,
9462 -19, 0, 9463 5, -59, 9464 -5, 14, 9465 -45, 5, 9466 -140, -8, 9467 15, -28, 9468 379, 1, 9469 6, 3, 9470 55, 0, -54, 0, 9471 3, -33, 9472 -3, 4, 9473 0, -4, 9474 0, -1, 200, 0, 9475 -17, -1, 9476 2, -20, 9477 -2, 0, 9478 111, 0, 9479 1, -12, 9480 64, 0, 9481 38, 0, 9482 23, 0, 9483 3, 13 9484 ], 9485 arg_tbl: [ 9486 0, 3, 9487 3, 4, 3, -8, 4, 3, 5, 1, 9488 2, 2, 5, -5, 6, 2, 9489 4, 4, 3, -8, 4, 5, 5, -5, 6, 1, 9490 3, 2, 2, 1, 3, -8, 4, 0, 9491 3, 3, 2, -7, 3, 4, 4, 2, 9492 3, 7, 3,-13, 4, -1, 5, 0, 9493 2, 8, 2,-13, 3, 2, 9494 3, 1, 3, -2, 4, 2, 6, 0, 9495 3, 1, 2, -8, 3, 12, 4, 1, 9496 3, 6, 2,-10, 3, 3, 5, 1, 9497 1, 1, 7, 0, 9498 2, 1, 5, -2, 6, 1, 9499 2, 1, 5, -3, 6, 0, 9500 3, 1, 3, -2, 4, 1, 5, 0, 9501 3, 3, 3, -6, 4, 2, 5, 1, 9502 3, 1, 1, -5, 2, 4, 3, 0, 9503 2, 8, 3,-15, 4, 2, 9504 3, 4, 3, -7, 4, -3, 5, 0, 9505 3, 2, 2, -7, 3, 7, 4, 0, 9506 2, 2, 5, -4, 6, 1, 9507 1, 1, 6, 2, 9508 2, 2, 5, -6, 6, 0, 9509 2, 9, 3,-17, 4, 2, 9510 3, 3, 2, -5, 3, 1, 5, 0, 9511 3, 2, 3, -4, 4, 2, 5, 0, 9512 3, 2, 3, -4, 4, 1, 5, 0, 9513 3, 3, 2, -5, 3, 2, 5, 0, 9514 2, 1, 5, -1, 6, 0, 9515 3, 3, 2, -6, 3, 2, 4, 0, 9516 2, 1, 3, -2, 4, 2, 9517 2, 2, 5, -3, 6, 0, 9518 1, 2, 6, 1, 9519 2, 3, 5, -5, 6, 1, 9520 1, 1, 5, 2, 9521 3, 4, 3, -8, 4, 2, 5, 0, 9522 2, 1, 5, -5, 6, 1, 9523 2, 7, 3,-13, 4, 2, 9524 2, 2, 5, -2, 6, 0, 9525 2, 10, 3,-19, 4, 0, 9526 2, 3, 5, -4, 6, 0, 9527 2, 3, 2, -5, 3, 2, 9528 2, 2, 3, -4, 4, 2, 9529 2, 5, 2, -8, 3, 1, 9530 2, 3, 5, -3, 6, 0, 9531 2, 6, 3,-11, 4, 1, 9532 2, 1, 1, -4, 3, 1, 9533 2, 4, 5, -5, 6, 0, 9534 1, 2, 5, 1, 9535 2, 3, 3, -6, 4, 2, 9536 2, 5, 3, -9, 4, 2, 9537 2, 6, 2,-10, 3, 0, 9538 2, 2, 2, -3, 3, 2, 9539 2, 4, 3, -8, 4, 1, 9540 2, 4, 3, -7, 4, 2, 9541 2, 5, 3,-10, 4, 1, 9542 2, 3, 3, -5, 4, 2, 9543 2, 1, 2, -2, 3, 1, 9544 2, 7, 2,-11, 3, 0, 9545 2, 2, 3, -3, 4, 1, 9546 2, 1, 3, -1, 4, 0, 9547 2, 4, 2, -7, 3, 0, 9548 2, 4, 2, -6, 3, 2, 9549 1, 1, 4, 1, 9550 2, 8, 3,-14, 4, 0, 9551 2, 1, 3, -5, 5, 0, 9552 2, 1, 3, -3, 4, 1, 9553 2, 7, 3,-12, 4, 1, 9554 2, 1, 2, -1, 3, 1, 9555 2, 2, 3, -5, 4, 0, 9556 2, 1, 3, -4, 5, 1, 9557 2, 6, 3,-10, 4, 1, 9558 2, 3, 3, -7, 4, 0, 9559 3, 1, 3, -4, 5, 2, 6, 0, 9560 3, 1, 3, -1, 5, -5, 6, 0, 9561 2, 5, 3, -8, 4, 1, 9562 2, 1, 3, -3, 5, 1, 9563 3, 1, 3, -5, 5, 5, 6, 0, 9564 2, 2, 2, -4, 3, 1, 9565 2, 6, 2, -9, 3, 0, 9566 2, 4, 3, -6, 4, 1, 9567 3, 1, 3, -3, 5, 2, 6, 0, 9568 2, 1, 3, -5, 6, 1, 9569 2, 1, 3, -2, 5, 2, 9570 3, 1, 3, -4, 5, 5, 6, 0, 9571 3, 1, 3, -1, 5, -2, 6, 0, 9572 3, 1, 3, -3, 5, 3, 6, 0, 9573 2, 1, 3, -4, 6, 0, 9574 3, 1, 3, -2, 5, 1, 6, 0, 9575 2, 5, 2, -9, 3, 0, 9576 2, 3, 3, -4, 4, 1, 9577 2, 3, 2, -4, 3, 2, 9578 2, 1, 3, -3, 6, 1, 9579 3, 1, 3, -2, 5, 2, 6, 0, 9580 3, 1, 3, 1, 5, -5, 6, 1, 9581 2, 1, 3, -1, 5, 1, 9582 3, 1, 3, -3, 5, 5, 6, 1, 9583 3, 1, 3, 2, 5, -7, 6, 0, 9584 2, 1, 3, -2, 6, 1, 9585 2, 2, 3, -2, 4, 1, 9586 3, 3, 2, -4, 3, 1, 5, 0, 9587 2, 10, 3,-17, 4, 1, 9588 3, 1, 3, 2, 5, -6, 6, 1, 9589 2, 1, 3, -1, 6, 0, 9590 3, 1, 3, -2, 5, 4, 6, 0, 9591 2, 7, 3,-15, 4, 0, 9592 2, 1, 3, -2, 7, 0, 9593 3, 1, 3, 1, 5, -3, 6, 0, 9594 2, 1, 3, -2, 8, 0, 9595 2, 1, 3, -1, 7, 0, 9596 2, 1, 3, -1, 8, 0, 9597 2, 8, 2,-14, 3, 1, 9598 3, 3, 2, -8, 3, 4, 4, 1, 9599 3, 1, 3, 4, 5,-10, 6, 1, 9600 3, 1, 3, 2, 5, -5, 6, 2, 9601 3, 5, 3, -8, 4, 3, 5, 2, 9602 1, 1, 12, 3, 9603 3, 3, 3, -8, 4, 3, 5, 2, 9604 3, 1, 3, -2, 5, 5, 6, 2, 9605 3, 3, 2, -6, 3, 4, 4, 0, 9606 2, 8, 2,-12, 3, 1, 9607 3, 1, 3, 1, 5, -2, 6, 0, 9608 2, 9, 3,-15, 4, 2, 9609 2, 1, 3, 1, 6, 1, 9610 2, 1, 10, -1, 11, 0, 9611 1, 2, 4, 1, 9612 2, 1, 3, 1, 5, 1, 9613 2, 8, 3,-13, 4, 1, 9614 2, 3, 2, -6, 3, 0, 9615 2, 1, 3, -4, 4, 1, 9616 2, 5, 2, -7, 3, 1, 9617 2, 7, 3,-11, 4, 1, 9618 2, 1, 1, -3, 3, 0, 9619 2, 1, 3, 2, 5, 0, 9620 2, 2, 3, -6, 4, 0, 9621 2, 6, 3, -9, 4, 1, 9622 2, 2, 2, -2, 3, 1, 9623 2, 5, 3, -7, 4, 2, 9624 2, 4, 3, -5, 4, 2, 9625 2, 1, 2, -3, 3, 0, 9626 2, 7, 2,-10, 3, 0, 9627 2, 3, 3, -3, 4, 0, 9628 2, 2, 3, -1, 4, 0, 9629 2, 4, 2, -5, 3, 1, 9630 2, 1, 3, 1, 4, 0, 9631 2, 2, 3, -5, 5, 0, 9632 2, 8, 3,-12, 4, 0, 9633 1, 1, 2, 1, 9634 3, 2, 3, -5, 5, 2, 6, 0, 9635 2, 2, 3, -4, 5, 1, 9636 3, 2, 3, -6, 5, 5, 6, 0, 9637 2, 7, 3,-10, 4, 0, 9638 3, 2, 3, -4, 5, 2, 6, 0, 9639 3, 2, 3, -1, 5, -5, 6, 1, 9640 2, 6, 3, -8, 4, 1, 9641 2, 2, 3, -3, 5, 1, 9642 3, 2, 3, -5, 5, 5, 6, 1, 9643 2, 2, 2, -5, 3, 0, 9644 2, 6, 2, -8, 3, 0, 9645 3, 2, 3, -4, 5, 3, 6, 0, 9646 3, 2, 3, -3, 5, 1, 6, 0, 9647 2, 5, 3, -6, 4, 1, 9648 3, 2, 3, -3, 5, 2, 6, 0, 9649 2, 2, 3, -5, 6, 1, 9650 2, 2, 3, -2, 5, 1, 9651 3, 2, 3, -4, 5, 5, 6, 1, 9652 2, 2, 3, -4, 6, 0, 9653 2, 4, 3, -4, 4, 0, 9654 2, 3, 2, -3, 3, 1, 9655 2, 2, 3, -3, 6, 1, 9656 3, 2, 3, -2, 5, 2, 6, 0, 9657 2, 2, 3, -1, 5, 1, 9658 2, 2, 3, -2, 6, 0, 9659 2, 3, 3, -2, 4, 1, 9660 2, 2, 3, -1, 6, 0, 9661 2, 2, 3, -2, 7, 0, 9662 3, 2, 3, 2, 5, -5, 6, 0, 9663 3, 6, 3, -8, 4, 3, 5, 1, 9664 1, 2, 12, 3, 9665 3, 2, 3, -8, 4, 3, 5, 1, 9666 3, 2, 3, -2, 5, 5, 6, 0, 9667 2, 8, 2,-11, 3, 0, 9668 2, 2, 3, 1, 5, 0, 9669 2, 5, 2, -6, 3, 1, 9670 2, 8, 3,-11, 4, 0, 9671 2, 1, 1, -2, 3, 0, 9672 2, 7, 3, -9, 4, 0, 9673 2, 2, 2, -1, 3, 1, 9674 2, 6, 3, -7, 4, 0, 9675 2, 5, 3, -5, 4, 0, 9676 2, 7, 2, -9, 3, 0, 9677 2, 4, 3, -3, 4, 0, 9678 2, 4, 2, -4, 3, 0, 9679 2, 3, 3, -5, 5, 0, 9680 2, 1, 2, 1, 3, 0, 9681 2, 3, 3, -4, 5, 1, 9682 2, 8, 3,-10, 4, 0, 9683 2, 7, 3, -8, 4, 0, 9684 2, 3, 3, -3, 5, 0, 9685 2, 6, 2, -7, 3, 0, 9686 2, 6, 3, -6, 4, 0, 9687 2, 3, 3, -2, 5, 1, 9688 2, 3, 3, -4, 6, 0, 9689 2, 5, 3, -4, 4, 0, 9690 2, 3, 2, -2, 3, 0, 9691 2, 3, 3, -3, 6, 0, 9692 2, 3, 3, -1, 5, 0, 9693 2, 3, 3, -2, 6, 0, 9694 1, 3, 12, 3, 9695 2, 5, 2, -5, 3, 0, 9696 2, 1, 1, -1, 3, 0, 9697 1, 2, 2, 0, 9698 2, 7, 2, -8, 3, 0, 9699 2, 4, 2, -3, 3, 0, 9700 2, 4, 3, -5, 5, 0, 9701 2, 4, 3, -4, 5, 0, 9702 2, 4, 3, -3, 5, 0, 9703 2, 6, 2, -6, 3, 0, 9704 2, 4, 3, -2, 5, 0, 9705 1, 4, 12, 1, 9706 2, 8, 2, -9, 3, 0, 9707 2, 5, 2, -4, 3, 0, 9708 1, 1, 1, 0, 9709 2, 7, 2, -7, 3, 1, 9710 2, 5, 3, -5, 5, 0, 9711 2, 9, 2,-10, 3, 0, 9712 2, 6, 2, -5, 3, 0, 9713 2, 8, 2, -8, 3, 0, 9714 2, 10, 2,-11, 3, 0, 9715 2, 9, 2, -9, 3, 0, 9716 2, 10, 2,-10, 3, 0, 9717 2, 11, 2,-11, 3, 0, 9718 2, 2, 1, -1, 3, 0, 9719 -1 9720 ] 9721}; 9722 9723$ns.moonlr = { 9724 maxargs: 14, 9725 max_harmonic: [3, 26, 29, 23, 5, 10, 0, 0, 0, 8, 4, 4, 6, 2, 0, 0, 0, 0], 9726 max_power_of_t: 3, 9727 distance: 2.5735686895300000e-03, 9728 timescale: 3.6525000000000000e+06, 9729 trunclvl: 1.0000000000000000e-04, 9730 lon_tbl: [ 175667, 66453, 5249, -42, 9731 20057, 403, -2360, 6148, 9732 -7644, 24646, -1273, 9127, 9733 -1395, 1958, 9734 232, -289, 9735 -97, 553, 69, 130, 9736 -80, 6, 9737 129, -868, 26, -89, 9738 1042, 1172, 194, -112, 9739 -47433, -241666, 224626, -103752, 9740 63419, 127606, 9741 2294, -691, -1827, -1254, 9742 -1, -119, 9743 1057, 324, 9744 505, -195, 254, -641, 9745 -36, 1008, -1082, -3, 9746 -87, 122,
9747 161, 11, 9748 2, -106, 9749 29, -123, 9750 -32, 41, 9751 -524, -35, 9752 133, -595, 9753 225, 837, -108, -191, 9754 -2294, 841, -340, -394, 9755 -351, -1039, 238, -108, 9756 -66, 21, 9757 1405, 869, 520, 2776, 9758 -174, 71, 9759 425, 652, -1260, -80, 9760 249, 77, 9761 -192, -17, 9762 -97, 134, 9763 -7, -54, 9764 -802, -7436, -2824, 70869, 9765 -35, 2481, 9766 1865, 1749, -2166, 2415, 9767 33, -183, 9768 -835, 283, 9769 27, -45, 9770 56, 235, 9771 2, 718, 9772 -1206, 275, -87, -158, 9773 -7, -2534, 0, 10774, 9774 1, -324, 9775 -208, 821, 9776 281, 1340, -797, 440, 9777 224, 72, 9778 -65, -5, 9779 -7, -44, 9780 -48, 66, 9781 -151, -40, 9782 -41, -45, 9783 76, -108, 9784 -18, 1202, 0, -2501, 9785 1438, -595, 900, 3040, 9786 -3435, -5, 9787 -100, -26, 9788 0, -13714, 9789 -183, 68, 9790 453, -83, 9791 -228, 325, 9792 97, 13, 9793 2, 105, 9794 -61, 257, 9795 0, 57, 9796 88, -11, 9797 -1, -8220, 9798 0, 275, 9799 -43, -10, 9800 -199, 105, 9801 1, -5849, 2, 24887, 9802 -128, 48, 9803 712, 970, -1407, 845, 9804 -266, 378, 9805 311, 1526, -1751, 27, 9806 0, -185858, 9807 133, 6383, 9808 -108, 25, 9809 -7, 1944, 9810 5, 390, 9811 -11, 31, 9812 277, -384, 158, 72, 9813 -81, -41, -13, -111, 9814 -2332, -65804, -698, 505812, 9815 34, 1676716, -72, -6664384, 9816 154, -57, 52, 95, 9817 -4, -5, 9818 -7, 37, 9819 -63, -32, 9820 4, 3349, 1, -14370, 9821 16, -83, 9822 0, -401, 9823 13, 3013, 9824 48, -20, 9825 0, 250, 9826 51, -79, 9827 -7, -146, 9828 148, 9, 9829 0, -64, 9830 -17, -59, 9831 -67, -492, 9832 -2, 2116601, 9833 -12, -1848, 9834 8, -436, 9835 -6, 324, 0, -1363, 9836 -163, 9, 9837 0, -74, 9838 63, 8167, -29, 37587, 9839 -22, -74501, 9840 -71, 497, 9841 -1, 551747, 9842 -87, -22, 9843 0, -51, 9844 -1, -463, 9845 0, -444, 9846 3, 89, 9847 15, -84, 9848 -36, -6829, -5, -21663, 9849 0, 86058, 9850 0, -298, 9851 -2, 751, -2, -1015, 9852 0, 69, 9853 1, -4989, 0, 21458, 9854 0, -330, 9855 0, -7, 9856 0, -226, 9857 0, -1407, 0, 2942, 9858 0, 66, 9859 0, 667, 9860 0, -155, 9861 0, 105, 9862 0, -107, 9863 0, -74, 9864 0, -52, 9865 0, 91, 9866 0, 59, 9867 0, 235, 9868 -1, -1819, 0, 2470, 9869 71, 13, 9870 0, 1026, 9871 14, -54, 9872 0, -174, 9873 -121, -19, 9874 0, -200, 9875 0, 3008, 9876 -16, -8043, -10, -37136, 9877 -3, 73724, 9878 -157, -5, 9879 0, -854, 9880 8, 147, 9881 -13, -893, 9882 0, 11869, 9883 -23, -172, 9884 89, 14, 9885 -1, 872, 0, -3744, 9886 11, 1606, 9887 0, -559, 9888 -1, -2530, 9889 0, 454, 9890 0, -193, 9891 -60, -10, 9892 -82, -13, 9893 -75, 6, 9894 36, 81, 9895 354, -162836, 148, -516569, 9896 4, 2054441, 9897 4, -94, 9898 39, 38, 9899 61, -30, 9900 2, 121, 9901 -11, 590, 9902 62, 2108, 9903 0, -12242, 9904 -476, -42, 9905 -84, 113, 9906 -394, 236, 9907 0, 276, 9908 -49, 31, 9909 0, 86, 9910 1, -1313, 9911 1, 69, 9912 -60, 88, 9913 -46, 18, 9914 0, -63818, 9915 14, -93, 9916 113, 547, -618, 17, 9917 -7, 12290, -1, -25679, 9918 0, 92, 9919 -115, 50, 9920 -48, 233, 9921 4, 1311, 1, -5567, 9922 3, 1251, 9923 29, 548, 9924 -244, 257, 9925 -2, 1825, 9926 42, 637, 9927 -46, 68, 9928 -62, 8, 9929 3, 110, 9930 445, -100, -316, -202, 9931 2925, -621, 763, 1495, 9932 -169, -184, 20, -76, 9933 -475, -138, 8, -141, 9934 -197, 1351, -1284, 422, 9935 -129, 1879, -102, 8382, 9936 -9, 45864958, 9937 -215, 1350, -1285, 422, 9938 -481, -136, 8, -140, 9939 40, -53, 9940 2622, -543, 700, 1406, 9941 402, -95, -318, -194, 9942 122, 13, 9943 -30, 147, 9944 -121, -902, 9945 61, -23, 9946 -63, 7, 9947 69, 479, 9948 -224, 228, 9949 -7, 500, 9950 0, -429, 9951 -42, 193, 9952 -92, 37, 9953 67, 5, 9954 -350, -31, 9955 0, 67, 9956 -55, -5, 9957 0, 47, 9958 -36, 53, 9959 5, 561, 9960 0, -126, 9961 0, 871, 9962 -52, 4, 9963 -201, 116922, -22, 371352, 9964 -12, -1473285, 9965 0, 87, 9966 -164, 84, 9967 -3, 422, 9968 30, 1434, 9969 -26, 38, 9970 2, -1249943, 9971 -404, -34, 9972 -57, 79, 9973 5, 509, 9974 1, 131, 9975 -344, 168, 9976 112, 22540, 30, 71218, 9977 18, -283983, 9978 0, -851, 9979 0, -1538, 9980 0, 1360, 9981 -12, 51, 9982 -48, 68, 9983 88, -20, 9984 1, 63, 9985 0, -568, 9986 303, 25, 9987 0, -122, 9988 87, 586, -606, -14, 9989 0, -100, 9990 -85, 8, 9991 -165, 54, 9992 -45, 140, 9993 0, -54, 9994 4, -831, 1, 3495, 9995 31, 116, 9996 -46, -11, 9997 -371, 190, 9998 -507, 399, 9999 -2, 57, 10000 -60, 36, 10001 -198, -1174, -613, 4988, 10002 -87, -4, 10003 141, 560, -276, 187, 10004 1876, 1379, 778, 4386, 10005 24, -15, 10006 167, -774, 10007 -71, -9, 10008 -62, 90, 10009 98, 580, -663, -7, 10010 34, -112, 10011 57, 15, 10012 -355, -214, 10013 -3240, -13605, 12229, -5723, 10014 3496, 7063, 10015 33, -51, 10016 1908, 1160, -226, 715, 10017 964, 1170, -1264, 623, 10018 14071, 5280, 5614, 3026, 10019 488, 1576, -2, 226395859, 10020 824, 1106, -1287, 617, 10021 1917, 1156, -214, 718, 10022 90, -97, 10023 12078, -2366, 3282, 6668, 10024 -219, 9179, 593, 2015, 10025 -282, -186, 10026 57, 25, 10027 31, -102, 10028 -77, -4, 10029 -268, -341, -7, -45, 10030 -3, 74, 10031 15, -615, 10032 -88, -7, 10033 234, -353, 10034 1, -119, 10035 -163, -1159, -601, 4969, 10036 22, -58, 10037 -17, -11434, 10038 17, 54, 10039 348, 348, -460, 434, 10040 -371, 175, 10041 -11, -204, 10042 4, -6440, 10043 -5, -53, 10044 -4, -14388, -37, -45231, 10045 -7, 179562, 10046 -44, 136, 10047 -160, 49, 10048 -101, 81, 10049 -1, -188, 10050 0, 2, 10051 -4, 12124, -11, -25217, 10052 71, 543, -557, -14, 10053 -75, 526, 10054 0, 395274, 10055 -233, -16, 10056 93, -20, 10057 -43, 61, 10058 0, -1275, 10059 0, -824,
10060 1, -415, 0, 1762, 10061 -261, 131, 10062 -45, 64, 10063 -297, -25, 10064 0, -17533, 10065 -6, -56, 10066 21, 1100, 10067 1, 327, 10068 1, 66, 10069 23, -217, 10070 -83, -7, 10071 83, 86847, 49, 275754, 10072 -4, -1093857, 10073 -46, 2, 10074 0, -24, 10075 0, -419, 10076 0, -5833, 10077 1, 506, 10078 0, -827, 10079 -1, -377, 10080 -11, -78, 10081 0, 131945, 10082 -2, -334, 10083 1, -75, 10084 0, -72, 10085 0, -213, 10086 -6, 5564, -2, -11618, 10087 0, 1790, 10088 0, -131, 10089 0, 6, 10090 0, -76, 10091 0, -130, 10092 0, -1115, 0, 4783, 10093 0, -195, 10094 0, -627, 10095 0, -55, 10096 0, -83, 10097 0, 163, 10098 0, -54, 10099 0, 82, 10100 0, 149, 10101 0, -754, 0, 1578, 10102 0, 138, 10103 0, 68, 10104 2, -2506, 0, 3399, 10105 0, -125, 10106 86, 16, 10107 0, -6350, 0, 27316, 10108 18, -63, 10109 0, -169, 10110 -1, 46, 10111 -136, -21, 10112 0, -239, 10113 -30, -8788, -15, -40549, 10114 -4, 80514, 10115 -46, -8, 10116 -168, -6, 10117 -1, 536, 0, -2314, 10118 9, 148, 10119 -13, -842, 10120 -1, 307713, 10121 -23, -175, 10122 95, 15, 10123 0, -297, 10124 11, 1341, 10125 0, -106, 10126 0, 5, 10127 -4, 68, 10128 -114, 10, 10129 32, 75, 10130 159, -130487, 98, -413967, 10131 2, 1647339, 10132 -4, -85, 10133 100, -46, 10134 2, 95, 10135 -11, 461, 10136 51, 1647, 10137 0, -32090, 10138 -375, -33, 10139 -65, 86, 10140 -300, 180, 10141 0, 836, 0, -3576, 10142 0, -222, 10143 0, -993, 10144 -41, 60, 10145 0, -4537, 10146 -431, -34, 10147 2, 927, 0, -1931, 10148 -79, 33, 10149 -31, 144, 10150 -1, 284, 0, -1207, 10151 0, 88, 10152 -11, 315, 10153 -178, 177, 10154 -1, 144, 10155 -58, 986, 10156 11, 86, 10157 -228, -110, 10158 2636, -494, 718, 1474, 10159 28, -35, 10160 -24, 782, -797, 277, 10161 2142, -1231, 856, 1853, 10162 74, 10797, 0, 23699298, 10163 -21, 786, -796, 277, 10164 27, -34, 10165 2615, -494, 712, 1461, 10166 -226, -109, 10167 -11, 663, 10168 0, -123, 10169 -169, 157, 10170 -54, 266, 10171 0, -76, 10172 1, -634, 0, 2738, 10173 -25, 106, 10174 -63, 24, 10175 0, -372, 10176 -221, -24, 10177 0, -5356, 10178 0, -219, 10179 0, 91, 10180 -28, 7684, -6, 24391, 10181 -1, -96795, 10182 -77, 43, 10183 2, 95, 10184 -47, -3, 10185 0, -84530, 10186 2, 310, 10187 1, 88, 10188 111, 19331, 32, 61306, 10189 4, -243595, 10190 0, 770, 10191 0, -103, 10192 0, 160, 10193 0, 356, 10194 0, 236, 10195 -41, 354, 10196 39, 303, 10197 12, -56, 10198 873, -143, 238, 482, 10199 -28, 35, 10200 -93, 31, 10201 -3, 7690211, 10202 -91, 33, 10203 -34, 43, 10204 824, -130, 226, 450, 10205 -39, 341, 10206 -1, -687, 10207 0, -303, 10208 11, -2935, 1, 12618, 10209 121, 924, 9, -1836, 10210 -268, -1144, -678, 3685, 10211 -69, -261, 10212 0, -4115951, 10213 -69, -261, 10214 5, -151, 10215 0, -88, 10216 0, 91, 10217 0, 187, 10218 0, -1281, 10219 1, 77, 10220 1, 6059, 3, 19238, 10221 0, -76305, 10222 0, -90, 10223 0, -238, 10224 0, -962, 0, 4133, 10225 0, 96, 10226 0, 9483, 10227 0, 85, 10228 0, -688, 10229 0, -5607, 10230 0, 55, 10231 0, -752, 10232 0, 71, 10233 0, 303, 10234 0, -288, 10235 0, 57, 10236 0, 45, 10237 0, 189, 10238 0, 401, 10239 0, -1474, 0, 3087, 10240 0, -71, 10241 0, 2925, 10242 0, -75, 10243 0, 359, 10244 0, 55, 10245 1, -10155, 0, 43735, 10246 0, -572, 10247 0, -49, 10248 0, -660, 10249 0, -3591, 0, 7516, 10250 0, 668, 10251 -1, -53, 10252 -2, 384259, 10253 0, -163, 10254 0, -93, 10255 1, 112, 10256 -95, -11528, -22, -36505, 10257 -1, 145308, 10258 5, 145, 10259 0, 4047, 10260 1, 1483, 0, -6352, 10261 0, 991, 0, -4262, 10262 0, -93, 10263 0, -334, 10264 0, -160, 10265 0, -153, 10266 -10, 127, 10267 51, 185, 10268 -77, 18, 10269 56, 1217, 6, 1919574, 10270 -74, 17, 10271 50, 180, 10272 -5, 93, 10273 0, -104, 10274 0, -58, 10275 -3, -353, -1, 1499, 10276 0, -229, 10277 -15, 86, 10278 0, -93657, 10279 0, 1561, 0, -6693, 10280 0, -5839, 10281 1, 6791, 0, -29143, 10282 1, -701, 0, 3015, 10283 0, 2543, 10284 0, 693, 10285 -1, 361233, 10286 0, -50, 10287 0, 946, 10288 -1, -140, 10289 -70, 407, 10290 0, -450995, 10291 0, -368, 10292 0, 54, 10293 0, -802, 10294 0, -96, 10295 0, 1274, 0, -5459, 10296 0, -614, 0, 2633, 10297 0, 685, 10298 0, -915, 10299 0, -85, 10300 0, 88, 10301 0, 106, 10302 0, 928, 10303 0, -726, 0, 1523, 10304 0, 5715, 10305 0, -4338, 0, 18706, 10306 0, -135, 10307 0, -132, 10308 0, -158, 10309 0, -98, 10310 0, 680, 10311 -1, 138968, 10312 0, -192, 10313 0, -1698, 10314 0, -2734, 0, 11769, 10315 0, 4, 10316 0, 673, 0, -2891, 10317 0, 889, 0, -3821, 10318 0, 121, 10319 -1, 143783, 10320 0, 231, 10321 -9, 51, 10322 0, -57413, 10323 0, -483, 10324 0, -407, 10325 0, 676, 0, -2902, 10326 0, 531, 10327 0, 445, 10328 0, 672, 10329 0, 19336, 10330 0, 70, 10331 0, -39976, 10332 0, -68, 10333 0, 4203, 10334 0, -406, 10335 0, 446, 10336 0, -108, 10337 0, 79, 10338 0, 84, 10339 0, 734, 10340 0, 255, 10341 0, 3944, 10342 0, -655, 0, 2825, 10343 0, -109, 10344 0, -234, 10345 0, 57, 10346 0, 19773, 10347 0, -2013, 10348 0, 958, 10349 0, -521, 10350 0, -757, 10351 0, 10594, 10352 0, -9901, 10353 0, 199, 10354 0, -275, 10355 0, 64, 10356 0, 54, 10357 0, 165, 10358 0, 1110, 10359 0, -3286, 10360 0, 909, 10361 0, 54, 10362 0, 87, 10363 0, 258, 10364 0, 1261, 10365 0, -51, 10366 0, 336, 10367 0, -114, 10368 0, 2185, 10369 0, -850, 10370 0, 75, 10371 0, -69, 10372 0, -103, 10373 0, 776, 10374 0, -1238, 10375 0, 137, 10376 0, 67, 10377 0, -260, 10378 0, 130, 10379 0, 49, 10380 0, 228, 10381 0, 215, 10382 0, -178, 10383 0, 57, 10384 0, -133 10385 ], 10386 lat_tbl: [], 10387 rad_tbl: [
10388 -5422, -2120, 1077, 772, 10389 39, 75, 3, 10, 10390 -468, -326, -113, -78, 10391 -4, -2, 10392 1, 3, 10393 29, 24, 4, 2, 10394 1, 0, 10395 -9, 7, -2, 0, 10396 -32, -13, -3, -3, 10397 233, 126, 89, 77, 10398 -33, 16, 10399 3, -3, 0, -1, 10400 2, 0, 10401 0, 1, 10402 4, 9, 1, 1, 10403 16, -1, 0, 18, 10404 3, 2, 10405 0, 0, 10406 0, 0, 10407 0, 0, 10408 0, 0, 10409 0, -1, 10410 -22, -5, 10411 10, 3, 1, 1, 10412 -15, 7, -2, 1, 10413 -8, -11, -1, -2, 10414 -1, 1, 10415 46, -58, 126, -23, 10416 4, 8, 10417 35, 8, 10, -17, 10418 0, 0, 10419 0, 0, 10420 -10, -7, 10421 0, 0, 10422 -23, 3, 151, 10, 10423 -327, 0, 10424 4, -5, 6, 5, 10425 1, 0, 10426 -1, -3, 10427 0, 0, 10428 0, 1, 10429 -185, 0, 10430 -3, -24, -5, -2, 10431 -1062, 3, 4560, 0, 10432 -3, 0, 10433 4, 1, 10434 8, -1, 2, 4, 10435 0, 1, 10436 0, -1, 10437 0, 0, 10438 -1, 0, 10439 0, 1, 10440 0, 0, 10441 -1, -1, 10442 277, 3, -583, 1, 10443 -1, 4, -32, 7, 10444 0, -34, 10445 1, -1, 10446 -23685, 0, 10447 -1, -2, 10448 -1, -7, 10449 -5, -4, 10450 0, 2, 10451 -2, 0, 10452 -5, -1, 10453 35, 0, 10454 0, 2, 10455 202, 0, 10456 180, 0, 10457 0, -1, 10458 -3, -6, 10459 -193, 0, 770, -1, 10460 -2, -4, 10461 -32, 23, -28, -46, 10462 -13, -9, 10463 -54, 10, -1, -61, 10464 -44895, 0, 10465 -230, 5, 10466 -1, -4, 10467 -71, 0, 10468 -15, 0, 10469 1, 0, 10470 15, 11, -3, 6, 10471 2, -3, 4, -1, 10472 2576, -138, -19881, -47, 10473 -65906, -1, 261925, -4, 10474 -2, -7, 4, -2, 10475 0, 0, 10476 -1, 0, 10477 1, -3, 10478 172, -2, -727, 0, 10479 4, 1, 10480 324, 0, 10481 -139, 1, 10482 1, 3, 10483 -276, 0, 10484 5, 3, 10485 9, 0, 10486 -1, 10, 10487 -37, 0, 10488 5, -1, 10489 76, -10, 10490 1318810, 1, 10491 12, -1, 10492 -38, 1, 10493 -141, 0, 611, 0, 10494 0, -11, 10495 4, 0, 10496 -627, 2, -2882, -3, 10497 5711, -2, 10498 -48, -7, 10499 55294, 0, 10500 2, -7, 10501 31, 0, 10502 34, 0, 10503 -259, 0, 10504 -55, 2, 10505 6, 3, 10506 -4273, 20, -13554, 3, 10507 53878, 0, 10508 -46, 0, 10509 -85, 0, 114, 0, 10510 -45, 0, 10511 -818, 0, 3520, 0, 10512 34, 0, 10513 -157, 0, 10514 29, 0, 10515 -878, 0, 1838, 0, 10516 -428, 0, 10517 161, 0, 10518 24, 0, 10519 65, 0, 10520 19, 0, 10521 15, 0, 10522 12, 0, 10523 -26, 0, 10524 -14, 0, 10525 -149, 0, 10526 584, 0, -793, 0, 10527 4, -23, 10528 -238, 0, 10529 -18, -5, 10530 45, 0, 10531 -7, 42, 10532 79, 0, 10533 -1723, 0, 10534 2895, -6, 13362, -4, 10535 -26525, -1, 10536 -2, 57, 10537 291, 0, 10538 52, -3, 10539 -327, 5, 10540 -2755, 0, 10541 -63, 9, 10542 5, -33, 10543 -261, -1, 1122, 0, 10544 621, -4, 10545 -227, 0, 10546 1077, 0, 10547 -167, 0, 10548 85, 0, 10549 -4, 23, 10550 -5, 32, 10551 3, 30, 10552 -32, 14, 10553 64607, 141, 204958, 59, 10554 -815115, 2, 10555 -37, -1, 10556 15, -15, 10557 12, 24, 10558 48, -1, 10559 235, 4, 10560 843, -25, 10561 4621, 0, 10562 -17, 191, 10563 45, 34, 10564 95, 159, 10565 -132, 0, 10566 13, 20, 10567 32, 0, 10568 -540, 0, 10569 29, 0, 10570 37, 25, 10571 8, 19, 10572 22127, 0, 10573 -35, -5, 10574 232, -48, 7, 262, 10575 5428, 3, -11342, 1, 10576 -45, 0, 10577 -21, -49, 10578 -100, -21, 10579 -626, 1, 2665, 0, 10580 532, -2, 10581 235, -12, 10582 -111, -105, 10583 774, 1, 10584 -283, 17, 10585 29, 20, 10586 3, 27, 10587 47, -2, 10588 -43, -192, -87, 136, 10589 -269, -1264, 646, -330, 10590 -79, 73, -33, -9, 10591 60, -205, 61, 4, 10592 -584, -85, -182, -555, 10593 -780, -57, -3488, -45, 10594 -19818328, -4, 10595 583, 93, 182, 555, 10596 -59, 208, -60, -4, 10597 23, 17, 10598 235, 1133, -608, 302, 10599 41, 174, 84, -137, 10600 6, -53, 10601 63, 13, 10602 -392, 52, 10603 -10, -27, 10604 -3, -27, 10605 199, -31, 10606 99, 97, 10607 -218, -3, 10608 209, 0, 10609 84, 18, 10610 16, 40, 10611 2, -30, 10612 14, -154, 10613 30, 0, 10614 -2, 24, 10615 -108, 0, 10616 -24, -16, 10617 262, -2, 10618 55, 0, 10619 -304, 0, 10620 2, 25, 10621 55112, 95, 175036, 11, 10622 -694477, 5, 10623 41, 0, 10624 -38, -76, 10625 199, 1, 10626 679, -14, 10627 -17, -12, 10628 582619, 1, 10629 -16, 191, 10630 38, 27, 10631 -234, 2, 10632 -60, 0, 10633 80, 163, 10634 -10296, 48, -32526, 13, 10635 129703, 8, 10636 -1366, 0, 10637 -741, 0, 10638 -646, 0, 10639 25, 6, 10640 33, 23, 10641 10, 43, 10642 -31, 0, 10643 -6, 0, 10644 -12, 147, 10645 59, 0, 10646 287, -42, -7, 297, 10647 -59, 0, 10648 -4, -42, 10649 -27, -81, 10650 -69, -22, 10651 27, 0, 10652 -423, -2, 1779, -1, 10653 -57, 15, 10654 5, -23, 10655 94, 182, 10656 -197, -250, 10657 24, 1, 10658 -18, -30, 10659 581, -98, -2473, -303, 10660 -2, 43, 10661 -277, 70, -92, -136, 10662 -681, 925, -2165, 384, 10663 -8, -12, 10664 382, 82, 10665 -4, 35, 10666 -45, -31, 10667 -286, 48, 3, -328, 10668 -55, -17, 10669 8, -28, 10670 -106, 175, 10671 -6735, 1601, -2832, -6052, 10672 3495, -1730, 10673 -25, -17, 10674 -574, 944, -354, -112, 10675 -579, 476, -308, -625, 10676 -2411, 7074, -1529, 2828, 10677 -1335, 247, -112000844, -1, 10678 545, -409, 305, 637, 10679 572, -950, 356, 106, 10680 48, 44, 10681 1170, 5974, -3298, 1624, 10682 -4538, -106, -996, 294, 10683 92, -139, 10684 -12, 28, 10685 50, 16, 10686 2, -38, 10687 169, -133, 22, -3, 10688 38, 1, 10689 305, 7, 10690 4, -44, 10691 175, 116, 10692 59, 1, 10693 -573, 81, 2453, 297, 10694 29, 11, 10695 5674, -8, 10696 -27, 9, 10697 173, -173, 215, 228, 10698 -87, -184, 10699 102, -5, 10700 3206, 2, 10701 -53, 2, 10702 7159, -7, 22505, -19, 10703 -89344, -3, 10704 67, 22, 10705 24, 79, 10706 -40, -50, 10707 94, 0, 10708 186, 0, 10709 -6063, 0, 12612, -5, 10710 -271, 35, 7, -278, 10711 -479, -74, 10712 426754, 0, 10713 8, -116, 10714 -10, -47, 10715 -31, -22, 10716 645, 0, 10717 426, 0, 10718 -213, 0, 903, 0, 10719 -67, -133, 10720 -33, -23, 10721 13, -152, 10722 -9316, 0, 10723 29, -3, 10724 -564, 11, 10725 -167, 0, 10726 -34, 0, 10727 114, 12, 10728 4, -44, 10729 -44561, 42, -141493, 25, 10730 561256, -2, 10731 -1, -24, 10732 -261, 0, 10733 211, 0, 10734 -4263, 0, 10735 -262, 1, 10736 1842, 0, 10737 202, 0, 10738 41, -6,
10739 77165, 0, 10740 176, -1, 10741 39, 1, 10742 -24, 0, 10743 118, 0, 10744 -2991, -4, 6245, -1, 10745 46886, 0, 10746 -75, 0, 10747 -100, 0, 10748 40, 0, 10749 75, 0, 10750 -618, 0, 2652, 0, 10751 112, 0, 10752 1780, 0, 10753 30, 0, 10754 49, 0, 10755 86, 0, 10756 33, 0, 10757 -30, 0, 10758 -95, 0, 10759 277, 0, -580, 0, 10760 -35, 0, 10761 -319, 0, 10762 1622, 1, -2201, 0, 10763 79, 0, 10764 10, -57, 10765 2363, 0, -10162, 0, 10766 -41, -12, 10767 62, 0, 10768 30, 1, 10769 -14, 89, 10770 -2721, 0, 10771 5780, -19, 26674, -10, 10772 -52964, -2, 10773 -5, 30, 10774 -4, 111, 10775 -317, -1, 1369, 0, 10776 93, -6, 10777 -564, 9, 10778 -115913, 0, 10779 -113, 15, 10780 10, -62, 10781 99, 0, 10782 891, -7, 10783 36, 0, 10784 108, 0, 10785 -42, -2, 10786 7, 75, 10787 -50, 21, 10788 86822, 104, 275441, 65, 10789 -1096109, 1, 10790 -56, 3, 10791 31, 66, 10792 63, -1, 10793 307, 7, 10794 1097, -34, 10795 17453, 0, 10796 -22, 250, 10797 57, 43, 10798 120, 200, 10799 -297, 0, 1269, 0, 10800 166, 0, 10801 -662, 0, 10802 40, 28, 10803 1521, 0, 10804 -23, 288, 10805 351, -2, -729, 0, 10806 -22, -52, 10807 -96, -21, 10808 -139, -1, 589, 0, 10809 35, 0, 10810 210, 7, 10811 -118, -119, 10812 62, 0, 10813 -583, -26, 10814 -42, 5, 10815 -73, 152, 10816 -330, -1759, 983, -479, 10817 -23, -19, 10818 -522, -15, -185, -533, 10819 739, 1559, -1300, 614, 10820 -7332, 52, -15836758, 0, 10821 524, 16, 185, 532, 10822 23, 18, 10823 330, 1751, -978, 476, 10824 73, -151, 10825 519, 18, 10826 38, 0, 10827 105, 113, 10828 -178, -37, 10829 26, 0, 10830 262, 1, -1139, 0, 10831 71, 17, 10832 16, 42, 10833 151, 0, 10834 16, -148, 10835 4147, 0, 10836 149, 0, 10837 -30, 0, 10838 2980, 9, 9454, 2, 10839 -37519, 0, 10840 -28, -49, 10841 37, -1, 10842 2, -31, 10843 33870, 0, 10844 -208, 1, 10845 -59, 1, 10846 -13105, 68, -41564, 21, 10847 165148, 3, 10848 -1022, 0, 10849 -40, 0, 10850 -132, 0, 10851 -228, 0, 10852 95, 0, 10853 -138, -16, 10854 -126, 16, 10855 24, 5, 10856 -57, -346, 191, -94, 10857 -14, -11, 10858 -12, -37, 10859 -3053364, -1, 10860 13, 36, 10861 17, 13, 10862 51, 327, -179, 90, 10863 138, 16, 10864 233, 0, 10865 62, 0, 10866 1164, 0, -5000, 0, 10867 -407, 117, 770, 9, 10868 -4, 1, 21, 2, 10869 1, 0, 10870 -16869, 0, 10871 -1, 0, 10872 1, 0, 10873 35, 0, 10874 -78, 0, 10875 78, 0, 10876 -533, 0, 10877 -31, 1, 10878 -2448, -6, -7768, -1, 10879 30812, 0, 10880 37, 0, 10881 -227, 0, 10882 197, 0, -846, 0, 10883 -77, 0, 10884 4171, 0, 10885 -67, 0, 10886 287, 0, 10887 2532, 0, 10888 -19, 0, 10889 -40, 0, 10890 -56, 0, 10891 128, 0, 10892 83, 0, 10893 -45, 0, 10894 -36, 0, 10895 -92, 0, 10896 -134, 0, 10897 714, 0, -1495, 0, 10898 32, 0, 10899 -981, 0, 10900 15, 0, 10901 -166, 0, 10902 -59, 0, 10903 4923, 0, -21203, 0, 10904 246, 0, 10905 15, 0, 10906 104, 0, 10907 1683, 0, -3523, 0, 10908 -865, 0, 10909 -25, 1, 10910 -186329, -1, 10911 10, 0, 10912 50, 0, 10913 53, 0, 10914 5455, -45, 17271, -10, 10915 -68747, 0, 10916 69, -2, 10917 -7604, 0, 10918 -724, 1, 3101, 0, 10919 -46, 0, 200, 0, 10920 -44, 0, 10921 97, 0, 10922 -53, 0, 10923 62, 0, 10924 -54, -4, 10925 88, -24, 10926 -9, -36, 10927 -581, 27, -914711, 3, 10928 8, 35, 10929 -86, 24, 10930 51, 3, 10931 48, 0, 10932 26, 0, 10933 133, 1, -577, 0, 10934 105, 0, 10935 -3, -1, 10936 3194, 0, 10937 528, 0, -2263, 0, 10938 2028, 0, 10939 -3266, 1, 14016, 0, 10940 10, 0, -41, 0, 10941 -100, 0, 10942 -32, 0, 10943 -124348, 0, 10944 16, 0, 10945 -325, 0, 10946 50, -1, 10947 1, 0, 10948 -553, 0, 10949 0, 0, 10950 0, 0, 10951 2, 0, 10952 -34, 0, 10953 -444, 0, 1902, 0, 10954 9, 0, -37, 0, 10955 254, 0, 10956 156, 0, 10957 -2, 0, 10958 -35, 0, 10959 -48, 0, 10960 -368, 0, 10961 327, 0, -686, 0, 10962 -2263, 0, 10963 1952, 0, -8418, 0, 10964 -13, 0, 10965 52, 0, 10966 9, 0, 10967 21, 0, 10968 -261, 0, 10969 -62404, 0, 10970 0, 0, 10971 79, 0, 10972 1056, 0, -4547, 0, 10973 -351, 0, 10974 -305, 0, 1310, 0, 10975 -1, 0, 6, 0, 10976 0, 0, 10977 -55953, 0, 10978 -80, 0, 10979 0, 0, 10980 168, 0, 10981 -147, 0, 10982 127, 0, 10983 -265, 0, 1138, 0, 10984 -1, 0, 10985 -9, 0, 10986 -8, 0, 10987 -5984, 0, 10988 -22, 0, 10989 -5, 0, 10990 0, 0, 10991 0, 0, 10992 127, 0, 10993 -2, 0, 10994 10, 0, 10995 -31, 0, 10996 -29, 0, 10997 -286, 0, 10998 -98, 0, 10999 -1535, 0, 11000 252, 0, -1087, 0, 11001 43, 0, 11002 4, 0, 11003 -19, 0, 11004 -7620, 0, 11005 29, 0, 11006 -322, 0, 11007 203, 0, 11008 0, 0, 11009 -3587, 0, 11010 10, 0, 11011 0, 0, 11012 94, 0, 11013 0, 0, 11014 -1, 0, 11015 -1, 0, 11016 -315, 0, 11017 1, 0, 11018 0, 0, 11019 0, 0, 11020 -30, 0, 11021 -94, 0, 11022 -460, 0, 11023 1, 0, 11024 -114, 0, 11025 0, 0, 11026 -746, 0, 11027 4, 0, 11028 -23, 0, 11029 24, 0, 11030 0, 0, 11031 -237, 0, 11032 1, 0, 11033 0, 0, 11034 -18, 0, 11035 0, 0, 11036 0, 0, 11037 -16, 0, 11038 -76, 0, 11039 -67, 0, 11040 0, 0, 11041 -16, 0, 11042 0, 0 11043 ], 11044 arg_tbl: [ 11045 0, 3, 11046 3, 4, 3, -8, 4, 3, 5, 1, 11047 2, 2, 5, -5, 6, 2, 11048 5, -1, 10, 2, 13, -1, 11, 3, 3, -7, 4, 0, 11049 3, 1, 13, -1, 11, 2, 5, 1, 11050 2, 4, 5, -10, 6, 0, 11051 4, 2, 10, -2, 13, 14, 3, -23, 4, 1, 11052 3, 3, 2, -7, 3, 4, 4, 1, 11053 3, -1, 13, 18, 2, -16, 3, 2, 11054 2, 8, 2, -13, 3, 1, 11055 5, 2, 10, -2, 13, 2, 3, -3, 5, 1, 6, 0, 11056 3, -1, 13, 26, 2, -29, 3, 0, 11057 3, 1, 10, -1, 11, 2, 4, 1, 11058 4, 1, 10, -1, 13, 3, 2, -4, 3, 1, 11059 4, 1, 10, -1, 13, 3, 3, -4, 4, 0, 11060 3, -1, 10, 15, 2, -12, 3, 0, 11061 4, 2, 10, -3, 13, 24, 2, -24, 3, 0, 11062 3, -1, 10, 23, 2, -25, 3, 0, 11063 4, 1, 10, -1, 11, 1, 3, 1, 6, 0, 11064 4, 2, 10, -2, 11, 5, 2, -6, 3, 0, 11065 4, 2, 10, -2, 13, 6, 2, -8, 3, 0, 11066 4, -2, 10, 1, 13, 12, 2, -8, 3, 1, 11067 5, -1, 10, 1, 13, -1, 11, 20, 2, -20, 3, 1, 11068 4, -2, 10, 1, 13, 3, 1, -1, 3, 1, 11069 5, 2, 10, -2, 13, 2, 3, -5, 5, 5, 6, 0, 11070 4, 2, 10, -2, 13, 2, 3, -3, 5, 1, 11071 4, 2, 10, -2, 13, 6, 3, -8, 4, 0, 11072 4, -2, 10, 1, 13, 20, 2, -21, 3, 1, 11073 4, 1, 10, -1, 11, 1, 3, 1, 5, 0, 11074 1, 1, 6, 0, 11075 4, 2, 10, -2, 13, 5, 3, -6, 4, 0, 11076 3, 3, 2, -5, 3, 2, 5, 0, 11077 2, -1, 11, 1, 14, 1, 11078 4, 2, 10, -2, 13, 2, 3, -2, 5, 0, 11079 2, 1, 3, -2, 4, 1, 11080 4, 1, 10, -1, 11, 5, 2, -7, 3, 0, 11081 1, 1, 5, 0, 11082 2, 7, 3, -13, 4, 0, 11083 4, -2, 10, 1, 13, 15, 2, -13, 3, 0, 11084 4, 2, 10, -2, 13, 3, 2, -3, 3, 0, 11085 2, -2, 11, 2, 14, 1, 11086 3, 1, 10, 1, 12, -1, 13, 1, 11087 3, -1, 13, 21, 2, -21, 3, 0, 11088 2, 3, 2, -5, 3, 0, 11089 2, 2, 3, -4, 4, 1, 11090 2, 5, 2, -8, 3, 0, 11091 3, -1, 13, 23, 2, -24, 3, 0, 11092 2, 6, 3, -11, 4, 0, 11093 1, 2, 5, 0, 11094 2, 3, 3, -6, 4, 0, 11095 2, 5, 3, -9, 4, 0, 11096 4, 1, 10, -1, 11, 1, 3, -2, 5, 0, 11097 3, 2, 10, 2, 12, -2, 13, 1, 11098 2, 2, 2, -3, 3, 2, 11099 2, 4, 3, -7, 4, 0, 11100 2, 2, 13, -2, 11, 0, 11101 2, 3, 3, -5, 4, 0, 11102 2, 1, 2, -2, 3, 0, 11103 2, 2, 3, -3, 4, 0, 11104 4, 1, 10, -1, 11, 4, 2, -5, 3, 0, 11105 2, 1, 3, -1, 4, 0, 11106 2, 4, 2, -6, 3, 0, 11107 4, 2, 10, -2, 13, 2, 2, -2, 3, 0, 11108 3, 1, 10, -1, 11, 1, 2, 0, 11109 2, 1, 2, -1, 3, 0, 11110 3, 1, 12, 2, 13, -2, 11, 0, 11111 2, 5, 3, -8, 4, 0, 11112 2, 1, 3, -3, 5, 0, 11113 3, 2, 10, 1, 12, -2, 13, 1, 11114 2, 4, 3, -6, 4, 0, 11115 2, 1, 3, -2, 5, 1, 11116 2, 3, 3, -4, 4, 0, 11117 2, 3, 2, -4, 3, 1, 11118 2, 1, 10, -1, 13, 0, 11119 2, 1, 3, -1, 5, 0, 11120 2, 1, 3, -2, 6, 0, 11121 2, 2, 3, -2, 4, 0, 11122 2, 1, 3, -1, 6, 0, 11123 2, 8, 2, -14, 3, 0, 11124 3, 1, 3, 2, 5, -5, 6, 1, 11125 3, 5, 3, -8, 4, 3, 5, 1, 11126 1, 1, 12, 3, 11127 3, 3, 3, -8, 4, 3, 5, 1, 11128 3, 1, 3, -2, 5, 5, 6, 0, 11129 2, 8, 2, -12, 3, 0, 11130 2, 1, 3, 1, 5, 0, 11131 3, 2, 10, 1, 12, -2, 11, 1, 11132 2, 5, 2, -7, 3, 0, 11133 3, 1, 10, 1, 13, -2, 11, 0, 11134 2, 2, 2, -2, 3, 0, 11135 2, 5, 3, -7, 4, 0, 11136 3, 1, 12, -2, 13, 2, 11, 0, 11137 2, 4, 3, -5, 4, 0, 11138 2, 3, 3, -3, 4, 0, 11139 1, 1, 2, 0, 11140 3, 3, 10, 1, 12, -3, 13, 0, 11141 2, 2, 3, -4, 5, 0, 11142 2, 2, 3, -3, 5, 0, 11143 2, 2, 10, -2, 13, 0, 11144 2, 2, 3, -2, 5, 0, 11145 2, 3, 2, -3, 3, 0, 11146 3, 1, 10, -1, 12, -1, 13, 1, 11147 2, 2, 3, -1, 5, 0, 11148 2, 2, 3, -2, 6, 0, 11149 1, 2, 12, 2, 11150 3, -2, 10, 1, 11, 1, 14, 0, 11151 2, 2, 10, -2, 11, 0, 11152 2, 2, 2, -1, 3, 0, 11153 4, -2, 10, 2, 13, 1, 2, -1, 3, 0, 11154 2, 4, 2, -4, 3, 0, 11155 2, 3, 10, -3, 13, 0, 11156 4, -2, 10, 2, 13, 1, 3, -1, 5, 0, 11157 2, 3, 3, -3, 5, 0, 11158 3, 2, 10, -1, 12, -2, 13, 2, 11159 3, 3, 10, -1, 13, -2, 11, 0, 11160 1, 3, 12, 1, 11161 4, -2, 10, 2, 13, 2, 2, -2, 3, 0, 11162 3, 2, 10, -1, 12, -2, 11, 1, 11163 2, 5, 2, -5, 3, 0, 11164 2, 4, 10, -4, 13, 0, 11165 2, 6, 2, -6, 3, 0, 11166 3, 2, 10, -2, 12, -2, 13, 1, 11167 3, 4, 10, -2, 13, -2, 11, 0, 11168 3, 2, 10, -2, 12, -2, 11, 0, 11169 2, 7, 2, -7, 3, 0, 11170 3, 2, 10, -3, 12, -2, 13, 0, 11171 2, 8, 2, -8, 3, 0, 11172 2, 9, 2, -9, 3, 0, 11173 2, 10, 2, -10, 3, 0, 11174 3, 2, 10, -4, 12, -1, 13, 0, 11175 3, 4, 10, -2, 12, -3, 13, 0, 11176 4, 4, 10, -1, 12, -1, 13, -2, 11, 0, 11177 3, 2, 10, -3, 12, -1, 13, 1, 11178 4, -2, 10, 1, 13, 3, 3, -2, 5, 0, 11179 3, 4, 10, -1, 12, -3, 13, 0, 11180 4, -2, 10, 1, 13, 3, 3, -3, 5, 0, 11181 4, 2, 10, -2, 12, 1, 13, -2, 11, 0, 11182 4, -2, 10, 1, 13, 2, 2, -1, 3, 0, 11183 3, 3, 10, -1, 12, -2, 11, 0, 11184 3, 4, 10, -1, 13, -2, 11, 0, 11185 3, 2, 10, -2, 12, -1, 13, 2, 11186 4, -2, 10, 1, 13, 2, 3, -1, 5, 0, 11187 3, 3, 10, -1, 12, -2, 13, 0, 11188 4, -2, 10, 1, 13, 3, 2, -3, 3, 0, 11189 4, -2, 10, 1, 13, 2, 3, -2, 5, 0, 11190 2, 4, 10, -3, 13, 0, 11191 4, -2, 10, 1, 13, 2, 3, -3, 5, 0, 11192 3, -2, 10, 1, 13, 1, 2, 0, 11193 4, 2, 10, -1, 12, 1, 13, -2, 11, 1, 11194 4, -2, 10, 1, 13, 2, 2, -2, 3, 0, 11195 2, 3, 12, -1, 13, 0, 11196 2, 3, 10, -2, 11, 0, 11197 2, 1, 10, -2, 12, 0, 11198 4, 4, 10, 1, 12, -1, 13, -2, 11, 0, 11199 3, -1, 13, 3, 2, -2, 3, 0, 11200 3, -1, 13, 3, 3, -2, 5, 0, 11201 3, -2, 10, 18, 2, -15, 3, 0, 11202 5, 2, 10, -1, 13, 3, 3, -8, 4, 3, 5, 0, 11203 3, 2, 10, -1, 12, -1, 13, 2, 11204 5, -2, 10, 1, 13, 5, 3, -8, 4, 3, 5, 0, 11205 5, -2, 10, 1, 13, 1, 3, 2, 5, -5, 6, 0, 11206 4, 2, 10, -2, 13, 18, 2, -17, 3, 0, 11207 4, -2, 10, 1, 13, 1, 3, -1, 6, 0, 11208 4, -2, 10, 1, 13, 2, 3, -2, 4, 0, 11209 4, -2, 10, 1, 13, 1, 3, -1, 5, 0, 11210 2, 3, 10, -2, 13, 0, 11211 4, -2, 10, 1, 13, 3, 2, -4, 3, 0, 11212 4, -2, 10, 1, 13, 3, 3, -4, 4, 0, 11213 4, -2, 10, 1, 13, 1, 3, -2, 5, 0, 11214 3, 4, 10, 1, 12, -3, 13, 0, 11215 4, -2, 10, 1, 13, 1, 3, -3, 5, 0, 11216 3, -1, 13, 4, 2, -4, 3, 0, 11217 4, -2, 10, 1, 13, 1, 2, -1, 3, 0, 11218 4, -2, 10, 1, 13, 1, 3, -1, 4, 0, 11219 4, -2, 10, 1, 13, 2, 3, -3, 4, 0, 11220 4, -2, 10, 1, 13, 3, 3, -5, 4, 0, 11221 3, 2, 10, 1, 13, -2, 11, 0, 11222 4, -2, 10, -1, 13, 1, 11, 1, 14, 0, 11223 4, -2, 10, 1, 13, 2, 2, -3, 3, 1, 11224 2, 2, 12, -1, 13, 1, 11225 3, 3, 10, 1, 12, -2, 11, 0, 11226 4, 2, 10, -1, 13, 2, 3, -4, 4, 0, 11227 4, 2, 10, -1, 13, 3, 2, -5, 3, 0, 11228 2, 1, 10, -1, 12, 1, 11229 3, -1, 13, 3, 2, -3, 3, 0, 11230 3, -2, 10, 1, 13, 1, 5, 0, 11231 4, 2, 10, -1, 13, 1, 3, -2, 4, 0, 11232 3, -1, 13, 2, 3, -2, 5, 0, 11233 4, 2, 10, -1, 13, -1, 11, 1, 14, 0, 11234 3, -1, 13, 5, 3, -6, 4, 0, 11235 3, -2, 10, 1, 13, 1, 6, 0, 11236 3, -1, 10, 1, 3, -1, 5, 0, 11237 4, -2, 10, 1, 13, 8, 2, -13, 3, 1, 11238 3, -2, 10, 18, 2, -16, 3, 1, 11239 5, -2, 10, 1, 13, 3, 2, -7, 3, 4, 4, 1, 11240 4, 2, 10, -1, 13, 2, 5, -5, 6, 1, 11241 5, 2, 10, -1, 13, 4, 3, -8, 4, 3, 5, 1, 11242 2, 2, 10, -1, 13, 2, 11243 5, -2, 10, 1, 13, 4, 3, -8, 4, 3, 5, 1, 11244 4, -2, 10, 1, 13, 2, 5, -5, 6, 1, 11245 5, 2, 10, -1, 13, 3, 2, -7, 3, 4, 4, 0, 11246 4, 2, 10, -2, 13, 18, 2, -16, 3, 1, 11247 4, 2, 10, -1, 13, 8, 2, -13, 3, 1, 11248 3, -1, 10, 3, 2, -4, 3, 0, 11249 3, -1, 13, 6, 2, -8, 3, 0, 11250 3, -1, 13, 2, 3, -3, 5, 0, 11251 3, -1, 13, 6, 3, -8, 4, 0, 11252 3, 2, 10, -1, 13, 1, 6, 0, 11253 4, -2, 10, 1, 13, -1, 11, 1, 14, 0, 11254 4, -2, 10, 1, 13, 1, 3, -2, 4, 0, 11255 3, 2, 10, -1, 13, 1, 5, 0, 11256 3, 3, 10, 1, 12, -2, 13, 0, 11257 4, -2, 10, 1, 13, 3, 2, -5, 3, 0, 11258 4, -2, 10, 1, 13, 2, 3, -4, 4, 0, 11259 2, -1, 13, 1, 2, 0, 11260 4, 2, 10, -1, 13, 2, 2, -3, 3, 0, 11261 3, -1, 10, 1, 2, -1, 3, 0, 11262 3, -1, 13, 4, 2, -5, 3, 0, 11263 3, 2, 10, -3, 13, 2, 11, 0, 11264 4, 2, 10, -1, 13, 2, 3, -3, 4, 0, 11265 3, -1, 13, 2, 2, -2, 3, 0, 11266 4, 2, 10, -1, 13, 1, 2, -1, 3, 0, 11267 4, 2, 10, 1, 12, 1, 13, -2, 11, 0, 11268 3, -2, 13, 18, 2, -15, 3, 0, 11269 2, 1, 12, -1, 13, 2, 11270 3, -1, 13, 1, 3, -1, 6, 0, 11271 4, 2, 10, -1, 13, 1, 3, -2, 5, 0, 11272 3, -1, 13, 2, 3, -2, 4, 0, 11273 3, -1, 13, 1, 3, -1, 5, 0, 11274 4, 2, 10, -1, 13, 3, 3, -4, 4, 0, 11275 1, 1, 10, 0, 11276 3, -1, 13, 3, 2, -4, 3, 0, 11277 3, -1, 13, 3, 3, -4, 4, 0, 11278 4, 2, 10, -1, 13, 1, 3, -1, 5, 0, 11279 4, 2, 10, -1, 13, 2, 3, -2, 4, 0, 11280 3, -1, 13, 1, 3, -2, 5, 0, 11281 3, 2, 10, 1, 12, -1, 13, 2, 11282 3, 1, 12, 1, 13, -2, 11, 0, 11283 3, -1, 13, 1, 2, -1, 3, 0, 11284 4, 2, 10, -1, 13, 2, 2, -2, 3, 0, 11285 3, -1, 13, 4, 2, -6, 3, 0, 11286 3, -1, 13, 2, 3, -3, 4, 0, 11287 3, 1, 13, 1, 2, -2, 3, 0, 11288 4, 2, 10, -1, 13, 3, 3, -3, 4, 0, 11289 2, 3, 13, -2, 11, 0, 11290 4, 2, 10, -1, 13, 4, 2, -5, 3, 0, 11291 3, 1, 10, 1, 2, -1, 3, 0, 11292 3, -1, 13, 2, 2, -3, 3, 1, 11293 3, 2, 10, 2, 12, -3, 13, 0, 11294 3, 2, 10, -1, 13, 1, 2, 0, 11295 3, 1, 13, 2, 3, -4, 4, 0, 11296 3, 1, 13, 3, 2, -5, 3, 0, 11297 2, 21, 2, -21, 3, 0, 11298 3, 1, 10, 1, 12, -2, 13, 1, 11299 4, 2, 10, -1, 13, 2, 3, -4, 5, 0, 11300 4, 2, 10, -1, 13, 7, 3, -10, 4, 0, 11301 2, -1, 13, 1, 5, 0, 11302 3, 1, 13, 1, 3, -2, 4, 0, 11303 4, 2, 10, -3, 13, 2, 3, -2, 5, 0, 11304 3, 1, 10, 1, 3, -2, 5, 0, 11305 3, 1, 13, -1, 11, 1, 14, 1, 11306 2, -1, 13, 1, 6, 0, 11307 4, 2, 10, -1, 13, 6, 3, -8, 4, 1, 11308 4, 2, 10, -1, 13, 2, 3, -3, 5, 1, 11309 3, -1, 13, 8, 3, -15, 4, 0, 11310 4, 2, 10, -1, 13, 6, 2, -8, 3, 0, 11311 5, 2, 10, -1, 13, -2, 11, 5, 2, -6, 3, 0, 11312 3, 1, 10, 3, 3, -4, 4, 0, 11313 3, 1, 10, 3, 2, -4, 3, 1, 11314 4, 1, 10, -1, 13, -1, 11, 2, 4, 0, 11315 3, -2, 13, 26, 2, -29, 3, 0, 11316 3, -1, 13, 8, 2, -13, 3, 0, 11317 3, -2, 13, 18, 2, -16, 3, 2, 11318 4, -1, 13, 3, 2, -7, 3, 4, 4, 0, 11319 3, 1, 13, 2, 5, -5, 6, 1, 11320 4, 1, 13, 4, 3, -8, 4, 3, 5, 1, 11321 1, 1, 13, 3, 11322 4, -1, 13, 4, 3, -8, 4, 3, 5, 1, 11323 3, -1, 13, 2, 5, -5, 6, 1, 11324 4, 1, 13, 3, 2, -7, 3, 4, 4, 0, 11325 2, 18, 2, -16, 3, 1, 11326 3, 1, 13, 8, 2, -13, 3, 2, 11327 2, 26, 2, -29, 3, 0, 11328 4, 1, 10, 1, 13, -1, 11, 2, 4, 0, 11329 5, 2, 10, 1, 13, -2, 11, 5, 2, -6, 3, 0, 11330 3, 1, 13, 8, 3, -15, 4, 1, 11331 4, 2, 10, -3, 13, 2, 3, -3, 5, 0, 11332 3, 1, 10, 1, 3, -1, 5, 0, 11333 2, 1, 13, 1, 6, 0, 11334 4, 2, 10, -1, 13, 5, 3, -6, 4, 0, 11335 3, 1, 10, 2, 3, -2, 4, 0, 11336 3, -1, 13, -1, 11, 1, 14, 1, 11337 4, 2, 10, -1, 13, 2, 3, -5, 6, 0, 11338 4, 2, 10, -1, 13, 2, 3, -2, 5, 0, 11339 5, 2, 10, -1, 13, 2, 3, -4, 5, 5, 6, 0, 11340 3, -1, 13, 1, 3, -2, 4, 1, 11341 2, 1, 13, 1, 5, 0, 11342 4, 2, 10, -1, 13, 4, 3, -4, 4, 0, 11343 4, 2, 10, -1, 13, 3, 2, -3, 3, 0, 11344 4, 2, 10, 2, 12, -1, 13, -2, 11, 0, 11345 2, 1, 10, 1, 12, 2, 11346 3, -1, 13, 3, 2, -5, 3, 0, 11347 3, -1, 13, 2, 3, -4, 4, 0, 11348 4, 2, 10, -1, 13, 2, 3, -1, 5, 0, 11349 4, 2, 10, -1, 13, 2, 3, -2, 6, 0, 11350 3, 1, 10, 1, 12, -2, 11, 0, 11351 3, 2, 10, 2, 12, -1, 13, 1, 11352 3, 1, 13, 2, 2, -3, 3, 1, 11353 3, -1, 13, 1, 11, 1, 14, 0, 11354 2, 1, 13, -2, 11, 0, 11355 4, 2, 10, -1, 13, 5, 2, -6, 3, 0, 11356 3, -1, 13, 1, 2, -2, 3, 0, 11357 3, 1, 13, 2, 3, -3, 4, 0, 11358 3, 1, 13, 1, 2, -1, 3, 0, 11359 4, 2, 10, -1, 13, 4, 2, -4, 3, 0, 11360 3, 2, 10, 1, 12, -3, 13, 1, 11361 3, 1, 13, 1, 3, -2, 5, 0, 11362 3, 1, 13, 3, 3, -4, 4, 0, 11363 3, 1, 13, 3, 2, -4, 3, 0, 11364 2, 1, 10, -2, 13, 0, 11365 4, 2, 10, -1, 13, 3, 3, -4, 5, 0, 11366 3, 1, 13, 1, 3, -1, 5, 0, 11367 3, 1, 13, 2, 3, -2, 4, 0, 11368 3, 1, 13, 1, 3, -1, 6, 0, 11369 4, 2, 10, -1, 13, 3, 3, -3, 5, 0, 11370 4, 2, 10, -1, 13, 6, 2, -7, 3, 0, 11371 2, 1, 12, 1, 13, 2, 11372 4, 2, 10, -1, 13, 3, 3, -2, 5, 0, 11373 4, 2, 10, 1, 12, -1, 13, -2, 11, 0, 11374 2, 1, 10, 2, 12, 0, 11375 2, 1, 10, -2, 11, 0, 11376 3, 1, 13, 2, 2, -2, 3, 0, 11377 3, 1, 12, -1, 13, 2, 11, 0, 11378 4, 2, 10, -1, 13, 5, 2, -5, 3, 0, 11379 3, 1, 13, 2, 3, -3, 5, 0, 11380 2, 2, 10, -3, 13, 0, 11381 3, 1, 13, 2, 3, -2, 5, 0, 11382 3, 1, 13, 3, 2, -3, 3, 0, 11383 3, 1, 10, -1, 12, -2, 13, 0, 11384 4, 2, 10, -1, 13, 6, 2, -6, 3, 0, 11385 2, 2, 12, 1, 13, 1, 11386 3, 2, 10, -1, 13, -2, 11, 0, 11387 3, 1, 10, -1, 12, -2, 11, 0, 11388 3, 2, 10, 1, 13, -4, 11, 0, 11389 3, 1, 13, 4, 2, -4, 3, 0, 11390 4, 2, 10, -1, 13, 7, 2, -7, 3, 0, 11391 3, 2, 10, -1, 12, -3, 13, 1, 11392 2, 3, 12, 1, 13, 0, 11393 4, 2, 10, -1, 12, -1, 13, -2, 11, 0, 11394 3, 1, 13, 5, 2, -5, 3, 0, 11395 4, 2, 10, -1, 13, 8, 2, -8, 3, 0, 11396 3, 2, 10, -2, 12, -3, 13, 0, 11397 4, 2, 10, -1, 13, 9, 2, -9, 3, 0, 11398 3, 4, 10, -3, 12, -2, 13, 0, 11399 2, 2, 10, -4, 12, 0, 11400 3, 4, 10, -2, 12, -2, 13, 1, 11401 2, 6, 10, -4, 13, 0, 11402 3, 4, 10, -1, 12, -2, 11, 0, 11403 2, 2, 10, -3, 12, 1, 11404 3, 3, 10, -2, 12, -1, 13, 0, 11405 3, -2, 10, 3, 3, -2, 5, 0, 11406 3, 4, 10, -1, 12, -2, 13, 1, 11407 3, -2, 10, 3, 3, -3, 5, 0, 11408 2, 5, 10, -3, 13, 0, 11409 3, -2, 10, 4, 2, -4, 3, 0, 11410 3, -2, 10, 2, 2, -1, 3, 0, 11411 2, 4, 10, -2, 11, 0, 11412 2, 2, 10, -2, 12, 2, 11413 3, -2, 10, 3, 3, -2, 4, 0, 11414 3, -2, 10, 2, 3, -1, 5, 0, 11415 3, 3, 10, -1, 12, -1, 13, 1, 11416 3, -2, 10, 3, 2, -3, 3, 0, 11417 3, -2, 10, 2, 3, -2, 5, 0, 11418 2, 4, 10, -2, 13, 0, 11419 3, -2, 10, 2, 3, -3, 5, 0, 11420 2, -2, 10, 1, 2, 0, 11421 4, 2, 10, -1, 12, 2, 13, -2, 11, 0, 11422 3, -2, 10, 2, 2, -2, 3, 0, 11423 3, 3, 10, 1, 13, -2, 11, 0, 11424 3, 4, 10, 1, 12, -2, 11, 0, 11425 4, 2, 10, -1, 12, -1, 11, 1, 14, 0, 11426 4, -2, 10, -1, 13, 18, 2, -15, 3, 0, 11427 4, 2, 10, 3, 3, -8, 4, 3, 5, 0, 11428 2, 2, 10, -1, 12, 2, 11429 4, -2, 10, 5, 3, -8, 4, 3, 5, 0, 11430 4, 2, 10, -1, 13, 18, 2, -17, 3, 0, 11431 3, -2, 10, 1, 3, -1, 6, 0, 11432 3, -2, 10, 2, 3, -2, 4, 0, 11433 3, -2, 10, 1, 3, -1, 5, 0, 11434 2, 3, 10, -1, 13, 0, 11435 3, -2, 10, 3, 2, -4, 3, 0, 11436 3, -2, 10, 3, 3, -4, 4, 0, 11437 3, -2, 10, 1, 3, -2, 5, 0, 11438 3, 4, 10, 1, 12, -2, 13, 1, 11439 4, 2, 10, -1, 12, -2, 13, 2, 11, 0, 11440 3, -2, 10, 1, 2, -1, 3, 0, 11441 3, -2, 10, 2, 3, -3, 4, 0, 11442 3, 2, 10, 2, 13, -2, 11, 0, 11443 3, -2, 10, 2, 2, -3, 3, 0, 11444 2, 2, 12, -2, 13, 1, 11445 3, 2, 10, 2, 3, -4, 4, 0, 11446 3, 2, 10, 3, 2, -5, 3, 0, 11447 3, 1, 10, -1, 12, 1, 13, 1, 11448 3, -2, 13, 3, 2, -3, 3, 0, 11449 2, -2, 10, 1, 5, 0, 11450 3, 2, 10, 1, 3, -2, 4, 0, 11451 3, -2, 13, 2, 3, -2, 5, 0, 11452 3, 2, 10, -1, 11, 1, 14, 0, 11453 4, 4, 10, -2, 13, 2, 3, -3, 5, 0, 11454 3, -2, 10, 8, 2, -13, 3, 0, 11455 4, -2, 10, -1, 13, 18, 2, -16, 3, 1, 11456 4, -2, 10, 3, 2, -7, 3, 4, 4, 0, 11457 4, 2, 10, 4, 3, -8, 4, 3, 5, 1, 11458 1, 2, 10, 3, 11459 4, -2, 10, 4, 3, -8, 4, 3, 5, 1, 11460 4, 2, 10, 3, 2, -7, 3, 4, 4, 0, 11461 4, 2, 10, -1, 13, 18, 2, -16, 3, 1, 11462 3, 2, 10, 8, 2, -13, 3, 0, 11463 3, -2, 10, -1, 11, 1, 14, 0, 11464 4, 4, 10, -2, 13, 2, 3, -2, 5, 0, 11465 3, -2, 10, 1, 3, -2, 4, 0, 11466 2, 2, 10, 1, 5, 0, 11467 4, 4, 10, -2, 13, 3, 2, -3, 3, 0, 11468 3, 3, 10, 1, 12, -1, 13, 1, 11469 3, -2, 10, 3, 2, -5, 3, 0, 11470 3, -2, 10, 2, 3, -4, 4, 0, 11471 3, 4, 10, 2, 12, -2, 13, 0, 11472 3, 2, 10, 2, 2, -3, 3, 0, 11473 3, 2, 10, -2, 13, 2, 11, 0, 11474 3, 2, 10,
114741, 2, -1, 3, 0, 11475 4, 2, 10, 1, 12, 2, 13, -2, 11, 0, 11476 2, 1, 12, -2, 13, 2, 11477 3, 2, 10, 1, 3, -2, 5, 0, 11478 3, -2, 13, 1, 3, -1, 5, 0, 11479 3, 2, 10, 3, 2, -4, 3, 0, 11480 2, 1, 10, 1, 13, 0, 11481 3, 2, 10, 1, 3, -1, 5, 0, 11482 3, 2, 10, 2, 3, -2, 4, 0, 11483 2, 2, 10, 1, 12, 2, 11484 2, 1, 12, -2, 11, 0, 11485 3, -2, 13, 1, 2, -1, 3, 0, 11486 3, 1, 10, -1, 13, 2, 11, 0, 11487 3, 2, 10, 2, 2, -2, 3, 0, 11488 3, 1, 10, 1, 12, -3, 13, 0, 11489 3, 2, 13, -1, 11, 1, 14, 0, 11490 3, 2, 10, 2, 3, -3, 5, 0, 11491 3, 2, 10, 6, 2, -8, 3, 0, 11492 3, -3, 13, 18, 2, -16, 3, 1, 11493 3, 2, 13, 2, 5, -5, 6, 0, 11494 4, 2, 13, 4, 3, -8, 4, 3, 5, 0, 11495 1, 2, 13, 0, 11496 4, -2, 13, 4, 3, -8, 4, 3, 5, 0, 11497 3, -2, 13, 2, 5, -5, 6, 0, 11498 3, 1, 13, 18, 2, -16, 3, 1, 11499 3, -2, 13, -1, 11, 1, 14, 0, 11500 3, 2, 10, 2, 3, -2, 5, 0, 11501 3, 2, 10, 3, 2, -3, 3, 0, 11502 3, 1, 10, 1, 12, 1, 13, 1, 11503 2, 2, 10, 2, 12, 1, 11504 2, 1, 11, 1, 14, 1, 11505 4, -1, 13, -2, 11, 18, 2, -16, 3, 0, 11506 1, 2, 11, 0, 11507 4, -1, 13, 2, 11, 18, 2, -16, 3, 0, 11508 2, -3, 11, 1, 14, 0, 11509 3, 2, 13, 1, 2, -1, 3, 0, 11510 3, 2, 10, 4, 2, -4, 3, 0, 11511 3, 2, 10, 1, 12, -4, 13, 0, 11512 2, 1, 10, -3, 13, 0, 11513 3, 2, 13, 1, 3, -1, 5, 0, 11514 2, 1, 12, 2, 13, 2, 11515 3, 1, 10, 2, 12, 1, 13, 0, 11516 3, 1, 10, -1, 13, -2, 11, 0, 11517 2, 1, 12, 2, 11, 1, 11518 3, 2, 10, 5, 2, -5, 3, 0, 11519 2, 2, 10, -4, 13, 0, 11520 3, 2, 10, 6, 2, -6, 3, 0, 11521 2, 2, 12, 2, 13, 0, 11522 3, 2, 10, -2, 13, -2, 11, 0, 11523 2, 2, 12, 2, 11, 0, 11524 2, 2, 10, -4, 11, 0, 11525 3, 2, 10, 7, 2, -7, 3, 0, 11526 3, 2, 10, -1, 12, -4, 13, 0, 11527 4, 2, 10, -1, 12, -2, 13, -2, 11, 0, 11528 3, 2, 10, 8, 2, -8, 3, 0, 11529 3, 2, 10, 9, 2, -9, 3, 0, 11530 3, 4, 10, -3, 12, -1, 13, 0, 11531 3, 6, 10, -1, 12, -3, 13, 0, 11532 3, 4, 10, -2, 12, -1, 13, 1, 11533 3, 5, 10, -1, 12, -2, 13, 0, 11534 2, 6, 10, -3, 13, 0, 11535 4, 4, 10, -1, 12, 1, 13, -2, 11, 0, 11536 3, 2, 10, -3, 12, 1, 13, 0, 11537 2, 3, 10, -2, 12, 0, 11538 3, 4, 10, -1, 12, -1, 13, 1, 11539 2, 5, 10, -2, 13, 0, 11540 3, 6, 10, 1, 12, -3, 13, 0, 11541 3, 4, 10, 1, 13, -2, 11, 0, 11542 3, 2, 10, -2, 12, 1, 13, 1, 11543 2, 3, 10, -1, 12, 0, 11544 4, -2, 10, -1, 13, 2, 3, -2, 5, 0, 11545 2, 4, 10, -1, 13, 0, 11546 4, 2, 10, -2, 12, -1, 13, 2, 11, 0, 11547 3, 4, 10, -3, 13, 2, 11, 0, 11548 4, -2, 10, -1, 13, 2, 2, -2, 3, 0, 11549 3, 2, 10, -1, 12, 1, 13, 2, 11550 4, -2, 10, -1, 13, 1, 3, -1, 5, 0, 11551 1, 3, 10, 0, 11552 3, 4, 10, 1, 12, -1, 13, 1, 11553 4, 2, 10, -1, 12, -1, 13, 2, 11, 1, 11554 4, -2, 10, -1, 13, 1, 2, -1, 3, 0, 11555 3, 2, 10, 3, 13, -2, 11, 0, 11556 2, 2, 12, -3, 13, 0, 11557 3, 1, 10, -1, 12, 2, 13, 0, 11558 4, 2, 10, 1, 13, -1, 11, 1, 14, 0, 11559 4, -2, 10, -2, 13, 18, 2, -16, 3, 0, 11560 5, 2, 10, 1, 13, 4, 3, -8, 4, 3, 5, 0, 11561 2, 2, 10, 1, 13, 1, 11562 5, -2, 10, -1, 13, 4, 3, -8, 4, 3, 5, 0, 11563 3, 2, 10, 18, 2, -16, 3, 0, 11564 4, -2, 10, -1, 13, -1, 11, 1, 14, 0, 11565 4, 4, 10, -1, 13, 2, 3, -2, 5, 0, 11566 4, 4, 10, -1, 13, 3, 2, -3, 3, 0, 11567 2, 3, 10, 1, 12, 1, 11568 3, 4, 10, 2, 12, -1, 13, 0, 11569 4, 2, 10, -1, 13, 1, 11, 1, 14, 0, 11570 3, 2, 10, -1, 13, 2, 11, 0, 11571 2, 1, 12, -3, 13, 1, 11572 2, 1, 10, 2, 13, 0, 11573 3, 2, 10, 1, 12, 1, 13, 1, 11574 3, 1, 12, -1, 13, -2, 11, 1, 11575 2, 1, 10, 2, 11, 0, 11576 4, 2, 10, 1, 12, -1, 13, 2, 11, 0, 11577 1, 3, 13, 0, 11578 4, 2, 10, 1, 13, 2, 3, -2, 5, 0, 11579 3, 1, 10, 1, 12, 2, 13, 0, 11580 3, 2, 10, 2, 12, 1, 13, 0, 11581 3, 1, 13, 1, 11, 1, 14, 0, 11582 2, 1, 13, 2, 11, 0, 11583 3, 1, 10, 1, 12, 2, 11, 0, 11584 4, 2, 10, 2, 12, -1, 13, 2, 11, 0, 11585 2, 1, 13, -4, 11, 0, 11586 2, 1, 10, -4, 13, 0, 11587 2, 1, 12, 3, 13, 1, 11588 3, 1, 12, 1, 13, 2, 11, 1, 11589 2, 2, 10, -5, 13, 0, 11590 3, 2, 10, -3, 13, -2, 11, 0, 11591 3, 2, 10, -1, 13, -4, 11, 0, 11592 3, 6, 10, -2, 12, -2, 13, 0, 11593 2, 4, 10, -3, 12, 0, 11594 3, 6, 10, -1, 12, -2, 13, 0, 11595 2, 4, 10, -2, 12, 1, 11596 2, 6, 10, -2, 13, 0, 11597 2, 4, 10, -1, 12, 1, 11598 2, 5, 10, -1, 13, 0, 11599 3, 6, 10, 1, 12, -2, 13, 0, 11600 4, 4, 10, -1, 12, -2, 13, 2, 11, 0, 11601 3, 4, 10, 2, 13, -2, 11, 0, 11602 3, 2, 10, -2, 12, 2, 13, 0, 11603 1, 4, 10, 0, 11604 3, 2, 10, -2, 12, 2, 11, 0, 11605 3, 4, 10, -2, 13, 2, 11, 0, 11606 3, 2, 10, -1, 12, 2, 13, 1, 11607 2, 3, 10, 1, 13, 0, 11608 2, 4, 10, 1, 12, 1, 11609 3, 2, 10, -1, 12, 2, 11, 1, 11610 3, 3, 10, -1, 13, 2, 11, 0, 11611 2, 2, 10, 2, 13, 0, 11612 3, 3, 10, 1, 12, 1, 13, 0, 11613 3, 2, 10, 1, 11, 1, 14, 0, 11614 2, 2, 10, 2, 11, 0, 11615 2, 1, 12, -4, 13, 0, 11616 2, 1, 10, 3, 13, 0, 11617 3, 2, 10, 1, 12, 2, 13, 1, 11618 3, 1, 12, -2, 13, -2, 11, 0, 11619 3, 1, 10, 1, 13, 2, 11, 0, 11620 3, 2, 10, 1, 12, 2, 11, 0, 11621 1, 4, 13, 0, 11622 3, 1, 10, 1, 12, 3, 13, 0, 11623 2, 2, 13, 2, 11, 0, 11624 4, 1, 10, 1, 12, 1, 13, 2, 11, 0, 11625 1, 4, 11, 0, 11626 2, 1, 12, 4, 13, 0, 11627 3, 1, 12, 2, 13, 2, 11, 0, 11628 3, 2, 10, -4, 13, -2, 11, 0, 11629 3, 6, 10, -2, 12, -1, 13, 0, 11630 2, 8, 10, -3, 13, 0, 11631 3, 6, 10, -1, 12, -1, 13, 0, 11632 3, 4, 10, -2, 12, 1, 13, 0, 11633 2, 6, 10, -1, 13, 0, 11634 3, 4, 10, -1, 12, 1, 13, 1, 11635 3, 6, 10, 1, 12, -1, 13, 0, 11636 4, 4, 10, -1, 12, -1, 13, 2, 11, 0, 11637 3, 2, 10, -2, 12, 3, 13, 0, 11638 2, 4, 10, 1, 13, 0, 11639 3, 4, 10, -1, 13, 2, 11, 0, 11640 3, 2, 10, -1, 12, 3, 13, 0, 11641 3, 4, 10, 1, 12, 1, 13, 0, 11642 4, 2, 10, -1, 12, 1, 13, 2, 11, 0, 11643 2, 2, 10, 3, 13, 0, 11644 3, 2, 10, 1, 13, 2, 11, 0, 11645 3, 2, 10, -1, 13, 4, 11, 0, 11646 3, 2, 10, 1, 12, 3, 13, 0, 11647 3, 1, 12, -3, 13, -2, 11, 0, 11648 3, 1, 10, 2, 13, 2, 11, 0, 11649 4, 2, 10, 1, 12, 1, 13, 2, 11, 0, 11650 1, 5, 13, 0, 11651 2, 3, 13, 2, 11, 0, 11652 2, 1, 13, 4, 11, 0, 11653 3, 1, 12, 3, 13, 2, 11, 0, 11654 2, 8, 10, -2, 13, 0, 11655 2, 6, 10, -1, 12, 0, 11656 1, 6, 10, 0, 11657 3, 6, 10, -2, 13, 2, 11, 0, 11658 3, 4, 10, -1, 12, 2, 13, 0, 11659 3, 4, 10, -1, 12, 2, 11, 0, 11660 2, 4, 10, 2, 13, 0, 11661 2, 4, 10, 2, 11, 0, 11662 3, 2, 10, -1, 12, 4, 13, 0, 11663 3, 4, 10, 1, 12, 2, 13, 0, 11664 4, 2, 10, -1, 12, 2, 13, 2, 11, 0, 11665 2, 2, 10, 4, 13, 0, 11666 3, 2, 10, 2, 13, 2, 11, 0, 11667 2, 2, 10, 4, 11, 0, 11668 1, 6, 13, 0, 11669 2, 4, 13, 2, 11, 0, 11670 2, 2, 13, 4, 11, 0, 11671 3, 6, 10, -1, 12, 1, 13, 0, 11672 2, 6, 10, 1, 13, 0, 11673 2, 4, 10, 3, 13, 0, 11674 3, 4, 10, 1, 13, 2, 11, 0, 11675 2, 2, 10, 5, 13, 0, 11676 3, 2, 10, 3, 13, 2, 11, 0, 11677 -1 11678 ] 11679}; 11680 11681$ns.moonlat = { 11682 maxargs: 14, 11683 max_harmonic: [0, 26, 29, 8, 3, 5, 0, 0, 0, 6, 5, 3, 5, 1, 0, 0, 0, 0], 11684 max_power_of_t: 3, 11685 distance: 2.5735686895300000e-03, 11686 timescale: 3.6525000000000000e+06, 11687 trunclvl: 1.0000000000000000e-04, 11688 lon_tbl: [ 11689 -3, -4, 11690 4, -1856, 0, 8043, 11691 -9, -1082, 11692 -1, -310, 11693 -1, -522, 11694 -330, -1449, -853, 4656, 11695 -66, 7, 11696 -1, 9996928, 11697 -66, 6, 11698 23, 183, 11699 0, 173, 11700 0, -56, 11701 0, 50, 11702 0, -785, 11703 1, 51, 11704 0, -60,
vendor: 16,384 bytes, lines 11705-12425
11705 1, 11843, 0, -50754, 11706 0, 1834, 1, -7910, 11707 0, -48060, 11708 1, 56, 11709 0, 13141, -1, -56318, 11710 0, 2541, 11711 -1, -649, 11712 -133, 778, 11713 -46, 8, 11714 1, 1665737, 11715 -47, 7, 11716 0, 65, 11717 0, 45, 11718 0, -138, 11719 0, -1005, 11720 0, -2911, 11721 0, -47, 11722 0, 96, 11723 0, -394, 11724 2, 76, 11725 2, -17302, 0, 74337, 11726 0, -101, 11727 0, 58, 11728 0, -171, 11729 0, -77, 11730 0, -1283, 0, 2686, 11731 0, -55, 11732 0, 99, 11733 0, 55, 11734 0, 397, 11735 0, 540, 11736 0, 626, 11737 -1, -5188, 0, 10857, 11738 0, -216, 11739 -2, -123, 11740 0, 6337, 11741 2, 224, 11742 -152, -23472, -29, -74336, 0, 295775, 11743 -20, 149, 11744 -2, 84, 11745 9, 304, 11746 0, -3051, 11747 -70, -6, 11748 -57, 34, 11749 0, -638, 11750 0, -201, 11751 -73, 9, 11752 0, -100, 11753 -101, -8, 11754 0, -57, 11755 0, -207, 11756 -3, 80, 11757 -45, 45, 11758 -5, 102, 11759 -59, -23, 11760 52, 201, 11761 -48, 233, -220, 71, 11762 4, 2810, 0, 6236541, 11763 -61, 218, -216, 67, 11764 51, 201, 11765 -59, -23, 11766 -144, -837, -457, 3029, 11767 -45, 42, 11768 -15, 73, 11769 -6, -169, 11770 0, 135, 11771 -64, -7, 11772 0, -16245, 11773 0, -81, 11774 -74, -10, 11775 0, 702, 0, -3013, 11776 0, -5889, 11777 1, 141, 11778 58, 9598, 12, 30443, 1, -120946, 11779 -1, -84, 11780 -2, 11246, -1, -48391, 11781 0, 1393, 11782 0, 200, 11783 -136, -17, 11784 0, 558, 11785 -64, -8, 11786 0, -71, 11787 0, 317577, 11788 -28, 183, 11789 1, 219, 11790 0, 421, 11791 0, -133, 11792 501, -139, 11793 3, 354, 11794 -101, -13, 11795 74, 7, 11796 144, -84, 11797 59, -2, 11798 1, 64, 11799 -2931, 12559, -4641, 2638, -303, -2058, 11800 -13, -100, -123, -79, 11801 -19214, 6084, 1494, 26993, 15213, -82219, 11802 42, 52, 48, -101, 11803 -53, -4, 11804 4, 47, 11805 58, -131, 11806 46, 14, 11807 -21, -6, 11808 -1311, -8791, 10198, -4185, 2815, 5640, 11809 167, 422, -229, 83, 11810 3140, 39, 1221, 120, 96, -30, 11811 -1, 184612405, 11812 187, 416, -226, 81, 11813 -1985, -10083, 9983, -4464, 2807, 5643, 11814 -21, -9, 11815 113, -367, 11816 120, 580, -667, 27, 11817 8, 66, 11818 -56, -6, 11819 337, 95, 11820 -87, 3303, 11821 -1, 65, 11822 68, -374, 11823 0, -574, 11824 15, -94, 11825 0, -53, 11826 0, -1303, 11827 0, -236, 11828 283, 36, 11829 -1, -54, 11830 269, -35, 11831 0, -83, 11832 0, -52, 11833 0, 730, 0, -3129, 11834 0, 813, 11835 0, -4299, 11836 1, 59, 11837 -6, 5130, 1, 16239, -1, -64603, 11838 0, -80, 11839 91, 12, 11840 0, -561, 11841 133, -17, 11842 0, 250, 11843 -12, 71, 11844 0, 155664, 11845 82, -11, 11846 0, 106, 11847 0, -604, 11848 0, 21862, 11849 55, -7, 11850 0, -1514, 0, 6501, 11851 0, 906, 11852 0, -68, 11853 0, 241, 11854 0, 366, 11855 0, 70, 11856 0, -1382, 0, 5957, 11857 0, 113, 11858 0, -51, 11859 0, -55, 11860 0, 731, 11861 0, -264, 11862 0, 65788, 11863 1, -1504, 0, 3147, 11864 0, 217, 11865 0, -4105, 0, 17658, 11866 1, 69, 11867 0, -3518, 11868 0, -1767, 11869 -43, -7044, -10, -22304, 0, 88685, 11870 3, 91, 11871 0, -485, 11872 0, -57, 11873 -1, 333548, 11874 -24, 172, 11875 11, 544, 1, -1132, 11876 0, 353, 11877 0, -188, 11878 0, 53, 11879 0, 77, 11880 158, -887, 11881 35, 131, 11882 -54, 13, 11883 0, 1994821, 11884 -53, 14, 11885 36, 125, 11886 2, 56, 11887 0, -243, 11888 0, -364, 11889 -2, 1916, 0, -8227, 11890 0, 15700, -1, -67308, 11891 1, 66, 11892 0, -53686, 11893 1, 3058, 1, -13177, 11894 0, -72, 11895 0, -72, 11896 0, 61, 11897 0, 15812, 11898 0, 165, 11899 8, -96, 11900 318, 1341, 803, -4252, 11901 24, 193, 11902 1137, -226, 310, 622, 11903 -56, 30, 11904 -3, 10101666, 11905 -56, 30, 11906 1096, -225, 300, 600, 11907 -31, 409, 11908 -1, -507, 11909 0, -287, 11910 0, -1869, 0, 8026, 11911 1, 544, -1, -1133, 11912 0, 27984, 11913 0, -62, 11914 0, -249, 11915 0, 187, 11916 0, -1096, 11917 1, 53, 11918 2, 12388, 0, -53107, 11919 0, -322, 11920 0, -94, 11921 0, 15157, 11922 0, -582, 11923 0, 3291, 11924 0, 565, 11925 0, 106, 11926 0, 112, 11927 0, 306, 11928 0, 809, 11929 0, 130, 11930 0, -961, 0, 4149, 11931 0, 174, 11932 0, -105, 11933 0, 2196, 11934 0, 59, 11935 0, 36737, 11936 -1, -1832, 0, 3835, 11937 0, -139, 11938 0, 24138, 11939 0, 1325, 11940 1, 64, 11941 0, -361, 11942 0, -1162, 11943 -44, -6320, -10, -20003, 0, 79588, 11944 2, 80, 11945 0, -2059, 11946 0, -304, 11947 0, 21460, 11948 0, -166, 11949 0, -87, 11950 89, -493, 11951 32, 114, 11952 34, 510, 1, 1172616, 11953 31, 113, 11954 -1, 57, 11955 0, 214, 11956 0, -656, 11957 0, -646, 11958 0, 1850, 0, -7931, 11959 0, -6674, 11960 0, 2944, 0, -12641, 11961 0, 916, 11962 45, -255, 11963 16, 60, 11964 -1, 619116, 11965 16, 57, 11966 0, -58, 11967 0, 1045, 11968 0, -156, 11969 -15, 88, 11970 0, -62964, 11971 0, -126, 11972 0, 1490, 0, -6387, 11973 0, 119, 11974 0, 1338, 11975 0, -56, 11976 0, 204, 11977 0, 153, 11978 0, 940, 11979 0, 251, 11980 0, 312, 11981 0, 584, 11982 0, -786, 0, 3388, 11983 0, -52, 11984 0, 4733, 11985 0, 618, 11986 0, 29982, 11987 0, 101, 11988 0, -174, 11989 0, -2637, 0, 11345, 11990 0, -284, 11991 0, -524, 11992 0, -121, 11993 0, 1464, 11994 11, -60, 11995 -1, 151205, 11996 0, 139, 11997 0, -2448, 11998 0, -51, 11999 0, -768, 12000 0, -638, 12001 0, 552, 0, -2370, 12002 0, 70, 12003 0, 64, 12004 0, 57, 12005 0, 39840, 12006 0, 104, 12007 0, -10194, 12008 0, -635, 12009 0, 69, 12010 0, 113, 12011 0, 67, 12012 0, 96, 12013 0, 367, 12014 0, 134, 12015 0, 596, 12016 0, 63, 12017 0, 1622, 12018 0, 483, 12019 0, 72, 12020 0, 11917, 12021 0, -63, 12022 0, 1273, 12023 0, -66, 12024 0, -262, 12025 0, -97, 12026 0, 103, 12027 0, 15196, 12028 0, -1445, 12029 0, -66, 12030 0, -55, 12031 0, -323, 12032 0, 2632, 12033 0, -1179, 12034 0, 59, 12035 0, -56, 12036 0, 78, 12037 0, 65, 12038 0, 422, 12039 0, 309, 12040 0, 2125, 12041 0, -66, 12042 0, 124, 12043 0, -57, 12044 0, 1379, 12045 0, -304, 12046 0, 177, 12047 0, -118, 12048 0, 146, 12049 0, 283, 12050 0, 119 12051 ], 12052 lat_tbl: [], 12053 rad_tbl: [], 12054 arg_tbl: [ 12055 0, 1, 12056 3, 1, 10, 1, 12, -1, 11, 1, 12057 4, 2, 10, 2, 12, -1, 13, -1, 11, 0, 12058 5, 2, 10, -1, 13, -1, 11, 3, 2, -3, 3, 0, 12059 5, 2, 10, -1, 13, -1, 11, 2, 3, -2, 5, 0, 12060 2, -1, 13, 1, 14, 1, 12061 5, -1, 13, 1, 11, 4, 3, -8, 4, 3, 5, 0, 12062 2, 1, 13, -1, 11, 0, 12063 5, 1, 13, -1, 11, 4, 3, -8, 4, 3, 5, 0, 12064 5, 2, 10, -1, 13, -1, 11, 2, 3, -3, 5, 0, 12065 4, 1, 10, 1, 12, -2, 13, 1, 11, 0, 12066 4, 1, 13, -1, 11, 1, 2, -1, 3, 0, 12067 5, 2, 10, -1, 13, -1, 11, 2, 2, -2, 3, 0, 12068 3, 1, 10, -2, 13, 1, 11, 0, 12069 4, 1, 13, -1, 11, 1, 3, -1, 5, 0, 12070 4, -1, 13, 1, 11, 1, 2, -1, 3, 0, 12071 3, 1, 12, 1, 13, -1, 11, 1, 12072 4, 2, 10, 1, 12, -1, 13, -1, 11, 1, 12073 2, 1, 10, -1, 11, 0, 12074 4, -1, 13, 1, 11, 1, 3, -1, 5, 0, 12075 3, 1, 12, -1, 13, 1, 11, 1, 12076 3, 2, 10, -3, 13, 1, 11, 0, 12077 3, 2, 12, 1, 13, -1, 11, 0, 12078 3, -2, 10, 1, 13, 1, 14, 0, 12079 6, -2, 10, 1, 13, 1, 11, 4, 3, -8, 4, 3, 5, 0, 12080 3, 2, 10, -1, 13, -1, 11, 0, 12081 6, 2, 10, -1, 13, -1, 11, 4, 3, -8, 4, 3, 5, 0, 12082 4, -1, 13, 1, 11, 2, 3, -2, 5, 0, 12083 4, -1, 13, 1, 11, 3, 2, -3, 3, 0, 12084 3, 1, 10, -1, 12, -1, 11, 0, 12085 3, 2, 12, -1, 13, 1, 11, 0, 12086 3, 2, 10, 1, 13, -3, 11, 0, 12087 5, -2, 10, 1, 13, 1, 11, 1, 2, -1, 3, 0, 12088 4, 2, 10, -1, 12, -3, 13, 1, 11, 0, 12089 3, 3, 10, -2, 13, -1, 11, 0, 12090 5, -2, 10, 1, 13, 1, 11, 1, 3, -1, 5, 0, 12091 4, 2, 10, -1, 12, -1, 13, -1, 11, 1, 12092 2, 3, 10, -3, 11, 0, 12093 5, -2, 10, 1, 13, 1, 11, 2, 2, -2, 3, 0, 12094 4, 2, 10, -1, 12, 1, 13, -3, 11, 0, 12095 3, 4, 10, -3, 13, -1, 11, 0, 12096 4, 2, 10, -2, 12, -1, 13, -1, 11, 1, 12097 3, 4, 10, -1, 13, -3, 11, 0, 12098 4, 2, 10, -3, 12, -1, 13, -1, 11, 0, 12099 3, 4, 10, -1, 12, -3, 11, 0, 12100 3, 2, 10, -3, 12, -1, 11, 0, 12101 4, 4, 10, -1, 12, -2, 13, -1, 11, 0, 12102 2, 4, 10, -3, 11, 0, 12103 3, 2, 10, -2, 12, -1, 11, 1, 12104 4, 3, 10, -1, 12, -1, 13, -1, 11, 0, 12105 4, -2, 10, 1, 11, 2, 3, -2, 5, 0, 12106 3, 4, 10, -2, 13, -1, 11, 0, 12107 4, -2, 10, 1, 11, 2, 2, -2, 3, 0, 12108 3, 2, 10, -1, 12, -1, 11, 2, 12109 3, -2, 10, 1, 12, 1, 14, 0, 12110 4, -2, 10, 1, 11, 2, 3, -2, 4, 0, 12111 4, -2, 10, 1, 11, 1, 3, -1, 5, 0, 12112 3, 3, 10, -1, 13, -1, 11, 0, 12113 4, -2, 10, 1, 11, 3, 2, -4, 3, 0, 12114 4, -2, 10, 1, 11, 1, 3, -2, 5, 0, 12115 4, 2, 10, -1, 12, -2, 13, 1, 11, 0, 12116 4, -2, 10, 1, 11, 1, 2, -1, 3, 0, 12117 2, -1, 10, 1, 2, 0, 12118 3, 2, 10, 2, 13, -3, 11, 0, 12119 4, -2, 10, 1, 11, 2, 2, -3, 3, 0, 12120 3, 2, 12, -2, 13, 1, 11, 0, 12121 4, 1, 10, -1, 12, 1, 13, -1, 11, 0, 12122 3, -2, 10, 1, 11, 1, 5, 0, 12123 4, 2, 10, -1, 11, 1, 3, -2, 4, 0, 12124 3, 2, 10, -2, 11, 1, 14, 0, 12125 4, -2, 10, 1, 11, 8, 2, -13, 3, 0, 12126 5, -2, 10, -1, 13, 1, 11, 18, 2, -16, 3, 0, 12127 5, 2, 10, -1, 11, 4, 3, -8, 4, 3, 5, 1, 12128 2, 2, 10, -1, 11, 1, 12129 5, -2, 10, 1, 11, 4, 3, -8, 4, 3, 5, 1, 12130 5, 2, 10, -1, 13, -1, 11, 18, 2, -16, 3, 0, 12131 4, 2, 10, -1, 11, 8, 2, -13, 3, 0, 12132 2, -2, 10, 1, 14, 1, 12133 4, -2, 10, 1, 11, 1, 3, -2, 4, 0, 12134 3, 2, 10, -1, 11, 1, 5, 0, 12135 2, 2, 12, -1, 11, 0, 12136 4, 3, 10, 1, 12, -1, 13, -1, 11, 0, 12137 4, 2, 10, -1, 11, 2, 2, -3, 3, 0, 12138 3, 2, 10, -2, 13, 1, 11, 0, 12139 4, 2, 10, -1, 11, 1, 2, -1, 3, 0, 12140 3, 1, 10, 1, 2, -2, 3, 0, 12141 3, 1, 12, -2, 13, 1, 11, 1, 12142 3, 1, 10, 1, 13, -1, 11, 0, 12143 4, 2, 10, -1, 11, 1, 3, -1, 5, 0, 12144 3, 2, 10, 1, 12, -1, 11, 2, 12145 3, -2, 10, -1, 12, 1, 14, 0, 12146 2, 1, 12, -1, 11, 1, 12147 3, 1, 10, -1, 13, 1, 11, 0, 12148 4, 2, 10, -1, 11, 2, 2, -2, 3, 0, 12149 3, 1, 10, 2, 2, -3, 3, 0, 12150 4, 2, 10, 1, 12, -2, 13, 1, 11, 0, 12151 3, -1, 10, 1, 2, -2, 3, 0, 12152 3, -1, 11, 1, 2, -1, 3, 0, 12153 2, 2, 13, -1, 11, 0, 12154 2, -2, 13, 1, 14, 0, 12155 4, 2, 10, -1, 11, 2, 3, -2, 5, 0, 12156 4, 2, 10, -1, 11, 3, 2, -3, 3, 0, 12157 4, 2, 10, 2, 12, -2, 13, -1, 11, 0, 12158 3, 1, 10, 1, 3, -2, 5, 0, 12159 4, 1, 10, 1, 12, 1, 13, -1, 11, 0, 12160 3, 1, 10, 3, 2, -4, 3, 0, 12161 3, 1, 10, 1, 3, -1, 5, 0, 12162 3, 1, 10, 1, 3, -2, 6, 0, 12163 3, 1, 10, 2, 3, -2, 4, 0, 12164 4, 1, 10, 1, 12, -1, 13, -1, 11, 0, 12165 3, 2, 10, 2, 12, -1, 11, 2, 12166 4, 1, 10, 1, 3, 2, 5, -5, 6, 1, 12167 1, 1, 14, 2, 12168 3, 1, 10, 8, 2, -12, 3, 1, 12169 5, -2, 10, 1, 13, -1, 11, 20, 2, -21, 3, 0, 12170 5, 2, 10, -2, 13, 1, 11, 2, 3, -3, 5, 0, 12171 3, 1, 10, 1, 3, 1, 6, 0, 12172 4, -1, 13, -1, 11, 26, 2, -29, 3, 0, 12173 3, -1, 11, 8, 2, -13, 3, 0, 12174 4, -1, 13, -1, 11, 18, 2, -16, 3, 2, 12175 4, -1, 13, 1, 11, 10, 2, -3, 3, 1, 12176 1, 1, 11, 3, 12177 4, -1, 13, -1, 11, 10, 2, -3, 3, 1, 12178 4, -1, 13, 1, 11, 18, 2, -16, 3, 2, 12179 3, 1, 11, 8, 2, -13, 3, 0, 12180 2, 1, 10, 2, 4, 0, 12181 4, 2, 10, -1, 11, 5, 2, -6, 3, 1, 12182 5, 2, 10, -2, 13, -1, 11, 2, 3, -3, 5, 0, 12183 5, -2, 10, 1, 13, 1, 11, 20, 2, -21, 3, 0, 12184 3, 1, 10, 1, 3, 1, 5, 0, 12185 2, -2, 11, 1, 14, 0, 12186 5, 2, 10, -2, 13, 1, 11, 2, 3, -2, 5, 0, 12187 3, 1, 10, 5, 2, -7, 3, 0, 12188 4, 1, 10, 1, 12, -1, 13, 1, 11, 0, 12189 3, 1, 10, 2, 2, -2, 3, 0, 12190 4, 2, 10, 2, 12, -2, 13, 1, 11, 0, 12191 2, 2, 13, -3, 11, 0, 12192 4, 2, 10, -1, 11, 4, 2, -4, 3, 0, 12193 3, 1, 10, 4, 2, -5, 3, 0, 12194 3, 1, 10, -3, 13, 1, 11, 0, 12195 2, 1, 10, 1, 2, 0, 12196 3, 1, 11, 1, 2, -1, 3, 0, 12197 4, 2, 10, -1, 11, 3, 3, -3, 5, 0, 12198 3, 1, 12, 2, 13, -1, 11, 1, 12199 4, 2, 10, 1, 12, -2, 13, -1, 11, 0, 12200 3, 1, 10, -1, 13, -1, 11, 0, 12201 3, 1, 11, 1, 3, -1, 5, 0, 12202 2, 1, 12, 1, 11, 2, 12203 4, 2, 10, -1, 11, 5, 2, -5, 3, 0, 12204 3, 1, 10, 5, 2, -6, 3, 0, 12205 3, 2, 10, 1, 12, -3, 11, 0, 12206 3, 1, 10, 2, 2, -1, 3, 0, 12207 3, 2, 10, -4, 13, 1, 11, 0, 12208 3, -2, 10, 2, 13, 1, 14, 0, 12209 3, 2, 10, -2, 13, -1, 11, 0, 12210 3, 1, 10, 3, 2, -2, 3, 0, 12211 4, 1, 10, -1, 12, -1, 13, -1, 11, 0, 12212 2, 2, 12, 1, 11, 0, 12213 2, 2, 10, -3, 11, 0, 12214 3, 1, 10, 4, 2, -3, 3, 0, 12215 4, 2, 10, -1, 12, -2, 13, -1, 11, 1, 12216 3, 2, 10, -1, 12, -3, 11, 0, 12217 3, 4, 10, -4, 13, -1, 11, 0, 12218 4, 2, 10, -2, 12, -2, 13, -1, 11, 0, 12219 4, 4, 10, -2, 12, -1, 13, -1, 11, 0, 12220 3, 6, 10, -3, 13, -1, 11, 0, 12221 4, 4, 10, -1, 12, -1, 13, -1, 11, 1, 12222 4, 2, 10, -3, 12, -1, 13, 1, 11, 0, 12223 3, 5, 10, -2, 13, -1, 11, 0, 12224 3, 4, 10, 1, 13, -3, 11, 0, 12225 4, 2, 10, -2, 12, 1, 13, -1, 11, 0, 12226 3, 3, 10, -1, 12, -1, 11, 0, 12227 3, 4, 10, -1, 13, -1, 11, 0, 12228 4, 2, 10, -2, 12, -1, 13, 1, 11, 1, 12229 3, 4, 10, -3, 13, 1, 11, 0, 12230 4, 2, 10, -1, 12, 1, 13, -1, 11, 1, 12231 5, -2, 10, 1, 13, -1, 11, 2, 2, -2, 3, 0, 12232 2, 3, 10, -1, 11, 0, 12233 4, 4, 10, 1, 12, -1, 13, -1, 11, 0, 12234 4, 2, 10, -1, 12, -1, 13, 1, 11, 2, 12235 5, -2, 10, 1, 13, -1, 11, 1, 3, -1, 5, 0, 12236 3, 3, 10, -2, 13, 1, 11, 0, 12237 5, -2, 10, 1, 13, -1, 11, 1, 2, -1, 3, 0, 12238 3, 2, 10, 1, 13, -1, 11, 0, 12239 3, -2, 10, -1, 13, 1, 14, 0, 12240 3, 2, 12, -1, 13, -1, 11, 1, 12241 3, 3, 10, 1, 12, -1, 11, 0, 12242 3, 1, 10, -1, 12, 1, 11, 0, 12243 4, -1, 13, -1, 11, 3, 2, -3, 3, 0, 12244 4, -1, 13, -1, 11, 2, 3, -2, 5, 0, 12245 3, 2, 10, -1, 13, 1, 14, 0, 12246 4, -2, 10, -1, 11, 18, 2, -16, 3, 0, 12247 6, 2, 10, -1, 13, 1, 11, 4, 3, -8, 4, 3, 5, 0, 12248 3, 2, 10, -1, 13, 1, 11, 0, 12249 6, -2, 10, 1, 13, -1, 11, 4, 3, -8, 4, 3, 5, 0, 12250 5, 2, 10, -2, 13, 1, 11, 18, 2, -16, 3, 0, 12251 4, -2, 10, 1, 13, -2, 11, 1, 14, 0, 12252 3, 1, 12, -3, 13, 1, 11, 0, 12253 3, 1, 10, 2, 13, -1, 11, 0, 12254 4, 2, 10, 1, 12, 1, 13, -1, 11, 1, 12255 3, 1, 12, -1, 13, -1, 11, 1, 12256 4, -1, 13, -1, 11, 1, 3, -1, 5, 0, 12257 2, 1, 10, 1, 11, 0, 12258 4, 2, 10, 1, 12, -1, 13, 1, 11, 1, 12259 3, 1, 12, 1, 13, -3, 11, 0, 12260 4, -1, 13, -1, 11, 1, 2, -1, 3, 0, 12261 5, 2, 10, -1, 13, 1, 11, 2, 2, -2, 3, 0, 12262 2, 3, 13, -1, 11, 0, 12263 4, 1, 10, 1, 12, -2, 13, -1, 11, 0, 12264 4, 2, 10, 2, 12, 1, 13, -1, 11, 0, 12265 2, 1, 13, 1, 14, 1, 12266 5, 2, 10, -1, 13, 1, 11, 2, 3, -3, 5, 0, 12267 4, -2, 13, -1, 11, 18, 2, -16, 3, 1, 12268 5, 1, 13, 1, 11, 4, 3, -8, 4, 3, 5, 0, 12269 2, 1, 13, 1, 11, 0, 12270 5, -1, 13, -1, 11, 4, 3, -8, 4, 3, 5, 0, 12271 3, 1, 11, 18, 2, -16, 3, 1, 12272 3, -1, 13, -2, 11, 1, 14, 0, 12273 5, 2, 10, -1, 13, 1, 11, 2, 3, -2, 5, 0, 12274 5, 2, 10, -1, 13, 1, 11, 3, 2, -3, 3, 0, 12275 3, 1, 10, 1, 12, 1, 11, 1, 12276 4, 2, 10, 2, 12, -1, 13, 1, 11, 1, 12277 2, 1, 13, -3, 11, 0, 12278 4, 1, 13, 1, 11, 1, 2, -1, 3, 0, 12279 3, 1, 12, 3, 13, -1, 11, 0, 12280 4, 2, 10, 1, 12, -3, 13, -1, 11, 0, 12281 3, 1, 10, -2, 13, -1, 11, 0, 12282 4, 1, 13, 1, 11, 1, 3, -1, 5, 0, 12283 3, 1, 12, 1, 13, 1, 11, 1, 12284 2, 1, 10, -3, 11, 0, 12285 3, 1, 12, -1, 13, 3, 11, 0, 12286 3, 2, 10, -3, 13, -1, 11, 0, 12287 3, 2, 12, 1, 13, 1, 11, 0, 12288 3, 2, 10, -1, 13, -3, 11, 0, 12289 4, 2, 10, -1, 12, -3, 13, -1, 11, 0, 12290 4, 2, 10, -1, 12, -1, 13, -3, 11, 0, 12291 4, 6, 10, -1, 12, -2, 13, -1, 11, 0, 12292 3, 4, 10, -2, 12, -1, 11, 0, 12293 3, 6, 10, -2, 13, -1, 11, 0, 12294 4, 4, 10, -2, 12, -2, 13, 1, 11, 0, 12295 3, 4, 10, -1, 12, -1, 11, 1, 12296 3, 2, 10, -3, 12, 1, 11, 0, 12297 3, 5, 10, -1, 13, -1, 11, 0, 12298 4, 4, 10, -1, 12, -2, 13, 1, 11, 0, 12299 4, 2, 10, -2, 12, 2, 13, -1, 11, 0, 12300 2, 4, 10, -1, 11, 0, 12301 3, 2, 10, -2, 12, 1, 11, 1, 12302 4, 3, 10, -1, 12, -1, 13, 1, 11, 0, 12303 3, 4, 10, -2, 13, 1, 11, 0, 12304 4, 2, 10, -1, 12, 2, 13, -1, 11, 0, 12305 4, -2, 10, -1, 11, 2, 2, -2, 3, 0, 12306 3, 3, 10, 1, 13, -1, 11, 0, 12307 3, 4, 10, 1, 12, -1, 11, 0, 12308 3, 2, 10, -1, 12, 1, 11, 2, 12309 4, -2, 10, -1, 11, 1, 3, -1, 5, 0, 12310 3, 3, 10, -1, 13, 1, 11, 0, 12311 4, 4, 10, 1, 12, -2, 13, 1, 11, 0, 12312 3, 2, 10, 2, 13, -1, 11, 0, 12313 3, 2, 12, -2, 13, -1, 11, 0, 12314 4, 1, 10, -1, 12, 1, 13, 1, 11, 0, 12315 2, 2, 10, 1, 14, 0, 12316 5, -2, 10, -1, 13, -1, 11, 18, 2, -16, 3, 0, 12317 2, 2, 10, 1, 11, 1, 12318 5, 2, 10, -1, 13, 1, 11, 18, 2, -16, 3, 0, 12319 3, -2, 10, -2, 11, 1, 14, 0, 12320 4, 3, 10, 1, 12, -1, 13, 1, 11, 0, 12321 3, 2, 10, -2, 13, 3, 11, 0, 12322 4, 2, 10, 1, 12, 2, 13, -1, 11, 0, 12323 3, 1, 12, -2, 13, -1, 11, 1, 12324 3, 1, 10, 1, 13, 1, 11, 0, 12325 3, 2, 10, 1, 12, 1, 11, 1, 12326 2, 4, 13, -1, 11, 0, 12327 2, 2, 13, 1, 14, 0, 12328 4, -3, 13, -1, 11, 18, 2, -16, 3, 0, 12329 2, 2, 13, 1, 11, 0, 12330 4, 1, 13, 1, 11, 18, 2, -16, 3, 0, 12331 4, 2, 10, 1, 11, 2, 3, -2, 5, 0, 12332 4, 1, 10, 1, 12, 1, 13, 1, 11, 0, 12333 3, 2, 10, 2, 12, 1, 11, 0, 12334 2, 2, 11, 1, 14, 0, 12335 1, 3, 11, 0, 12336 3, 1, 10, -3, 13, -1, 11, 0, 12337 3, 1, 12, 2, 13, 1, 11, 1, 12338 2, 1, 12, 3, 11, 0, 12339 3, 2, 10, -4, 13, -1, 11, 0, 12340 3, 2, 12, 2, 13, 1, 11, 0, 12341 3, 2, 10, -2, 13, -3, 11, 0, 12342 4, 6, 10, -1, 12, -1, 13, -1, 11, 0, 12343 3, 6, 10, -1, 13, -1, 11, 0, 12344 4, 4, 10, -2, 12, -1, 13, 1, 11, 0, 12345 3, 6, 10, -3, 13, 1, 11, 0, 12346 4, 4, 10, -1, 12, 1, 13, -1, 11, 0, 12347 4, 4, 10, -1, 12, -1, 13, 1, 11, 1, 12348 3, 5, 10, -2, 13, 1, 11, 0, 12349 3, 4, 10, 1, 13, -1, 11, 0, 12350 4, 2, 10, -2, 12, 1, 13, 1, 11, 0, 12351 3, 4, 10, -1, 13, 1, 11, 0, 12352 4, 2, 10, -1, 12, 3, 13, -1, 11, 0, 12353 4, 4, 10, 1, 12, 1, 13, -1, 11, 0, 12354 4, 2, 10, -1, 12, 1, 13, 1, 11, 1, 12355 2, 3, 10, 1, 11, 0, 12356 4, 4, 10, 1, 12, -1, 13, 1, 11, 0, 12357 4, 2, 10, -1, 12, -1, 13, 3, 11, 0, 12358 3, 2, 10, 3, 13, -1, 11, 0, 12359 3, 2, 10, 1, 13, 1, 14, 0, 12360 3, 2, 10, 1, 13, 1, 11, 0, 12361 3, 3, 10, 1, 12, 1, 11, 0, 12362 3, 2, 10, -1, 13, 3, 11, 0, 12363 4, 2, 10, 1, 12, 3, 13, -1, 11, 0, 12364 3, 1, 12, -3, 13, -1, 11, 0, 12365 3, 1, 10, 2, 13, 1, 11, 0, 12366 4, 2, 10, 1, 12, 1, 13, 1, 11, 1, 12367 3, 1, 12, -1, 13, -3, 11, 0, 12368 2, 1, 10, 3, 11, 0, 12369 2, 5, 13, -1, 11, 0, 12370 2, 3, 13, 1, 11, 0, 12371 4, 1, 10, 1, 12, 2, 13, 1, 11, 0, 12372 2, 1, 13, 3, 11, 0, 12373 3, 1, 12, 3, 13, 1, 11, 0, 12374 3, 1, 12, 1, 13, 3, 11, 0, 12375 3, 2, 10, -5, 13, -1, 11, 0, 12376 3, 6, 10, -1, 12, -1, 11, 0, 12377 4, 6, 10, -1, 12, -2, 13, 1, 11, 0, 12378 2, 6, 10, -1, 11, 0, 12379 3, 4, 10, -2, 12, 1, 11, 0, 12380 3, 6, 10, -2, 13, 1, 11, 0, 12381 4, 4, 10, -1, 12, 2, 13, -1, 11, 0, 12382 3, 4, 10, -1, 12, 1, 11, 0, 12383 3, 4, 10, 2, 13, -1, 11, 0, 12384 4, 2, 10, -2, 12, 2, 13, 1, 11, 0, 12385 2, 4, 10, 1, 11, 0, 12386 3, 4, 10, -2, 13, 3, 11, 0, 12387 4, 2, 10, -1, 12, 2, 13, 1, 11, 0, 12388 3, 3, 10, 1, 13, 1, 11, 0, 12389 3, 4, 10, 1, 12, 1, 11, 0, 12390 3, 2, 10, -1, 12, 3, 11, 0, 12391 3, 2, 10, 4, 13, -1, 11, 0, 12392 3, 2, 10, 2, 13, 1, 11, 0, 12393 2, 2, 10, 3, 11, 0, 12394 3, 1, 12, -4, 13, -1, 11, 0, 12395 3, 1, 10, 3, 13, 1, 11, 0, 12396 4, 2, 10, 1, 12, 2, 13, 1, 11, 0, 12397 2, 4, 13, 1, 11, 0, 12398 2, 2, 13, 3, 11, 0, 12399 1, 5, 11, 0, 12400 3, 1, 12, 4, 13, 1, 11, 0, 12401 4, 6, 10, -1, 12, -1, 13, 1, 11, 0, 12402 3, 6, 10, 1, 13, -1, 11, 0, 12403 3, 6, 10, -1, 13, 1, 11, 0, 12404 4, 4, 10, -1, 12, 1, 13, 1, 11, 0, 12405 3, 4, 10, 1, 13, 1, 11, 0, 12406 3, 4, 10, -1, 13, 3, 11, 0, 12407 4, 2, 10, -1, 12, 3, 13, 1, 11, 0, 12408 4, 4, 10, 1, 12, 1, 13, 1, 11, 0, 12409 3, 2, 10, 3, 13, 1, 11, 0, 12410 3, 2, 10, 1, 13, 3, 11, 0, 12411 2, 5, 13, 1, 11, 0, 12412 2, 3, 13, 3, 11, 0, 12413 2, 6, 10, 1, 11, 0, 12414 3, 4, 10, 2, 13, 1, 11, 0, 12415 3, 2, 10, 4, 13, 1, 11, 0, 12416 -1 12417 ] 12418}; 12419 12420$ns.mars = { 12421 maxargs: 9, 12422 max_harmonic: [0, 5, 12, 24, 9, 7, 3, 2, 0], 12423 max_power_of_t: 5, 12424 distance: 1.5303348827100001e+00, 12425 timescale:
124253652500.0, 12426 trunclvl: 1.0, 12427 lon_tbl: [ 12428 43471.66140, 21291.11063, 2033.37848, 6890507597.78366, 12429 1279543.73631, 12430 317.74183, 730.69258, -15.26502, 277.56960, 12431 -62.96711, 20.96285, 12432 1.01857, -2.19395, 12433 3.75708, 3.65854, 0.01049, 1.09183, 12434 -0.00605, -0.04769, 12435 0.41839, 0.10091, 0.03887, 0.11666, 12436 -0.03301, 0.02664, 12437 0.38777, -0.56974, 12438 0.02974, -0.15041, 0.02179, -0.00808, 12439 0.08594, 0.09773, 12440 -0.00902, -0.04597, 0.00762, -0.03858, 12441 -0.00139, 0.01562, 12442 0.02019, 0.01878, 12443 -0.01244, 0.00795, 12444 0.00815, 0.03501, 12445 -0.00335, -0.02970, 12446 -0.00518, -0.01763, 12447 0.17257, 0.14698, -0.14417, 0.26028, 12448 0.00062, -0.00180, 12449 13.35262, 39.38771, -15.49558, 22.00150, 12450 -7.71321, -4.20035, 0.62074, -1.42376, 12451 0.07043, -0.06670, 0.16960, -0.06859, 12452 0.07787, 0.01845, 12453 -0.01608, -0.00914, 12454 5.60438, -3.44436, 5.88876, 6.77238, 12455 -5.29704, 3.48944, 12456 0.01291, 0.01280, 12457 -0.53532, 0.86584, 0.79604, 0.31635, 12458 -3.92977, -0.94829, -0.74254, -1.37947, 12459 0.17871, -0.12477, 12460 0.00171, 0.11537, 12461 0.02281, -0.03922, 12462 -0.00165, 0.02965, 12463 1.59773, 1.24565, -0.35802, 1.37272, 12464 -0.44811, -0.08611, 12465 3.04184, -3.39729, 8.86270, 6.65967, 12466 -9.10580, 10.66103, 12467 0.02015, -0.00902, 12468 -0.01166, -0.23957, -0.12128, -0.04640, 12469 -0.07114, 0.14053, -0.04966, -0.01665, 12470 0.28411, -0.37754, -1.26265, 1.01377, 12471 3.70433, -0.21025, 12472 -0.00972, 0.00350, 12473 0.00997, 0.00450, 12474 -2.15305, 3.18147, -1.81957, -0.02321, 12475 -0.02560, -0.35188, 12476 0.00003, -0.01110, 12477 0.00244, -0.05083, 12478 -0.00216, -0.02026, 12479 0.05179, 0.04188, 12480 5.92031, -1.61316, 3.72001, 6.98783, 12481 -4.17690, 2.61250, 12482 0.04157, 2.76453, -1.34043, 0.74586, 12483 -0.20258, -0.30467, 12484 0.00733, 0.00376, 12485 1.72800, 0.76593, 1.26577, -2.02682, 12486 -1.14637, -0.91894, 12487 -0.00002, 0.00036, 12488 2.54213, 0.89533, -0.04166, 2.36838, 12489 -0.97069, 0.05486, 12490 0.46927, 0.04500, 0.23388, 0.35005, 12491 1.61402, 2.30209, -0.99859, 1.63349, 12492 -0.51490, -0.26112, 12493 0.27848, -0.26100, -0.07645, -0.22001, 12494 0.92901, 1.12627, -0.39829, 0.77120, 12495 -0.23716, -0.11245, 12496 -0.02387, 0.03960, 12497 -0.00802, 0.02179, 12498 2.86448, 1.00246, -0.14647, 2.80278, 12499 -1.14143, 0.05177, 12500 1.68671, -1.23451, 3.16285, 0.70070, 12501 0.25817, 3.17416, 12502 0.07447, -0.08116, -0.03029, -0.02795, 12503 0.00816, 0.01023, 12504 0.00685, -0.01075, 12505 -0.34268, 0.03680, -0.05488, -0.07430, 12506 -0.00041, -0.02968, 12507 3.13228, -0.83209, 1.95765, 3.78394, 12508 -2.26196, 1.38520, 12509 -0.00401, -0.01397, 12510 1.01604, -0.99485, 0.62465, 0.22431, 12511 -0.05076, 0.12025, 12512 4.35229, -5.04483, 14.87533, 9.00826, 12513 -10.37595, 19.26596, 12514 0.40352, 0.19895, 0.09463, -0.10774, 12515 -0.17809, -0.08979, -0.00796, -0.04313, 12516 0.01520, -0.03538, 12517 1.53301, -1.75553, 4.87236, 3.23662, 12518 -3.62305, 6.42351, 12519 -0.00439, -0.01305, 12520 0.17194, -0.64003, 0.26609, 0.06600, 12521 0.01767, -0.00251, 12522 -0.08871, -0.15523, 0.01201, -0.03408, 12523 -0.29126, -0.07093, -0.00998, -0.07876, 12524 1.05932, -25.38650, 12525 -0.29354, 0.04179, -0.01726, 0.07473, 12526 -0.07607, -0.08859, 0.00842, -0.02359, 12527 0.47858, -0.39809, 1.25061, 0.87017, 12528 -0.82453, 1.56864, 12529 -0.00463, 0.02385, 12530 -0.29070, 8.56535, 12531 -0.12495, 0.06580, -0.03395, -0.02465, 12532 -1.06759, 0.47004, -0.40281, -0.23957, 12533 0.03572, -0.07012, 12534 0.00571, -0.00731, 12535 0.18601, -1.34068, 12536 0.03798, -0.00532, 0.00448, -0.01147, 12537 1.41208, -0.00668, 0.25883, 1.23788, 12538 -0.57774, 0.09166, 12539 -2.49664, -0.25235, -0.53582, -0.80126, 12540 0.10827, -0.08861, 12541 -0.03577, 0.06825, 12542 -0.00143, 0.04633, 12543 0.01586, -0.01056, 12544 -0.02106, 0.03804, 12545 -0.00088, -0.03458, 12546 -0.00033, -0.01079, 12547 0.05821, -0.02445, 12548 0.00602, 0.00721, 12549 -0.00315, -0.01021, 12550 -0.65454, 1.08478, -0.44593, -0.21492, 12551 -1.35004, 4.47299, -4.19170, 3.51236, 12552 1946.04629, 13960.88247, 576.24572, 8023.81797, 12553 2402.48512, -753.87007, -6376.99217, -10278.88014, 12554 -25743.89874, 15506.87748, 15609.59853, 35173.63133, 12555 -3.70370, 6.29538, -4.84183, -0.76942, 12556 -0.02465, -0.03840, 12557 0.00565, -0.06071, 12558 0.01174, 0.00253, 12559 -0.00230, 0.05252, 12560 -0.02813, 0.01359, 12561 0.23208, 0.03393, 0.01734, 0.04838, 12562 -0.46340, -0.18941, 0.25428, -0.56925, 12563 0.05213, 0.24704, 0.12922, -0.01531, 12564 0.06885, -0.08510, 0.01853, -0.00390, 12565 0.01196, -0.30530, 0.13117, -0.03533, 12566 1.79597, -0.42743, 0.98545, 2.13503, 12567 -1.32942, 0.68005, 12568 -0.01226, 0.00571, 12569 0.31081, 0.34932, 0.34531, -0.32947, 12570 -0.00548, 0.00186, -0.00157, -0.00065, 12571 0.30877, -0.03864, 0.04921, 0.06693, 12572 0.01761, -0.04119, 12573 1.28318, 0.38546, 0.06462, 1.18337, 12574 -0.48698, 0.07086, 12575 0.26031, -0.22813, 0.10272, 0.04737, 12576 -0.04506, -0.38581, -0.16624, -0.04588, 12577 0.00992, 0.00722, 12578 -0.21041, 0.20560, -0.09267, -0.03438, 12579 0.32264, -0.07383, 12580 0.09553, -0.38730, 0.17109, -0.01342, 12581 -0.02336, -0.01286, 12582 0.00230, 0.04626, 12583 0.01176, 0.01868, 12584 -0.15411, -0.32799, 0.22083, -0.14077, 12585 1.98392, 1.68058, 12586 -0.02526, -0.13164, -0.04447, -0.00153, 12587 0.01277, 0.00553, 12588 -0.26035, -0.11362, 0.14672, -0.32242, 12589 0.16686, -0.69957, 0.40091, -0.06721,
vendor: 9,819 bytes, lines 12590-12931
12590 0.00837, 0.09635, 12591 -0.08545, 0.25178, -0.22486, 16.03256, 12592 0.34130, -0.06313, 0.01469, -0.09012, 12593 -0.00744, -0.02510, 12594 -0.08492, -0.13733, 12595 -0.07620, -0.15329, 0.13716, -0.03769, 12596 2.01176, -1.35991, -1.04319, -2.97226, 12597 -0.01433, 0.61219, 12598 -0.55522, 0.38579, 0.31831, 0.81843, 12599 -0.04583, -0.14585, 12600 -0.10218, 0.16039, -0.06552, -0.01802, 12601 0.06480, -0.06641, 0.01672, -0.00287, 12602 0.00308, 0.09982, -0.05679, -0.00249, 12603 -0.36034, 0.52385, -0.29759, 0.59539, 12604 -3.59641, -1.02499, 12605 -547.53774, 734.11470, 441.86760, -626.68255, 12606 -2255.81376, -1309.01028, -2025.69590, 2774.69901, 12607 1711.21478, 1509.99797, 12608 -0.99274, 0.61858, -0.47634, -0.33034, 12609 0.00261, 0.01183, 12610 -0.00038, 0.11687, 12611 0.00994, -0.01122, 12612 0.03482, -0.01942, 12613 -0.11557, 0.38237, -0.17826, 0.00830, 12614 0.01193, -0.05469, 12615 0.01557, 0.01747, 12616 0.02730, -0.01182, 12617 -0.11284, 0.12939, -0.05621, -0.01615, 12618 0.04258, 0.01058, 12619 -0.01723, 0.00963, 12620 0.20666, 0.11742, 12621 0.07830, -0.02922, 12622 -0.10659, -0.05407, 0.07254, -0.13005, 12623 -0.02365, 0.24583, 0.31915, 1.27060, 12624 0.00009, -0.21541, 12625 -0.55324, -0.45999, -1.45885, 0.86530, 12626 0.85932, 1.92999, 12627 -0.00755, -0.00715, 12628 -0.02004, -0.00788, 12629 0.01539, 0.00837, 12630 0.27652, -0.50297, -0.26703, -0.28159, 12631 0.03950, 0.07182, 12632 -0.07177, 0.14140, 0.07693, 0.07564, 12633 -0.01316, -0.01259, 12634 0.01529, 0.07773, 12635 -90.74225, -378.15784, -510.30190, -52.35396, 12636 -89.15267, 415.56828, 181.52119, 54.01570, 12637 -0.01093, -0.05931, 12638 -0.01344, -0.02390, 12639 0.01432, -0.02470, 12640 -0.01509, -0.01346, 12641 0.03352, 0.02248, 12642 0.02588, -0.00948, 12643 0.03610, 0.17238, 12644 0.02909, -0.04065, 12645 0.00155, -0.07025, 12646 -0.09508, 0.14487, 0.12441, 0.16451, 12647 0.00001, -0.00005, 12648 -0.00982, -0.01895, 12649 -0.16968, 0.36565, 0.20234, 0.17789, 12650 -0.04519, -0.00588, 12651 0.01268, 0.00107, 12652 -56.32137, -58.22145, -80.55270, 28.14532, 12653 11.43301, 52.05752, 17.79480, -2.61997, 12654 -0.00005, -0.02629, 12655 0.01080, -0.00390, 12656 0.00744, 0.03132, 12657 0.01156, -0.01621, 12658 0.02162, 0.02552, 12659 0.00075, -0.02497, 12660 0.02495, 0.00830, 12661 0.03230, 0.00103, 12662 -14.84965, -4.50200, -9.73043, 9.40426, 12663 4.08054, 5.38571, 1.53731, -1.01288, 12664 0.21076, 1.74227, 0.79760, 0.39583, 12665 0.09879, -0.16736, 12666 -0.00723, -0.01536 12667 ], 12668 lat_tbl: [ 12669 -364.49380, -47.17612, -554.97858, -430.63121, 12670 596.44312, 12671 -3.94434, -7.43169, -0.06665, -2.23987, 12672 0.10366, -0.05567, 12673 -0.01463, 0.01908, 12674 -0.02611, -0.00350, -0.01057, -0.00610, 12675 -0.00015, 0.00002, 12676 0.00010, 0.00033, 0.00007, -0.00000, 12677 -0.00010, -0.00004, 12678 0.00012, 0.00002, 12679 -0.00014, -0.00048, -0.00003, -0.00007, 12680 0.00008, -0.00005, 12681 -0.00043, -0.00003, -0.00010, -0.00004, 12682 0.00001, 0.00001, 12683 -0.00003, -0.00003, 12684 0.00004, 0.00007, 12685 -0.00041, 0.00031, 12686 0.00076, 0.00062, 12687 0.00001, -0.00002, 12688 0.00035, 0.00053, 0.00026, 0.00019, 12689 0.00020, 0.00010, 12690 0.02936, 0.09624, -0.01153, 0.01386, 12691 0.00551, -0.00690, 0.00196, 0.00148, 12692 -0.00408, -0.00673, -0.00067, -0.00152, 12693 -0.00014, -0.00005, 12694 0.00000, 0.00005, 12695 -0.00116, 0.00276, -0.00391, 0.00983, 12696 -0.01327, -0.01986, 12697 -0.00003, 0.00001, 12698 0.01104, 0.00631, -0.01364, 0.01152, 12699 -0.00439, 0.01103, -0.00546, 0.00181, 12700 -0.00039, -0.00083, 12701 0.00007, 0.00002, 12702 -0.00010, -0.00008, 12703 0.00005, 0.00002, 12704 -0.00584, 0.00512, -0.00722, -0.00174, 12705 0.00101, -0.00316, 12706 -0.02229, -0.02797, -0.10718, 0.05741, 12707 0.11403, 0.10033, 12708 0.00036, -0.00022, 12709 0.00787, 0.01191, 0.01756, -0.02121, 12710 -0.00169, -0.00364, 0.00070, -0.00051, 12711 0.01850, -0.06836, 0.21471, 0.00162, 12712 -0.29165, 0.16799, 12713 -0.00002, 0.00011, 12714 -0.00075, -0.00077, 12715 -0.00675, -0.00814, 0.00029, -0.00599, 12716 0.00107, 0.00013, 12717 0.00010, -0.00002, 12718 0.00005, 0.00020, 12719 0.00355, 0.00306, 12720 -0.00013, -0.00061, 12721 -0.02950, -0.00847, 0.01037, -0.04783, 12722 0.04237, 0.11662, 12723 -0.00331, 0.00207, -0.00107, -0.00264, 12724 0.00072, -0.00023, 12725 -0.00151, 0.00146, 12726 -0.12847, 0.02294, 0.03611, 0.19705, 12727 0.16855, -0.28279, 12728 -0.00000, -0.00002, 12729 -0.00525, -0.03619, 0.05048, -0.00481, 12730 -0.00745, 0.04618, 12731 0.00286, 0.00443, 0.00521, -0.00351, 12732 0.00200, 0.00474, -0.00149, 0.00031, 12733 -0.00003, 0.00029, 12734 0.00686, 0.02467, 0.04275, -0.02223, 12735 0.02282, -0.04228, 0.03312, 0.01847, 12736 -0.01253, 0.01601, 12737 0.00076, 0.00091, 12738 0.00045, 0.00035, 12739 0.00658, 0.01586, -0.00310, 0.00628, 12740 -0.00045, 0.00316, 12741 -0.01602, -0.00340, -0.01744, 0.04907, 12742 0.06426, 0.02275, 12743 -0.00217, -0.00377, -0.00091, 0.00037, 12744 0.00040, -0.00003, 12745 -0.00017, -0.00027, 12746 0.00366, 0.02693, -0.00934, 0.00386, 12747 0.00616, -0.00037, 12748 0.02028, 0.02120, -0.01768, 0.02421, 12749 0.00102, 0.00877, 12750 0.00012, 0.00030, 12751 -0.00019, -0.02165, 0.01245, -0.00742, 12752 0.00172, 0.00320, 12753 -0.17117, -0.12908, -0.43134, 0.15617, 12754 0.21216, 0.56432, 12755 0.01139, -0.00937, -0.00058, -0.00337, 12756 -0.00999, 0.01862, -0.00621, -0.00080, 12757 -0.00025, -0.00140, 12758 0.09250, 0.01173, -0.03549, 0.14651, 12759 -0.01784, 0.00945, 12760 0.00000, -0.00006, 12761 -0.00500, 0.00086, 0.01079, -0.00002, 12762 -0.00012, -0.00029, 12763 -0.02661, 0.00140, -0.00524, -0.00460, 12764 -0.00352, -0.00563, -0.00277, -0.00052, 12765 -0.10171, -0.02001, 12766 0.00045, 0.00265, -0.00082, 0.00160, 12767 -0.00302, -0.00434, -0.00022, -0.00134, 12768 0.03285, 0.02964, -0.05612, -0.00668, 12769 -0.01821, 0.06590, 12770 0.00039, 0.00061, 12771 -0.13531, -0.03831, 12772 0.02553, 0.02130, -0.00336, 0.00468, 12773 -0.04522, -0.05540, 0.00129, -0.01767, 12774 0.00181, 0.00031, 12775 -0.00011, -0.00034, 12776 -0.00146, 0.01101, 12777 -0.00030, 0.00240, -0.00039, 0.00072, 12778 -0.01954, -0.03822, 0.09682, -0.04541, 12779 -0.01567, 0.09617, 12780 -0.03371, 0.33028, -0.12102, 0.05874, 12781 -0.00990, -0.02236, 12782 0.00109, 0.00158, 12783 -0.00482, 0.00019, 12784 -0.00036, 0.00004, 12785 0.00024, 0.00201, 12786 0.00017, 0.00011, 12787 -0.00012, 0.00002, 12788 -0.00323, -0.01062, 12789 -0.00130, 0.00091, 12790 0.00056, -0.00017, 12791 0.00774, 0.00601, 0.02550, 0.01700, 12792 -0.84327, 0.77533, -0.71414, -0.50643, 12793 -473.30877, -1504.79179, -458.52274, -865.82237, 12794 -417.34994, -681.03976, 765.50697, -1653.67165, 12795 4427.33176, 710.53895, -5016.39367, 4280.60361, 12796 0.33957, 0.38390, -0.38631, 0.81193, 12797 0.00154, -0.00043, 12798 0.01103, -0.00017, 12799 -0.00046, 0.00221, 12800 0.00059, 0.00014, 12801 0.00160, 0.00475, 12802 0.06191, -0.13289, 0.02884, -0.00566, 12803 -0.01572, 0.23780, -0.05140, -0.03228, 12804 -0.00716, -0.00978, -0.01048, 0.01317, 12805 -0.01267, -0.01198, 0.00037, -0.00330, 12806 -0.02305, 0.00355, -0.00121, -0.00496, 12807 -0.04369, -0.01343, 0.05347, -0.12433, 12808 0.02090, 0.17683, 12809 0.00028, -0.00490, 12810 -0.02778, -0.05587, -0.01658, 0.05655, 12811 0.00204, -0.00092, 0.00020, 0.00014, 12812 -0.00603, -0.03829, 0.00778, -0.00588, 12813 -0.00266, 0.00097, 12814 -0.02158, -0.07742, 0.09306, -0.01827, 12815 -0.01048, 0.07885, 12816 -0.02485, -0.02505, 0.00471, -0.01026, 12817 0.06663, 0.01110, 0.00469, -0.05347, 12818 -0.00016, -0.00013, 12819 0.02622, 0.02273, -0.01009, 0.01391, 12820 -0.01042, -0.00444, 12821 -0.04293, -0.00767, -0.00154, -0.01739, 12822 0.00353, -0.00763, 12823 -0.00060, 0.00010, 12824 -0.00053, -0.00146, 12825 -0.05317, 0.05760, -0.01801, -0.02099, 12826 -0.02611, -0.01836, 12827 -0.00256, 0.00812, -0.00145, 0.00054, 12828 -0.00008, 0.00015, 12829 -0.04087, 0.08860, -0.05385, -0.02134, 12830 0.02771, 0.02441, -0.00234, 0.01571, 12831 -0.00260, 0.00097, 12832 0.10151, 0.49378, -0.28555, 0.11428, 12833 -0.00286, 0.01224, 0.00160, 0.00069, 12834 0.00000, -0.00040, 12835 -0.13286, 0.00448, 12836 0.01225, -0.00568, 0.00341, 0.00224, 12837 -0.23483, -0.07859, 0.30733, -0.21548, 12838 -0.02608, 0.00756, 12839 0.09789, 0.02878, -0.11968, 0.08981, 12840 0.02046, -0.00888, 12841 0.02955, 0.01486, -0.00981, 0.01542, 12842 -0.01674, -0.01540, 0.00019, -0.00449, 12843 -0.02140, 0.00638, 0.00112, -0.00730, 12844 -0.08571, 0.13811, -0.16951, -0.02917, 12845 -0.03931, -0.32643, 12846 -68.64541, -81.00521, -47.97737, 15.75290, 12847 181.76392, -36.00647, -48.32098, -259.02226, 12848 -265.57466, 554.05904, 12849 0.09017, 0.18803, -0.12459, 0.10852, 12850 0.00211, 0.00002, 12851 0.00304, -0.00370, 12852 0.00174, 0.00279, 12853 0.00139, 0.00095, 12854 0.04881, 0.00262, -0.01020, 0.03762, 12855 0.00987, 0.00612, 12856 0.00054, -0.00036, 12857 0.00009, -0.00094, 12858 0.02279, 0.01785, -0.00778, 0.01263, 12859 0.00040, -0.00112, 12860 -0.00452, -0.00662, 12861 0.00483, -0.00030, 12862 -0.00054, -0.00205, 12863 -0.00052, -0.00362, -0.00215, -0.00247, 12864 0.02893, -0.01965, -0.00004, 0.04114, 12865 -0.00284, -0.00103, 12866 0.01827, -0.07822, 0.18010, 0.04805, 12867 -0.21702, 0.18808, 12868 0.00095, -0.00132, 12869 -0.01488, 0.00746, 12870 0.00198, 0.00190, 12871 0.01032, 0.03392, 0.04318, -0.07332, 12872 -0.01004, 0.00787, 12873 -0.00308, -0.01177, -0.01431, 0.02659, 12874 0.00273, -0.00374, 12875 -0.02545, 0.00644, 12876 28.68376, 13.74978, 29.60401, -47.98255, 12877 -65.91944, -18.48404, -1.73580, 64.67487, 12878 -0.02492, 0.00104, 12879 -0.00829, -0.00134, 12880 0.00077, 0.00005, 12881 -0.00513, 0.00403, 12882 0.00071, -0.00047, 12883 -0.00023, -0.00063, 12884 0.00120, 0.00370, 12885 -0.00038, -0.00037, 12886 0.00080, -0.00018, 12887 0.00866, 0.00156, -0.01064, 0.02131, 12888 0.00000, -0.00001, 12889 0.00038, -0.00068, 12890 -0.00909, -0.02187, -0.02599, 0.05507, 12891 -0.00022, -0.01468, 12892 0.00032, 0.00500, 12893 9.86233, -2.85314, -2.25791, -13.83444, 12894 -12.38794, 3.79861, 2.76343, 6.63505, 12895 0.00066, 0.00007, 12896 -0.00016, -0.00039, 12897 0.00014, 0.00059, 12898 -0.00031, -0.00024, 12899 -0.00168, 0.00259, 12900 0.00007, -0.00005, 12901 -0.00052, 0.00558, 12902 0.00110, 0.01037, 12903 1.59224, -2.37284, -2.00023, -2.28280, 12904 -1.49571, 1.48293, 0.60041, 0.56376, 12905 -0.54386, 0.03568, -0.10392, 0.31005, 12906 0.09104, 0.03015, 12907 0.00826, -0.00524 12908 ], 12909 rad_tbl: [ 12910 -816.07287, -381.41365, -33.69436, 177.22955, 12911 0.18630, 12912 -8.29605, -11.15519, -0.57407, -3.53642, 12913 0.16663, -0.06334, 12914 -0.03056, 0.02767, 12915 -0.04161, 0.03917, -0.02425, 0.00204, 12916 -0.00034, 0.00023, 12917 0.00058, -0.00111, 0.00039, -0.00015, 12918 0.00006, -0.00023, 12919 0.00237, 0.00191, 12920 0.00154, -0.00029, 0.00009, 0.00011, 12921 -0.00041, 0.00037, 12922 -0.00010, -0.00064, 0.00015, -0.00005, 12923 0.00012, -0.00003, 12924 -0.00034, 0.00026, 12925 0.00011, -0.00007, 12926 -0.00158, 0.00087, 12927 0.00278, 0.00137, 12928 0.00024, -0.00020, 12929 0.00530, -0.00448, 0.00780, 0.00408, 12930 0.00062, 0.00035, 12931 -1.35261, 0.79891, -0.81597, -0.43774,
12932 0.14713, -0.27415, 0.05298, 0.02230, 12933 -0.02089, -0.01070, -0.00374, 0.00342, 12934 -0.00142, 0.00270, 12935 -0.00039, 0.00063, 12936 0.16024, 0.27088, -0.32127, 0.27467, 12937 -0.16615, -0.24460, 12938 -0.00073, 0.00032, 12939 -0.05710, -0.05265, -0.06025, 0.05120, 12940 -0.05295, 0.23477, -0.08211, 0.04575, 12941 -0.00769, -0.01067, 12942 -0.00570, 0.00015, 12943 -0.00251, -0.00140, 12944 -0.00131, -0.00018, 12945 -0.12246, 0.15836, -0.13065, -0.03222, 12946 0.00795, -0.04232, 12947 -0.36585, -0.31154, 0.68504, -0.96006, 12948 1.19304, 0.88631, 12949 0.00132, 0.00046, 12950 0.13105, 0.04252, 0.05164, -0.06837, 12951 -0.01351, -0.01458, 0.00376, -0.00557, 12952 0.28532, -0.17290, -0.53946, -0.79365, 12953 -0.95246, 0.74984, 12954 0.00019, 0.00132, 12955 -0.00163, -0.00295, 12956 -0.40106, -0.26573, -0.00155, -0.22655, 12957 0.04349, -0.00376, 12958 0.00149, -0.00001, 12959 0.00523, 0.00078, 12960 0.01203, 0.00558, 12961 -0.00708, 0.00520, 12962 -0.36428, -1.28827, 1.50845, -0.83063, 12963 0.58802, 0.89998, 12964 -0.55256, 0.01255, -0.15169, -0.26715, 12965 0.06061, -0.04122, 12966 -0.00397, 0.00534, 12967 -0.52576, 1.22031, 1.44098, 0.92406, 12968 0.67214, -0.85486, 12969 -0.00010, 0.00001, 12970 0.28820, -0.84198, 0.78291, 0.00251, 12971 0.02398, 0.32093, 12972 -0.02331, 0.10109, -0.07555, 0.03557, 12973 -0.61580, 0.43399, -0.43779, -0.26390, 12974 0.06885, -0.13803, 12975 0.17694, 0.19245, 0.15119, -0.05100, 12976 0.49469, -0.45028, 0.33590, 0.15677, 12977 -0.04702, 0.10265, 12978 -0.00942, -0.00580, 12979 -0.00555, -0.00252, 12980 -0.32933, 0.92539, -0.91004, -0.04490, 12981 -0.01812, -0.37121, 12982 0.34695, 0.50855, -0.24721, 0.86063, 12983 -0.84747, 0.01983, 12984 0.01948, 0.02039, 0.00748, -0.00727, 12985 -0.00271, 0.00220, 12986 0.00309, 0.00196, 12987 0.02030, 0.17201, -0.03716, 0.02801, 12988 0.01871, 0.00002, 12989 0.31736, 1.17319, -1.42245, 0.73416, 12990 -0.52302, -0.85056, 12991 0.00522, -0.00126, 12992 0.33571, 0.34594, -0.07709, 0.21114, 12993 -0.04066, -0.01742, 12994 1.72228, 1.46934, -3.06437, 5.06723, 12995 -6.53800, -3.55839, 12996 -0.06933, 0.13815, 0.03684, 0.03284, 12997 -0.04841, 0.09571, -0.02350, 0.00418, 12998 0.01302, 0.00579, 12999 0.73408, 0.64718, -1.37437, 2.04816, 13000 -2.70756, -1.52808, 13001 0.00523, -0.00166, 13002 0.25915, 0.06900, -0.02758, 0.10707, 13003 0.00062, 0.00744, 13004 -0.08117, 0.04840, -0.01806, -0.00637, 13005 0.03034, -0.12414, 0.03419, -0.00388, 13006 10.92603, 0.48169, 13007 -0.01753, -0.12853, -0.03207, -0.00801, 13008 0.03904, -0.03326, 0.01033, 0.00366, 13009 0.17249, 0.20846, -0.38157, 0.54639, 13010 -0.68518, -0.36121, 13011 -0.01043, -0.00186, 13012 -3.33843, -0.16353, 13013 0.03462, 0.06669, -0.01305, 0.01803, 13014 -0.22703, -0.52219, 0.11709, -0.19628, 13015 0.03410, 0.01741, 13016 0.00338, 0.00265, 13017 0.63213, 0.08944, 13018 0.00236, 0.01829, 0.00546, 0.00218, 13019 0.00073, -0.72570, 0.63698, -0.13340, 13020 0.04698, 0.29716, 13021 -0.13126, 1.27705, -0.40980, 0.27400, 13022 -0.04525, -0.05529, 13023 -0.03249, -0.01696, 13024 -0.02314, -0.00076, 13025 0.00510, 0.00764, 13026 -0.01847, -0.01021, 13027 0.01688, -0.00044, 13028 0.00531, -0.00016, 13029 -0.01219, -0.02903, 13030 -0.00361, 0.00299, 13031 0.00504, -0.00153, 13032 -0.53625, -0.32460, 0.10642, -0.22070, 13033 -2.21651, -0.66036, -1.74652, -2.08198, 13034 -6810.78679, 967.02869, -3915.97140, 291.65905, 13035 372.99563, 1196.01966, 5108.01033, -3172.64698, 13036 -7685.78246, -12789.43898, -17474.50562, 7757.84703, 13037 3.13224, 1.84743, -0.38257, 2.40590, 13038 0.01860, -0.01217, 13039 0.03004, 0.00278, 13040 -0.00125, 0.00579, 13041 -0.02673, -0.00112, 13042 0.00662, 0.01374, 13043 -0.02729, 0.13109, -0.02836, 0.00877, 13044 0.12171, -0.27475, 0.34765, 0.15882, 13045 -0.12548, 0.02603, 0.00710, 0.06538, 13046 -0.04039, -0.03257, -0.00186, -0.00880, 13047 0.16643, 0.00707, 0.01918, 0.07156, 13048 -0.20459, -0.85107, 1.01832, -0.47158, 13049 0.32582, 0.63002, 13050 -0.00282, -0.00711, 13051 -0.19695, 0.15053, 0.15676, 0.17847, 13052 0.00071, 0.00286, -0.00039, 0.00083, 13053 0.02009, 0.17859, -0.03894, 0.02805, 13054 0.02379, 0.00752, 13055 0.17529, -0.57783, 0.53257, -0.02829, 13056 0.03211, 0.21777, 13057 0.13813, 0.16305, -0.02996, 0.06303, 13058 0.21058, -0.02659, 0.02596, -0.08808, 13059 -0.00389, 0.00586, 13060 0.08986, 0.09204, -0.01480, 0.04031, 13061 0.06115, 0.18366, 13062 0.25636, 0.06905, 0.00719, 0.11391, 13063 0.00636, -0.01113, 13064 -0.02808, 0.00150, 13065 -0.01219, 0.00832, 13066 0.28626, -0.09573, 0.10481, 0.16559, 13067 -0.94578, 1.26394, 13068 0.08846, -0.01623, 0.00082, -0.02640, 13069 -0.00347, 0.00798, 13070 0.12873, -0.21248, 0.27999, 0.14348, 13071 0.44082, 0.10453, 0.04362, 0.25332, 13072 -0.06077, 0.00555, 13073 -0.06947, -0.05511, -10.08703, -0.10614, 13074 0.04059, 0.21355, 0.05632, 0.00871, 13075 0.01599, -0.00531, 13076 0.36835, -0.03530, 13077 0.09519, -0.04961, 0.02568, 0.08613, 13078 0.57033, 0.84599, 1.27123, -0.41266, 13079 -0.36937, -0.00655, 13080 -0.16547, -0.24000, -0.35213, 0.13345, 13081 0.05870, -0.01524,
13082 0.06419, 0.04136, -0.00681, 0.02606, 13083 -0.02519, -0.02732, -0.00105, -0.00677, 13084 -0.03891, 0.00106, 0.00087, -0.02256, 13085 -0.20834, -0.14624, -0.23178, -0.11786, 13086 0.32479, -1.41222, 13087 -303.74549, -202.79324, 260.20290, 184.84320, 13088 536.68016, -881.56427, -1125.64824, -791.09928, 13089 -596.61162, 659.35664, 13090 0.24561, 0.39519, -0.12601, 0.18709, 13091 -0.00700, 0.00136, 13092 0.30750, 0.00009, 13093 0.00443, 0.00384, 13094 0.01170, 0.02078, 13095 0.15043, 0.04802, 0.00386, 0.06942, 13096 0.02107, 0.00495, 13097 -0.01067, 0.00951, 13098 0.00937, 0.01996, 13099 0.04922, 0.04337, -0.00583, 0.02110, 13100 -0.00691, 0.02793, 13101 -0.00364, -0.00682, 13102 -0.09143, 0.15369, 13103 0.02043, 0.05451, 13104 0.04053, -0.08179, 0.09645, 0.05330, 13105 -0.10149, -0.01594, -0.96773, 0.13660, 13106 0.17326, 0.00013, 13107 0.20990, -0.23184, -0.38407, -0.64733, 13108 -0.84754, 0.38889, 13109 0.00310, -0.00340, 13110 0.00970, -0.00788, 13111 -0.01111, 0.00677, 13112 0.18147, 0.09968, 0.10170, -0.09233, 13113 -0.03165, 0.01790, 13114 -0.04727, -0.02364, -0.02546, 0.02451, 13115 0.00442, -0.00426, 13116 -0.02540, 0.00471, 13117 130.42585, -31.30051, 17.99957, -174.75585, 13118 -142.96798, -27.89752, -19.42122, 59.14872, 13119 -0.01899, 0.00388, 13120 -0.01265, 0.00694, 13121 0.01966, 0.01140, 13122 -0.00439, 0.00503, 13123 -0.01867, 0.02826, 13124 0.00752, 0.02012, 13125 -0.14734, 0.01909, 13126 0.03312, 0.02327, 13127 0.05843, 0.00061, 13128 -0.06958, -0.05798, -0.09174, 0.06242, 13129 0.00003, 0.00001, 13130 0.00670, -0.00305, 13131 -0.13637, -0.06058, -0.06372, 0.07257, 13132 0.00209, -0.01369, 13133 -0.00044, 0.00355, 13134 17.90079, -17.48270, -8.77915, -24.54483, 13135 -15.67123, 3.62668, 0.52038, 5.13220, 13136 0.02574, 0.00003, 13137 0.00339, 0.00919, 13138 -0.02778, 0.00464, 13139 0.01429, 0.01003, 13140 -0.01661, 0.01327, 13141 0.02216, 0.00034, 13142 -0.00389, 0.01076, 13143 -0.00035, 0.00983, 13144 1.23731, -4.18017, -2.61932, -2.66346, 13145 -1.45540, 1.10310, 0.23322, 0.40775, 13146 -0.43623, 0.06212, -0.09900, 0.19456, 13147 0.03639, 0.02566, 13148 0.00309, -0.00116 13149 ], 13150 arg_tbl: [ 13151 0, 4, 13152 3, 4, 3, -8, 4, 3, 5, 2, 13153 3, 5, 2, -6, 3, -4, 4, 0, 13154 2, 2, 5, -5, 6, 1, 13155 3, 12, 3, -24, 4, 9, 5, 0, 13156 3, 2, 2, 1, 3, -8, 4, 1, 13157 3, 11, 3, -21, 4, 2, 5, 0, 13158 3, 3, 2, -7, 3, 4, 4, 0, 13159 3, 7, 3, -13, 4, -1, 5, 1, 13160 3, 1, 3, -2, 4, 2, 6, 0, 13161 3, 1, 2, -8, 3, 12, 4, 1, 13162 3, 1, 4, -8, 5, 4, 6, 0, 13163 3, 1, 4, -7, 5, 2, 6, 0, 13164 3, 1, 4, -9, 5, 7, 6, 0, 13165 1, 1, 7, 0, 13166 2, 1, 5, -2, 6, 0, 13167 3, 1, 3, -2, 4, 1, 5, 0, 13168 3, 3, 3, -6, 4, 2, 5, 1, 13169 3, 12, 3, -23, 4, 3, 5, 0, 13170 2, 8, 3, -15, 4, 3, 13171 2, 1, 4, -6, 5, 2, 13172 3, 2, 2, -7, 3, 7, 4, 0, 13173 2, 1, 2, -3, 4, 2, 13174 2, 2, 5, -4, 6, 0, 13175 1, 1, 6, 1, 13176 2, 9, 3, -17, 4, 2, 13177 3, 2, 3, -4, 4, 2, 5, 0, 13178 3, 2, 3, -4, 4, 1, 5, 0, 13179 2, 1, 5, -1, 6, 0, 13180 2, 2, 2, -6, 4, 2, 13181 2, 1, 3, -2, 4, 2, 13182 2, 2, 5, -3, 6, 0, 13183 1, 2, 6, 1, 13184 2, 3, 5, -5, 6, 1, 13185 1, 1, 5, 2, 13186 3, 4, 3, -8, 4, 2, 5, 0, 13187 2, 1, 5, -5, 6, 0, 13188 2, 7, 3, -13, 4, 2, 13189 2, 3, 2, -9, 4, 0, 13190 2, 2, 5, -2, 6, 0, 13191 1, 3, 6, 0, 13192 2, 1, 4, -5, 5, 0, 13193 2, 2, 3, -4, 4, 2, 13194 2, 6, 3, -11, 4, 2, 13195 2, 4, 5, -5, 6, 0, 13196 1, 2, 5, 2, 13197 3, 1, 4, -3, 5, -3, 6, 0, 13198 2, 3, 3, -6, 4, 2, 13199 2, 1, 4, -4, 5, 1, 13200 2, 5, 3, -9, 4, 2, 13201 1, 3, 5, 1, 13202 2, 4, 3, -8, 4, 2, 13203 3, 1, 4, -4, 5, 2, 6, 0, 13204 3, 1, 4, -1, 5, -5, 6, 0, 13205 2, 4, 3, -7, 4, 2, 13206 2, 1, 4, -3, 5, 2, 13207 3, 1, 4, -5, 5, 5, 6, 1, 13208 3, 1, 4, -4, 5, 3, 6, 0, 13209 3, 1, 4, -3, 5, 1, 6, 0, 13210 2, 5, 3, -10, 4, 1, 13211 1, 4, 5, 0, 13212 2, 3, 3, -5, 4, 2, 13213 3, 1, 4, -3, 5, 2, 6, 0, 13214 2, 1, 4, -5, 6, 2, 13215 2, 1, 4, -2, 5, 2, 13216 3, 1, 4, -4, 5, 5, 6, 1, 13217 2, 6, 3, -12, 4, 1, 13218 2, 1, 4, -4, 6, 0, 13219 2, 2, 3, -3, 4, 2, 13220 2, 10, 3, -18, 4, 0, 13221 2, 1, 4, -3, 6, 1, 13222 3, 1, 4, -2, 5, 2, 6, 0, 13223 2, 7, 3, -14, 4, 1, 13224 3, 1, 4, 1, 5, -5, 6, 1, 13225 2, 1, 4, -1, 5, 0, 13226 3, 1, 4, -3, 5, 5, 6, 1, 13227 3, 1, 4, 2, 5, -7, 6, 1, 13228 2, 1, 4, -2, 6, 2, 13229 3, 1, 4, -2, 5, 3, 6, 0, 13230 2, 1, 3, -1, 4, 0, 13231 2, 2, 2, -7, 4, 1, 13232 2, 9, 3, -16, 4, 2, 13233 2, 1, 4, -3, 7, 0, 13234 2, 1, 4, -1, 6, 0, 13235 3, 1, 4, -2, 5, 4, 6, 1, 13236 2, 1, 2, -4, 4, 2, 13237 2, 8, 3, -16, 4, 2, 13238 2, 1, 4, -2, 7, 0, 13239 3, 3, 3, -5, 4, 2, 5, 0, 13240 3, 1, 4, 1, 5, -3, 6, 0, 13241 2, 1, 4, -2, 8, 0, 13242 2, 1, 4, -1, 7, 0, 13243 2, 1, 4, -1, 8, 0, 13244 3, 3, 2, -7, 3, 3, 4, 0, 13245 3, 2, 2, 1, 3, -7, 4, 0, 13246 3, 1, 4, 1, 6, -3, 7, 0, 13247 3, 1, 4, 2, 5, -5, 6, 1, 13248 3, 4, 3, -7, 4, 3, 5, 1, 13249 1, 1, 4, 5, 13250 3, 4, 3, -9, 4, 3, 5, 1, 13251 3, 1, 4, -2, 5, 5, 6, 0, 13252 3, 3, 2, -7, 3, 5, 4, 0, 13253 3, 1, 3, -1, 4, 2, 6, 0, 13254 3, 1, 4, 1, 5, -2, 6, 0, 13255 3, 3, 3, -7, 4, 2, 5, 0, 13256 2, 8, 3, -14, 4, 1, 13257 2, 1, 2, -2, 4, 1, 13258 2, 1, 4, 1, 6, 1,
vendor: 3,807 bytes, lines 13259-13412
13259 2, 9, 3, -18, 4, 1, 13260 2, 2, 2, -5, 4, 1, 13261 2, 1, 3, -3, 4, 2, 13262 2, 1, 4, 2, 6, 0, 13263 2, 1, 4, 1, 5, 1, 13264 3, 4, 3, -9, 4, 2, 5, 1, 13265 2, 7, 3, -12, 4, 1, 13266 2, 2, 4, -5, 5, 0, 13267 2, 2, 3, -5, 4, 2, 13268 2, 6, 3, -10, 4, 1, 13269 2, 1, 4, 2, 5, 1, 13270 3, 2, 4, -5, 5, 2, 6, 0, 13271 2, 3, 3, -7, 4, 1, 13272 2, 2, 4, -4, 5, 0, 13273 2, 5, 3, -8, 4, 1, 13274 2, 1, 4, 3, 5, 0, 13275 3, 2, 4, -4, 5, 2, 6, 0, 13276 3, 2, 4, -1, 5, -5, 6, 0, 13277 2, 4, 3, -6, 4, 1, 13278 2, 2, 4, -3, 5, 0, 13279 3, 2, 4, -5, 5, 5, 6, 1, 13280 3, 2, 4, -4, 5, 3, 6, 0, 13281 2, 3, 3, -4, 4, 1, 13282 2, 2, 4, -5, 6, 2, 13283 2, 2, 4, -2, 5, 1, 13284 3, 2, 4, -4, 5, 5, 6, 1, 13285 2, 2, 4, -4, 6, 0, 13286 2, 2, 3, -2, 4, 0, 13287 2, 2, 4, -3, 6, 1, 13288 2, 2, 4, -1, 5, 1, 13289 2, 2, 4, -2, 6, 0, 13290 1, 1, 3, 1, 13291 2, 2, 4, -1, 6, 0, 13292 2, 1, 2, -5, 4, 1, 13293 2, 8, 3, -17, 4, 1, 13294 3, 2, 4, 2, 5, -5, 6, 1, 13295 3, 4, 3, -6, 4, 3, 5, 1, 13296 3, 10, 3, -17, 4, 3, 6, 0, 13297 1, 2, 4, 4, 13298 3, 4, 3, -10, 4, 3, 5, 1, 13299 2, 8, 3, -13, 4, 0, 13300 2, 1, 2, -1, 4, 0, 13301 2, 2, 4, 1, 6, 0, 13302 2, 2, 2, -4, 4, 0, 13303 2, 1, 3, -4, 4, 1, 13304 2, 2, 4, 1, 5, 0, 13305 2, 7, 3, -11, 4, 0, 13306 2, 3, 4, -5, 5, 0, 13307 2, 2, 3, -6, 4, 1, 13308 2, 6, 3, -9, 4, 0, 13309 2, 2, 4, 2, 5, 0, 13310 2, 3, 4, -4, 5, 0, 13311 2, 5, 3, -7, 4, 0, 13312 2, 4, 3, -5, 4, 1, 13313 2, 3, 4, -3, 5, 1, 13314 2, 3, 3, -3, 4, 0, 13315 2, 3, 4, -2, 5, 2, 13316 3, 3, 4, -4, 5, 5, 6, 0, 13317 2, 2, 3, -1, 4, 0, 13318 2, 3, 4, -3, 6, 0, 13319 2, 3, 4, -1, 5, 1, 13320 2, 3, 4, -2, 6, 0, 13321 2, 1, 3, 1, 4, 1, 13322 2, 3, 4, -1, 6, 0, 13323 3, 4, 3, -5, 4, 3, 5, 0, 13324 1, 3, 4, 3, 13325 3, 4, 3, -11, 4, 3, 5, 0, 13326 1, 1, 2, 0, 13327 2, 2, 2, -3, 4, 0, 13328 2, 1, 3, -5, 4, 0, 13329 2, 4, 4, -5, 5, 0, 13330 2, 6, 3, -8, 4, 0, 13331 2, 4, 4, -4, 5, 0, 13332 2, 5, 3, -6, 4, 0, 13333 2, 4, 3, -4, 4, 0, 13334 2, 4, 4, -3, 5, 1, 13335 3, 6, 3, -8, 4, 2, 5, 0, 13336 2, 3, 3, -2, 4, 0, 13337 2, 4, 4, -2, 5, 1, 13338 2, 4, 4, -1, 5, 0, 13339 2, 1, 3, 2, 4, 0, 13340 1, 4, 4, 3, 13341 2, 2, 2, -2, 4, 0, 13342 2, 7, 3, -9, 4, 0, 13343 2, 5, 4, -5, 5, 0, 13344 2, 6, 3, -7, 4, 0, 13345 2, 5, 4, -4, 5, 0, 13346 2, 5, 3, -5, 4, 0, 13347 2, 5, 4, -3, 5, 0, 13348 2, 5, 4, -2, 5, 0, 13349 1, 5, 4, 3, 13350 1, 6, 4, 2, 13351 1, 7, 4, 0, 13352 -1 13353 ] 13354}; 13355 13356$ns.jupiter = { 13357 maxargs: 9, 13358 max_harmonic: [0, 0, 1, 0, 9, 16, 7, 5, 0], 13359 max_power_of_t: 6, 13360 distance: 5.2026032092000003e+00, 13361 timescale: 3652500.0, 13362 trunclvl: 1.0, 13363 lon_tbl: [ 13364 153429.13855, 130818.16897, 18120.42948, -8463.12663, 13365 -5058.91447, 1092566021.02148, 123671.25097, 13366 -5.43364, 12.06012, 13367 30428.31077, -74667.61443, 46848.16236, -66373.44474, 13368 24312.54264, -26045.64766, 18353.92564, -4022.13679, 13369 4037.97936, 10059.82468, -4622.55896, 1383.21617, 13370 -187.25468, -1171.66028, 13371 -0.00062, -0.21713, 13372 -1198.83945, 1178.62445, -1492.07393, 153.07155, 13373 -245.57966, -391.94010, 82.26400, -40.92104, 13374 3.72520, 10.57242, 13375 -0.04720, -0.04448, -0.04329, -0.06043, 13376 -0.03905, 0.15712, 13377 -0.05644, -0.00129, 13378 -0.00342, 0.02473, 13379 0.00434, -0.01862, 13380 0.00431, -0.03993, 13381 -0.03159, -0.15982, 13382 -0.09928, 0.04430, -0.00357, 0.31312, 13383 -0.01346, -0.00180, 13384 -0.09107, 0.01215, 13385 0.02485, 0.01024, 13386 27.29869, 2.70896, 12.91956, 19.21726, 13387 -6.91384, 5.12954, -1.07533, -1.71691, 13388 -0.01423, 0.03121, 13389 -32.48652, -26.13483, 46.78162, -62.02701, 13390 94.96809, 81.73791, -20.13673, 131.05065, 13391 -0.00798, 0.01786, 13392 13.99591, 16.87756, -8.51726, 21.59490, 13393 -14.28833, -9.45530, 7.73954, -6.53078, 13394 0.03175, -0.04295, 13395 3.06742, -0.11838, 1.03630, 0.94004, 13396 -0.14085, 0.14434, 13397 -0.03363, 0.00993, 13398 -0.00007, -0.02748, 13399 26.01507, -7.37178, 16.96955, 6.24203, 13400 -0.40481, 3.72456, -0.53597, -0.14938, 13401 37.82081, 26.15887, -2.82115, 78.26478, 13402 -63.39155, -5.52419, 13.11482, -43.54977, 13403 15.64940, 6.67505, 13404 -10.25616, -7.39672, -12.37441, 12.24417, 13405 8.54922, 9.68451, 13406 -0.03658, -0.00963, 13407 1.65523, 0.43093, 0.32023, 0.71365, 13408 -0.12226, 0.03759, 13409 0.10388, 0.47212, -0.02791, 0.09929, 13410 -0.04116, -0.03125, 13411 -0.10240, -0.23199, -0.03524, -0.13625, 13412 7.52726, 6.86314, 0.01239, 13.46530,
13413 -5.22256, 1.56116, -0.15925, -1.19571, 13414 3.26302, 0.06097, -0.14444, -0.20301, 13415 1.93822, -80.12566, 13416 0.98665, -7.52986, 3.86703, -2.43028, 13417 0.64180, 0.78351, 13418 0.00190, -0.00633, 13419 -0.00321, -0.04403, 13420 0.19018, 0.14335, 0.10315, 0.53154, 13421 -0.00062, -0.00464, 13422 -0.00109, 0.02150, 13423 1.19993, 47.21638, -24.56067, 25.06332, 13424 -7.50751, -6.36250, 1.39443, -1.23806, 13425 0.04951, 0.02176, 13426 0.02802, -0.01665, 13427 -0.10698, -0.13635, 13428 73.54797, -52.34968, 74.98754, 86.56283, 13429 -69.01463, 44.56866, 13430 0.04387, -0.05925, 13431 -0.03732, -0.03264, 13432 0.00967, 0.02143, 13433 10.59429, 26.48226, 34.03470, 3.96160, 13434 4.15919, -20.22616, -5.25903, -3.40177, 13435 0.05111, -0.06788, 13436 0.06497, 1.21024, -0.29607, 0.49991, 13437 -0.06055, -0.03464, 13438 0.02950, 0.16429, 13439 0.00722, -0.90806, 13440 -0.02161, 0.00902, 13441 -0.00261, 0.00077, 13442 0.00434, -0.29231, 13443 0.00456, 0.04781, 13444 1.33214, -2.62015, 0.79761, -0.81850, 13445 0.06371, 0.00119, 13446 0.03049, -0.03553, 0.02373, -0.01411, 13447 -189.06132, -169.17940, 5.27464, -227.72664, 13448 83.72511, -12.04794, 0.23965, 23.75496, 13449 -3.43532, -0.34276, 13450 -1.35880, 0.45053, -0.34298, -0.11441, 13451 -0.16328, 0.07423, 13452 481.48150, 79.82461, 453.82764, 941.94205, 13453 -635.83924, 397.29087, -81.54066, -417.22420, 13454 149.91822, 10.53490, 13455 -0.13210, 0.36740, 13456 0.33777, 0.15893, 13457 -2562.04968, 2442.77844, -2602.66709, 2838.87348, 13458 723.50715, -1284.58208, -4557.23362, -4514.61100, 13459 -8960.81693, 4663.55087, -4947.61530, 19377.42027, 13460 -0.16786, -0.19514, 13461 0.32100, 0.91502, 13462 4.96600, -1.11836, 13463 307.38057, 175.14618, 16.02093, 444.42376, 13464 -219.80047, 62.39286, -18.14266, -52.23698, 13465 0.02111, 0.00469, 13466 -20.97409, -34.48296, -2.03906, -27.07560, 13467 3.73818, -3.00599, 0.24112, 0.41430, 13468 -0.03552, 0.00394, 13469 -0.00217, 0.02307, 13470 0.03686, 0.00510, 13471 34.46537, 10.23293, 9.99520, 28.88781, 13472 -11.31210, 3.52646, -0.48062, -2.93641, 13473 -0.00987, -0.05310, 13474 -38.39539, 0.04568, -31.73684, -1.83151, 13475 -24.97332, -1.71244, 0.33498, 7.03899, 13476 -4.15247, 200.43434, 13477 -0.00800, 0.04462, 13478 37.83113, -13.40661, 9.49434, -35.41588, 13479 -14.72767, -3.84674, -0.31412, 3.97734, 13480 0.02908, -0.00353, 13481 1.89935, -14.31774, 7.77051, -7.08945, 13482 1.90915, 1.78908, -0.41445, 0.30506, 13483 -14.43121, 7.30707, -11.97842, -17.64121, 13484 13.38962, -7.20982, 13485 -5.23362, 2.11364, -0.45605, 4.08835, 13486 1.42683, 0.24838, 13487 -0.00605, 0.03199, 13488 -0.17609, -1.43091, 0.32444, -0.51371, 13489 0.06182, 0.03733, 13490 0.00696, -0.13438, 13491 4.67581, 4.42379, -1.52602, 4.20659, 13492 -1.31757, -0.72910, 13493 1.29012, 0.97780, 2.25895, -0.85306, 13494 1.74120, -5.09507, 13495 0.28107, -0.05040, 0.05508, -0.06349, 13496 -0.00061, 0.48249, 13497 -2.37749, 1.78180, -1.67423, -0.35618, 13498 0.05789, -0.35287, 13499 0.56252, -0.66584, 0.61979, 4.84016, 13500 -4.64462, 17.48002, 13501 0.40982, -4.19214, -1.55252, -1.87505, 13502 -0.31070, 0.15554, 13503 -0.00034, 0.11102, 13504 0.01116, -0.04166, 13505 9.27689, -4.32090, 6.84888, 1.78741, 13506 -0.09306, 1.68391, -0.27482, -0.04197, 13507 -7.83068, 37.71086, -37.53346, 7.18559, 13508 0.74427, -24.29751, 10.87837, 1.35503, 13509 0.00998, -0.03395, 13510 -133.52206, -150.11329, 4.27494, -173.79469, 13511 150.87961, -356.29181, -330.17873, -426.29809, 13512 -607.98186, 126.35464, -299.69623, 556.41055, 13513 -0.00342, 0.04411, 13514 44.65946, 42.07312, 85.71397, 5.95130, 13515 24.98064, -41.20026, -14.05970, -10.46101, 13516 -2.24038, 2.89211, 13517 0.06175, 0.08128, 0.00705, 0.01939, 13518 -1.08361, -0.08213, -0.20868, -0.36268, 13519 -4.96489, -2.05966, -6.16586, 3.65514, 13520 -3.12555, 12.20821, 13521 -1.11236, -1.73772, -1.34045, -0.22774, 13522 -0.08639, 0.27355, 13523 -0.07700, 1.06260, -0.46013, 0.31916, 13524 -0.04969, -0.09488, 13525 -1.54000, 0.04949, -0.07616, -0.95933, 13526 0.93303, 3.43183, 13527 -0.82917, -0.82042, -0.68158, 0.17083, 13528 0.06942, 0.17491, 13529 -0.02699, -0.01051, 13530 0.00657, 0.03063, 13531 -0.52595, 0.84035, -0.88323, -0.70188, 13532 0.60928, -0.48179, 13533 0.38290, 0.04482, 0.26456, -0.32369, 13534 -0.00615, 0.03218, 13535 -0.32943, 0.14675, -0.10782, -0.09036, 13536 -0.58003, 0.72888, -0.46654, 1.17977, 13537 0.00222, 0.01541, 13538 -0.19226, -0.07770, -0.01829, -0.05070, 13539 -1.75385, -1.32969, 0.52361, -1.36036, 13540 0.67222, 1.34612, 13541 6.96841, -29.24025, -23.76900, -39.91647, 13542 -41.01215, -2.23638, -18.81024, 20.77095, 13543 -0.68592, -2.26212, -1.14065, -0.76493, 13544 -0.18044, 0.15193, 13545 -0.20669, -0.44387, 0.25697, -0.17880, 13546 -0.53097, 0.43181, -0.35187, 0.71934, 13547 -0.14962, 0.09220, -0.05031, -0.03924, 13548 0.06571, 0.29487, 13549 0.05170, 0.36847, 13550 0.02754, -0.00411, 13551 -0.08313, -0.16907, 0.10273, -0.07315, 13552 -0.02312, 0.04912, 13553 -0.01062, -0.02713, 13554 0.03806, 0.13401, 13555 -1.79865, -2.04540, -2.69965, -0.65706, 13556 -1.17916, 0.79292, 13557 0.02415, 0.14001, 13558 -0.01767, 0.04209, 13559 0.05212, -0.01795, 13560 0.01285, 0.04028, 13561 0.01075, 0.05533, 13562 0.02323, -0.00864, 13563 -0.04691, 0.03128, 13564 0.00548, 0.02254, 13565 0.00011, 0.12033 13566 ], 13567 lat_tbl: [ 13568 548.59659, 594.29629, 219.97664, 59.71822, 13569 23.62157, 40.77732, 227.07380, 13570 0.00293, -0.00745, 13571 -307.33226, -347.92807, -309.49383, -428.18929, 13572 -96.59506, -191.36254, 2.11014, -34.44145, 13573 2.23085, 6.77110, -5.43468, -0.28391, 13574 0.28355, -1.81690, 13575 0.00036, 0.00078, 13576 -1.83259, 1.17464, -2.66976, -0.92339, 13577 -0.23645, -1.20623, 0.25248, -0.04958, 13578 0.00064, 0.03599, 13579 -0.00079, 0.00004, -0.00005, -0.00010, 13580 -0.00024, 0.00051, 13581 0.00001, 0.00005, 13582 0.00015, 0.00010, 13583 0.00017, -0.00004, 13584 0.00113, -0.00011, 13585 0.00021, 0.00087, 13586 0.00120, -0.00114, -0.00881, -0.00020, 13587 -0.00005, 0.00009, 13588 0.00005, 0.00007, 13589 0.00002, -0.00033, 13590 -0.00554, -0.32274, 0.23695, -0.11184, 13591 0.04050, 0.09929, -0.02189, 0.00305, 13592 -0.00142, -0.00055, 13593 0.66623, 0.34590, 0.74913, -0.23202, 13594 -1.08316, -1.40407, 1.72287, -0.07604, 13595 0.00024, 0.00004, 13596 0.03592, 0.91143, -1.11848, -0.17473, 13597 0.91500, -1.34912, 0.85229, 0.69029, 13598 -0.00019, 0.00075, 13599 0.03615, 0.30768, -0.08733, 0.12016, 13600 -0.01716, -0.01138, 13601 0.00021, 0.00004, 13602 0.00531, 0.00098, 13603 -0.14354, -0.02364, -0.05559, -0.07561, 13604 0.01419, -0.01141, 0.00014, 0.00218, 13605 -0.36564, 0.13498, -0.13283, -0.11462, 13606 0.23741, 0.14960, -0.23173, 0.25148, 13607 0.00763, -0.05987, 13608 -0.00857, 0.20312, -0.29399, 0.34831, 13609 -1.33166, -0.46808, 13610 -0.00027, 0.00046,
13611 0.15729, 0.01367, 0.04093, 0.07447, 13612 -0.01598, 0.00785, 13613 0.00583, 0.00324, 0.00053, 0.00160, 13614 -0.00030, 0.00043, 13615 -0.00208, 0.00334, -0.00316, 0.00136, 13616 0.23086, 0.05711, 0.19558, 0.05897, 13617 0.01070, 0.05021, -0.00818, -0.02242, 13618 0.06301, -0.26483, 0.66177, 0.02125, 13619 0.13477, 0.19376, 13620 -0.36520, 0.83588, -0.69848, -0.00877, 13621 0.01626, -0.23878, 13622 -0.00373, 0.00044, 13623 0.00008, -0.00004, 13624 -0.00374, -0.00283, 0.01104, -0.00619, 13625 0.00004, 0.00015, 13626 0.00026, 0.00013, 13627 0.04630, -0.11815, 0.00773, 0.03796, 13628 -0.05172, 0.00149, 0.00444, -0.01493, 13629 -0.00064, -0.00044, 13630 -0.00033, 0.00002, 13631 -0.00012, 0.00284, 13632 -0.15622, -0.92158, -0.82690, -1.52101, 13633 -0.55934, 0.69375, 13634 -0.00171, 0.00031, 13635 0.00129, -0.00013, 13636 -0.00024, -0.00083, 13637 0.66101, -0.21764, -0.43967, 0.30157, 13638 0.53389, 1.59141, 1.94286, 0.14146, 13639 -0.00064, -0.00006, 13640 0.21850, -0.02912, 0.08594, 0.08734, 13641 -0.01678, 0.01629, 13642 0.00133, 0.00562, 13643 0.00128, -0.00025, 13644 -0.00005, 0.00027, 13645 0.00032, 0.00001, 13646 0.00037, 0.00042, 13647 0.00070, 0.00003, 13648 0.00275, -0.13096, 0.02329, -0.05582, 13649 0.00405, -0.00251, 13650 0.01316, -0.01165, 0.00279, -0.00374, 13651 -39.62783, 20.91467, -28.97236, 3.77560, 13652 -3.30029, 0.11472, -0.48216, 1.05814, 13653 -0.21607, -0.03055, 13654 -0.64162, -0.57355, -0.05861, -0.18592, 13655 -0.12207, -0.06279, 13656 -38.55325, -125.74207, -47.22357, 41.75842, 13657 -119.38841, 18.88515, -11.04830, -50.98851, 13658 16.64895, 1.76553, 13659 0.09474, 0.03714, 13660 0.02593, 0.07967, 13661 -1187.61854, -1094.91786, -1011.21939, -1102.25998, 13662 -575.88672, -107.84860, -890.58889, -807.06589, 13663 971.78461, -1287.24560, -4601.44669, -849.54329, 13664 -0.00904, 0.06233, 13665 -0.19456, -0.05521, 13666 -0.36915, 1.15363, 13667 32.64763, -85.19705, 114.34437, -13.37747, 13668 15.92865, 55.84857, -13.10538, 3.07629, 13669 -0.00327, 0.00104, 13670 -7.81035, 6.19960, -6.36096, 1.00493, 13671 -0.66971, -0.84572, 0.09943, -0.04583, 13672 0.00200, -0.00032, 13673 -0.00265, 0.00047, 13674 -0.00053, 0.00046, 13675 -0.24396, 0.20664, -0.30820, -0.04917, 13676 0.06184, -0.12642, 0.03053, 0.05054, 13677 0.00035, 0.00012, 13678 0.42063, -0.58254, 0.90517, -0.66276, 13679 0.64765, 0.39338, -1.40645, 0.33017, 13680 -1.43377, -0.67089, 13681 -0.00045, -0.00036, 13682 0.23690, 0.07185, 0.28386, -0.04397, 13683 0.02836, -0.13082, -0.00978, 0.00108, 13684 0.00046, 0.00083, 13685 -0.01665, 0.32499, -0.09980, 0.18611, 13686 -0.02561, 0.00239, -0.00084, -0.00110, 13687 0.46854, -0.35113, 0.69908, 0.53244, 13688 0.12875, 0.01115, 13689 0.13930, 0.02747, -0.10587, -0.17759, 13690 -0.26850, 0.04400, 13691 0.00010, -0.00015, 13692 0.00164, -0.01308, 0.00488, -0.01046, 13693 0.00170, 0.00024, 13694 0.00084, 0.00014, 13695 -0.08481, -0.02547, -0.02290, -0.02281, 13696 -0.03946, -0.02810, 13697 0.01298, 0.08658, 0.05575, -0.01081, 13698 1.09695, 0.35441, 13699 -0.03127, 0.07946, 0.01245, 0.02578, 13700 -0.00524, -0.00027, 13701 0.08217, -0.31742, 0.15273, -0.07804, 13702 0.01197, 0.03053, 13703 0.81596, 0.38640, -0.89777, 0.59499, 13704 -0.39581, -0.87375, 13705 0.02096, 0.49772, 0.29986, 0.24210, 13706 0.14038, -0.03016, 13707 -0.00208, 0.00045, 13708 0.01024, 0.00114, 13709 1.23010, 1.75663, -0.12741, 1.44996, 13710 -0.31607, 0.03151, 0.00259, -0.04741, 13711 -11.57091, 8.00331, -9.24028, -6.36906, 13712 4.71248, -2.43695, 0.38630, 1.90625, 13713 0.01401, 0.00114, 13714 33.56690, -55.17784, 33.21425, -52.57002, 13715 27.04138, 13.78610, 69.60307, -81.16312, 13716 27.53960, -158.28336, -205.94418, -95.08051, 13717 -0.01407, -0.00364, 13718 -18.56128, 6.02270, -10.11059, 24.69471, 13719 12.31878, 9.94393, 3.81994, -4.84109, 13720 -1.08440, -0.72136, 13721 0.03731, -0.02094, 0.00789, -0.00176, 13722 0.09673, -0.11181, 0.03112, -0.00065, 13723 -0.29167, -0.82083, 0.40866, -0.77487, 13724 -2.23349, -0.46973, 13725 0.41024, -0.14274, 0.07755, -0.24895, 13726 -0.04965, -0.01197, 13727 -0.02264, 0.05917, -0.02817, 0.01242, 13728 -0.00250, -0.00247, 13729 -0.14414, -0.03739, 0.14708, -0.07908, 13730 0.05843, 0.15173, 13731 -0.01601, -0.07844, -0.05957, -0.03143, 13732 -0.01830, 0.01257, 13733 -0.00109, -0.00000, 13734 0.00174, 0.00050, 13735 -0.02119, 0.06918, -0.02470, 0.00185, 13736 0.02372, -0.02417, 13737 0.01081, 0.05222, 0.09820, 0.05931, 13738 -0.00588, -0.00086, 13739 0.01688, -0.00133, -0.00073, 0.00041, 13740 -0.02280, -0.05706, -0.17694, -0.12027, 13741 0.00196, -0.00060, 13742 0.00051, -0.02426, 0.00314, -0.00302, 13743 0.17923, -0.78343, 0.52073, -0.02398, 13744 -0.03978, 0.20841, 13745 6.51325, 3.37139, 12.88844, -6.72098, 13746 3.40949, -14.34313, -9.68278, -7.85143, 13747 1.06886, -0.21727, 0.36675, -0.49815, 13748 -0.07289, -0.07537,
vendor: 4,932 bytes, lines 13749-13913
13749 0.01107, -0.00644, 0.01013, -0.00306, 13750 -0.00708, -0.13488, -0.23041, -0.10698, 13751 -0.00049, -0.00692, -0.00142, -0.00211, 13752 -0.04021, 0.01805, 13753 0.00479, 0.00620, 13754 0.00739, 0.00566, 13755 -0.00101, -0.00022, 0.00261, -0.00188, 13756 -0.01812, -0.01205, 13757 -0.00061, -0.00061, 13758 -0.02479, 0.01157, 13759 0.91642, -0.65781, 0.39969, -1.13699, 13760 -0.43337, -0.57828, 13761 0.00145, 0.00281, 13762 -0.01675, -0.00975, 13763 0.00119, -0.00074, 13764 -0.00343, 0.00139, 13765 0.00061, 0.00086, 13766 0.00054, -0.00046, 13767 -0.01996, -0.02689, 13768 0.00034, 0.00037, 13769 -0.00006, 0.00001 13770 ], 13771 rad_tbl: [ 13772 -734.58857, -1081.04460, -551.65750, -148.79782, 13773 -25.23171, 164.64781, 248.64813, 13774 -0.05163, -0.02413, 13775 -1306.61004, 560.02437, -1622.58047, 589.92513, 13776 -812.39674, 166.85340, -157.92826, -107.14755, 13777 68.98900, -18.95875, -0.16183, 36.24345, 13778 -9.19972, -2.29315, 13779 -0.00316, 0.00222, 13780 10.95234, 21.37177, -6.29550, 21.83656, 13781 -7.70755, 1.38228, -0.21770, -1.49525, 13782 0.17951, 0.01043, 13783 0.00062, 0.00208, -0.00066, 0.00050, 13784 0.00313, 0.00187, 13785 0.00010, 0.00131, 13786 0.00102, 0.00047, 13787 0.00102, 0.00012, 13788 0.00012, -0.00037, 13789 0.00808, 0.00027, 13790 -0.01219, -0.00961, -0.04166, -0.00327, 13791 -0.00001, -0.00146, 13792 -0.00092, -0.00989, 13793 -0.00135, 0.00196, 13794 0.19216, 2.48442, -1.43599, 1.39651, 13795 -0.48549, -0.53272, 0.14066, -0.10352, 13796 0.00141, 0.00066, 13797 2.96838, -3.09575, 6.27741, 5.24306, 13798 -8.77080, 9.03247, -10.98350, -3.58579, 13799 -0.00168, -0.00100, 13800 0.20234, -0.75737, 0.36838, -0.58241, 13801 0.41430, -0.35784, 0.47038, -0.10586, 13802 0.00539, 0.00490, 13803 -0.01375, -0.01950, 0.00145, 0.00723, 13804 -0.00391, 0.00391, 13805 -0.00131, -0.00568, 13806 0.01317, 0.00319, 13807 1.31006, 5.89394, -1.61753, 3.68814, 13808 -0.80644, -0.14747, 0.04481, -0.11361, 13809 -4.36130, 7.92488, -16.29047, -1.52163, 13810 2.14492, -14.38028, 9.65573, 3.56881, 13811 -1.87208, 3.36213, 13812 1.84499, -2.41575, -2.77076, -3.23915, 13813 -3.34573, 1.40979, 13814 0.00217, -0.00841, 13815 0.29313, -0.36246, 0.22043, 0.02328, 13816 -0.01182, 0.04074, 13817 -0.15728, 0.02468, -0.03185, -0.01099, 13818 0.01059, -0.01274, 13819 0.07362, -0.02642, 0.04035, -0.00968, 13820 -2.14457, 2.53297, -4.34196, -0.11421, 13821 -0.38757, -1.73872, 0.39784, -0.01397, 13822 -0.03311, 0.97723, 0.16060, -0.07486, 13823 25.96413, 0.75088, 13824 -3.04736, 0.30340, -1.43451, -1.35136, 13825 0.26526, -0.40247, 13826 -0.00460, -0.00056, 13827 0.01633, -0.00128, 13828 -0.05197, 0.07002, -0.19450, 0.03737, 13829 0.00188, -0.00037, 13830 -0.00903, -0.00059, 13831 -19.73809, 0.58424, -10.42034, -10.14579, 13832 2.65990, -3.07889, 0.50884, 0.58508, 13833 -0.00970, 0.02099, 13834 0.00716, 0.01161, 13835 0.05751, -0.04515, 13836 22.08042, 30.82415, -36.27430, 31.40265, 13837 -18.30150, -29.16403, 13838 0.02454, 0.01834, 13839 -0.01312, 0.01576, 13840 -0.00928, 0.00330, 13841 -11.78094, 4.06738, -2.51590, 15.05277, 13842 9.12747, 2.88088, 2.32916, -2.08271, 13843 0.02872, 0.02194, 13844 0.60494, -0.04597, 0.24749, 0.15971, 13845 -0.02185, 0.03384, 13846 -0.07075, 0.01287, 13847 0.40201, 0.00347, 13848 -0.00410, -0.00998, 13849 -0.00005, -0.00121, 13850 0.13770, 0.00186, 13851 -0.02268, 0.00210, 13852 1.26291, 0.65546, 0.38885, 0.38880, 13853 -0.00184, 0.03067, 13854 0.01273, 0.01136, 0.00557, 0.01117, 13855 94.13171, -88.37882, 120.53292, 8.32903, 13856 7.77313, 43.46523, -11.66698, 0.44639, 13857 0.15092, -1.68367, 13858 -0.30833, -0.49030, 0.01971, -0.14144, 13859 -0.04019, -0.05110, 13860 -39.70024, 272.91667, -468.46263, 256.77696, 13861 -200.63130, -307.98554, 206.56301, -41.76039, 13862 -4.74242, 74.19909, 13863 0.18474, 0.05547, 13864 -0.06732, 0.16515, 13865 -1156.31285, -1102.97666, -1346.99288, -1121.01090, 13866 666.84550, 421.92305, 2259.49740, -2268.69758, 13867 -2325.87639, -4476.46256, -9683.77583, -2472.92565, 13868 -0.10400, 0.08075, 13869 -0.45225, 0.16621, 13870 0.57789, 2.43804, 13871 85.21675, -154.17208, 219.91042, -9.71116, 13872 31.13240, 108.60117, -25.85622, 8.98402, 13873 -0.00233, 0.01030, 13874 -17.01324, 10.41588, -13.34449, 1.08782, 13875 -1.48199, -1.81734, 0.20334, -0.11734, 13876 -0.00230, -0.01869, 13877 -0.01182, -0.00129, 13878 -0.00281, 0.02021, 13879 -5.75973, 19.13309, -16.13690, 5.53382, 13880 -1.96585, -6.29211, 1.63105, -0.26089, 13881 0.02935, -0.00555, 13882 0.30700, -19.96182, 0.99825, -16.32664, 13883 0.83052, -13.76201, -3.15609, 0.17360, 13884 -111.81423, -2.05419, 13885 -0.02455, -0.00478, 13886 7.45114, 21.53296, 19.90263, 5.69420, 13887 2.31253, -8.15116, -2.17440, -0.23014, 13888 0.00168, 0.01590, 13889 8.78005, 0.71418, 4.48561, 4.50680, 13890 -1.05713, 1.17880, -0.19327, -0.24877, 13891 -5.00870, -8.66354, 10.51902, -7.71011, 13892 4.65486, 8.05673, 13893 -1.39635, -3.07669, -2.40347, -0.11167, 13894 -0.04064, 0.83512, 13895 -0.02041, -0.00351, 13896 0.97375, -0.15795, 0.36361, 0.19913, 13897 -0.02142, 0.04193, 13898 0.08801, 0.00475, 13899 -2.81010, 3.11341, -2.79191, -0.93313, 13900 0.44570, -0.88287, 13901 -0.51815, 0.54776, 0.29736, 0.99779, 13902 2.28957, 0.82183, 13903 0.03386, 0.12855, 0.03124, 0.02454, 13904 -0.31958, 0.00070, 13905 -1.48184, -1.28195, 0.03965, -1.12026, 13906 0.23910, 0.01293, 13907 0.36146, -0.64483, -1.88470, 0.21469, 13908 -11.79819, -1.87287, 13909 2.65699, -0.36287, 0.88148, -1.26883, 13910 -0.19657, -0.14279, 13911 -0.07536, -0.00004, 13912 0.01496, 0.00537, 13913 2.48352, 3.75581, -0.34909, 3.26696,
13914 -0.82105, 0.11287, -0.00755, -0.13764, 13915 -15.34429, -2.79957, -3.22976, -15.46084, 13916 10.66793, -0.26054, -0.12188, 5.06211, 13917 0.01313, 0.00424, 13918 84.34332, -57.05646, 92.68150, -0.02024, 13919 149.62698, 59.14407, 174.04569, -129.26785, 13920 -55.99789, -238.01484, -212.51618, -115.94914, 13921 -0.01720, -0.00158, 13922 -13.65602, 17.47396, 0.16714, 32.66367, 13923 16.30095, 9.18345, 3.98555, -5.39985, 13924 -1.09958, -0.86072, 13925 0.02752, -0.02474, 0.00671, -0.00278, 13926 -0.21030, -0.73658, 0.20708, -0.21378, 13927 0.78462, -2.14051, -1.60070, -2.60915, 13928 -5.02441, -1.19246, 13929 0.67622, -0.41889, 0.07430, -0.53204, 13930 -0.11214, -0.03417, 13931 -0.72636, -0.15535, -0.16815, -0.35603, 13932 0.07530, -0.02521, 13933 -0.01261, -0.94883, 0.39930, -0.05370, 13934 -2.77309, 0.38431, 13935 0.72127, -0.52030, -0.01804, -0.51188, 13936 -0.11993, 0.02189, 13937 0.00928, -0.02129, 13938 -0.02760, 0.00441, 13939 -0.56832, -0.48114, 0.64192, -0.65656, 13940 0.37483, 0.51883, 13941 -0.08474, 0.20324, 0.12783, 0.13041, 13942 -0.01545, -0.00282, 13943 -0.16196, -0.26980, 0.06584, -0.09987, 13944 -0.36305, -0.27610, -0.57074, -0.13607, 13945 -0.00824, 0.00369, 13946 0.06094, -0.12214, 0.03581, -0.00876, 13947 0.49346, -0.74596, 0.47814, 0.18201, 13948 -1.00640, 0.24465, 13949 10.09808, 2.30496, 13.63359, -7.94007, 13950 0.29792, -13.55724, -6.48556, -5.99581, 13951 0.69686, -0.22434, 0.23198, -0.35579, 13952 -0.04736, -0.05683, 13953 0.36710, -0.16571, 0.14876, 0.21824, 13954 -0.18940, -0.15063, -0.23692, -0.09990, 13955 -0.08923, -0.12222, 0.02998, -0.04560, 13956 -0.16229, 0.04552, 13957 -0.33051, 0.02585, 13958 -0.00622, 0.01583, 13959 0.15436, -0.07109, 0.06429, 0.09218, 13960 -0.01277, -0.00019, 13961 0.02345, -0.01057, 13962 -0.07294, 0.02506, 13963 0.62063, -0.52533, 0.16814, -0.77168, 13964 -0.20614, -0.31828, 13965 -0.12856, 0.01316, 13966 -0.01522, -0.00126, 13967 0.01558, 0.04765, 13968 -0.02776, 0.01166, 13969 -0.05185, 0.00674, 13970 0.00754, 0.02183, 13971 -0.00645, -0.01050, 13972 -0.02155, 0.00375, 13973 0.12040, -0.00004 13974 ], 13975 arg_tbl: [ 13976 0, 6, 13977 3, 2, 5, -6, 6, 3, 7, 0, 13978 2, 2, 5, -5, 6, 6, 13979 3, 1, 5, -2, 6, -3, 8, 0, 13980 2, 4, 5, -10, 6, 4, 13981 3, 2, 5, -4, 6, -3, 7, 1, 13982 3, 3, 5, -10, 6, 7, 7, 0, 13983 2, 6, 5, -15, 6, 0, 13984 3, 1, 5, -4, 6, 4, 7, 0, 13985 3, 3, 5, -8, 6, 2, 7, 0, 13986 3, 1, 5, -3, 6, 1, 7, 0, 13987 3, 1, 5, -3, 6, 2, 7, 0, 13988 1, 1, 7, 1, 13989 2, 5, 5, -12, 6, 0, 13990 3, 2, 5, -7, 6, 7, 7, 0, 13991 3, 1, 5, -1, 6, -3, 7, 0, 13992 2, 3, 5, -7, 6, 3, 13993 3, 1, 5, -4, 6, 3, 7, 0, 13994 2, 1, 5, -2, 6, 3, 13995 3, 3, 5, -8, 6, 3, 7, 0, 13996 2, 1, 5, -3, 6, 3, 13997 3, 1, 5, -3, 6, 3, 7, 0, 13998 2, 3, 5, -8, 6, 2, 13999 3, 2, 5, -5, 6, 2, 7, 0, 14000 1, 2, 7, 0, 14001 2, 4, 5, -9, 6, 3, 14002 2, 2, 5, -4, 6, 4, 14003 1, 1, 6, 2, 14004 3, 2, 5, -5, 6, 3, 7, 0, 14005 2, 2, 5, -6, 6, 2, 14006 2, 5, 5, -11, 6, 1, 14007 3, 1, 5, -2, 7, -2, 8, 0, 14008 2, 1, 5, -3, 7, 1, 14009 2, 3, 5, -6, 6, 3, 14010 2, 1, 5, -1, 6, 2, 14011 2, 1, 5, -4, 6, 2, 14012 2, 3, 5, -9, 6, 0, 14013 3, 2, 5, -4, 6, 2, 7, 0, 14014 2, 1, 5, -2, 7, 1, 14015 2, 6, 5, -13, 6, 0, 14016 3, 2, 5, -2, 6, -3, 7, 0, 14017 2, 4, 5, -8, 6, 3, 14018 2, 3, 6, -3, 7, 0, 14019 3, 6, 5, -14, 6, 3, 7, 0, 14020 3, 1, 5, -2, 7, 1, 8, 0, 14021 2, 2, 5, -3, 6, 2, 14022 3, 1, 5, -4, 7, 5, 8, 0, 14023 3, 2, 5, -8, 6, 3, 7, 0, 14024 3, 4, 5, -9, 6, 3, 7, 0, 14025 1, 2, 6, 3, 14026 3, 2, 5, -4, 6, 3, 7, 0, 14027 2, 2, 5, -7, 6, 2, 14028 2, 1, 5, -2, 8, 0, 14029 2, 1, 5, -1, 7, 0, 14030 3, 3, 5, -6, 6, 2, 7, 0, 14031 3, 4, 5, -8, 6, 2, 8, 0, 14032 2, 1, 5, -1, 8, 0, 14033 3, 2, 5, -3, 6, 1, 7, 0, 14034 2, 7, 5, -15, 6, 2, 14035 3, 3, 5, -4, 6, -3, 7, 1, 14036 2, 5, 5, -10, 6, 4, 14037 3, 1, 5, 1, 6, -3, 7, 1, 14038 3, 7, 5, -16, 6, 3, 7, 0, 14039 2, 3, 5, -5, 6, 4, 14040 3, 1, 5, -6, 6, 3, 7, 0, 14041 3, 5, 5, -11, 6, 3, 7, 0, 14042 1, 1, 5, 5, 14043 3, 3, 5, -11, 6, 3, 7, 0, 14044 3, 3, 5, -6, 6, 3, 7, 0, 14045 2, 2, 5, -7, 7, 0, 14046 2, 1, 5, -5, 6, 3, 14047 3, 1, 5, -1, 6, 3, 7, 0, 14048 2, 3, 5, -10, 6, 3, 14049 3, 2, 5, -3, 6, 2, 7, 0, 14050 2, 1, 5, 1, 7, 0, 14051 3, 2, 5, -1, 6, -3, 7, 0, 14052 2, 4, 5, -7, 6, 3, 14053 2, 4, 6, -3, 7, 0, 14054 2, 2, 5, -2, 6, 4, 14055 3, 4, 5, -8, 6, 3, 7, 0, 14056 1, 3, 6, 3, 14057 3, 2, 5, -3, 6, 3, 7, 0, 14058 2, 5, 5, -9, 6, 3, 14059 2, 3, 5, -4, 6, 2, 14060 2, 1, 5, 1, 6, 2, 14061 2, 2, 5, -4, 7, 0, 14062 2, 6, 5, -11, 6, 2, 14063 2, 2, 5, -3, 7, 0, 14064 2, 4, 5, -6, 6, 2, 14065 2, 2, 5, -1, 6, 2, 14066 1, 4, 6, 1, 14067 2, 2, 5, -2, 7, 0, 14068 2, 5, 5, -8, 6, 2, 14069 2, 3, 5, -3, 6, 2, 14070 2, 1, 5, 2, 6, 2, 14071 2, 2, 5, -2, 8, 0, 14072 2, 2, 5, -1, 7, 0, 14073 2, 6, 5, -10, 6, 3, 14074 2, 4, 5, -5, 6, 3, 14075 2, 6, 6, -3, 7, 0, 14076 1, 2, 5, 5, 14077 3, 4, 5, -6, 6, 3, 7, 0, 14078 1, 5, 6, 4, 14079 2, 2, 5, -10, 6, 1, 14080 2, 5, 5, -7, 6, 1, 14081 2, 3, 5, -2, 6, 2, 14082 2, 1, 5, 3, 6, 2, 14083 2, 6, 5, -9, 6, 2, 14084 2, 4, 5, -4, 6, 2, 14085 2, 2, 5, 1, 6, 2, 14086 2, 7, 5, -11, 6, 0, 14087 2, 3, 5, -3, 7, 0, 14088 2, 5, 5, -6, 6, 2, 14089 2, 3, 5, -1, 6, 1, 14090 2, 3, 5, -2, 7, 0, 14091 2, 6, 5, -8, 6, 1, 14092 2, 4, 5, -3, 6, 1, 14093 2, 2, 5, 2, 6, 0, 14094 2, 7, 5, -10, 6, 1, 14095 2, 5, 5, -5, 6, 2, 14096 1, 3, 5, 3, 14097 2, 1, 5, 5, 6, 2, 14098 2, 6, 5, -7, 6, 1, 14099 2, 4, 5, -2, 6, 1, 14100 2, 7, 5, -9, 6, 1, 14101 2, 5, 5, -4, 6, 0, 14102 2, 6, 5, -6, 6, 0, 14103 2, 4, 5, -1, 6, 0, 14104 2, 7, 5, -8, 6, 1, 14105 2, 5, 5, -3, 6, 0, 14106 2, 8, 5, -10, 6, 0, 14107 2, 6, 5, -5, 6, 0, 14108 1, 4, 5, 2, 14109 2, 7, 5, -7, 6, 0, 14110 2, 5, 5, -2, 6, 0, 14111 2, 8, 5, -9, 6, 0, 14112 2, 7, 5, -6, 6, 0, 14113 2, 8, 5, -8, 6, 0, 14114 2, 9, 5, -10, 6, 0, 14115 1, 5, 5, 0, 14116 2, 9, 5, -9, 6, 0, 14117 2, 1, 3, -1, 5, 0, 14118 -1 14119 ] 14120}; 14121 14122$ns.saturn = { 14123 maxargs: 9, 14124 max_harmonic: [0, 0, 1, 0, 8, 18, 9, 5, 0], 14125 max_power_of_t: 7, 14126 distance: 9.5575813548599999e+00, 14127 timescale: 3652500.0, 14128 trunclvl: 1.0, 14129 lon_tbl: [ 14130 1788381.26240, 2460423.68044, 1370113.15868, 415406.99187, 14131 72040.39885, 12669.58806, 439960754.85333, 180256.80433, 14132 18.71177, -40.37092,
14133 66531.01889, -195702.70142, 57188.02694, -179110.60982, 14134 -19803.06520, -58084.15705, -9055.13344, -31146.10779, 14135 11245.43286, -3247.59575, 459.48670, 2912.82402, 14136 -4.06749, -13.53763, 14137 -30.55598, -4.51172, 14138 1.48832, 0.37139, 14139 597.35433, 1193.44545, -297.50957, 976.38608, 14140 -263.26842, 34.84354, -6.77785, -29.92106, 14141 -0.16325, -0.18346, 14142 -0.15364, -0.08227, 14143 0.20180, 0.02244, 14144 0.04672, -0.29867, 14145 -0.04143, -0.00760, 14146 -0.17046, -0.00778, 14147 0.04200, 0.23937, -0.00098, -0.05236, 14148 -0.02749, -0.01813, 14149 0.00637, 0.01256, 14150 -0.04506, 0.04448, 14151 -0.00105, 0.06224, 14152 0.01157, 0.17057, -0.03214, 0.18178, 14153 -0.22059, -0.01472, 14154 -0.24213, 0.04309, 0.03436, 0.44873, 14155 0.01350, -0.01931, 14156 -0.80618, -0.56864, 0.29223, -0.03101, 14157 0.04171, 0.02264, 14158 -0.01264, -0.01645, 14159 0.01774, 0.06374, 14160 -0.01925, -0.03552, 14161 0.10473, -0.04119, 14162 0.08045, 0.04635, 14163 -3.01112, -9.26158, 8.13745, 1.88838, 14164 -0.15184, 0.16898, 14165 -0.22091, 0.29070, -0.03259, 0.06938, 14166 -0.08499, -0.21688, 0.01848, -0.05594, 14167 0.50100, -0.00027, 0.13300, 0.12055, 14168 0.03039, 0.03854, 14169 -1.55287, 2.55618, -0.45497, -0.29895, 14170 -0.93268, 0.83518, 14171 -0.32785, 7.03878, -1.66649, 2.75564, 14172 -0.29459, 0.01050, 14173 0.08293, -0.03161, 14174 -0.12750, -0.04359, 14175 0.04217, 0.07480, 14176 -114.43467, 49.47867, -66.52340, -26.27841, 14177 15.48190, -13.06589, 3.28365, 5.02286, 14178 -0.17155, -0.07404, 14179 0.00924, -0.07407, 14180 -0.02922, 0.06184, 14181 108.04882, 86.09791, -155.12793, 208.10044, 14182 -311.72810, -268.92703, 74.57561, -420.03057, 14183 -0.07893, 0.09246, 14184 -0.66033, -0.39026, -0.13816, -0.08490, 14185 -36.79241, -78.88254, 71.88167, -68.05297, 14186 51.71616, 65.77970, -43.59328, 23.51076, 14187 -0.02029, -0.32943, 14188 -8.82754, 1.48646, -3.12794, 2.12866, 14189 -0.06926, 0.44979, 14190 0.00621, -0.51720, 14191 -3.82964, -1.48596, -0.11277, -3.21677, 14192 0.81705, -0.19487, 14193 -0.06195, 0.10005, -0.02208, 0.00108, 14194 0.00455, -0.03825, 14195 0.01217, -0.00599, 14196 -0.17479, -0.47290, 0.85469, 1.12548, 14197 -0.80648, -0.44134, 14198 -0.01559, -0.07061, 14199 0.01268, -0.01773, 14200 0.01308, -0.03461, 14201 -0.71114, 1.97680, -0.78306, -0.23052, 14202 0.94475, -0.10743, 14203 0.18252, -8.03174, 14204 0.00734, 0.04779, 14205 0.12334, -0.03513, 14206 0.01341, 0.02461, 14207 0.02047, -0.03454, 14208 0.02169, -0.01921, 14209 -1.12789, 0.09304, 0.14585, 0.36365, 14210 0.03702, 0.10661, -0.00464, -1.72706, 14211 -0.00769, -0.04635, 14212 -0.01157, 0.00099, 14213 10.92646, 1.96174, 2.91142, 4.74585, 14214 -0.29832, 0.75543, 14215 0.05411, 1.05850, 14216 0.38846, -0.16265, 14217 1.52209, 0.12185, 0.18650, 0.35535, 14218 -278.33587, -82.58648, -160.00093, -225.55776, 14219 35.17458, -77.56672, 10.61975, 3.33907, 14220 0.06090, 2.17429, 14221 -4.32981, -5.84246, 11.43116, 20.61395, 14222 -0.65772, 1.28796, 14223 1224.46687, -3113.15508, 3798.33409, -137.28735, 14224 -256.89302, 2227.35649, -779.78215, -260.37372, 14225 11.73617, -13.25050, -0.75248, -2.87527, 14226 -8.38102, 17.21321, 14227 -61784.69616, 39475.02257, -54086.68308, 54550.85490, 14228 -16403.69351, 29602.70098, 14672.06363, 16234.17489, 14229 15702.37109, -22086.30300, -22889.89844, -1245.88352, 14230 1.48864, 19.75000, 0.78646, 3.29343, 14231 -1058.13125, 4095.02368, -2793.78506, 1381.93282, 14232 -409.19381, -772.54270, 161.67509, -34.15910, 14233 -514.27437, 27.34222, -311.04046, 48.01030, 14234 -43.36486, 16.19535, -0.73816, -0.81422, 14235 287.32231, -110.44135, 200.43610, 37.98170, 14236 17.73719, 34.40023, -2.46337, 1.48125, 14237 0.09042, -0.11788, 14238 0.37284, 0.51725, 0.00597, 0.14590, 14239 -0.01536, 0.00980, 14240 0.00721, 0.02023, 14241 0.00027, 0.02451, 14242 -0.72448, -0.71371, 0.29322, 0.18359, 14243 0.72719, -0.37154, 0.14854, -0.02530, 14244 0.23052, 0.04258, 14245 4.82082, 0.01885, 3.11279, -0.63338, 14246 0.10559, -0.02146, 14247 -0.01672, 0.03412, 14248 0.00605, 0.06415, 14249 -0.89085, 1.51929, -0.36571, 0.39317, 14250 12.05250, -3.79392, 3.96557, -3.51272, 14251 -0.17953, 12.30669, 14252 -0.05083, -0.11442, 14253 0.02013, -0.02837, 14254 -0.02087, -0.01599, 14255 0.49190, 0.30360, 0.01316, 0.17649, 14256 0.21193, -0.09149, -0.07173, -0.05707, 14257 4.24196, -1.25155, 1.81336, 0.68887, 14258 -0.01675, 0.20772, 14259 -0.04117, -0.03531, 14260 -0.02690, -0.02766, 14261 37.54264, 10.95327, 8.05610, 30.58210, 14262 -12.68257, 1.72831, 0.13466, -3.27007, 14263 0.01864, -0.00595, 14264 0.03676, 0.14857, -0.07223, 0.06179, 14265 0.44878, -1.64901, -20.06001, 0.63384, 14266 -4.97849, 4.78627, 29.87370, 7.29899, 14267 0.00047, -0.00155, 14268 0.00314, 0.01425, 14269 -0.17842, -0.08461, 14270 -1.61020, -8.47710, 6.85048, -4.38196, 14271 1.05809, 2.68088, 14272 -0.01027, -0.00833, 14273 0.06834, -0.04205, 14274 0.03330, -0.01271, 14275 0.01301, -0.01358, 14276 0.03537, 0.03612, 0.02962, 0.62471, 14277 -0.30400, -0.64857, 14278 0.01773, 0.01890, 14279 0.01426, -0.00226, 14280 -0.50957, -0.01955, -0.09702, 1.09983, 14281 0.64387, -0.02755, 14282 0.26604, 0.30684, 0.06354, 0.05114, 14283 -0.00058, -0.04672, 14284 -0.00828, 0.00712, 14285 -0.00440, 0.00029, 14286 -0.01601, 0.03566, 14287 0.13398, -0.02666, 14288 -0.06752, -0.43044, 0.07172, -0.01999, 14289 -0.01761, -0.05357, 14290 0.06104, 0.29742, -0.08785, 0.05241, 14291 -6.57162, -4.20103, 0.03199, -6.46187, 14292 1.32846, -0.51137, 14293 0.06358, 0.37309, 14294 -1.46946, 2.34981, 14295 -0.18712, 0.11618, 14296 240.62965, -107.21962, 219.81977, 84.04246, 14297 -62.22931, 68.35902, -9.48460, -32.62906, 14298 5.57483, -1.82396, 1.00095, -0.39774, 14299 7.87054, 11.45449, 14300 -432.67155, 55064.72398, 12444.62359, 54215.28871, 14301 8486.03749, 12297.48243, -333.27968, 1147.93192, 14302 1403.73797, 990.40885, -3.84938, -722.43963, 14303 16.83276, 96.48787, 7.04834, 38.22208, 14304 0.63843, 2.61007, 14305 230.73221, 171.64166, 1.96751, 287.80846, 14306 -85.21762, 31.33649, -2.25739, -11.28441, 14307 0.04699, 0.06555, 14308 -0.08887, 1.70919, 0.09477, 0.26291, 14309 -0.15490, 0.16009,
vendor: 4,123 bytes, lines 14310-14449
14310 1.93274, 1.01953, 0.36380, 1.29582, 14311 -0.13911, 0.14169, 14312 -0.00491, -0.00030, 14313 -0.08908, -0.10216, 14314 -0.03265, -0.03889, 14315 0.40413, -1.12715, -0.94687, -0.04514, 14316 0.02487, -0.01048, 14317 0.39729, 2.82305, -0.61100, 1.11728, 14318 -0.13083, -0.04965, 14319 -0.00602, -0.02952, 14320 -6.13507, 13.73998, -15.70559, -1.28059, 14321 2.64422, -9.33798, 3.26470, 1.56984, 14322 -0.00572, 0.09992, 14323 -8.80458, -8.23890, -11.51628, 9.47904, 14324 11.31646, 4.29587, 14325 -2.41367, -0.05883, -0.80022, -1.02706, 14326 0.21461, -0.06864, 14327 0.01882, 0.01798, 14328 0.27614, -0.01007, 0.04362, 0.07560, 14329 0.05519, 0.23435, 14330 -0.09389, 0.01613, 14331 0.01298, 0.04691, 14332 -0.02665, -0.03582, 14333 0.60080, -4.28673, 1.87316, -1.05840, 14334 0.13248, 0.40887, 14335 -0.67657, 0.67732, 0.05522, 0.07812, 14336 -0.17707, -0.07510, 14337 0.24885, 10.63974, -7.40226, -2.33827, 14338 2.75463, -32.51518, 14339 0.05140, 0.01555, 14340 180.43808, 263.28252, 384.50646, -76.53434, 14341 -93.50706, -220.50123, -81.91610, 103.92061, 14342 30.90305, -2.89292, 14343 -0.06634, -0.37717, -0.01945, -0.05936, 14344 29.27877, -59.73705, 35.86569, -18.36556, 14345 3.88812, 4.82090, -0.70903, 0.06615, 14346 0.01558, -0.01854, 14347 0.16209, 0.12682, 0.02508, 0.02406, 14348 -0.03078, -0.01737, -0.00033, -0.00020, 14349 0.01023, 0.05972, 14350 -0.03373, -0.07289, 14351 -2.08162, -0.14717, -0.64233, -0.75397, 14352 0.11752, -0.09202, 14353 4.42981, -4.19241, 5.02542, 5.03467, 14354 -4.22983, 2.80794, 14355 3.03016, -2.74373, -1.11490, -2.72378, 14356 -0.63131, 0.74864, 14357 -0.00759, -0.00675, 14358 0.03615, -0.01806, 14359 -2.71920, -1.50954, 0.54479, -1.92088, 14360 0.66427, 0.32228, 14361 -2.55188, -0.65332, -2.73798, 2.10182, 14362 1.54407, 3.01357, 14363 38.76777, 23.54578, 27.29884, -14.93005, 14364 -7.50931, -5.66773, 0.30142, 1.52416, 14365 0.00634, 0.09697, -0.00748, 0.01433, 14366 0.02936, 0.53228, -0.03603, 0.06345, 14367 0.30816, -1.07925, 0.46709, -0.21568, 14368 0.01663, 0.10810, 14369 -0.42511, 0.35872, -0.19662, -6.74031, 14370 1.05776, 1.86205, 1.08919, 0.10483, 14371 -0.03368, -0.21535, 14372 0.07556, -0.27104, 0.05142, -0.03812, 14373 1.20189, -1.36782, 1.35764, 1.39387, 14374 -1.19124, 0.77347, 14375 -0.54760, -0.26295, -0.07473, 0.23043, 14376 2.82621, -0.23524, 0.47352, -0.81672, 14377 -0.08515, 0.04700, 14378 0.55355, -0.40138, 0.22255, 0.12236, 14379 -0.09110, 0.31982, 0.39404, -0.17898, 14380 -0.00056, 0.00014, 14381 -0.02012, 0.03102, 14382 0.43236, -0.10037, -0.00961, 0.07440, 14383 -0.07076, -1.97272, 14384 0.25555, -0.21832, -0.00837, -0.08393, 14385 0.01531, 0.00627, 14386 0.33193, 0.70765, -0.43556, 0.28542, 14387 -0.23190, -0.04293, -0.08062, 0.13427, 14388 0.23763, -0.17092, 0.09259, 0.05155, 14389 0.08065, -0.11943, 14390 -0.02174, -0.68899, 14391 -0.01875, -0.01746, 14392 0.13604, 0.29280, -0.17871, 0.11799, 14393 0.02003, 0.04065, 14394 0.01343, -0.06060, 14395 -0.01290, -0.26068, 14396 -0.09033, 0.02649, 14397 -0.00092, -0.03094, 14398 -0.00770, -0.10447, 14399 -0.04113, 0.01259, 14400 -0.00469, -0.04346, 14401 -0.00010, 0.06547 14402 ], 14403 lat_tbl: [ 14404 -567865.62548, -796277.29029, -410804.00791, -91793.12562, 14405 -6268.13975, 398.64391, -710.67442, 175.29456, 14406 -0.87260, 0.18444, 14407 -1314.88121, 20709.97394, -1850.41481, 20670.34255, 14408 -896.96283, 6597.16433, -179.80702, 613.45468, 14409 17.37823, -13.62177, -0.36348, 12.34740, 14410 0.47532, 0.48189, 14411 0.27162, -0.20655, 14412 -0.23268, 0.05992, 14413 46.94511, 15.78836, 21.57439, 23.11342, 14414 -0.25862, 5.21410, -0.22612, -0.05822, 14415 -0.00439, -0.01641, 14416 -0.01108, -0.00608, 14417 0.00957, 0.00272, 14418 -0.00217, 0.00001, 14419 -0.00534, -0.00545, 14420 0.00277, -0.00843, 14421 0.00167, -0.00794, 0.00032, -0.00242, 14422 -0.00002, -0.00041, 14423 -0.00025, 0.00031, 14424 0.00062, -0.00060, 14425 0.00083, 0.00032, 14426 0.00527, -0.00211, 0.00054, 0.00004, 14427 -0.02769, -0.01777, 14428 0.00247, 0.00097, 0.00020, -0.00232, 14429 0.00044, -0.00035, 14430 -0.00072, 0.01341, 0.00325, -0.01159, 14431 0.00079, -0.00078, 14432 -0.00009, 0.00066, 14433 0.00222, 0.00002, 14434 0.00013, -0.00161, 14435 0.01374, -0.05305, 14436 0.00478, -0.00283, 14437 0.16033, 0.13859, 0.33288, -0.16932, 14438 -0.00316, 0.00625, 14439 -0.00309, 0.01687, 0.00001, 0.00486, 14440 0.00401, -0.01805, -0.00048, -0.00407, 14441 -0.01329, 0.01311, -0.00591, 0.00166, 14442 0.00830, 0.00665, 14443 -0.80207, 0.22994, -0.34687, 0.08460, 14444 -0.11499, -0.01449, 14445 -0.01574, 0.78813, -0.03063, 0.28872, 14446 -0.00337, 0.01801, 14447 -0.01703, -0.00929, 14448 -0.00738, 0.03938, 14449 0.05616, -0.00516,
14450 -3.09497, 30.13091, -3.14968, 17.62201, 14451 -0.73728, 2.46962, -0.11233, 0.03450, 14452 -0.07837, -0.01573, 14453 -0.01595, 0.00394, 14454 0.00174, 0.01470, 14455 6.83560, -2.37594, 4.95125, 3.24711, 14456 2.44781, 5.17159, 1.99820, -2.38419, 14457 0.00840, 0.03614, 14458 -0.00209, -0.30407, -0.02681, -0.06128, 14459 1.50134, 11.82856, 4.39644, 6.98850, 14460 -4.17679, 5.73436, -9.66087, 1.98221, 14461 -0.29755, 0.08019, 14462 -0.24766, -8.54956, -1.74494, -3.36794, 14463 -0.32661, -0.00722, 14464 0.14141, 0.01023, 14465 -1.21541, -2.58470, 0.38983, -1.70307, 14466 0.31209, -0.10345, 14467 0.02593, 0.02178, 0.00289, 0.00393, 14468 -0.00236, -0.00373, 14469 -0.00270, -0.00049, 14470 -0.06282, -0.00443, -0.02439, -0.02254, 14471 -0.02220, 0.03532, 14472 -0.00072, 0.00010, 14473 -0.00049, -0.00112, 14474 0.00086, 0.00112, 14475 0.10135, -0.10972, 0.08357, 0.00155, 14476 0.04363, -0.00201, 14477 -0.01996, -0.01341, 14478 -0.00039, -0.00042, 14479 -0.00294, 0.00070, 14480 0.00005, -0.00027, 14481 0.00070, -0.00076, 14482 0.00234, -0.00239, 14483 -0.08365, -0.08531, -0.03531, 0.15012, 14484 -0.01995, -0.01731, -0.00370, -0.00745, 14485 -0.00315, -0.00079, 14486 -0.00120, -0.00145, 14487 -0.99404, -1.31859, 0.03584, -0.83421, 14488 0.10720, -0.05768, 14489 0.06664, -0.09338, 14490 -0.01814, -0.00003, 14491 -0.05371, -0.06458, -0.00100, -0.01298, 14492 -7.08710, -23.13374, 4.18669, -19.94756, 14493 4.85584, -3.37187, 0.58851, 0.31363, 14494 0.01994, 0.27494, 14495 -1.37112, 2.61742, 0.52477, -0.46520, 14496 -0.13183, 0.26777, 14497 836.90400, -484.65861, 815.99098, 236.54649, 14498 -32.38814, 288.95705, -68.17178, -18.87875, 14499 -1.79782, -3.68662, -1.27310, -0.65697, 14500 -3.67530, 2.10471, 14501 -13758.97795, 4807.62301, -14582.14552, 9019.73021, 14502 -3202.60105, 4570.16895, 2078.68911, 2892.62326, 14503 -2399.35382, 3253.16198, -8182.38152, -3588.77680, 14504 -0.16505, 1.08603, 0.53388, 0.87152, 14505 61.53677, 538.43813, -407.32927, 322.27446, 14506 -148.71585, -179.37765, 54.07268, -34.12281, 14507 -14.76569, -17.95681, -10.82061, -6.39954, 14508 -2.10954, 0.67063, 0.22607, -0.43648, 14509 20.90476, -45.48667, 30.39436, -14.20077, 14510 5.17385, 5.12726, -0.66319, 0.55668, 14511 0.02269, -0.00016, 14512 0.07811, 0.00111, 0.01603, 0.01020, 14513 -0.00107, 0.00494, 14514 -0.00077, -0.00084, 14515 -0.00196, 0.00081, 14516 -0.03776, 0.01286, -0.00652, -0.01450, 14517 0.05942, -0.08612, 0.01093, -0.01644, 14518 0.02147, -0.00592, 14519 0.36350, -0.00201, 0.14419, -0.10070, 14520 -0.00491, -0.01771, 14521 -0.00053, -0.00033, 14522 0.00146, 0.00048, 14523 0.00582, 0.04423, -0.00549, 0.00983, 14524 0.27355, -0.38057, 0.24001, -0.05441, 14525 -0.07706, 0.14269, 14526 -0.00059, -0.00154, 14527 -0.00013, -0.00088, 14528 -0.00046, 0.00029, 14529 -0.00276, -0.00507, 0.00075, -0.00076, 14530 0.01806, 0.00862, -0.00510, -0.01364, 14531 -0.00029, -0.12664, 0.03899, -0.03562, 14532 0.00318, 0.00514, 14533 0.00057, 0.00201, 14534 0.00028, 0.00014, 14535 -0.47022, -0.74561, 0.40155, -0.16471, 14536 -0.18445, 0.34425, -0.07464, -0.13709, 14537 -0.01018, -0.00748, 14538 -0.01210, -0.04274, -0.00579, -0.00692, 14539 -11.09188, -1.67755, -6.62063, -13.84023, 14540 12.75563, -6.73501, 8.31662, 5.40196, 14541 0.00052, 0.00034, 14542 0.00128, 0.00085, 14543 -0.02202, -0.00599, 14544 -0.33458, -1.65852, 1.47003, -1.02434, 14545 0.87885, 1.15334, 14546 -0.00241, -0.00721, 14547 0.03154, 0.00612, 14548 0.00318, -0.02521, 14549 0.00042, 0.00213, 14550 -0.01094, 0.05417, -0.03989, -0.00567,
vendor: 5,523 bytes, lines 14551-14734
14551 0.00123, -0.00244, 14552 0.00108, 0.00242, 14553 -0.00138, -0.00099, 14554 0.04967, 0.01643, -0.00133, 0.02296, 14555 0.12207, 0.05584, 14556 0.00437, -0.04432, -0.00176, -0.00922, 14557 -0.00252, 0.00326, 14558 -0.00020, -0.00050, 14559 -0.00263, -0.00084, 14560 -0.01971, 0.00297, 14561 0.03076, 0.01736, 14562 -0.01331, 0.01121, -0.00675, 0.00340, 14563 -0.00256, 0.00327, 14564 -0.00946, 0.03377, -0.00770, 0.00337, 14565 0.61383, 0.71128, -0.02018, 0.62097, 14566 -0.07247, 0.04418, 14567 -0.02886, -0.03848, 14568 -0.44062, 0.03973, 14569 -0.00999, -0.04382, 14570 57.94459, 117.45112, -71.22893, 126.39415, 14571 -62.33152, -31.90754, 12.17738, -16.46809, 14572 -1.13298, 0.08962, -0.20532, 0.16320, 14573 -1.55110, -1.44757, 14574 -3102.08749, -7452.61957, -5009.53858, -7216.29165, 14575 -2476.87148, -1880.58197, -574.49433, 227.45615, 14576 144.50228, 379.15791, 225.36130, -443.47371, 14577 -8.51989, -3.75208, -4.25415, -1.59741, 14578 -0.43946, -0.06595, 14579 150.42986, 6.54937, 87.67736, 92.32332, 14580 -21.97187, 29.87097, -4.21636, -5.72955, 14581 -0.03879, -0.01071, 14582 -0.45985, 0.02679, -0.02448, 0.02397, 14583 -0.06551, -0.01154, 14584 1.97905, -0.82292, 1.10140, 0.30924, 14585 0.03389, 0.14230, 14586 0.00003, 0.00119, 14587 -0.01117, 0.00665, 14588 -0.00132, -0.00576, 14589 -0.08356, 0.08556, -0.26362, -0.12450, 14590 0.00509, 0.00165, 14591 0.02591, 0.16200, -0.03318, 0.06463, 14592 -0.00899, -0.00462, 14593 0.00102, 0.00004, 14594 -0.73102, 0.08299, -0.52957, -0.35744, 14595 0.14119, -0.24903, 0.20843, 0.14143, 14596 0.00031, -0.00234, 14597 -0.42643, -2.02084, 1.58848, -1.57963, 14598 0.68418, 2.07749, 14599 -0.45888, 0.19859, -0.30277, -0.22591, 14600 0.11607, -0.09705, 14601 0.00040, 0.00431, 14602 -0.02683, 0.03158, -0.01302, -0.00541, 14603 0.01742, -0.00006, 14604 -0.02231, -0.01128, 14605 -0.00800, 0.02055, 14606 -0.00346, 0.00151, 14607 0.56732, -0.68995, 0.27701, -0.16748, 14608 0.01002, 0.00043, 14609 0.26916, -0.57751, 0.15547, -0.15825, 14610 -0.02074, -0.07722, 14611 -8.23483, -4.02022, 0.69327, -5.91543, 14612 1.72440, 1.02090, 14613 0.00024, -0.00053, 14614 20.03959, 14.79136, 76.43531, -14.42019, 14615 -7.82608, -69.96121, -54.94229, 23.55140, 14616 26.60767, 14.68275, 14617 0.05118, -0.10401, -0.00075, -0.01942, 14618 -3.84266, -26.23442, 10.20395, -14.77139, 14619 3.40853, 2.07297, -0.53348, 0.40635, 14620 0.00716, -0.00189, 14621 0.12472, -0.02903, 0.02254, -0.00183, 14622 -0.00175, -0.01522, 0.00003, -0.00339, 14623 0.00383, -0.00168, 14624 0.01327, -0.03657, 14625 -0.08458, -0.00115, -0.03991, -0.02629, 14626 0.00243, -0.00505, 14627 0.33875, -0.16744, 0.05183, 0.01744, 14628 -0.24427, 0.15271, 14629 0.37550, -0.17378, 0.09198, -0.27966, 14630 -0.22160, 0.16426, 14631 0.00032, -0.00310, 14632 -0.00022, -0.00144, 14633 -0.06170, -0.01195, -0.00918, 0.02538, 14634 0.03602, 0.03414, 14635 -0.14998, -0.44351, 0.45512, -0.11766, 14636 0.35638, 0.27539, 14637 5.93405, 10.55777, 12.42596, -1.82530, 14638 -2.36124, -6.04176, -0.98609, 1.67652, 14639 -0.09271, 0.03448, -0.01951, 0.00108, 14640 0.33862, 0.21461, 0.02564, 0.06924, 14641 0.01126, -0.01168, -0.00829, -0.00740, 14642 0.00106, -0.00854, 14643 -0.08404, 0.02508, -0.02722, -0.06537, 14644 0.01662, 0.11454, 0.06747, 0.00742, 14645 -0.01975, -0.02597, 14646 -0.00097, -0.01154, 0.00164, -0.00274, 14647 0.02954, -0.05161, -0.02162, -0.02069, 14648 -0.06369, 0.03846, 14649 0.00219, -0.01634, -0.04518, 0.06696, 14650 1.21537, 0.99500, 0.68376, -0.28709, 14651 -0.11397, -0.06468, 14652 0.00607, -0.00744, 0.01531, 0.00975, 14653 -0.03983, 0.02405, 0.07563, 0.00356, 14654 -0.00018, -0.00009, 14655 0.00172, -0.00331, 14656 0.01565, -0.03466, -0.00230, 0.00142, 14657 -0.00788, -0.01019, 14658 0.01411, -0.01456, -0.00672, -0.00543, 14659 0.00059, -0.00011, 14660 -0.00661, -0.00496, -0.01986, 0.01271, 14661 -0.01323, -0.00764, 0.00041, 0.01145, 14662 0.00378, -0.00137, 0.00652, 0.00412, 14663 0.01946, -0.00573, 14664 -0.00326, -0.00257, 14665 -0.00225, 0.00090, 14666 -0.00292, -0.00317, -0.00719, 0.00468, 14667 0.00245, 0.00189, 14668 0.00565, -0.00330, 14669 -0.00168, -0.00047, 14670 -0.00256, 0.00220, 14671 0.00180, -0.00162, 14672 -0.00085, -0.00003, 14673 -0.00100, 0.00098, 14674 -0.00043, 0.00007, 14675 -0.00003, -0.00013 14676 ], 14677 rad_tbl: [ 14678 -38127.94034, -48221.08524, -20986.93487, -3422.75861, 14679 -8.97362, 53.34259, -404.15708, -0.05434, 14680 0.46327, 0.16968, 14681 -387.16771, -146.07622, 103.77956, 19.11054, 14682 -40.21762, 996.16803, -702.22737, 246.36496, 14683 -63.89626, -304.82756, 78.23653, -2.58314, 14684 -0.11368, -0.06541, 14685 -0.34321, 0.33039, 14686 0.05652, -0.16493, 14687 67.44536, -29.43578, 50.85074, 18.68861, 14688 0.39742, 13.64587, -1.61284, 0.11482, 14689 0.01668, -0.01182, 14690 -0.00386, 0.01025, 14691 0.00234, -0.01530, 14692 -0.02569, -0.00799, 14693 -0.00429, -0.00217, 14694 -0.00672, 0.00650, 14695 0.01154, 0.00120, -0.00515, 0.00125, 14696 0.00236, -0.00216, 14697 -0.00098, 0.00009, 14698 -0.00460, -0.00518, 14699 0.00600, 0.00003, 14700 0.00834, 0.00095, 0.01967, 0.00637, 14701 -0.00558, -0.06911, 14702 -0.01344, -0.06589, -0.05425, -0.00607, 14703 -0.00247, -0.00266, 14704 0.08790, -0.08537, -0.00647, 0.04028, 14705 -0.00325, 0.00488, 14706 0.00111, -0.00044, 14707 -0.00731, 0.00127, 14708 -0.00417, 0.00303, 14709 0.05261, 0.01858, 14710 -0.00807, 0.01195, 14711 1.26352, -0.38591, -0.34825, 1.10733, 14712 -0.02815, -0.02148, 14713 -0.05083, -0.04377, -0.01206, -0.00586, 14714 0.03158, -0.01117, 0.00643, 0.00306, 14715 -0.01186, -0.05161, 0.01136, -0.00976, 14716 -0.00536, 0.01949, 14717 -1.41680, -0.81290, -0.09254, -0.24347, 14718 -0.14831, -0.34381, 14719 -2.44464, 0.41202, -0.99240, -0.33707, 14720 -0.01930, -0.08473, 14721 0.00830, 0.01165, 14722 -0.01604, -0.02439, 14723 0.00227, 0.04493, 14724 -42.75310, -22.65155, -9.93679, -18.36179, 14725 2.73773, 3.24126, -1.20698, 1.07731, 14726 0.00434, -0.10360, 14727 -0.02359, 0.00054, 14728 -0.02664, -0.00122, 14729 -19.79520, 33.11770, -53.56452, -35.41902, 14730 67.95039, -82.46551, 117.31843, 14.08609, 14731 0.06447, 0.03289, 14732 0.40365, -0.33397, 0.07079, -0.09504, 14733 -30.36873, 6.23538, -14.25988, -44.91408, 14734 38.53146, -16.31919, 6.99584, 22.47169,
14735 -0.13313, 0.28016, 14736 6.83715, -6.01384, 1.68531, -3.62443, 14737 -0.22469, -0.29718, 14738 0.25169, 0.13780, 14739 -3.64824, 1.22420, -2.48963, -1.12515, 14740 -0.01510, -0.56180, 14741 -0.03306, 0.01848, -0.00103, -0.00077, 14742 -0.01681, -0.00227, 14743 -0.00402, -0.00287, 14744 0.04965, -0.16190, -0.40025, 0.20734, 14745 0.15819, -0.25451, 14746 0.02467, -0.00495, 14747 0.00597, 0.00490, 14748 -0.01085, -0.00460, 14749 -0.71564, -0.26624, 0.03797, -0.28263, 14750 0.03510, 0.30014, 14751 2.79810, 0.07258, 14752 -0.01618, 0.00337, 14753 0.00876, 0.04438, 14754 0.00742, -0.00455, 14755 -0.01163, -0.00683, 14756 0.00950, 0.01275, 14757 -0.02124, -0.67527, -0.23635, 0.06298, 14758 -0.03844, 0.01010, 0.73588, -0.00271, 14759 0.01742, -0.00467, 14760 0.00017, -0.00505, 14761 -0.27482, 5.00521, -1.92099, 1.55295, 14762 -0.35919, -0.09314, 14763 -0.47002, 0.06826, 14764 0.07924, 0.16838, 14765 -0.04221, 0.71510, -0.16482, 0.08809, 14766 41.76829, -125.79427, 106.65271, -71.30642, 14767 36.18112, 17.36143, -1.63846, 5.02215, 14768 -1.08404, 0.00061, 14769 2.45567, -2.42818, -9.88756, 5.36587, 14770 -0.61253, -0.35003, 14771 1523.54790, 602.82184, 68.66902, 1878.26100, 14772 -1098.78095, -120.72600, 127.30918, -383.96064, 14773 -7.00838, -6.09942, -1.54187, 0.34883, 14774 -9.47561, -4.35408, 14775 -21541.63676, -32542.09807, -29720.82604, -28072.21231, 14776 -15755.56255, -8084.58657, -8148.87315, 7434.89857, 14777 11033.30133, 7827.94658, 610.18256, -11411.93624, 14778 -9.87426, 0.94865, -1.63656, 0.41275, 14779 1996.57150, 511.48468, 669.78228, 1363.67610, 14780 -379.72037, 198.84438, -16.63126, -79.37624, 14781 -2.30776, -246.07820, -16.85846, -148.18168, 14782 -6.89632, -20.49587, 0.39892, -0.34627, 14783 -57.81309, -136.96971, 15.25671, -96.61153, 14784 16.09785, -8.79091, 0.70515, 1.16197, 14785 0.05647, 0.04684, 14786 0.25032, -0.19951, 0.07282, -0.00696, 14787 0.00493, 0.00733, 14788 -0.01085, 0.00422, 14789 -0.01309, 0.00262, 14790 0.37616, -0.36203, -0.11154, 0.18213, 14791 0.15691, 0.29343, 0.00485, 0.06106, 14792 -0.01492, 0.09954, 14793 0.28486, 2.27190, 0.33102, 1.50696, 14794 -0.01926, 0.04901, 14795 0.01827, 0.00863, 14796 -0.03315, 0.00178, 14797 -0.77600, -0.48576, -0.21111, -0.19485, 14798 1.90295, 6.44856, 1.71638, 2.12980, 14799 -7.19585, -0.08043, 14800 0.07004, -0.02764, 14801 0.01604, 0.01158, 14802 0.00936, -0.01199, 14803 0.18396, -0.29234, 0.10422, -0.00720, 14804 0.05196, 0.10753, 0.02859, -0.03602, 14805 0.63828, 1.96280, -0.31919, 0.85859, 14806 -0.10218, -0.00673, 14807 0.01748, -0.02190, 14808 0.01266, -0.02729, 14809 -4.80220, 8.90557, -5.94059, 2.28577, 14810 -0.19687, -1.28666, 0.32398, 0.14879, 14811 -0.02619, -0.02056, 14812 -0.04872, -0.07011, -0.04082, -0.04740, 14813 0.60167, -2.20365, -0.27919, -0.45957, 14814 -1.31664, -2.22682, 176.89871, 13.03918, 14815 0.00568, 0.00560, 14816 0.01093, 0.00486, 14817 -0.00948, -0.31272, 14818 -11.87638, -3.68471, -1.74977, -9.60468, 14819 2.94988, -0.57118, 14820 0.00307, -0.01636, 14821 0.02624, 0.03032, 14822 -0.00464, -0.01338, 14823 0.00935, 0.00530, 14824 -0.11822, 0.03328, -0.41854, 0.04331, 14825 0.41340, -0.21657, 14826 -0.00865, 0.00849, 14827 -0.00374, -0.00899, 14828 0.01227, -0.23462, -0.71894, -0.04515, 14829 0.00047, 0.28112, 14830 -0.12788, 0.11698, -0.02030, 0.02759, 14831 0.02967, -0.00092, 14832 0.00454, 0.00565, 14833 -0.00026, 0.00164, 14834 -0.01405, -0.00862, 14835 0.01088, 0.05589, 14836 0.18248, -0.06931, -0.00011, 0.03713, 14837 0.01932, -0.00982, 14838 -0.13861, 0.09853, -0.03441, -0.02492, 14839 2.26163, -5.94453, 4.14361, -0.94105, 14840 0.39561, 0.75414, 14841 -0.17642, 0.03724, 14842 -1.32978, -0.56610, 14843 -0.03259, -0.06752, 14844 39.07495, 80.25429, -28.15558, 82.69851, 14845 -37.53894, -17.88963, 6.98299, -13.04691, 14846 -0.48675, -1.84530, -0.07985, -0.33004, 14847 -3.39292, 2.73153, 14848 -17268.46134, 1144.22336, -16658.48585, 5252.94094, 14849 -3461.47865, 2910.56452, -433.49442, -305.74268, 14850 -383.45023, 545.16136, 313.83376, 27.00533, 14851 -31.41075, 7.90570, -12.40592, 3.01833, 14852 -0.83334, 0.23404, 14853 59.26487, -112.74279, 113.29402, -15.37579, 14854 14.03282, 32.74482, -4.73299, 1.30224, 14855 -0.00866, 0.01232, 14856 -0.53797, 0.00238, -0.07979, 0.04443, 14857 -0.05617, -0.05396, 14858 0.10185, -1.05476, 0.43791, -0.32302, 14859 0.06465, 0.03815, 14860 0.00028, -0.00446, 14861 0.09289, -0.06389, 14862 0.01701, -0.01409, 14863 0.47101, 0.16158, 0.01036, -0.39836, 14864 0.00477, 0.01101, 14865 -2.06535, 0.33197, -0.82468, -0.41414, 14866 0.03209, -0.09348, 14867 0.00843, -0.00030, 14868 -9.49517, -3.82206, 0.66899, -10.28786, 14869 6.33435, 1.73684, -0.98164, 2.25164, 14870 -0.07577, -0.00277, 14871 1.02122, 0.75747, 1.79155, -0.77789, 14872 -2.56780, -2.07807, 14873 0.19528, 0.77118, -0.28083, 0.32130, 14874 -0.04350, -0.07428, 14875 -0.01161, 0.01387, 14876 0.02074, 0.19802, -0.03600, 0.04922, 14877 -0.19837, 0.02572, 14878 -0.00682, -0.04277, 14879 -0.01805, 0.00299, 14880 0.03283, -0.02099, 14881 3.57307, 1.17468, 0.65769, 1.88181, 14882 -0.39215, 0.08415, 14883 -0.53635, -0.19087, -0.12456, 0.02176, 14884 0.01182, -0.07941, 14885 -2.43731, 2.44464, 1.03961, -1.81936, 14886 30.33140, 0.92645, 14887 0.00508, -0.01771, 14888 -81.06338, 66.43957, 33.16729, 131.44697, 14889 76.63344, -34.34324, -35.33012, -28.04413, 14890 -1.47440, 13.09015, 14891 0.13253, -0.01629, 0.02187, -0.00963, 14892 -21.47470, -9.44332, -7.21711, -12.59472, 14893 1.76195, -1.63911, 0.09060, 0.28656, 14894 0.00635, 0.00536, 14895 0.03470, -0.06493, 0.00666, -0.01084, 14896 0.01116, -0.01612, -0.00102, 0.00208, 14897 -0.05568, 0.00628, 14898 0.02665, -0.01032, 14899 0.21261, -1.90651, 0.72728, -0.57788, 14900 0.08662, 0.10918, 14901 3.39133, 3.97302, -4.63381, 4.26670, 14902 -2.50873, -3.76064,
vendor: 7,313 bytes, lines 14903-15200
14903 1.28114, 1.81919, 1.48064, -0.37578, 14904 -0.26209, -0.47187, 14905 0.00282, -0.00499, 14906 0.01749, 0.03222, 14907 1.60521, -1.79705, 1.61453, 0.68886, 14908 -0.29909, 0.55025, 14909 -0.07894, 0.19880, -0.15635, 0.46159, 14910 2.09769, 1.52742, 14911 -7.60312, 11.34886, 4.35640, 8.61048, 14912 2.15001, -2.15303, -0.61587, -0.11950, 14913 -0.03289, -0.00520, -0.00501, -0.00445, 14914 0.15294, -0.05277, 0.02455, 0.00408, 14915 1.19601, 0.43479, 0.20422, 0.57125, 14916 -0.12790, 0.01318, 14917 -0.15275, -0.43856, 6.99144, -0.08794, 14918 -1.69865, 0.82589, -0.20235, 0.97040, 14919 0.20903, 0.00675, 14920 0.26943, 0.08281, 0.03686, 0.05311, 14921 1.28468, 1.21735, -1.38174, 1.29570, 14922 -0.75899, -1.17168, 14923 0.44696, -0.32341, -0.06378, -0.27573, 14924 -0.06406, 0.87186, 0.21069, 0.19724, 14925 0.00119, -0.04147, 14926 0.39279, 0.51437, -0.11035, 0.21450, 14927 -0.04309, 0.02359, 0.20490, 0.14210, 14928 0.00007, -0.00017, 14929 -0.03529, -0.02644, 14930 0.10710, 0.44476, -0.02632, -0.01817, 14931 2.11335, -0.04432, 14932 0.18206, 0.27335, 0.08867, 0.00313, 14933 -0.00692, 0.01595, 14934 -0.72957, 0.32080, -0.29291, -0.44764, 14935 0.12767, -0.05778, 0.04797, -0.00223, 14936 0.17661, 0.22427, -0.04914, 0.09114, 14937 0.12236, 0.00708, 14938 0.74315, -0.01346, 14939 0.02245, -0.02555, 14940 -0.30446, 0.13947, -0.12340, -0.18498, 14941 -0.04099, 0.02103, 14942 0.06337, -0.01224, 14943 0.28181, -0.01019, 14944 -0.02794, -0.09412, 14945 0.03272, -0.01095, 14946 0.11247, -0.00650, 14947 -0.01319, -0.04296, 14948 0.04653, -0.00423, 14949 0.06535, 0.00014 14950 ], 14951 arg_tbl: [ 14952 0, 7, 14953 3, 2, 5, -6, 6, 3, 7, 0, 14954 2, 2, 5, -5, 6, 5, 14955 3, 1, 6, -4, 7, 2, 8, 0, 14956 2, 1, 6, -3, 7, 0, 14957 3, 1, 6, -2, 7, -2, 8, 0, 14958 2, 4, 5, -10, 6, 3, 14959 3, 1, 5, -1, 6, -4, 7, 0, 14960 3, 2, 5, -4, 6, -3, 7, 0, 14961 3, 2, 6, -8, 7, 4, 8, 0, 14962 3, 3, 5, -10, 6, 7, 7, 0, 14963 2, 6, 5, -15, 6, 0, 14964 2, 2, 6, -6, 7, 0, 14965 3, 1, 5, -4, 6, 4, 7, 1, 14966 3, 1, 5, -2, 6, -1, 7, 0, 14967 3, 2, 5, -5, 6, 1, 8, 0, 14968 3, 3, 5, -8, 6, 2, 7, 0, 14969 3, 1, 5, -3, 6, 2, 8, 0, 14970 3, 1, 5, -3, 6, 1, 7, 1, 14971 1, 1, 8, 0, 14972 3, 1, 5, -3, 6, 2, 7, 1, 14973 3, 1, 5, -2, 6, -2, 7, 0, 14974 2, 2, 6, -5, 7, 1, 14975 3, 2, 6, -6, 7, 2, 8, 0, 14976 3, 2, 6, -7, 7, 4, 8, 0, 14977 3, 2, 5, -4, 6, -2, 7, 0, 14978 3, 1, 5, -1, 6, -5, 7, 0, 14979 3, 2, 6, -7, 7, 5, 8, 0, 14980 3, 1, 6, -1, 7, -2, 8, 0, 14981 2, 1, 6, -2, 7, 1, 14982 3, 1, 6, -3, 7, 2, 8, 0, 14983 3, 1, 6, -4, 7, 4, 8, 1, 14984 3, 2, 5, -5, 6, 2, 8, 1, 14985 3, 2, 5, -6, 6, 2, 7, 1, 14986 2, 2, 7, -2, 8, 0, 14987 1, 1, 7, 2, 14988 2, 5, 5, -12, 6, 2, 14989 3, 2, 6, -5, 7, 1, 8, 0, 14990 3, 1, 5, -1, 6, -3, 7, 0, 14991 3, 7, 5, -18, 6, 3, 7, 0, 14992 2, 3, 5, -7, 6, 3, 14993 3, 1, 6, 1, 7, -5, 8, 0, 14994 3, 1, 5, -4, 6, 3, 7, 0, 14995 3, 5, 5, -13, 6, 3, 7, 0, 14996 2, 1, 5, -2, 6, 3, 14997 3, 3, 5, -9, 6, 3, 7, 0, 14998 3, 3, 5, -8, 6, 3, 7, 1, 14999 2, 1, 5, -3, 6, 3, 15000 3, 5, 5, -14, 6, 3, 7, 0, 15001 3, 1, 5, -3, 6, 3, 7, 2, 15002 2, 3, 6, -7, 7, 0, 15003 2, 3, 5, -8, 6, 2, 15004 3, 2, 5, -3, 6, -4, 7, 1, 15005 3, 2, 5, -8, 6, 7, 7, 0, 15006 2, 5, 5, -13, 6, 0, 15007 2, 2, 6, -4, 7, 2, 15008 3, 2, 6, -5, 7, 2, 8, 0, 15009 3, 2, 5, -4, 6, -1, 7, 0, 15010 3, 2, 5, -7, 6, 4, 7, 0, 15011 2, 1, 6, -2, 8, 2, 15012 2, 1, 6, -1, 7, 0, 15013 3, 1, 6, -2, 7, 2, 8, 0, 15014 3, 2, 5, -5, 6, 2, 7, 0, 15015 3, 2, 5, -6, 6, 2, 8, 0, 15016 3, 2, 5, -6, 6, 1, 7, 0, 15017 2, 3, 7, -2, 8, 0, 15018 1, 2, 7, 1, 15019 2, 1, 6, -1, 8, 1, 15020 3, 1, 5, -2, 6, 1, 7, 0, 15021 3, 1, 5, -2, 6, 2, 8, 0, 15022 2, 3, 6, -6, 7, 2, 15023 2, 6, 5, -14, 6, 0, 15024 3, 3, 6, -7, 7, 2, 8, 0, 15025 3, 2, 5, -3, 6, -3, 7, 1, 15026 2, 4, 5, -9, 6, 3, 15027 3, 2, 6, -2, 7, -2, 8, 0, 15028 2, 2, 6, -3, 7, 1, 15029 3, 2, 6, -4, 7, 2, 8, 0, 15030 2, 2, 5, -4, 6, 3, 15031 3, 2, 5, -7, 6, 3, 7, 1, 15032 3, 1, 6, 1, 7, -2, 8, 0, 15033 1, 1, 6, 5, 15034 3, 2, 5, -5, 6, 3, 7, 1, 15035 2, 2, 5, -6, 6, 3, 15036 1, 3, 7, 3, 15037 2, 4, 5, -11, 6, 3, 15038 2, 1, 5, -4, 7, 0, 15039 3, 2, 5, -5, 6, -3, 7, 1, 15040 2, 6, 5, -16, 6, 0, 15041 3, 3, 5, -7, 6, 2, 7, 0, 15042 3, 3, 6, -4, 7, -2, 8, 0, 15043 2, 3, 6, -5, 7, 1, 15044 3, 3, 6, -6, 7, 2, 8, 1, 15045 3, 3, 6, -7, 7, 4, 8, 0, 15046 3, 2, 5, -3, 6, -2, 7, 2, 15047 3, 2, 5, -8, 6, 5, 7, 0, 15048 2, 2, 6, -4, 8, 0, 15049 3, 2, 6, -1, 7, -2, 8, 1, 15050 2, 2, 6, -2, 7, 2, 15051 3, 2, 6, -3, 7, 2, 8, 0, 15052 3, 2, 5, -4, 6, 1, 7, 0, 15053 3, 2, 5, -4, 6, 2, 8, 0, 15054 3, 2, 5, -7, 6, 2, 7, 1, 15055 2, 1, 6, 1, 7, 1, 15056 2, 5, 5, -11, 6, 2, 15057 3, 1, 5, -2, 7, -2, 8, 0, 15058 2, 1, 5, -3, 7, 0, 15059 2, 3, 5, -6, 6, 3, 15060 3, 2, 6, 1, 7, -5, 8, 0, 15061 2, 2, 6, -3, 8, 1, 15062 2, 1, 5, -1, 6, 3, 15063 3, 2, 5, -7, 6, 3, 8, 0, 15064 3, 3, 5, -7, 6, 3, 7, 0, 15065 3, 2, 5, -1, 6, -7, 7, 0, 15066 2, 1, 5, -4, 6, 2, 15067 3, 1, 5, -2, 6, 3, 7, 0, 15068 2, 4, 6, -7, 7, 0, 15069 2, 3, 5, -9, 6, 0, 15070 3, 2, 5, -2, 6, -4, 7, 0, 15071 2, 3, 6, -4, 7, 2, 15072 3, 2, 5, -3, 6, -1, 7, 0, 15073 3, 2, 5, -8, 6, 4, 7, 0, 15074 2, 2, 6, -2, 8, 1, 15075 2, 2, 6, -1, 7, 0, 15076 3, 2, 6, -2, 7, 2, 8, 1, 15077 3, 2, 5, -4, 6, 2, 7, 0, 15078 3, 2, 5, -7, 6, 2, 8, 0, 15079 3, 2, 5, -7, 6, 1, 7, 0, 15080 2, 1, 6, 2, 7, 0, 15081 2, 2, 6, -1, 8, 0, 15082 2, 4, 6, -6, 7, 1, 15083 2, 6, 5, -13, 6, 0, 15084 3, 2, 5, -2, 6, -3, 7, 1, 15085 2, 4, 5, -8, 6, 2, 15086 3, 3, 6, -2, 7, -2, 8, 0, 15087 2, 3, 6, -3, 7, 0, 15088 3, 3, 6, -4, 7, 2, 8, 0, 15089 2, 2, 5, -3, 6, 3, 15090 3, 2, 5, -8, 6, 3, 7, 1, 15091 3, 2, 6, 1, 7, -2, 8, 0, 15092 1, 2, 6, 5, 15093 3, 2, 5, -4, 6, 3, 7, 2, 15094 2, 2, 5, -7, 6, 3, 15095 3, 1, 6, 4, 7, -2, 8, 0, 15096 2, 1, 6, 3, 7, 1, 15097 3, 1, 6, 2, 7, 2, 8, 0, 15098 2, 4, 5, -12, 6, 2, 15099 2, 5, 6, -8, 7, 0, 15100 2, 4, 6, -5, 7, 0, 15101 3, 2, 5, -2, 6, -2, 7, 0, 15102 2, 3, 6, -2, 7, 1, 15103 3, 3, 6, -3, 7, 2, 8, 0, 15104 2, 5, 5, -10, 6, 2, 15105 3, 1, 5, 1, 6, -3, 7, 0, 15106 2, 3, 5, -5, 6, 3, 15107 2, 3, 6, -3, 8, 0, 15108 1, 1, 5, 2, 15109 2, 1, 5, -5, 6, 2, 15110 2, 5, 6, -7, 7, 0, 15111 2, 4, 6, -4, 7, 2, 15112 2, 3, 6, -2, 8, 0, 15113 2, 3, 6, -1, 7, 0, 15114 2, 5, 6, -6, 7, 0, 15115 2, 4, 5, -7, 6, 2, 15116 2, 4, 6, -3, 7, 2, 15117 2, 2, 5, -2, 6, 2, 15118 3, 2, 6, -9, 7, 3, 8, 0, 15119 1, 3, 6, 4, 15120 3, 2, 5, -3, 6, 3, 7, 1, 15121 2, 2, 5, -8, 6, 3, 15122 3, 2, 6, 4, 7, -2, 8, 0, 15123 2, 4, 5, -13, 6, 1, 15124 2, 6, 6, -8, 7, 1, 15125 2, 5, 6, -5, 7, 0, 15126 2, 4, 6, -2, 7, 0, 15127 2, 5, 5, -9, 6, 2, 15128 2, 3, 5, -4, 6, 2, 15129 2, 1, 5, 1, 6, 2, 15130 2, 6, 5, -11, 6, 0, 15131 3, 6, 6, -7, 7, 2, 8, 0, 15132 2, 4, 5, -6, 6, 2, 15133 2, 2, 5, -1, 6, 2, 15134 1, 4, 6, 3, 15135 3, 2, 5, -2, 6, 3, 7, 1, 15136 2, 2, 5, -9, 6, 1, 15137 2, 5, 5, -8, 6, 2, 15138 2, 3, 5, -3, 6, 1, 15139 2, 1, 5, 2, 6, 2, 15140 2, 6, 5, -10, 6, 1, 15141 2, 4, 5, -5, 6, 2, 15142 1, 2, 5, 1, 15143 1, 5, 6, 2, 15144 2, 5, 5, -7, 6, 1, 15145 2, 3, 5, -2, 6, 1, 15146 3, 1, 5, 2, 6, 3, 7, 0, 15147 2, 6, 5, -9, 6, 0, 15148 2, 4, 5, -4, 6, 2, 15149 2, 2, 5, 1, 6, 1, 15150 2, 7, 5, -11, 6, 0, 15151 2, 5, 5, -6, 6, 1, 15152 2, 3, 5, -1, 6, 1, 15153 2, 6, 5, -8, 6, 1, 15154 2, 4, 5, -3, 6, 0, 15155 2, 5, 5, -5, 6, 0, 15156 1, 3, 5, 0, 15157 2, 6, 5, -7, 6, 1, 15158 2, 7, 5, -9, 6, 0, 15159 2, 5, 5, -4, 6, 0, 15160 2, 6, 5, -6, 6, 0, 15161 2, 7, 5, -8, 6, 0, 15162 2, 6, 5, -5, 6, 0, 15163 2, 7, 5, -7, 6, 0, 15164 2, 8, 5, -9, 6, 0, 15165 2, 8, 5, -8, 6, 0, 15166 2, 1, 3, -1, 6, 0, 15167 -1 15168 ] 15169}; 15170 15171$ns.uranus = { 15172 maxargs: 9, 15173 max_harmonic: [0, 0, 0, 0, 5, 10, 9, 12, 0], 15174 max_power_of_t: 6, 15175 distance: 1.9218446061800002e+01, 15176 timescale: 3652500.0, 15177 trunclvl: 1.0, 15178 lon_tbl: [ 15179 21.56000, -4652.06828, 154246324.90417, 1130486.05080, 15180 330.11531, -3020.20235, 15181 -8.03769, -122.02019, 15182 212.45130, 254.23866, 25.39758, 60.08296, 15183 6949.85053, 51951.42606, -1834.66531, 44481.91144, 15184 -3267.45825, 10776.65972, -628.05388, 532.83011, 15185 -16.80583, -30.05544, 15186 1420.33767, 2007.21040, 592.32842, 1541.61732, 15187 -163.55984, 121.14134, 114.74969, -16.04944, 15188 0.06069, 0.00725, 15189 -0.16861, 0.28785, 15190 0.07399, -0.09680, 15191 0.19936, -0.41620, 15192 0.02922, 0.07398, 15193 0.17272, 0.05602, 15194 1.65461, -0.68278, -2.18745, -0.85327, 15195 0.52467, -0.30863, 15196 0.01598, 0.30017, 15197 -0.04190, -0.03288, 15198 -0.02013, 0.02257, 15199 -0.54883, -0.22701, -0.09257, -0.03921, 15200 0.02644, 0.04667,
15201 0.24773, -0.16562, 15202 44242.85814, -223163.54065, 123776.84417, -206375.74884, 15203 70472.73820, -27456.55173, 4065.74401, 13202.39154, 15204 -3260.72648, 802.50579, -153.13236, -503.81026, 15205 30.17812, -31.91893, 15206 -65.14719, 77.78417, -37.38185, 19.13337, 15207 -3.14043, -0.21147, 15208 0.27143, 0.17424, 15209 0.04458, 0.10976, 15210 -0.41841, -0.21887, -0.09194, -0.02303, 15211 0.02896, 0.10044, 15212 0.01385, 0.01723, 15213 -0.01126, -0.09318, 15214 -57.95890, 29.69059, -46.41390, 3.07177, 15215 0.42494, 2.33678, -3.09621, 0.05256, 15216 -0.02134, -0.35202, 15217 -0.44475, -0.83135, 15218 1318.18265, 25605.86848, -9168.38371, 18917.31507, 15219 -5145.74480, 2130.77612, -485.25920, -438.44867, 15220 19.97802, -33.14800, 15221 -23383.91826, -45133.19122, -18520.80729, -26549.95198, 15222 -2276.70124, -2974.01604, 603.23665, 306.87616, 15223 -87.73070, -32.49134, 15224 549975.14525, 261920.31896, 526261.09735, 362619.26839, 15225 150616.68873, 164643.90808, 9550.02662, 27381.83042, 15226 -1065.89047, 1024.20231, -66.63822, -44.75169, 15227 -92.10532, -20.26930, 15228 -313205.95341, 1462242.64616, 112982.53079, 1865690.41965, 15229 308844.30901, 639864.93227, 89716.32843, 10378.80773, 15230 4395.08428, -14565.35913, -3016.07754, -19348.64612, 15231 3838.36899, -9813.42713, 6883.58821, -6064.92588, 15232 2740.47455, -176.29547, 241.91895, 268.44181,
vendor: 4,445 bytes, lines 15233-15404
15233 -6.13397, 17.92503, 15234 -0.01377, -0.08742, 15235 387.51915, 257.03872, 152.81792, 221.56197, 15236 -22.94836, 29.56640, -2.27801, 4.72805, 15237 -6.03420, -0.36763, 15238 0.00667, 0.00443, 15239 -0.01405, 0.04658, 15240 -0.06533, -0.01966, 15241 0.10738, 0.00443, 15242 0.02889, 0.01056, 15243 0.00900, -0.02206, 15244 0.00013, 0.05281, 15245 0.03035, 0.34793, 15246 0.19460, 2.47360, 15247 0.18189, -0.83895, 0.24983, 15.32050, 15248 0.46010, 2.79643, 15249 -0.45793, 0.96707, -0.31226, 0.51911, 15250 0.04071, 0.39399, 15251 0.00038, 0.03854, 15252 0.22446, 0.13630, -0.04357, 0.03635, 15253 0.00202, -0.04502, 15254 -0.00458, -0.03884, 15255 1.32597, 3.40849, -1.67839, -0.95411, 15256 -1.00116, -0.72744, -0.22484, -0.27682, 15257 -0.18069, 0.00405, 15258 -0.01000, 0.27523, 15259 -0.07038, -0.01051, 15260 -0.09064, 0.08518, 15261 0.02083, -0.25406, 15262 0.17745, -0.00944, 15263 0.21326, 0.20454, 15264 18.84894, -7.64400, 0.62670, -11.02728, 15265 8.91329, 20.67190, 15266 0.17757, -0.15471, 15267 -0.11385, -0.46057, 15268 6.23014, -14.46025, 2.30012, -2.22677, 15269 5.16823, -1.64235, 15270 -274.58413, 833.33247, -191.26241, 269.90157, 15271 -17.25965, 9.11368, 15272 -261.65136, -18274.45858, -2553.83872, -10039.10490, 15273 -508.52567, 336.18172, 14.88587, 421.35954, 15274 162.43462, 544.92580, 15275 -0.44246, 0.23216, 15276 -0.29024, -0.13057, 15277 -1.58438, 0.34032, -0.31604, -0.01166, 15278 -0.07112, 0.05721, 15279 -0.10813, 0.01064, 15280 -0.05413, 0.06705, 15281 -0.41582, -0.47725, 0.31031, 0.08605, 15282 0.00409, 0.02373, 15283 0.08092, 0.06247, -0.01026, 0.05863, 15284 -0.00238, 0.02948, 15285 0.00117, 0.02714, 15286 0.01720, 0.18261, 15287 -0.04067, 0.88639, 15288 -0.15502, -0.96383, 15289 -0.05307, -0.17319, 15290 -0.00486, -0.02373, 15291 -0.14748, -0.11884, 0.07798, -0.00358, 15292 0.01104, 0.00805, 15293 0.15099, -0.03453, 0.01846, 0.03459, 15294 0.02197, 0.07012, 15295 -0.43677, -1.87445, 1.35202, 2.28294, 15296 -0.03592, 0.07679, 15297 0.16427, 0.03014, 0.02472, 0.05549, 15298 -0.04985, 0.05874, 15299 0.35361, 0.01144, -0.57400, 1.34898, 15300 0.00265, 0.01540, 15301 0.00951, 0.08159, 15302 -0.00435, 0.34759, 15303 -0.12413, -0.49848, 15304 -0.77075, -2.73810, 15305 -31.77702, 12.16042, -14.87605, 11.98287, 15306 12.69358, 1.31307, -8.22911, -21.47437, 15307 -0.24051, -0.38332, 15308 -0.01162, -0.03175, 15309 0.00556, 0.02454, 15310 -0.02297, -0.01654, 15311 0.00707, 0.04828, 15312 -0.00309, 0.17381, 15313 -0.00500, -0.07579, 15314 0.02008, 0.05356, 15315 0.00702, 0.01133, 15316 -0.00237, -0.00612, 15317 0.18551, 0.22799, -0.14194, -0.08593, 15318 0.00002, -0.01049, 15319 -0.17363, -0.13986, 0.00078, -0.06993, 15320 -0.00430, -0.07795, 15321 -0.03232, -4.13170, 15322 0.00311, 0.05356, 15323 -0.17324, -0.15505, -0.00590, -0.06608, 15324 0.04257, -0.04571, 15325 0.00501, 0.02141, 15326 -0.00037, 0.07845, 15327 -0.00381, -0.03417, 15328 0.01834, 0.03349, 15329 0.07994, 0.15297, 15330 -0.82299, 0.24672, 0.51764, 0.96379, 15331 0.01729, 0.02489, 15332 -0.08581, 0.13252, 15333 0.00538, 0.01995, 15334 -0.00148, -0.02261, 15335 0.00534, 0.01565, 15336 -0.07518, -0.28114, 0.22386, 0.39023, 15337 -0.00864, 0.00964, 15338 -0.01923, -0.02426, 15339 -0.00112, 0.00923, 15340 -0.00685, 0.02450, 15341 0.26733, -0.99972, -0.82005, 0.13725, 15342 0.01520, -0.00790, 15343 0.00358, 0.00751, 15344 -0.00648, -0.00605, 15345 -0.04966, -0.04633, 15346 0.06394, -0.01965, 15347 0.50185, 0.40553, -0.25809, 0.28853, 15348 0.52545, -3.41675, 15349 -0.00347, -0.11848, 15350 0.02945, -0.01061, 15351 -0.04160, -0.03519, 15352 -0.03234, -0.81852, 15353 -0.02156, -0.00841, 15354 0.00029, 0.00020, 15355 -0.02281, -0.00364, 15356 0.04738, -0.04504, 15357 -0.19161, 0.37225, 0.05765, 0.11987, 15358 0.00050, 0.02012, 15359 -0.03806, 0.39498, 15360 0.29982, 0.00886, 0.01671, 53.04042, 15361 -0.04160, -0.38856, 15362 -0.00174, -0.01773, 15363 -0.47661, -0.32010, -0.01088, -0.16231, 15364 -0.01584, -0.00144, 15365 0.06659, 0.12734, 15366 0.04884, 0.02236, 15367 0.00146, 0.06030, 15368 -0.20660, -0.03982, 0.15091, 1.24562, 15369 -0.01303, -0.22426, 15370 -0.01518, -0.03922, 15371 -0.00043, -0.00047, 15372 0.02451, 0.04437, 15373 0.02380, -0.00189, 15374 -0.00640, -0.07114, 15375 -0.00320, -0.02491, 15376 -0.00829, 0.07284, 15377 0.02846, -0.28034, 15378 -0.00268, 0.00256, 15379 -0.43420, 0.39645, -0.31053, 1.25916, 15380 -0.00371, -0.00651, 15381 -0.00096, 0.02762, 15382 -0.00067, -0.02503, 15383 -0.01517, 0.03748 15384 ], 15385 lat_tbl: [ 15386 0.00000, 107.91527, 83.39404, -124.29804, 15387 -7.73277, -3.99442, 15388 -0.08328, -1.74251, 15389 -9.05659, -22.88559, -2.30655, -4.40259, 15390 -470.94604, -3648.43408, 326.28960, -2972.91303, 15391 337.37285, -650.33570, 57.18479, -18.29130, 15392 1.13897, 2.70158, 15393 -13.64388, -71.88619, 7.36408, -43.79994, 15394 6.57463, -5.81111, -0.06451, 0.73379, 15395 0.00574, -0.01635, 15396 0.00074, -0.01496, 15397 -0.00418, 0.00647, 15398 -0.00407, 0.00548, 15399 0.00002, 0.00187, 15400 -0.00591, 0.00557, 15401 0.32568, -0.01574, 0.19347, -0.01705, 15402 0.00173, 0.02384, 15403 -0.00248, -0.00103, 15404 0.00227, 0.00146,
15405 0.00307, -0.00040, 15406 0.03886, 0.01987, 0.00546, 0.00345, 15407 0.00134, -0.00609, 15408 -0.01502, -0.01569, 15409 -10080.59325, 10806.67752, -14013.76861, 9928.38683, 15410 -6540.83480, 2084.91597, -1093.05006, -305.34266, 15411 -9.04558, -110.32310, 9.26094, -3.93195, 15412 0.25552, 0.50327, 15413 -13.12170, -4.19317, -4.50857, -3.37626, 15414 -0.26850, -0.36028, 15415 -0.00357, 0.05862, 15416 -0.00828, 0.00926, 15417 -0.01515, -0.03687, -0.00224, -0.00802, 15418 -0.00225, -0.00158, 15419 -0.00022, -0.00044, 15420 -0.00281, 0.00371, 15421 2.28259, -4.29888, 1.74622, -2.13604, 15422 0.37023, -0.37022, 0.00886, 0.07081, 15423 0.01669, 0.00056, 15424 -0.02020, 0.01586, 15425 -4255.31929, 5978.03267, -7264.48027, 1884.12585, 15426 -2353.93882, -1593.23001, 17.57205, -498.54139, 15427 33.28704, -13.79498, 15428 -38416.64883, -13774.09664, -32822.03952, -3983.42726, 15429 -7538.09822, 1906.66915, -221.24439, 512.77046, 15430 32.26101, 12.46483, 15431 142710.47871, -96584.83892, 145395.05981, -86630.96423, 15432 48202.96749, -23596.77676, 5286.16967, -1626.44031, 15433 -16.53568, 95.15428, -15.19472, 5.69207, 15434 -6.72181, 7.28683, 15435 9515.16142, -166495.49381, 5588.84271, -146260.29445, 15436 2023.55881, -30687.22422, 243.64741, 971.58076, 15437 390.73247, -236.13754, -2684.56349, 739.81087, 15438 -597.39429, 474.89313, -631.69166, 213.04947, 15439 -204.89515, -33.09139, -17.78004, -22.21866, 15440 0.61083, -1.41177, 15441 -0.00070, -0.00501, 15442 -58.24552, 25.27978, -36.39386, 0.36376, 15443 -2.21030, -6.46685, -0.58473, -0.09357, 15444 0.12829, -0.94855, 15445 0.00042, 0.00048, 15446 0.00411, 0.00101, 15447 0.00249, -0.00865, 15448 0.00223, 0.00293, 15449 0.00041, -0.00042, 15450 0.00104, -0.00086, 15451 0.00126, -0.00380, 15452 0.00906, -0.02253, 15453 0.05998, -0.10318, 15454 0.00004, -0.03225, 0.14303, -0.05273, 15455 0.32683, 0.09386, 15456 -0.17053, 0.60847, -0.06190, 0.28166, 15457 0.06411, 0.05289, 15458 0.01138, 0.00128, 15459 -0.00930, 0.00272, 0.00037, 0.00215, 15460 0.00004, 0.00050, 15461 0.00114, -0.00217, 15462 0.05358, -0.06413, -0.00124, 0.03842, 15463 0.01006, 0.22479, 0.00412, 0.04040, 15464 0.01708, 0.02164, 15465 0.02484, -0.02463, 15466 -0.00103, 0.02633, 15467 -0.01303, -0.03214, 15468 0.03613, 0.02205, 15469 -0.02677, -0.02522, 15470 -0.00293, 0.03130, 15471 -1.87255, -2.50308, -1.53715, 0.36859, 15472 -0.17829, -1.12095, 15473 -0.05652, -0.00786, 15474 -0.06992, 0.07279, 15475 -2.95896, 0.55138, -0.61498, -0.11008, 15476 -0.87790, -0.50965, 15477 119.73553, -35.18217, 44.78683, -4.22438, 15478 1.95723, 0.58033, 15479 -4077.02379, -353.39110, -2781.63273, -75.23318, 15480 -312.50478, -23.86495, 24.59887, 32.56837, 15481 120.09593, -51.00495, 15482 0.09737, 0.09111, 15483 0.04799, -0.05029, 15484 0.08351, -0.33726, 0.03158, -0.06435, 15485 -0.00523, -0.01736, 15486 0.00751, -0.01757, 15487 -0.00406, -0.01198, 15488 0.16402, -0.10986, -0.02024, 0.07205, 15489 -0.00440, -0.00072, 15490 -0.00465, 0.00310, -0.00121, -0.00121, 15491 0.00083, 0.00020, 15492 0.00140, -0.00176, 15493 0.00381, -0.00731, 15494 -0.01618, 0.01570, 15495 -0.10201, 0.05809, 15496 -0.03359, 0.01024, 15497 -0.00535, 0.00018, 15498 0.00024, 0.00509, -0.00158, -0.00466, 15499 0.00009, -0.00083, 15500 -0.00700, -0.00090, -0.00011, -0.00079, 15501 0.00133, -0.00126, 15502 0.01416, 0.05553, 0.04283, -0.06719, 15503 0.00119, 0.00291, 15504 -0.00263, 0.01282, -0.00040, 0.00188, 15505 -0.00237, 0.00973, 15506 -0.39533, 0.18773, -0.79821, -0.40168, 15507 0.00151, -0.00161, 15508 0.00123, -0.00516, 15509 -0.01432, -0.00293, 15510 -0.05477, 0.04130, 15511 -0.48837, 0.18944, 15512 -0.12552, 9.37098, 1.02045, 5.11382, 15513 0.72098, -3.70049, -5.80982, 3.30105, 15514 -0.09682, 0.09696, 15515 -0.00876, 0.00504, 15516 0.00318, 0.00245, 15517 0.00563, -0.00665, 15518 0.00108, -0.00233, 15519 -0.00117, 0.00177, 15520 -0.00343, 0.00503, 15521 0.01044, -0.00651, 15522 0.00296, -0.00162, 15523 0.00037, 0.00028, 15524 -0.00020, -0.00786, 0.00029, 0.00836, 15525 0.00004, 0.00033, 15526 -0.00309, -0.00086, -0.00157, -0.00086, 15527 -0.00058, 0.00105, 15528 -0.04557, 0.01794, 15529 -0.00122, -0.00086, 15530 0.00420, -0.00285, 0.00118, -0.00020, 15531 0.00743, -0.01217, 15532 0.00053, -0.00084, 15533 -0.00075, 0.00097, 15534 -0.00107, 0.00314, 15535 0.00576, -0.00505, 15536 0.03624, -0.02546, 15537 0.05379, 0.30081, 0.29870, -0.22106, 15538 0.00696, -0.00801, 15539 -0.03995, -0.01808, 15540 -0.00139, 0.00102, 15541 -0.00059, 0.00138, 15542 0.00019, -0.00037, 15543 0.00274, 0.00658, 0.00672, -0.01132, 15544 0.00023, 0.00051, 15545 0.00031, 0.00090, 15546 -0.00017, -0.00001, 15547 0.00085, 0.00004, 15548 0.02221, -0.01977, 0.07498, 0.03025, 15549 -0.00082, -0.00022, 15550 -0.00073, -0.00028, 15551 -0.00253, 0.00259, 15552 -0.01329, 0.01805, 15553 0.00096, 0.00833, 15554 -0.11836, 0.04277, -0.10820, -0.03018, 15555 0.34504, 0.09834, 15556 -0.00538, -0.00231, 15557 0.00036, 0.00042, 15558 -0.00023, 0.00260, 15559 -0.01137, 0.00036, 15560 0.01081, -0.03271, 15561 -0.00029, -0.00028, 15562 0.00018, -0.00003, 15563 0.00009, 0.00012, 15564 0.00127, 0.00343, 0.00100, -0.00064, 15565 0.00014, 0.00004, 15566 0.00150, 0.00069, 15567 -0.01484, 0.00135, 0.03930, 0.01405, 15568 0.00064, 0.00029, 15569 0.00009, 0.00009, 15570 0.00054, -0.00048, 0.00019, 0.00005, 15571 -0.00009, 0.00018, 15572 0.00192, -0.00333, 15573 0.01824, 0.01071, 15574 0.00107, -0.00341,
vendor: 4,182 bytes, lines 15575-15718
15575 0.25530, -0.18414, -0.84151, -0.31475, 15576 -0.00400, -0.00010, 15577 -0.00174, 0.00019, 15578 0.00006, -0.00079, 15579 0.00066, -0.00070, 15580 0.00599, 0.00330, 15581 -0.00160, -0.00013, 15582 -0.00067, -0.00006, 15583 -0.00176, -0.00111, 15584 0.00652, 0.00368, 15585 0.00004, 0.00001, 15586 -0.00081, 0.00089, 0.00366, 0.00139, 15587 0.00002, 0.00001, 15588 -0.01870, -0.00998, 15589 -0.00020, -0.00007, 15590 0.00005, 0.00003 15591 ], 15592 rad_tbl: [ 15593 0.00000, -53.23277, -44.70609, -62.54432, 15594 -19.15218, 0.10867, 15595 -1.91911, 1.47517, 15596 16.51994, 5.00458, 3.88980, 1.55740, 15597 3598.17109, 1831.07574, 2633.34851, 1775.69482, 15598 497.10486, 488.77343, 6.03892, 31.08365, 15599 -2.06585, -1.12599, 15600 230.37762, -113.95449, 162.40244, -46.57185, 15601 6.70207, 17.27241, -0.66092, -14.42065, 15602 -0.01044, -0.00287, 15603 -0.03894, -0.01663, 15604 0.01629, 0.00496, 15605 0.08411, 0.02855, 15606 0.01795, -0.00695, 15607 0.02426, -0.03921, 15608 -0.24495, -0.77369, -0.31404, 0.38668, 15609 -0.05682, -0.17197, 15610 0.06145, -0.00510, 15611 0.00606, -0.00886, 15612 -0.00370, -0.00588, 15613 0.02173, -0.11909, 0.00302, -0.01796, 15614 -0.01067, 0.00990, 15615 0.05283, 0.06517, 15616 59710.89716, -491.12783, 58672.38609, 19564.41947, 15617 10597.99050, 14313.02561, -2585.52040, 766.78396, 15618 -138.39893, -802.43403, 131.35006, -31.97561, 15619 7.95978, 8.16075, 15620 28.72669, 31.72473, 6.45792, 16.50701, 15621 0.01066, 1.29718, 15622 0.11565, -0.13240, 15623 0.05110, -0.01543, 15624 -0.09994, 0.18864, -0.01330, 0.04148, 15625 0.03510, -0.00366, 15626 0.00604, -0.00604, 15627 0.03752, -0.00256, 15628 -7.00488, -21.63748, 1.43064, -17.10914, 15629 -0.62987, 0.48719, 0.00697, -1.22665, 15630 -0.14435, -0.00550, 15631 0.32008, -0.19855, 15632 -13976.73731, -3559.49432, -7709.90803, -9310.80334, 15633 749.31835, -3491.50696, 540.94979, -84.57550, 15634 16.96663, 35.53930, 15635 37214.64771, -36361.15845, 21093.74492, -31855.33076, 15636 1500.84653, -7031.97901, -453.40865, -18.36692, 15637 -2.07726, -17.92336, 15638 -56348.30507, 378512.71483, -111444.43340, 370543.95160, 15639 -61893.70301, 112131.05507, -11977.44617, 9156.15245, 15640 -567.61838, -495.25760, 16.96202, -44.06279, 15641 4.24760, -48.83674, 15642 -643705.49516, -131013.09649, -838580.02217, 67627.11556, 15643 -288441.70339, 150227.25291, -2500.57537, 42676.19888, 15644 7084.60505, 2043.65642, 9639.56835, -1502.03390, 15645 -4126.00409, -828.73564, -2801.35204, -2293.77751, 15646 -209.23365, -1045.31476, 95.57334, -102.74623, 15647 7.19216, 1.89593, 15648 -0.05661, 0.02166, 15649 120.38332, -141.16507, 98.31386, -40.23448, 15650 10.84269, 17.57713, 1.69239, 1.45065, 15651 -0.19626, 2.76108, 15652 -0.00270, 0.00360, 15653 -0.02333, -0.00710, 15654 -0.01035, 0.02950, 15655 0.00737, -0.06311, 15656 -0.00613, 0.01407, 15657 0.01377, 0.00879, 15658 -0.03287, 0.00012, 15659 -0.21667, 0.01793, 15660 -1.54865, 0.10953, 15661 0.54543, 0.12102, -9.48047, 0.11477, 15662 -1.34966, 0.23199, 15663 -1.50834, 0.26567, -0.64503, 0.10742, 15664 -0.21452, 0.04428, 15665 -0.01920, -0.00906, 15666 -0.09378, 0.12773, -0.02787, -0.03090, 15667 0.03111, 0.00140, 15668 0.03771, -0.01269, 15669 -1.94794, 1.22823, 0.64183, -1.11467, 15670 -0.19301, -0.27357, 0.05710, -0.08115, 15671 -0.07318, 0.00806, 15672 0.14286, 0.20297, 15673 0.14920, -0.07897, 15674 0.09682, 0.02379, 15675 -0.13928, 0.01679, 15676 -0.00774, 0.10060, 15677 0.24433, 0.16760, 15678 -2.88905, -1.61439, 2.83052, -3.41031, 15679 36.37048, 3.37867, 15680 0.29321, 0.09687, 15681 0.29324, -0.14651, 15682 8.11116, 1.79211, 1.36421, 0.88111, 15683 1.21683, 2.37950, 15684 -357.76211, -87.84636, -117.55745, -67.18338, 15685 -5.26029, -6.27559, 15686 7509.94562, 3.68942, 4223.62097, -1041.13557, 15687 -74.64464, -251.41613, -166.22180, -1.68190, 15688 -214.55340, 62.79593, 15689 -0.08250, -0.15936, 15690 -0.03830, 0.10857, 15691 0.21368, 0.50812, 0.00869, 0.09832, 15692 0.02158, 0.02045, 15693 0.01407, 0.03591, 15694 0.03460, 0.01171, 15695 -0.16400, 0.09751, 0.03521, -0.12858, 15696 0.00700, -0.00524, 15697 0.01698, -0.04796, 0.04006, 0.00565, 15698 -0.02783, -0.00205, 15699 -0.02296, 0.00153, 15700 -0.16139, 0.01514, 15701 -0.78136, -0.01546, 15702 0.40374, -0.06014, 15703 0.06212, -0.01828, 15704 0.00831, -0.00173, 15705 0.06857, -0.11677, 0.00028, 0.05765, 15706 -0.00796, 0.00691, 15707 0.03764, 0.14902, -0.02653, 0.02122, 15708 -0.05503, 0.01549, 15709 1.56630, -0.35551, -1.87960, 1.14303, 15710 -0.06063, -0.03425, 15711 0.03367, -0.11969, 0.04485, -0.01651, 15712 0.04647, -0.02097, 15713 0.22841, 0.47362, 0.99226, -0.60660, 15714 -0.01249, 0.00134, 15715 -0.07435, 0.00722, 15716 -0.31796, -0.00015, 15717 0.20533, -0.04398, 15718 0.93944, -0.26710,
15719 -5.60051, -9.32918, -5.13538, -4.05130, 15720 -0.56529, 4.34112, 7.18308, -2.66103, 15721 0.13241, -0.07999, 15722 0.01046, -0.00535, 15723 -0.04037, -0.00455, 15724 -0.00510, 0.00731, 15725 -0.04576, 0.00513, 15726 -0.15846, -0.00236, 15727 0.04628, -0.00463, 15728 -0.01585, 0.00585, 15729 -0.00213, 0.00283, 15730 0.00778, -0.00198, 15731 -0.17803, 0.18321, 0.07702, -0.12325, 15732 0.01091, 0.00349, 15733 0.14211, -0.21830, 0.07289, -0.00994, 15734 0.07090, -0.00079, 15735 4.18441, -0.07413, 15736 -0.06247, -0.00011, 15737 -0.15453, 0.14499, -0.06557, -0.00098, 15738 0.00290, 0.02921, 15739 -0.01923, 0.00457, 15740 -0.07538, -0.00120, 15741 0.02263, -0.00037, 15742 -0.01061, 0.00591, 15743 -0.04725, 0.02364, 15744 -0.07460, -0.24108, -0.28310, 0.14643, 15745 -0.00700, 0.00427, 15746 0.22963, 0.03713, 15747 -0.02062, 0.00478, 15748 0.01434, 0.00095, 15749 -0.01425, 0.00376, 15750 0.29611, -0.08038, -0.37811, 0.21703, 15751 -0.00723, -0.00924, 15752 -0.02736, 0.01814, 15753 0.00934, 0.00731, 15754 0.00613, 0.00686, 15755 -0.91503, -0.32009, -0.15505, 0.79589, 15756 -0.00555, -0.01536, 15757 -0.00698, 0.00480, 15758 0.00373, -0.00046, 15759 0.00715, -0.00470, 15760 -0.01970, -0.05238, 15761 0.60649, -0.32669, 0.17790, 0.33383, 15762 -2.74922, -0.25827, 15763 -0.07862, 0.00406, 15764 -0.00948, -0.02117, 15765 0.03127, -0.04199, 15766 0.89670, -0.02413, 15767 0.01954, 0.03990, 15768 0.00063, -0.00071, 15769 -0.00226, 0.02009, 15770 -0.04407, -0.05069, 15771 0.38230, 0.16101, 0.11893, -0.06125, 15772 0.02051, -0.00046, 15773 0.39211, 0.03679, 15774 0.01666, -0.31336, 53.28735, -0.01791, 15775 -0.39414, 0.04181, 15776 -0.01885, 0.00165, 15777 0.31349, -0.47359, 0.16133, -0.01023, 15778 0.00007, 0.01758, 15779 -0.13351, 0.07249, 15780 0.00977, 0.05445, 15781 0.11650, -0.00191, 15782 -0.09824, 0.40106, 2.41155, -0.30655, 15783 0.24975, -0.01248, 15784 -0.03688, 0.01097, 15785 0.00038, -0.00051, 15786 -0.04736, 0.02610, 15787 0.00968, 0.02634, 15788 0.07918, -0.00606, 15789 0.02735, -0.00320, 15790 -0.07544, -0.00468, 15791 0.19996, -0.01964, 15792 0.00201, 0.00267, 15793 0.39562, 0.43289, 1.24743, 0.31084, 15794 -0.00666, 0.00377, 15795 0.05668, 0.00148, 15796 0.03220, -0.00026, 15797 0.03717, 0.01509 15798 ], 15799 arg_tbl: [ 15800 0, 3, 15801 2, 1, 7, -2, 8, 0, 15802 2, 2, 7, -4, 8, 0, 15803 2, 3, 7, -6, 8, 1, 15804 2, 2, 5, -5, 6, 4, 15805 2, 1, 6, -3, 7, 3, 15806 3, 1, 6, -1, 7, -4, 8, 0, 15807 3, 2, 5, -7, 6, 6, 7, 0, 15808 3, 2, 6, -6, 7, 1, 8, 0, 15809 3, 2, 6, -7, 7, 3, 8, 0, 15810 3, 2, 6, -8, 7, 4, 8, 0, 15811 3, 2, 6, -7, 7, 2, 8, 0, 15812 2, 2, 6, -6, 7, 2, 15813 3, 1, 5, -4, 6, 4, 7, 0, 15814 3, 1, 6, -2, 7, -1, 8, 0, 15815 3, 1, 6, -3, 7, 1, 8, 0, 15816 3, 1, 6, -4, 7, 3, 8, 1, 15817 2, 5, 7, -9, 8, 0, 15818 2, 4, 7, -7, 8, 0, 15819 2, 2, 7, -3, 8, 6, 15820 2, 1, 7, -3, 8, 2, 15821 2, 2, 7, -5, 8, 0, 15822 2, 3, 7, -7, 8, 0, 15823 3, 1, 6, -6, 7, 5, 8, 1, 15824 3, 1, 6, -5, 7, 3, 8, 0, 15825 3, 2, 5, -8, 6, 8, 7, 0, 15826 3, 1, 5, -4, 6, 5, 7, 0, 15827 2, 2, 6, -5, 7, 3, 15828 3, 1, 6, 1, 7, -9, 8, 0, 15829 3, 2, 5, -4, 6, -2, 7, 0, 15830 2, 1, 6, -4, 8, 4, 15831 2, 1, 6, -2, 7, 4, 15832 2, 5, 7, -8, 8, 5, 15833 2, 3, 7, -4, 8, 0, 15834 1, 1, 7, 5, 15835 2, 2, 7, -6, 8, 4, 15836 3, 1, 6, -6, 7, 4, 8, 0, 15837 2, 1, 6, -4, 7, 4, 15838 3, 2, 6, -5, 7, 1, 8, 0, 15839 3, 2, 6, -6, 7, 3, 8, 0, 15840 2, 2, 6, -7, 7, 0, 15841 3, 1, 5, -4, 6, 3, 7, 0, 15842 3, 1, 6, -1, 7, -1, 8, 0, 15843 2, 1, 5, -2, 6, 0, 15844 2, 6, 7, -9, 8, 0, 15845 2, 5, 7, -7, 8, 0, 15846 2, 4, 7, -5, 8, 0, 15847 2, 3, 7, -3, 8, 1, 15848 2, 2, 7, -1, 8, 0, 15849 2, 1, 7, 1, 8, 2, 15850 1, 3, 8, 0, 15851 2, 3, 6, -7, 7, 1, 15852 3, 2, 5, -3, 6, -4, 7, 0, 15853 3, 2, 6, -3, 7, -2, 8, 0, 15854 2, 2, 6, -4, 7, 1, 15855 3, 2, 6, -5, 7, 2, 8, 1, 15856 3, 5, 5, -9, 6, -8, 7, 0, 15857 3, 2, 5, -4, 6, -1, 7, 0, 15858 3, 1, 6, 3, 7, -8, 8, 0, 15859 3, 2, 6, -8, 7, 1, 8, 0, 15860 3, 2, 5, -7, 6, 4, 7, 0, 15861 3, 4, 5, -10, 6, 2, 7, 0, 15862 2, 1, 6, -2, 8, 0, 15863 2, 1, 6, -1, 7, 2, 15864 2, 8, 7, -12, 8, 0, 15865 2, 7, 7, -10, 8, 0, 15866 2, 6, 7, -8, 8, 1, 15867 2, 5, 7, -6, 8, 0, 15868 2, 4, 7, -4, 8, 2, 15869 1, 2, 7, 4, 15870 1, 4, 8, 0, 15871 2, 1, 7, -6, 8, 0, 15872 2, 2, 7, -8, 8, 1, 15873 2, 3, 7, -10, 8, 0, 15874 2, 4, 7, -12, 8, 0, 15875 3, 1, 6, -6, 7, 2, 8, 0, 15876 2, 1, 6, -5, 7, 1, 15877 3, 1, 6, -4, 7, -2, 8, 0, 15878 3, 1, 5, -4, 6, 2, 7, 1, 15879 3, 1, 5, -2, 6, 1, 7, 0, 15880 2, 7, 7, -9, 8, 0, 15881 2, 6, 7, -7, 8, 0, 15882 2, 5, 7, -5, 8, 0, 15883 2, 4, 7, -3, 8, 0, 15884 2, 3, 7, -1, 8, 0, 15885 2, 2, 7, 1, 8, 0, 15886 2, 3, 6, -6, 7, 1, 15887 3, 3, 6, -7, 7, 2, 8, 0, 15888 3, 2, 5, -3, 6, -3, 7, 1, 15889 3, 2, 6, -2, 7, -2, 8, 0, 15890 2, 2, 6, -3, 7, 1, 15891 3, 2, 6, -4, 7, 2, 8, 0, 15892 3, 2, 5, -7, 6, 3, 7, 1, 15893 3, 1, 6, 1, 7, -2, 8, 0, 15894 1, 1, 6, 1, 15895 2, 8, 7, -10, 8, 0, 15896 2, 7, 7, -8, 8, 0, 15897 2, 6, 7, -6, 8, 0, 15898 2, 5, 7, -4, 8, 0, 15899 2, 4, 7, -2, 8, 0, 15900 1, 3, 7, 3, 15901 2, 2, 7, 2, 8, 0, 15902 2, 1, 7, 4, 8, 0, 15903 2, 1, 5, -4, 7, 0, 15904 2, 1, 6, -6, 7, 0, 15905 2, 8, 7, -9, 8, 0, 15906 2, 7, 7, -7, 8, 0, 15907 2, 6, 7, -5, 8, 0, 15908 2, 5, 7, -3, 8, 0, 15909 2, 4, 7, -1, 8, 0, 15910 3, 3, 6, -4, 7, -2, 8, 0, 15911 2, 3, 6, -5, 7, 1, 15912 3, 3, 6, -6, 7, 2, 8, 0, 15913 3, 2, 5, -3, 6, -2, 7, 1, 15914 3, 2, 6, -1, 7, -2, 8, 0, 15915 2, 2, 6, -2, 7, 0, 15916 3, 2, 6, -3, 7, 2, 8, 0, 15917 3, 2, 5, -7, 6, 2, 7, 1, 15918 2, 1, 6, 1, 7, 0, 15919 2, 9, 7, -10, 8, 0, 15920 2, 8, 7, -8, 8, 0, 15921 2, 7, 7, -6, 8, 0, 15922 2, 6, 7, -4, 8, 0, 15923 2, 5, 7, -2, 8, 0, 15924 1, 4, 7, 1, 15925 2, 3, 7, 2, 8, 0, 15926 2, 1, 5, -3, 7, 0, 15927 2, 9, 7, -9, 8, 0, 15928 2, 8, 7, -7, 8, 0, 15929 3, 3, 6, -3, 7, -2, 8, 0, 15930 2, 3, 6, -4, 7, 1, 15931 3, 3, 6, -5, 7, 2, 8, 0, 15932 3, 2, 5, -3, 6, -1, 7, 0, 15933 3, 2, 5, -8, 6, 4, 7, 0, 15934 2, 2, 6, -2, 8, 0, 15935 2, 2, 6, -1, 7, 1, 15936 3, 2, 6, -2, 7, 2, 8, 0, 15937 3, 2, 5, -7, 6, 1, 7, 0, 15938 2, 6, 7, -2, 8, 0, 15939 1, 5, 7, 0, 15940 3, 3, 6, -4, 7, 1, 8, 0, 15941 2, 1, 5, -2, 7, 2, 15942 3, 1, 5, -3, 7, 2, 8, 0, 15943 3, 1, 5, -1, 6, 1, 7, 0, 15944 2, 4, 6, -6, 7, 0, 15945 2, 3, 6, -3, 7, 0, 15946 1, 2, 6, 0, 15947 3, 2, 5, -4, 6, 3, 7, 0, 15948 3, 1, 5, 1, 6, -4, 7, 0, 15949 3, 3, 5, -5, 6, -1, 7, 0, 15950 1, 6, 7, 1, 15951 3, 1, 5, 1, 7, -4, 8, 0, 15952 2, 1, 5, -2, 8, 0, 15953 2, 1, 5, -1, 7, 1, 15954 3, 1, 5, -2, 7, 2, 8, 0, 15955 3, 1, 5, -3, 7, 4, 8, 0, 15956 3, 1, 5, -5, 6, 1, 7, 1, 15957 3, 1, 5, -1, 6, 2, 7, 0, 15958 2, 4, 6, -5, 7, 0, 15959 2, 3, 6, -2, 7, 0, 15960 3, 1, 5, 1, 7, -2, 8, 0, 15961 1, 1, 5, 1, 15962 2, 4, 6, -4, 7, 0, 15963 2, 3, 6, -1, 7, 0, 15964 3, 3, 5, -5, 6, 1, 7, 0, 15965 2, 5, 6, -6, 7, 0, 15966 2, 4, 6, -3, 7, 0, 15967 2, 5, 6, -5, 7, 0, 15968 2, 6, 6, -6, 7, 0, 15969 2, 2, 5, -3, 7, 0, 15970 2, 2, 5, -2, 7, 0, 15971 2, 2, 5, -2, 8, 0, 15972 2, 2, 5, -1, 7, 1, 15973 3, 2, 5, -2, 7, 2, 8, 0, 15974 1, 2, 5, 0, 15975 2, 3, 5, -3, 7, 0, 15976 2, 3, 5, -1, 7, 0, 15977 -1 15978 ] 15979}; 15980 15981$ns.neptune = { 15982 maxargs: 9, 15983 max_harmonic: [0, 0, 0, 0, 3, 8, 7, 9, 0], 15984 max_power_of_t: 3, 15985 distance: 3.0110386869399999e+01, 15986 timescale: 3652500.0, 15987 trunclvl: 1.0, 15988 lon_tbl: [ 15989 -1376.86480, 730.38970, 78655362.50948, 1095691.38676, 15990 -196.19023, 2086.77782, 15991 -122.04650, -276.81592, 15992 184.56164, -148.08924, 15993 3.39142, -14.75027, 15994 -9.22741, 0.87688, 15995 -0.13903, -0.44707, 15996 -0.17668, -0.36299, 15997 -0.12682, -0.26636, 15998 -0.51426, -0.24667, 15999 -0.04965, -0.03177, 16000 0.05050, -0.00249, 16001 -0.80362, -0.07363, -0.15436, -0.07180, 16002 2.45034, -3.50145, 0.86698, 0.09777, 16003 7.72386, 7.16565, 2.10273, 8.86682, 16004 2.44705, 77.90155, 16005 0.28323, -11.87157, -13.64083, 252.70556, 16006 -4.94214, -6.17988, -305.60504, 51.23962, 16007 -2759.81719, 2476.20912, 16008 12.65762, 13.31543, 16009 0.36996, -0.19077, 0.67363, 0.36737, 16010 0.02312, 0.02216, 16011 0.09953, 0.04777, 16012 -0.00572, -0.02772, 16013 -0.02478, -0.21920, 16014 -0.15289, -1.50784, 16015 -0.17822, 0.34638, -0.70473, -8.61559, 16016 -2.65756, 1.25632, 16017 -0.31453, -1.40348, -4.02571, -1.50467, 16018 -69.62308, 3.21315, 16019 0.69973, 0.08832, 16020 -0.00551, -0.04964, 16021 -0.02264, -0.34881, 16022 0.00762, -1.85072, 16023 0.01407, -0.30457, 16024 -0.09851, -0.02372, 16025 -0.07729, -0.11602, -0.75995, -0.71884, 16026 -0.08585, -0.30406, 0.45818, 0.14921, 16027 -0.01033, -0.11776, 16028 0.00640, -0.57717, 16029 -0.01014, -0.01357, -0.00544, -0.02168, 16030 0.40468, 0.28195, 0.00668, 0.14448, 16031 0.01245, -0.08956, 16032 -0.26283, 0.01864, -0.00641, 18.55347, 16033 0.01460, 0.08284, 16034 -0.04785, 0.11360, 16035 -0.33861, 0.01327, -0.06392, -0.18758, 16036 0.05449, -0.05583, 16037 -0.00435, -0.09869, 16038 -0.00286, -0.04613, 16039 -0.00395, -0.14564, 16040 -0.01385, -0.01762, 16041 0.21160, -0.61631, -0.52100, -0.04583, 16042 0.32812, 0.32138, 16043 0.04749, -0.05724, 16044 0.11239, 0.13216, 16045 -0.01203, 0.40084, -0.05207, 34.07903,
vendor: 5,023 bytes, lines 16046-16248
16046 -0.21457, -0.34938, -0.04594, 0.11198, 16047 -0.30662, -0.20776, -0.01076, -0.10959, 16048 0.10891, -0.10304, 16049 -0.28141, 0.25061, -0.20293, 0.79930 16050 ], 16051 lat_tbl: [ 16052 -391.05987, -243.95958, -23.83558, 58.13857, 16053 5.04859, -3.93183, 16054 -14.21914, 7.14247, 16055 -12.09415, -9.70132, 16056 1.04307, 0.47323, 16057 -0.07504, 0.70575, 16058 -0.05239, 0.00482, 16059 -0.02916, 0.00877, 16060 -0.00528, -0.00286, 16061 0.00028, -0.00228, 16062 -0.00056, -0.00149, 16063 0.00049, 0.00047, 16064 -0.18765, -0.59571, 0.03742, -0.14653, 16065 2.30535, 0.65092, 0.42216, 0.24521, 16066 -2.86932, 2.37808, -0.58456, 0.27446, 16067 -1.12264, -2.04413, 16068 -11.71318, -1.41554, -23.30671, -24.70499, 16069 8.82738, 85.64657, -90.02223, 22.42604, 16070 -4749.41359, -4244.46820, 16071 25.20811, -18.51469, 16072 -1.19892, -0.61067, 0.67734, -1.08912, 16073 -0.01607, 0.00626, 16074 -0.00008, 0.00126, 16075 -0.00330, -0.00078, 16076 -0.01503, 0.00758, 16077 -0.13208, -0.00218, 16078 -0.04522, 0.20297, -0.94708, -0.77897, 16079 -2.74075, -3.01122, 16080 -1.03394, 0.00886, 1.55485, -4.68416, 16081 -0.13244, -57.26983, 16082 0.05589, -0.55396, 16083 -0.00130, 0.00526, 16084 -0.01028, 0.02086, 16085 0.01334, 0.00699, 16086 0.08565, 0.02020, 16087 0.01001, -0.08402, 16088 0.08558, -0.04488, 0.57268, -0.59574, 16089 0.00807, 0.00492, 0.21993, -0.18949, 16090 -0.00396, 0.00735, 16091 0.00487, 0.00230, 16092 0.00699, -0.00473, 0.01406, -0.00139, 16093 0.00738, 0.00099, 0.00161, 0.00019, 16094 -0.00067, -0.00047, 16095 0.00572, -0.00486, -0.00842, 0.00322, 16096 0.00018, -0.00109, 16097 -0.00272, 0.00112, 16098 -0.00041, 0.00763, 0.00211, 0.00118, 16099 -0.46842, -0.17877, 16100 0.00209, -0.00179, 16101 0.00090, -0.00075, 16102 0.00618, 0.00610, 16103 0.00015, 0.00032, 16104 -0.00123, 0.00026, 0.00332, 0.00135, 16105 0.39130, -0.34727, 16106 0.00015, -0.00027, 16107 -0.00026, -0.00052, 16108 0.00162, 0.00913, -0.00697, 0.00308, 16109 -0.00333, -0.00258, -0.00117, 0.00035, 16110 0.00766, 0.00194, 0.00135, 0.00067, 16111 -0.41171, 0.24241, 16112 0.00106, 0.00025, 0.00013, -0.00019 16113 ], 16114 rad_tbl: [ 16115 -767.68936, -460.59576, -52.41861, -273.85897, 16116 59.52489, 1.85006, 16117 -39.64750, 23.63348, 16118 -34.60399, -23.41681, 16119 2.74937, 1.55389, 16120 0.20343, 2.15502, 16121 -0.12846, 0.07199, 16122 -0.07555, 0.05582, 16123 -0.04354, 0.01546, 16124 -0.03931, 0.07623, 16125 -0.00491, 0.00661, 16126 0.00322, 0.01540, 16127 -0.06741, -0.35343, 0.00469, -0.08073, 16128 1.94975, 0.66376, 0.06137, 0.31426, 16129 -2.93841, 4.27732, -4.00342, 1.11157, 16130 -36.87785, 1.24960, 16131 4.69573, 2.15164, -114.24899, -6.69320, 16132 12.99919, -9.47795, -21.82350, -156.88624, 16133 -1237.19769, -1379.88864, 16134 6.54369, -6.20873, 16135 -0.14163, -0.32700, 0.17937, -0.34864, 16136 0.01393, -0.01286, 16137 0.02876, -0.05767, 16138 0.02210, -0.00128, 16139 0.16495, -0.01242, 16140 1.15915, -0.10365, 16141 -0.33224, -0.10045, 6.83719, -0.27499, 16142 -0.31284, -0.94332, 16143 1.63704, -0.33318, 1.48134, -1.32257, 16144 0.96498, -8.31047, 16145 -0.00402, -0.09441, 16146 0.04292, -0.00444, 16147 0.30325, -0.02012, 16148 1.67999, 0.00353, 16149 0.00467, 0.03556, 16150 0.01393, -0.01229, 16151 0.01188, -0.01390, 0.04615, -0.03509, 16152 0.32423, -0.12491, 0.13682, 0.15131, 16153 0.11221, -0.01201, 16154 0.57239, 0.00093, 16155 0.02068, -0.01162, 0.00647, -0.00325, 16156 0.27010, -0.42993, 0.14314, -0.01353, 16157 -0.08757, -0.00699, 16158 0.00199, 0.31873, 18.80329, 0.01681, 16159 0.08009, -0.00998, 16160 -0.14421, -0.15912, 16161 0.37208, 0.49744, 0.35144, 0.06582, 16162 -0.11501, -0.14037, 16163 0.10352, -0.00768, 16164 0.04826, -0.00423, 16165 0.19850, 0.00310, 16166 -0.01780, 0.01350, 16167 -0.61106, -0.20525, -0.04388, 0.52143, 16168 0.19300, -0.21446, 16169 -0.05749, -0.04776, 16170 0.12877, -0.10908, 16171 0.39821, 0.00627, 34.03956, 0.04392, 16172 -0.34455, 0.22015, 0.11743, 0.04638, 16173 0.20723, -0.30447, 0.10976, -0.01008, 16174 -0.20778, -0.21822, 16175 0.24939, 0.27976, 0.79790, 0.20200 16176 ], 16177 arg_tbl: [ 16178 0, 3, 16179 2, 1, 7, -2, 8, 0, 16180 3, 3, 5, -8, 6, 3, 8, 0, 16181 2, 2, 7, -4, 8, 0, 16182 3, 1, 5, -3, 6, 3, 8, 0, 16183 2, 3, 7, -6, 8, 0, 16184 2, 4, 7, -8, 8, 0, 16185 3, 1, 6, -6, 7, 6, 8, 0, 16186 3, 1, 6, -5, 7, 4, 8, 0, 16187 3, 1, 6, -4, 7, 2, 8, 0, 16188 2, 1, 6, -3, 7, 0, 16189 3, 1, 6, -2, 7, -1, 8, 0, 16190 2, 5, 7, -9, 8, 1, 16191 2, 4, 7, -7, 8, 1, 16192 2, 3, 7, -5, 8, 1, 16193 2, 2, 7, -3, 8, 0, 16194 2, 1, 7, -1, 8, 1, 16195 1, 1, 8, 2, 16196 2, 1, 7, -3, 8, 0, 16197 2, 2, 7, -5, 8, 1, 16198 3, 1, 6, -6, 7, 5, 8, 0, 16199 3, 1, 6, -5, 7, 3, 8, 0, 16200 2, 5, 7, -8, 8, 0, 16201 2, 4, 7, -6, 8, 0, 16202 2, 3, 7, -4, 8, 0, 16203 2, 2, 7, -2, 8, 1, 16204 1, 1, 7, 0, 16205 1, 2, 8, 2, 16206 2, 1, 7, -4, 8, 0, 16207 2, 5, 7, -7, 8, 0, 16208 2, 4, 7, -5, 8, 0, 16209 2, 3, 7, -3, 8, 0, 16210 2, 2, 7, -1, 8, 0, 16211 2, 1, 7, 1, 8, 0, 16212 1, 3, 8, 1, 16213 2, 1, 6, -2, 8, 1, 16214 2, 5, 7, -6, 8, 0, 16215 2, 4, 7, -4, 8, 0, 16216 1, 4, 8, 1, 16217 3, 2, 5, -4, 6, -1, 8, 1, 16218 3, 1, 6, 1, 7, -3, 8, 0, 16219 2, 1, 6, -1, 8, 1, 16220 3, 1, 6, -1, 7, 1, 8, 0, 16221 3, 2, 5, -6, 6, 1, 8, 0, 16222 2, 5, 7, -5, 8, 1, 16223 1, 1, 6, 0, 16224 2, 6, 7, -6, 8, 0, 16225 2, 7, 7, -7, 8, 0, 16226 2, 2, 6, -2, 8, 0, 16227 3, 2, 5, -3, 6, -1, 8, 0, 16228 2, 2, 6, -1, 8, 1, 16229 2, 1, 5, -2, 8, 0, 16230 3, 3, 5, -5, 6, -1, 8, 0, 16231 2, 4, 7, 5, 8, 0, 16232 2, 1, 5, -1, 8, 1, 16233 3, 1, 5, -1, 7, 1, 8, 1, 16234 3, 1, 5, -5, 6, 1, 8, 1, 16235 1, 1, 5, 0, 16236 2, 2, 5, -1, 8, 1, 16237 -1 16238 ] 16239}; 16240 16241$ns.pluto = { 16242 maxargs: 9, 16243 max_harmonic: [0, 0, 0, 0, 2, 2, 9, 13, 13], 16244 max_power_of_t: 7, 16245 distance: 3.9539999999999999e+01, 16246 timescale: 3652500.0, 16247 trunclvl: 1.0, 16248 lon_tbl: [
16249 74986469.33577, 100898343.73690, 48199471.54076, 9520076.03177, 16250 690431.67340, -427355.12716, 52266623.77862, 860190.70714, 16251 -21.08511, -143.39295, 16252 -126.71124, 48.18528, 16253 -88.74508, 40.50942, 16254 51.29367, -10.24075, 16255 0.63094, 32.03258, 16256 -410.00781, 399.90234, -116.54319, 51.50329, 16257 116.84565, 687.76781, -13.38605, 182.70107, 16258 -1668.12226, -5162.22648, -585.68297, -2247.56041, 16259 -20.95875, -193.13703, 16260 -57.12097, -10.35058, 16261 -1778.01442, -6463.73779, -657.86093, -2713.44436, 16262 -41.32560, -211.82042, 16263 -107.16513, -36.58628, 16264 97929588.08231, -33582903.63417, 143382679.31770, -47411568.92345, 16265 79428827.73581, -24658834.87499, 19861233.17488, -5755585.62084, 16266 1995060.95931, -693507.08147, 135176.31467, 109360.38672, 16267 -8188.00598, -1680.95072, 71020.19608, -70785.39049, 16268 -24.56034, -20.34919, 16269 1618.45976, -2079.48538, 635.62954, -850.87068, 16270 44.95257, -64.04459, 16271 -18.61475, -1.77734, 16272 9.38079, 5.19958, 16273 17422.08783, -4872.53852, 10985.76629, -1137.68569, 16274 1771.28893, 288.93745, 40.22664, 37.90027, 16275 6.81361, -32.65868, 16276 16.97268, 11.76152, 16277 29.33024, -12.92289, 16278 -55.13187, -14.73791, 16279 7.52474, -102.05060, 16280 182.53144, -20.18960, 16281 -490237997.49400, 486646248.63360, -781277018.26430, 602300460.57290, 16282 -463787999.46420, 249529525.96100, -123964746.86420, 31353019.97807, 16283 -13353800.92159, -3463382.63269, -35469.17654, -1035343.45385, 16284 65076.64025, -38181.61312, -16473.33813, 3928.44674, 16285 188.60263, 1000.42530, 16286 -208376.39376, -700566.62363, 114839.84613, -342407.71113, 16287 39467.04812, -14553.84849, 16288 581895.26100, 1012499.16715, 406317.22416, 310804.78515, 16289 43625.07033, -4157.26545, 16290 -5930.13795, -2070.62413, 16291 3348.17582, -10871.23729, 16292 144609.18550, 60383.63650, 27912.02226, 15254.61228, 16293 -98561.37758, -67442.28158, -15573.63338, -19931.99773, 16294 24323.06905, -37473.32558, 2840.64042, -8911.23694, 16295 -19636.31898, 71725.21946, -12280.54554, 12251.00101, 16296 88626.52260, 5513.68450, 18506.41546, -6513.87434, 16297 -83350.14621, 44300.00743, -22075.37353, 3731.57531, 16298 -29167.76020, -21642.67384, 16299 56602666.72177, -22225578.01823, 50576897.80669, -50319847.79086, 16300 5689259.25622, -29585299.79697, -4249711.27661, -4490830.29568, 16301 -727678.08724, 366050.85631, 19183.62792, 55647.98226, 16302 1897.78091, -1091.03988, 432.38158, -138.62556, 16303 101.38743, 25.67379, 16304 320.20735, 362.16615, 85.06067, 54.02616, 16305 2.39460, 18.70004, 16306 -8.43353, 2.72100, 16307 -3.11205, -3.06201, 16308 136.31503, -28.33620, 48.68781, -18.45285, 16309 1.15302, -1.52360, 16310 -0.13706, -0.37489, 16311 0.08750, -0.14579, 16312 -0.07051, -0.06518, 16313 0.30237, -0.00448, 16314 4.83172, 6.83684, 16315 1752447.78043, -945086.75857, 2340978.12819, -1963675.42559, 16316 1254147.25257, -1274861.91191, 279459.60237, -263954.01378, 16317 11835.62290, -16344.44434, 9119.98960, -2390.44218, 16318 -23.67909, 86.73916, -642.78635, -1290.12208, 16319 -0.43345, -1.85348, 16320 0.03094, -0.01655, 16321 0.12380, 0.31834, 16322 5.54756, -1.63109, 1.10598, -0.17578, 16323 2.66994, -2.17573, 0.97360, -0.92226, 16324 -0.18533, -0.39747, 16325 0.45809, -0.65286, 16326 0.26129, 0.91922, 16327 0.81068, 0.11183, 16328 6.32182, 14.16786, 0.20872, 3.28489, 16329 -1.47458, -2.11724, 16330 1.70020, -1.99889, 16331 3.13003, 1.90638, 16332 -4483669.52795, -446454.90158, -6586256.67478, -671890.16779, 16333 -3620444.55554, -499672.41074, -855998.32655, -191073.94266, 16334 -73186.69110, -22649.38582, -2414.81729, -1294.40542, 16335 436.80907, 125.48109, -81.16877, 458.86508, 16336 -11.57414, -26.39114, -4.00801, -5.01054, 16337 -18.17569, 20.86879, -4.80965, 3.10535, 16338 -4.71122, 1.18169, 16339 74.75544, 649.21464, -26.55060, 272.35592, 16340 -8.06982, 16.86110, 16341 -26.54868, 26.75711, 16342 -35.82910, 38.51063, 16343 22.22814, 19.38336, 16344 -6.30462, 0.90602, 16345 0.62856, -0.34981, 16346 -0.10232, -0.00939, 16347 0.04439, -0.18875, 16348 0.16025, 0.11306, 16349 -0.06803, 0.06004, 16350 -91305.66728, 262370.61704, -194633.44577, 304838.17733, 16351 -124505.90904, 94111.75602, -22317.18255, 1575.23438, 16352 748.66316, -349.78711, 166.64450, -89.05045, 16353 120.76207, -100.26715, 16354 3.13806, 3.71747, 16355 -1.44731, -0.35235, 16356 -0.51660, -1.50621, 16357 2.81310, -3.93573, 1.20292, -0.36412, 16358 -0.03340, -0.00561, 16359 -5.29764, 26.02941, 1.91382, 3.30686, 16360 -3.35265, -3.20868, 16361 0.05807, -0.11885,
vendor: 5,258 bytes, lines 16362-16524
16362 -0.78588, 0.34807, -0.19038, 0.11295, 16363 -0.03642, -0.03794, 16364 0.00251, 0.03449, 16365 -0.08426, -0.00310, 16366 0.05297, -0.09278, 16367 0.10941, 0.00099, 16368 -228688.56632, 312567.73069, -331458.31119, 328200.19460, 16369 -143760.57524, 104182.01134, -17313.30132, 12591.15513, 16370 -440.32735, -105.67674, 104.35854, -852.84590, 16371 0.95527, 0.30212, -54.63983, 4.06948, 16372 0.07545, -0.13429, 16373 16.21005, 29.24658, 9.23410, 50.48867, 16374 30.55641, 12.76809, 0.11781, 0.70929, 16375 -0.04100, 13.60859, 16376 0.04976, -0.02083, 16377 0.36279, 0.30130, -0.02129, 0.09363, 16378 -0.07812, 0.01570, 16379 -0.06217, -0.37181, 16380 -29348.55031, 43889.87672, -35765.41577, 33855.90070, 16381 -10128.69894, 4535.32148, 281.75353, -218.49194, 16382 -7.55224, 134.28640, 2.11319, -2.13109, 16383 15.71244, 11.07183, 16384 -0.05406, -0.23337, 16385 -1.28949, 1.34281, 16386 0.04212, -0.02080, 16387 0.08109, 0.14820, 16388 -6010.46564, 3639.41780, -5973.16000, 1381.66999, 16389 -1177.36865, -501.06937, 166.14792, -103.36431, 16390 14.92766, 4.12877, -2.20893, -6.32033, 16391 -0.29038, -0.43172, 16392 -0.59341, 0.20477, -0.13143, -0.03150, 16393 0.10992, 0.01976, 16394 -0.00254, 0.02028, 16395 -0.30044, -0.44658, -0.03409, -0.10758, 16396 0.08349, 0.06153, 16397 -0.06055, 0.18249, 16398 -1.15341, -8.68699, -0.11348, -3.30688, 16399 1.08604, 1.04018, 16400 -0.46892, -0.69765, 0.21504, 0.01968, 16401 -0.00455, -0.01678, 16402 3.95643, -3.17191, 3.95220, -2.12670, 16403 0.99305, -0.16651, 16404 0.34839, -0.49162, 16405 0.85744, 0.20173, -0.00975, 0.20225, 16406 -0.02627, -0.02281, 16407 -0.18002, -0.01803, 16408 -0.06144, -0.21510, 16409 0.15935, -0.01251, 16410 -0.21378, 0.44806, -0.01174, 0.05779, 16411 0.07646, -0.19656, -0.04044, -0.02521, 16412 0.02996, 0.06169, 16413 0.16698, -0.04710, -0.06506, -0.02114, 16414 0.05500, 0.00276, 16415 0.08433, 0.03160, 16416 0.08193, 0.35773, 0.05454, 0.10718, 16417 -0.02823, -0.00839, 16418 0.54078, 0.49347, 0.09609, 0.11825, 16419 -0.16092, -0.11897, 16420 0.09059, 0.08254, 16421 0.16712, 0.05860, 16422 -0.09547, -0.03206, 16423 0.03876, 0.04719, 16424 -0.02345, 0.02240, 16425 -0.00609, -0.00649, 16426 0.03859, 0.00077, 16427 0.47819, 0.26196, 0.09780, 0.08104, 16428 -0.16919, 0.05042, 16429 -0.42652, 0.30810, 16430 -0.03409, -0.51452, 16431 -0.23120, -0.01380, 16432 -0.01157, -0.00143, 16433 -0.00512, -0.01628, 16434 -0.00189, 0.00183, 16435 -0.01427, -0.02861, 16436 0.00618, -0.00015, 16437 0.13087, 0.13870, 16438 0.15158, -0.21056, 16439 -3.94829, -1.06028, -1.36602, 0.77954, 16440 0.08709, -0.03118, 16441 -44.74949, 91.17393, 8.78173, 45.84010, 16442 1.97560, -15.02849, -0.10755, -0.02884, 16443 3.38670, 0.30615, 16444 130.92778, -24.33209, 43.01636, -40.81327, 16445 -19.43900, 22.18162, -0.12691, 0.33795, 16446 -6.44790, -6.23145, 16447 0.00319, 0.01141, 16448 -0.03252, 0.03872, 16449 0.04467, 0.01614, 16450 -0.00382, -0.00019, 16451 0.05955, 0.01533, 16452 16.11371, 41.37565, 61.44963, 6.90615, 16453 1.41326, -0.73920, -0.03871, 24.81978, 16454 -0.10229, -0.32775, -0.05188, -0.05628, 16455 -2.33618, 2.39053, 16456 -0.00584, 0.00436, 16457 0.20903, 0.02220, 16458 -0.01738, -0.02765, 16459 -0.00217, 0.00613, 16460 -0.01772, 0.01903, 16461 0.07075, -0.00530, 16462 0.15234, -0.37760, -0.11641, -0.20102, 16463 -0.63675, 0.20525, -0.15783, 0.58945, 16464 -0.06243, 0.04306 16465 ], 16466 lat_tbl: [ 16467 -35042727.30412, -49049197.81293, -25374963.60995, -5761406.03035, 16468 -467370.57540, 14040.11453, 2329.15763, -13978.69390, 16469 45.43441, 29.70305, 16470 32.33772, -38.34012, 16471 26.43575, -28.76136, 16472 -18.59040, 12.64837, 16473 5.56569, -12.51581, 16474 248.37350, -64.44466, 54.02618, 4.39466, 16475 -269.35114, -290.63134, -48.03841, -52.83576, 16476 1508.94995, 1682.78967, 554.02336, 715.65819, 16477 34.37602, 58.44397, 16478 16.63685, 16.10176, 16479 -1069.51609, 2300.89166, -437.16796, 927.89245, 16480 -33.17679, 68.74495, 16481 18.72022, 32.97640, 16482 -34004958.12619, -17758805.77098, -48416073.75788, -24973405.03542, 16483 -25374996.23732, -13351084.97340, -5738294.54942, -3082092.63350, 16484 -519989.39256, -206440.89101, 44186.23548, -87639.22630, 16485 2506.47602, 2327.01164, -53878.47903, -19670.13471, 16486 2.66934, -3.86086, 16487 106.32427, 576.47944, 46.56388, 218.28339, 16488 4.35402, 15.04642, 16489 2.68717, -2.86835, 16490 0.81728, -2.34417, 16491 -1604.85823, -1999.24986, -631.47343, -1382.19156, 16492 -15.74075, -256.97077, 6.99648, -4.54257, 16493 2.63478, 1.88838, 16494 0.17628, -2.11518, 16495 -2.46735, -1.48743, 16496 1.83456, 4.68487, 16497 -7.10919, 3.57046, 16498 -5.36342, -7.70367, 16499 28395956.20816, -37176795.74372, 48969952.83034, -48145798.96248, 16500 31155823.23557, -21163596.14822, 9057634.38260, -3167688.51696, 16501 1167488.70078, 219103.97591, -19017.97335, 107849.61195, 16502 -3814.43474, 4405.92120, 5800.13959, 12619.88708, 16503 22.18168, -89.47801, 16504 52202.81929, 55119.44083, 5082.58907, 37955.06062, 16505 -3165.24355, 3316.67588, 16506 -113906.43970, -69279.41495, -57358.07767, -10176.17329, 16507 -4179.79867, 2495.99374, 16508 787.87180, -154.35591, 16509 -1148.62509, 1034.58199, 16510 -22194.95235, 3341.97949, -4578.53994, 108.30832, 16511 7444.39789, 16646.40725, 509.75430, 3808.92686, 16512 -179.85869, 7408.76716, 340.65366, 1504.64227, 16513 -3783.09873, -13505.60867, 875.74489, -3181.27898, 16514 -16220.93983, 8041.37347, -2631.07448, 2899.50781, 16515 18894.92095, -20072.81471, 5925.05701, -1947.91902, 16516 -6731.56601, 8014.52403, 16517 -987793.49463, 6491762.34471, -279205.73643, 6117135.96868, 16518 -140925.91402, 2259422.06929, 114028.61646, 605600.90358, 16519 91858.00186, 56506.65187, 8949.15777, -9782.67413, 16520 -394.66541, -105.19208, -76.54752, -32.59411, 16521 -19.28741, 10.40013, 16522 -107.64003, -7.36229, -22.25126, 4.05952, 16523 -3.74402, -2.79308, 16524 1.03337, -2.13968,
16525 1.53794, -0.02617, 16526 35.70756, 12.97733, 14.46213, 6.20518, 16527 1.79381, 1.65422, 16528 -0.31216, 0.29053, 16529 -0.03538, -0.01584, 16530 -0.08934, 0.00079, 16531 0.05539, -0.21591, 16532 2.86929, -2.24724, 16533 320797.07455, 93342.16556, -20903.39115, 79523.22083, 16534 -226588.37473, -121017.23944, -48472.25935, -74195.36778, 16535 -7962.48081, -4607.76339, -4597.33274, -7983.12541, 16536 -20.34500, 56.82999, -1038.19507, 619.69624, 16537 1.08907, -0.91278, 16538 -0.13391, 0.34956, 16539 -0.19982, -0.18296, 16540 -0.97688, 2.36806, -0.30127, 0.50980, 16541 0.96103, 1.96432, 0.43338, 0.87317, 16542 0.36997, -0.01583, 16543 -0.44692, -0.25159, 16544 -0.53525, 0.01154, 16545 -0.13231, 0.35562, 16546 3.88928, -4.02882, 1.06967, -0.56305, 16547 -0.45204, 0.77213, 16548 -0.82873, -0.25854, 16549 0.21136, -1.06696, 16550 458529.05491, 616790.47568, 698431.01349, 1124501.41713, 16551 300226.10339, 766533.33698, 26896.22954, 207880.75720, 16552 1116.29607, 21793.26153, -850.64044, 3528.95568, 16553 29.61278, -120.13367, 376.95131, 66.45758, 16554 -3.64868, 2.76062, -0.85352, 0.95115, 16555 5.35056, 2.52803, 0.90026, 0.76403, 16556 0.43191, 0.83605, 16557 125.81792, -39.65364, 50.14425, -5.75891, 16558 2.78555, 2.05055, 16559 -4.27266, -4.92428, 16560 6.78868, 5.73537, 16561 3.35229, -3.70143, 16562 0.08488, 1.07465, 16563 0.10227, 0.06074, 16564 0.00291, 0.01522, 16565 -0.02274, 0.00297, 16566 0.01095, -0.01856, 16567 -0.02862, 0.00178, 16568 143640.07486, 707.21331, 177163.08586, 53386.52697, 16569 56856.89297, 48268.74645, 1764.52814, 7711.76224, 16570 352.34159, -968.03169, -45.16568, -81.60481, 16571 -76.35993, -98.06932, 16572 -1.42185, 1.81425, 16573 -0.23427, 0.59023, 16574 0.57127, -0.36335, 16575 1.89975, 0.66890, 0.28797, 0.43592, 16576 -0.03769, 0.03273, 16577 -6.06571, -2.68515, -0.55315, 0.86977, 16578 1.53840, -0.59422, 16579 -0.05453, 0.02447,
16580 -0.12658, 0.22814, -0.01715, 0.08497, 16581 -0.01288, -0.00606, 16582 0.01547, -0.00692, 16583 0.01157, 0.02407, 16584 -0.03883, 0.00835, 16585 -0.01542, -0.04761, 16586 174386.39024, 158048.26273, 159192.81681, 220154.55148, 16587 33716.11953, 87537.86597, -116.90381, 7535.83928, 16588 -962.06994, -132.28837, -644.90482, -110.52332, 16589 3.42499, 3.74660, -0.94008, 41.55548, 16590 -0.03824, -0.05607, 16591 28.74787, -37.31399, 30.87853, -26.11940, 16592 10.79742, -5.97905, 1.01237, -0.04429, 16593 0.54402, 0.41905, 16594 -0.02440, -0.03991, 16595 -0.00347, -0.04362, -0.00347, -0.00469, 16596 -0.02707, 0.02761, 16597 -0.17773, -0.11789, 16598 26475.02580, 35363.04345, 19877.11475, 41430.35940, 16599 2948.09998, 12983.41406, 281.93744, 570.70054, 16600 147.83157, 16.00090, -1.62814, -8.30846, 16601 9.29131, -10.16496, 16602 -0.15799, 0.03843, 16603 1.44716, 0.46953, 16604 -0.02150, -0.02502, 16605 0.08861, -0.06690, 16606 2237.41551, 3739.08722, 753.74867, 3460.41553, 16607 -298.69226, 520.47031, -33.62615, -138.12767, 16608 3.61843, -8.29860, -4.56656, 0.79553, 16609 0.20041, -0.25771, 16610 -0.35233, -0.27913, -0.02799, -0.08328, 16611 -0.06889, -0.16853, 16612 0.01701, -0.00964, 16613 -0.37737, 0.18030, -0.08525, 0.01906, 16614 0.05236, -0.05155, 16615 0.11320, 0.05991, 16616 -5.66926, -0.54402, -2.08508, -0.39407, 16617 0.82155, -0.55975, 16618 0.39168, -0.25551, 0.00623, 0.16162, 16619 -0.02519, 0.02420, 16620 -1.23293, -3.19649, -0.60519, -2.79729, 16621 0.05362, -0.61569, 16622 -0.25638, -0.27033, 16623 -0.03987, 0.46623, -0.12070, 0.00643, 16624 0.00849, -0.00768, 16625 -0.03687, 0.10445, 16626 -0.13544, -0.00592, 16627 0.02078, 0.09172, 16628 0.15824, 0.15815, 0.02020, 0.00747, 16629 0.10919, 0.09553, 0.01953, -0.00135, 16630 0.04266, -0.00218, 16631 0.02182, -0.13742, -0.01249, 0.01724, 16632 -0.02200, 0.02975, 16633 -0.01401, 0.03416, 16634 -0.28873, 0.04235, -0.08137, 0.04223, 16635 -0.00326, 0.02144, 16636 -0.40423, 0.14281, -0.08256, 0.02142, 16637 0.08116, -0.03680, 16638 -0.02324, 0.07260, 16639 -0.06746, 0.11645, 16640 0.03233, -0.05997, 16641 -0.03101, 0.02197, 16642 -0.00896, -0.00491, 16643 0.00574, 0.00855, 16644 0.00052, 0.01209, 16645 -0.31828, 0.29955, -0.08133, 0.04318, 16646 0.06787, -0.08865, 16647 -0.13228, -0.06507, 16648 0.34008, 0.06417, 16649 -0.00177, -0.15116, 16650 -0.00553, -0.01950, 16651 0.01144, -0.00309, 16652 -0.00115, -0.00153, 16653 0.02063, -0.00791, 16654 -0.00314, 0.00493, 16655 -0.10614, 0.08338, 16656 0.08845, 0.20168, 16657 1.38955, -2.52285, -0.30475, -1.05787, 16658 0.00580, 0.06623, 16659 -44.33263, -47.70073, -29.80583, -8.77838, 16660 7.02948, 2.77221, 0.05248, -0.13702, 16661 -0.78176, 1.77489, 16662 -16.32831, 46.68457, 2.54516, 21.78145, 16663 -5.09080, -8.42611, -0.24419, -0.03315, 16664 2.80629, -1.12755, 16665 -0.00402, 0.00053, 16666 0.00024, -0.00043, 16667 0.00403, -0.00210, 16668 0.00603, 0.00411, 16669 -0.00260, 0.00416, 16670 2.29235, 3.05992, 2.36465, -0.58750, 16671 0.14030, 0.13523, 0.89998, 0.70156, 16672 -0.02188, 0.02003, -0.00533, 0.00447, 16673 2.96411, 1.30183, 16674 0.01422, 0.00624, 16675 -0.10737, -0.38316, 16676 -0.05968, 0.04379, 16677 0.01171, 0.01180, 16678 -0.00989, -0.01375, 16679 -0.00845, 0.03782, 16680 0.09484, 0.09909, 0.07640, -0.00898, 16681 -0.01076, 0.02760, 0.01630, 0.02198, 16682 0.05985, 0.04130 16683 ], 16684 rad_tbl: [ 16685 17990649.12487, 24806479.30874, 12690953.00645, 2892671.69562, 16686 249947.71316, -5138.71425, 1142.68629, 6075.25751, 16687 -34.76785, -19.72399, 16688 -15.81516, 30.47718, 16689 -11.73638, 21.87955, 16690 9.42107, -10.40957, 16691 -5.59670, 6.85778, 16692 -167.06735, -2.31999, -32.42575, -13.72714, 16693 130.16635, 117.97555, 31.33915, 39.64331, 16694 -1378.54934, -395.83244, -562.79856, -167.74359, 16695 -45.12476, -17.08986, 16696 -4.20576, -16.56724, 16697 1762.12089, -1148.86987, 736.55320, -423.09108, 16698 56.13621, -26.26674, 16699 9.77810, -38.05151, 16700 4702224.98754, 27254904.94363, 5306232.25993, 39518429.29982, 16701 1725110.05669, 21833263.27069, 46010.62605, 5425411.66252, 16702 17238.09865, 536771.62156, -61263.36051, 66270.70142, 16703 2084.66296, -1936.71208, 35898.49503, 34885.28549, 16704 1.93276, 10.66292, 16705 -665.11445, 3.70467, -265.68478, 16.16272, 16706 -19.45954, 2.32738, 16707 3.04237, 3.97339, 16708 -2.64312, 0.66308, 16709 -3207.68754, 3418.03720, -2342.62310, 1729.15030, 16710 -450.84643, 179.00943, -13.20367, -1.86087, 16711 -4.95659, 7.22347, 16712 -5.08890, -1.28891, 16713 -6.21713, 5.10551, 16714 13.97276, 0.44529, 16715 3.25177, 25.02775, 16716 -45.56672, 11.58470, 16717 124443355.55450, -100018293.41775, 190506421.77863, -118262753.40162, 16718 108199328.45091, -45247957.63323, 27272084.41143, -4125106.01144, 16719 2583469.66051, 1024678.12935, -22702.55109, 199269.51481, 16720 -15783.14789, 5564.52481, -427.22231, -6330.86079, 16721 -97.50757, -204.32241, 16722 -9060.54822, 156661.77631, -47791.83678, 59725.58975, 16723 -8807.74881, -92.38886, 16724 -28886.11572, -244419.59744, -53336.36915, -92232.16479, 16725 -8724.89354, -2446.76739, 16726 889.71335, 936.51108, 16727 494.80305, 2252.83602, 16728 -18326.60823, -25443.13554, -3130.86382, -5426.29135, 16729 23494.08846, 91.28882, 4664.14726, 1552.06143, 16730 -8090.43357, 2843.48366, -1445.73506, 1023.11482, 16731 11664.20863, -7020.08612, 3100.21504, -64.16577, 16732 -9724.97938, -12261.47155, -3008.08276, -1523.06301, 16733 6788.74046, 10708.27853, 343.09434, 1701.52760, 16734 14743.99857, -4781.96586,
16735 -15922236.41469, 1825172.51825, -14006084.36972, 10363332.64447, 16736 -979550.91360, 6542446.18797, 1160614.26915, 570804.88172, 16737 89912.68112, -171247.08757, -13899.52899, -6182.25841, 16738 -240.64725, 412.42581, -66.24510, 71.30726, 16739 -15.81125, -15.76899, 16740 -21.85515, -102.12717, -10.18287, -19.38527, 16741 1.43749, -3.87533, 16742 1.97109, 0.20138, 16743 0.32012, 1.02928, 16744 -40.22077, 20.80684, -15.69766, 9.63663, 16745 -1.26010, 0.56197, 16746 0.08592, 0.18540, 16747 -0.07303, 0.03897, 16748 0.01438, -0.08809, 16749 0.15479, 0.10354, 16750 0.19052, 2.08790, 16751 405480.24475, -607986.83623, 582811.58843, -915111.10396, 16752 258696.21023, -493391.09443, 23403.62628, -119503.67282, 16753 -4036.86957, -9766.17805, -663.93268, 2544.07799, 16754 40.36638, 76.26390, 246.67716, -13.93440, 16755 0.12403, 0.25378, 16756 0.14004, -0.08501, 16757 0.07904, 0.12731, 16758 1.02117, -1.34663, 0.25142, -0.26903, 16759 0.18135, -0.57683, -0.30092, -0.36121, 16760 -0.09623, 0.05873, 16761 -0.05803, 0.02869, 16762 -0.01194, 0.04983, 16763 0.04250, 0.04894, 16764 1.34245, 0.70137, 0.24217, 0.25912, 16765 -0.32759, -0.03575, 16766 0.06780, -0.41277, 16767 0.43865, 0.17857, 16768 -763933.02226, 465658.17048, -1082753.91241, 593319.68634, 16769 -553911.89340, 274748.95145, -122250.71547, 56608.95768, 16770 -9914.17300, 2988.43709, 707.94605, -765.01470, 16771 52.73260, -34.22263, -43.58300, -38.43647, 16772 -4.95939, -1.97173, -1.04406, -0.13072, 16773 -0.34281, 4.75202, -0.35513, 0.93597, 16774 -0.54380, 0.70536, 16775 84.83116, 102.93003, 26.34884, 48.57746, 16776 0.02853, 2.91676, 16777 -8.07116, 1.66613, 16778 -2.07908, 11.62592, 16779 6.64704, 0.98291, 16780 -1.19192, 0.93791, 16781 0.18822, 0.00900, 16782 -0.03181, -0.02000, 16783 0.02755, -0.01398, 16784 -0.03971, -0.03756, 16785 0.13454, -0.04193, 16786 -18672.98484, 28230.75834, -28371.58823, 26448.45214, 16787 -13352.09393, 7461.71279, -2609.33578, 726.50321, 16788 -309.72942, -86.71982, 12.48589, -9.69726, 16789 1.82185, 14.92220, 16790 -0.04748, 0.42510, 16791 -0.20047, 0.00154, 16792 0.00176, -0.26262, 16793 0.78218, -0.73243, 0.23694, -0.03132, 16794 -0.00290, -0.03678, 16795 14.03094, 4.25948, 0.79368, -0.78489, 16796 -2.30962, 2.31946, 16797 0.00158, -0.04125, 16798 -0.01387, 0.28503, 0.00892, 0.05154, 16799 0.00184, -0.01727, 16800 -0.00889, 0.03526, 16801 -0.00521, -0.02093, 16802 0.00200, 0.04872, 16803 -0.02163, 0.00578, 16804 20699.27413, -2175.57827, 31177.33085, 4572.02063, 16805 15486.28190, 8747.74091, 2455.51737, 3839.83609, 16806 51.31433, 507.91086, 15.90082, 44.75942, 16807 -0.98374, -2.64477, 2.52336, -3.09203, 16808 -0.08897, -0.00083, 16809 -15.91892, 0.72597, 14.04523, -3.16525, 16810 4.33379, -30.82980, 0.40462, -0.75845, 16811 13.14831, -0.02721, 16812 -0.01779, 0.00481, 16813 0.42365, -0.09048, 0.08653, 0.04391, 16814 0.00846, 0.01082, 16815 -0.04736, 0.02308, 16816 6282.21778, -4952.70286, 7886.57505, -5328.36122, 16817 3113.76826, -1696.84590, 330.70011, -155.51989, 16818 -18.31559, -3.90798, -3.11242, 1.87818, 16819 -1.05578, 0.11198, 16820 0.05077, -0.01571, 16821 2.41291, 2.40568, 16822 -0.01136, -0.00076, 16823 -0.00392, -0.02774, 16824 634.85065, -352.21937, 674.31665, -260.73473, 16825 199.16422, -28.44198, 6.54187, 6.44960, 16826 -1.55155, 0.29755, 0.16977, 0.17540, 16827 -0.02652, 0.03726, 16828 -0.00623, 0.11777, -0.00933, 0.02602, 16829 -0.13943, -0.24818, 16830 0.02876, -0.01463, 16831 -0.07166, 0.06747, -0.01578, 0.01628, 16832 0.00233, -0.00686, 16833 0.00431, -0.00276, 16834 0.21774, 0.09735, 0.07894, 0.07279, 16835 -0.01300, -0.00268, 16836 0.10824, 0.09435, 0.00720, 0.02111, 16837 -0.01960, 0.06154, 16838 0.56867, -0.07544, 0.18210, 0.06343, 16839 -0.00906, 0.01942, 16840 -0.00850, -0.00351, 16841 -0.06988, 0.01713, -0.01110, -0.00663, 16842 0.00196, -0.02064, 16843 -0.00008, 0.00043, 16844 0.00375, 0.00084, 16845 -0.00279, 0.00100, 16846 0.00271, -0.02017, -0.00074, -0.00357, 16847 0.03793, -0.10108, -0.01083, -0.03952, 16848 0.00030, 0.00012, 16849 0.01576, 0.01142, 0.00351, 0.00277,
16850 0.01409, -0.00774, 16851 -0.00065, 0.01895, 16852 0.07350, -0.02519, 0.01528, -0.01057, 16853 -0.00099, -0.00295, 16854 0.21347, -0.17458, 0.04940, -0.02757, 16855 -0.06243, 0.05203, 16856 0.01055, -0.00109, 16857 0.00003, -0.04201, 16858 -0.00263, 0.02387, 16859 0.00886, -0.01168, 16860 0.00479, 0.00204, 16861 -0.00239, 0.00022, 16862 -0.00223, -0.02029, 16863 -0.14130, -0.15237, -0.01827, -0.04877, 16864 0.12104, 0.06796, 16865 0.16379, 0.31892, 16866 -0.15605, 0.07048, 16867 -0.00700, 0.07481, 16868 -0.00370, -0.00142, 16869 -0.00446, 0.00329, 16870 -0.00018, 0.00117, 16871 -0.00910, 0.00510, 16872 -0.00055, -0.00114, 16873 0.04131, -0.04013, 16874 -0.13238, 0.02680, 16875 -0.10369, 1.38709, 0.35515, 0.41437, 16876 -0.01327, -0.02692, 16877 38.02603, 13.38166, 15.33389, -7.40145, 16878 -8.55293, -0.13185, -0.03316, 0.13016, 16879 0.04428, -1.60953, 16880 -12.87829, -76.97922, -23.96039, -22.45636, 16881 14.83309, 14.09854, 0.24252, 0.13850, 16882 -4.16582, 4.08846, 16883 0.00751, -0.00051, 16884 0.03456, 0.02900, 16885 0.01625, -0.04660, 16886 0.01390, -0.00530, 16887 0.01665, -0.04571, 16888 40.90768, -14.11641, 7.46071, -58.07356, 16889 -0.27859, -1.33816, 23.76074, -0.03124, 16890 -0.27860, 0.13654, -0.04800, 0.05375, 16891 4.38091, 4.39337, 16892 0.02233, 0.00514, 16893 -0.25616, -0.54439, 16894 -0.05155, 0.11553, 16895 0.02944, -0.00818, 16896 0.00570, 0.00119, 16897 -0.00733, -0.02700, 16898 -0.23759, -0.08712, -0.12433, 0.07397, 16899 0.20629, 0.60251, 0.56512, 0.14790, 16900 0.07778, 0.11614 16901 ], 16902 arg_tbl: [ 16903 0, 7, 16904 2, 3, 7, -9, 9, 0, 16905 2, 4, 7, -12, 9, 0, 16906 2, 4, 7, -8, 8, 0, 16907 3, -4, 7, 5, 8, 4, 9, 0, 16908 3, 3, 7, -5, 8, -1, 9, 0, 16909 2, 1, 6, -8, 9, 1, 16910 2, 3, 8, -5, 9, 1, 16911 2, 1, 6, -9, 9, 2, 16912 3, 6, 7, -6, 8, -8, 9, 0, 16913 3, 4, 7, -10, 8, 4, 9, 2, 16914 2, 3, 7, -8, 9, 0, 16915 1, 1, 9, 7, 16916 2, 3, 7, -10, 9, 0, 16917 3, 4, 7, -10, 8, 2, 9, 2, 16918 3, 5, 7, -12, 8, 2, 9, 0, 16919 2, 1, 6, -7, 9, 0, 16920 1, 1, 8, 3, 16921 2, 1, 6, -10, 9, 0, 16922 3, 6, 7, -12, 8, 2, 9, 0, 16923 3, 5, 7, -10, 8, 2, 9, 0, 16924 2, 5, 7, -13, 9, 0, 16925 2, 4, 7, -10, 9, 0, 16926 2, 3, 7, -7, 9, 0, 16927 1, 2, 9, 7, 16928 2, 3, 7, -11, 9, 0, 16929 3, 4, 7, -9, 8, 4, 9, 2, 16930 3, 3, 7, -5, 8, 1, 9, 2, 16931 2, 1, 6, -6, 9, 0, 16932 2, 7, 8, -13, 9, 0, 16933 2, 3, 8, -2, 9, 1, 16934 3, 1, 7, -5, 8, 2, 9, 1, 16935 3, 6, 7, -12, 8, 3, 9, 1, 16936 2, 5, 7, -12, 9, 1, 16937 2, 4, 7, -9, 9, 1, 16938 2, 2, 7, -3, 9, 1, 16939 1, 1, 7, 0, 16940 1, 3, 9, 5, 16941 2, 3, 7, -12, 9, 1, 16942 3, 5, 7, -9, 8, 2, 9, 0, 16943 3, 4, 7, -7, 8, 2, 9, 1, 16944 3, 3, 7, -5, 8, 2, 9, 0, 16945 3, 2, 7, -5, 8, 5, 9, 0, 16946 2, 1, 6, -5, 9, 0, 16947 2, 3, 8, -1, 9, 2, 16948 2, 1, 6, -12, 9, 0, 16949 3, 2, 7, -7, 8, 1, 9, 0, 16950 2, 5, 7, -11, 9, 0, 16951 2, 4, 7, -8, 9, 0, 16952 2, 2, 7, -2, 9, 0, 16953 1, 4, 9, 7, 16954 3, 2, 7, -8, 8, 2, 9, 0, 16955 3, 5, 7, -9, 8, 3, 9, 0, 16956 3, 4, 7, -9, 8, 6, 9, 0, 16957 3, 3, 7, -5, 8, 3, 9, 1, 16958 2, 2, 7, -1, 8, 1, 16959 2, 3, 8, -9, 9, 0, 16960 2, 9, 8, -9, 9, 0, 16961 2, 1, 6, -13, 9, 0, 16962 3, 2, 7, -5, 8, -3, 9, 0, 16963 2, 6, 7, -13, 9, 1, 16964 2, 5, 7, -10, 9, 0, 16965 2, 4, 7, -7, 9, 0, 16966 2, 3, 7, -4, 9, 0, 16967 1, 5, 9, 7, 16968 3, 6, 7, -9, 8, 1, 9, 1, 16969 3, 4, 7, -5, 8, 1, 9, 1, 16970 3, 3, 7, -3, 8, 1, 9, 0, 16971 2, 1, 6, -3, 9, 2, 16972 2, 3, 8, -10, 9, 0, 16973 2, 1, 8, 4, 9, 0, 16974 2, 5, 8, -2, 9, 0, 16975 2, 11, 8, -11, 9, 0, 16976 3, 1, 7, -9, 8, 5, 9, 0, 16977 2, 6, 7, -12, 9, 0, 16978 2, 5, 7, -9, 9, 0, 16979 2, 4, 7, -6, 9, 0, 16980 2, 3, 7, -3, 9, 0, 16981 1, 6, 9, 6, 16982 2, 2, 7, -12, 9, 0, 16983 3, 6, 7, -9, 8, 2, 9, 0, 16984 3, 3, 7, -12, 8, 3, 9, 0, 16985 3, 4, 7, -10, 8, -3, 9, 1, 16986 3, 3, 7, -3, 8, 2, 9, 0, 16987 2, 1, 6, -2, 9, 2, 16988 2, 1, 8, 5, 9, 0, 16989 2, 13, 8, -13, 9, 1, 16990 3, 2, 7, -9, 8, 1, 9, 0, 16991 2, 6, 7, -11, 9, 0, 16992 2, 5, 7, -8, 9, 0, 16993 2, 4, 7, -5, 9, 0, 16994 2, 3, 7, -2, 9, 0, 16995 1, 7, 9, 7, 16996 3, 6, 7, -9, 8, 3, 9, 0, 16997 2, 1, 6, -1, 9, 4, 16998 2, 3, 8, 3, 9, 0, 16999 2, 7, 7, -13, 9, 1, 17000 2, 3, 7, -1, 9, 0, 17001 2, 2, 7, 2, 9, 0, 17002 1, 8, 9, 6, 17003 3, 7, 7, -9, 8, 1, 9, 0, 17004 1, 1, 6, 0, 17005 1, 3, 7, 0, 17006 2, 2, 7, 3, 9, 0, 17007 1, 9, 9, 5, 17008 3, 1, 7, -10, 8, 3, 9, 0, 17009 3, 2, 7, -12, 8, 3, 9, 1, 17010 2, 1, 6, 1, 9, 0, 17011 3, 1, 7, -1, 8, 8, 9, 0, 17012 2, 3, 7, 1, 9, 1, 17013 2, 2, 7, 4, 9, 0, 17014 2, 1, 7, 7, 9, 0, 17015 2, 4, 8, 4, 9, 1, 17016 2, 12, 8, -8, 9, 0, 17017 3, 1, 7, -10, 8, 2, 9, 1, 17018 2, 1, 6, 2, 9, 0, 17019 1, 11, 9, 2, 17020 2, 12, 8, -7, 9, 0, 17021 3, 1, 7, -10, 8, 1, 9, 1, 17022 1, 4, 7, 0, 17023 1, 12, 9, 0, 17024 2, 6, 8, 3, 9, 0, 17025 3, 1, 7, -2, 8, -12, 9, 0, 17026 3, 7, 7, -7, 8, 2, 9, 1, 17027 2, 2, 6, -4, 9, 1, 17028 1, 13, 9, 0, 17029 2, 10, 8, -2, 9, 1, 17030 2, 4, 7, 2, 9, 0, 17031 2, 2, 6, -3, 9, 0, 17032 2, 2, 7, 8, 9, 1, 17033 2, 8, 8, 2, 9, 0, 17034 1, 5, 7, 1, 17035 2, 4, 7, 3, 9, 0, 17036 2, 3, 7, 6, 9, 0, 17037 2, 1, 5, -6, 9, 0, 17038 3, 2, 7, 8, 8, -3, 9, 0, 17039 3, 1, 7, 6, 8, 3, 9, 0, 17040 2, 6, 8, 6, 9, 0, 17041 3, 8, 7, -7, 8, 2, 9, 0, 17042 2, 9, 7, -11, 9, 0, 17043 2, 5, 7, 1, 9, 1, 17044 2, 4, 7, 4, 9, 0, 17045 2, 2, 6, -1, 9, 0, 17046 3, 2, 6, -1, 7, 2, 9, 0, 17047 2, 2, 7, 10, 9, 0, 17048 2, 1, 7, 13, 9, 0, 17049 2, 8, 7, -7, 9, 0, 17050 2, 7, 7, -4, 9, 0, 17051 2, 6, 7, -1, 9, 0, 17052 2, 5, 7, 3, 9, 0, 17053 2, 4, 7, 5, 9, 0, 17054 1, 2, 6, 0, 17055 2, 1, 5, -4, 9, 1, 17056 3, 1, 6, 9, 8, -5, 9, 0, 17057 2, 1, 5, -3, 9, 4, 17058 2, 1, 5, -2, 9, 4, 17059 3, 9, 7, -9, 8, 6, 9, 0, 17060 2, 8, 7, -4, 9, 0, 17061 2, 7, 7, -1, 9, 0, 17062 2, 1, 6, 3, 9, 0, 17063 2, 2, 6, 3, 9, 0, 17064 2, 1, 5, -1, 9, 3, 17065 3, 6, 7, -3, 8, 7, 9, 1, 17066 1, 1, 5, 0, 17067 2, 2, 6, 5, 9, 0, 17068 2, 1, 5, 1, 9, 0, 17069 2, 1, 5, 2, 9, 0, 17070 2, 1, 5, 3, 9, 0, 17071 2, 2, 5, -4, 9, 0, 17072 2, 2, 5, -3, 9, 0, 17073 2, 2, 5, -2, 9, 1, 17074 2, 2, 5, -1, 9, 1, 17075 1, 2, 5, 0, 17076 -1 17077 ] 17078}; 17079 17080$e = ephemeris; 17081 17082$copy = $e.copy; 17083$is = $e.is; 17084$make = $e.make; 17085$def = $e.define; 17086$assert = $e.assert; 17087$moshier = $e.astronomy.moshier;
17088$const = $e.astronomy.moshier.constant; 17089$processor = $moshier.processor; 17090$julian = $moshier.julian; 17091$util = $moshier.util;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.