diff --git a/.dockerignore b/.dockerignore index 40afce8..4c78b80 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ .git/ Dockerfile -.vscode/ \ No newline at end of file +.vscode/ +dist/ \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..16c4bab --- /dev/null +++ b/.eslintrc @@ -0,0 +1,91 @@ +{ + "env": { + "browser": true, + "es6": true, + "node": true, + "jquery": true + }, + "extends": [ + "airbnb-base" + ], + "globals": { + "TravelCities": "readonly", + "RegionalCities": "readonly", + "StationInfo": "readonly", + "SunCalc": "readonly" + }, + "parserOptions": { + "ecmaVersion": 2023, + "sourceType": "module" + }, + "plugins": [], + "rules": { + "indent": [ + "error", + "tab", + { + "SwitchCase": 1 + } + ], + "no-tabs": 0, + "no-console": 0, + "max-len": 0, + "no-use-before-define": [ + "error", + { + "variables": false + } + ], + "no-param-reassign": [ + "error", + { + "props": false + } + ], + "no-mixed-operators": [ + "error", + { + "groups": [ + [ + "&", + "|", + "^", + "~", + "<<", + ">>", + ">>>" + ], + [ + "==", + "!=", + "===", + "!==", + ">", + ">=", + "<", + "<=" + ], + [ + "&&", + "||" + ], + [ + "in", + "instanceof" + ] + ], + "allowSamePrecedence": true + } + ], + "import/extensions": [ + "error", + { + "mjs": "always", + "json": "always" + } + ] + }, + "ignorePatterns": [ + "*.min.js" + ] +} \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 89eac82..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,74 +0,0 @@ -module.exports = { - env: { - browser: true, - commonjs: true, - es6: true, - node: true, - jquery: true, - }, - extends: [ - 'airbnb-base', - ], - globals: { - Atomics: 'readonly', - SharedArrayBuffer: 'readonly', - StationInfo: 'readonly', - RegionalCities: 'readonly', - TravelCities: 'readonly', - NoSleep: 'readonly', - states: 'readonly', - SunCalc: 'readonly', - - }, - parserOptions: { - ecmaVersion: 2023, - }, - plugins: [ - ], - rules: { - indent: [ - 'error', - 'tab', - { - SwitchCase: 1 - }, - ], - 'no-tabs': 0, - 'no-console': 0, - 'max-len': 0, - 'no-use-before-define': [ - 'error', - { - variables: false, - }, - ], - 'no-param-reassign': [ - 'error', - { - props: false, - }, - ], - 'no-mixed-operators': [ - 'error', - { - groups: [ - ['&', '|', '^', '~', '<<', '>>', '>>>'], - ['==', '!=', '===', '!==', '>', '>=', '<', '<='], - ['&&', '||'], - ['in', 'instanceof'], - ], - allowSamePrecedence: true, - }, - ], - 'import/extensions': [ - 'error', - { - mjs: 'always', - json: 'always', - }, - ], - }, - ignorePatterns: [ - '*.min.js', - ], -}; diff --git a/.gitignore b/.gitignore index b60a6c6..ae0ce9c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,14 @@ node_modules **/debug.log -server/scripts/custom.js \ No newline at end of file +server/scripts/custom.js + +#music folder +server/music/* +#except for the readme +!server/music/readme.txt +#and the sample songs +!server/music/default + +#dist folder +dist/* +!dist/readme.txt \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 1d19d09..f22f780 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -50,7 +50,7 @@ "skipFiles": [ "/**", ], - "program": "${workspaceFolder}/index.js", + "program": "${workspaceFolder}/index.mjs", }, { "type": "node", @@ -59,7 +59,7 @@ "skipFiles": [ "/**", ], - "program": "${workspaceFolder}/index.js", + "program": "${workspaceFolder}/index.mjs", "env": { "DIST": "1" } diff --git a/README.md b/README.md index f5f28b1..f9a8ea1 100644 --- a/README.md +++ b/README.md @@ -98,11 +98,32 @@ As time allows I will be working on the following enhancements. * Better error reporting when api.weather.gov is down (happens more often than you would think) +## Serving static files +The app can be served as a static set of files on any web server. Run the provided gulp task to create a set of static distribution files: +``` +npm run buildDist +``` +The resulting files will be in the /dist folder in the root of the project. These can then be uploaded to a web server for hosting, no server-side scripting is required. + +## Music +The WeatherStar had wonderful background music from the smooth jazz and new age genres by artists of the time. Lists of the music that played are available by searching online, but it's all copyrighted music and would be difficult to provide as part of this repository. + +I've used AI tools to create WeatherStar-inspired music tracks that are unencumbered by copyright and are included in this repo. Too keep the size down, I've only included 4 tracks. Additional tracks will be posted in a companion repository [ws4kp-music](https://github.com/netbymatt/ws4kp-music). + +### Customizing the music +Placing .mp3 files in the `/server/music` folder will override the default music included in the repo. When weatherstar loads in the browser it will load a list if available files and randomize the order when it starts playing. On each loop through the available tracks the order will again be shuffled. If you're using the static files method to host your WeatherStar music is located in `/music`. + +### Music doesn't auto play +Ws4kp is muted by default, but if it was unmuted on the last visit it is coded to try and auto play music on subsequent visits. But, it's considered bad form to have a web site play music automatically on load, and I fully agree with this. [Chrome](https://developer.chrome.com/blog/autoplay/#media_engagement_index) and [Firefox](https://hacks.mozilla.org/2019/02/firefox-66-to-block-automatically-playing-audible-video-and-audio/) have extensive details on how and when auto play is allowed. + +Chrome seems to be more lenient on auto play and will eventually let a site auto-play music if you're visited it enough recently and manually clicked to start playing music on each visit. It also has a flag you can add to the command line when launching Chrome: `chrome.exe --autoplay-policy=no-user-gesture-required`. This is the best solution when using Kiosk-style setup. + ## Community Notes Thanks to the WeatherStar community for providing these discussions to further extend your retro forecasts! * [Stream as FFMPEG](https://github.com/netbymatt/ws4kp/issues/37#issuecomment-2008491948) +* [Weather like it's 1999](https://blog.scottlabs.io/2024/02/weather-like-its-1999/) Raspberry pi, streaming, music and CRT all combined into a complete solution. ## Customization A hook is provided as `/server/scripts/custom.js` to allow customizations to your own fork of this project, without accidentally pushing your customizations back upstream to the git repository. An sample file is provided at `/server/scripts/custom.sample.js` and should be renamed to `custom.js` activate it. diff --git a/cors/index.js b/cors/index.mjs similarity index 89% rename from cors/index.js rename to cors/index.mjs index e964565..2dd1d8e 100644 --- a/cors/index.js +++ b/cors/index.mjs @@ -1,13 +1,13 @@ // pass through api requests // http(s) modules -const https = require('https'); +import https from 'https'; // url parsing -const queryString = require('querystring'); +import queryString from 'querystring'; // return an express router -module.exports = (req, res) => { +const cors = (req, res) => { // add out-going headers const headers = {}; headers['user-agent'] = '(WeatherStar 4000+, ws4000@netbymatt.com)'; @@ -41,3 +41,5 @@ module.exports = (req, res) => { console.error(e); }); }; + +export default cors; diff --git a/cors/outlook.js b/cors/outlook.mjs similarity index 89% rename from cors/outlook.js rename to cors/outlook.mjs index 5474ab4..655c641 100644 --- a/cors/outlook.js +++ b/cors/outlook.mjs @@ -1,13 +1,13 @@ // pass through api requests // http(s) modules -const https = require('https'); +import https from 'https'; // url parsing -const queryString = require('querystring'); +import queryString from 'querystring'; // return an express router -module.exports = (req, res) => { +const outlook = (req, res) => { // add out-going headers const headers = {}; headers['user-agent'] = '(WeatherStar 4000+, ws4000@netbymatt.com)'; @@ -42,3 +42,5 @@ module.exports = (req, res) => { console.error(e); }); }; + +export default outlook; diff --git a/cors/radar.js b/cors/radar.mjs similarity index 89% rename from cors/radar.js rename to cors/radar.mjs index 7f5c361..1e5b6b2 100644 --- a/cors/radar.js +++ b/cors/radar.mjs @@ -1,13 +1,13 @@ // pass through api requests // http(s) modules -const https = require('https'); +import https from 'https'; // url parsing -const queryString = require('querystring'); +import queryString from 'querystring'; // return an express router -module.exports = (req, res) => { +const radar = (req, res) => { // add out-going headers const headers = {}; headers['user-agent'] = '(WeatherStar 4000+, ws4000@netbymatt.com)'; @@ -42,3 +42,5 @@ module.exports = (req, res) => { console.error(e); }); }; + +export default radar; diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 21e1e67..0000000 --- a/dist/index.html +++ /dev/null @@ -1 +0,0 @@ -WeatherStar 4000+
WeatherStar 4000+
v5.14.4
Enter your location above to continue
WeatherStar
4000+ v5.14.4
Current Conditions
Hourly Forecast
TEMP
WIND
Hourly Graph
Temperature
Cloud %
Precip %
75
65
55
12a
6a
12p
6p
12a
Travel Forecast
For
LOW
HIGH
Current
Conditions
Wind:
Humidity:
Dewpoint:
Ceiling:
Visibility:
Pressure:
Local
Forecast
Latest
Observations
°F
°C
Weather
Wind
Regional
Observations
Almanac
Monday
Tuesday
Sunrise:
6:24 am
6:25 am
Sunset:
6:24 am
6:25 am
Moon Data:
Extended
Forecast
Lo
Hi
Local
Radar
PRECIP
Light
Heavy

Selected displays
Settings
Sharing
Copy Permalink Link copied to clipboard!
Forecast Information
Location:
Station Id:
Radar Id:
Zone Id:
Last Update: (None)
\ No newline at end of file diff --git a/dist/manifest.json b/dist/manifest.json deleted file mode 100644 index 8ad97c4..0000000 --- a/dist/manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "WeatherStar 4000+", - "icons": [ - { - "src": "/images/Logo192.png", - "sizes": "192x192", - "type": "images/png" - } - ], - "start_url": "/", - "display": "standalone" -} \ No newline at end of file diff --git a/dist/readme.txt b/dist/readme.txt new file mode 100644 index 0000000..10f6b13 --- /dev/null +++ b/dist/readme.txt @@ -0,0 +1 @@ +This folder is a placeholder for static files generated by the gulp task buildDist \ No newline at end of file diff --git a/dist/resources/data.min.js b/dist/resources/data.min.js deleted file mode 100644 index 27a4068..0000000 --- a/dist/resources/data.min.js +++ /dev/null @@ -1 +0,0 @@ -const TravelCities=[{Name:"Atlanta",Latitude:33.749,Longitude:-84.388,point:{x:50,y:86,wfo:"FFC"}},{Name:"Boston",Latitude:42.3584,Longitude:-71.0598,point:{x:71,y:90,wfo:"BOX"}},{Name:"Chicago",Latitude:41.9796,Longitude:-87.9045,point:{x:65,y:76,wfo:"LOT"}},{Name:"Cleveland",Latitude:41.4995,Longitude:-81.6954,point:{x:82,y:64,wfo:"CLE"}},{Name:"Dallas",Latitude:32.8959,Longitude:-97.0372,point:{x:79,y:108,wfo:"FWD"}},{Name:"Denver",Latitude:39.7391,Longitude:-104.9847,point:{x:62,y:60,wfo:"BOU"}},{Name:"Detroit",Latitude:42.3314,Longitude:-83.0457,point:{x:65,y:33,wfo:"DTX"}},{Name:"Hartford",Latitude:41.7637,Longitude:-72.6851,point:{x:21,y:54,wfo:"BOX"}},{Name:"Houston",Latitude:29.7633,Longitude:-95.3633,point:{x:65,y:97,wfo:"HGX"}},{Name:"Indianapolis",Latitude:39.7684,Longitude:-86.158,point:{x:57,y:68,wfo:"IND"}},{Name:"Los Angeles",Latitude:34.0522,Longitude:-118.2437,point:{x:154,y:44,wfo:"LOX"}},{Name:"Miami",Latitude:25.7743,Longitude:-80.1937,point:{x:109,y:50,wfo:"MFL"}},{Name:"Minneapolis",Latitude:44.98,Longitude:-93.2638,point:{x:107,y:71,wfo:"MPX"}},{Name:"New York",Latitude:40.7142,Longitude:-74.0059,point:{x:32,y:34,wfo:"OKX"}},{Name:"Norfolk",Latitude:36.8468,Longitude:-76.2852,point:{x:89,y:51,wfo:"AKQ"}},{Name:"Orlando",Latitude:28.5383,Longitude:-81.3792,point:{x:26,y:68,wfo:"MLB"}},{Name:"Philadelphia",Latitude:39.9523,Longitude:-75.1638,point:{x:49,y:75,wfo:"PHI"}},{Name:"Pittsburgh",Latitude:40.4406,Longitude:-79.9959,point:{x:77,y:65,wfo:"PBZ"}},{Name:"St. Louis",Latitude:38.6273,Longitude:-90.1979,point:{x:94,y:73,wfo:"LSX"}},{Name:"San Francisco",Latitude:37.7749,Longitude:-122.4194,point:{x:85,y:105,wfo:"MTR"}},{Name:"Seattle",Latitude:47.6062,Longitude:-122.3321,point:{x:124,y:67,wfo:"SEW"}},{Name:"Syracuse",Latitude:43.0481,Longitude:-76.1474,point:{x:51,y:98,wfo:"BGM"}},{Name:"Tampa",Latitude:27.9475,Longitude:-82.4584,point:{x:70,y:96,wfo:"TBW"}},{Name:"Washington DC",Latitude:38.8951,Longitude:-77.0364,point:{x:97,y:71,wfo:"LWX"}}],RegionalCities=[{city:"Atlanta",lat:33.749,lon:-84.388,point:{x:50,y:86,wfo:"FFC"}},{city:"Boston",lat:42.3584,lon:-71.0598,point:{x:71,y:90,wfo:"BOX"}},{city:"Chicago",lat:41.9796,lon:-87.9045,point:{x:65,y:76,wfo:"LOT"}},{city:"Cleveland",lat:41.4995,lon:-81.6954,point:{x:82,y:64,wfo:"CLE"}},{city:"Dallas",lat:32.8959,lon:-97.0372,point:{x:79,y:108,wfo:"FWD"}},{city:"Denver",lat:39.7391,lon:-104.9847,point:{x:62,y:60,wfo:"BOU"}},{city:"Detroit",lat:42.3314,lon:-83.0457,point:{x:65,y:33,wfo:"DTX"}},{city:"Hartford",lat:41.7637,lon:-72.6851,point:{x:21,y:54,wfo:"BOX"}},{city:"Houston",lat:29.7633,lon:-95.3633,point:{x:65,y:97,wfo:"HGX"}},{city:"Indianapolis",lat:39.7684,lon:-86.158,point:{x:57,y:68,wfo:"IND"}},{city:"Los Angeles",lat:34.0522,lon:-118.2437,point:{x:154,y:44,wfo:"LOX"}},{city:"Miami",lat:25.7743,lon:-80.1937,point:{x:109,y:50,wfo:"MFL"}},{city:"Minneapolis",lat:44.98,lon:-93.2638,point:{x:107,y:71,wfo:"MPX"}},{city:"New York",lat:40.78,lon:-73.88,point:{x:36,y:38,wfo:"OKX"}},{city:"Norfolk",lat:36.8468,lon:-76.2852,point:{x:89,y:51,wfo:"AKQ"}},{city:"Orlando",lat:28.5383,lon:-81.3792,point:{x:26,y:68,wfo:"MLB"}},{city:"Philadelphia",lat:39.9523,lon:-75.1638,point:{x:49,y:75,wfo:"PHI"}},{city:"Pittsburgh",lat:40.4406,lon:-79.9959,point:{x:77,y:65,wfo:"PBZ"}},{city:"St. Louis",lat:38.6273,lon:-90.1979,point:{x:94,y:73,wfo:"LSX"}},{city:"San Francisco",lat:37.6148,lon:-122.3918,point:{x:84,y:98,wfo:"MTR"}},{city:"Seattle",lat:47.6062,lon:-122.3321,point:{x:124,y:67,wfo:"SEW"}},{city:"Syracuse",lat:43.0481,lon:-76.1474,point:{x:51,y:98,wfo:"BGM"}},{city:"Tampa",lat:27.9756,lon:-82.5329,point:{x:67,y:97,wfo:"TBW"}},{city:"Washington DC",lat:38.8951,lon:-77.0364,point:{x:97,y:71,wfo:"LWX"}},{city:"Albany",lat:42.6526,lon:-73.7562,point:{x:58,y:58,wfo:"ALY"}},{city:"Albuquerque",lat:35.0845,lon:-106.6511,point:{x:97,y:118,wfo:"ABQ"}},{city:"Amarillo",lat:35.222,lon:-101.8313,point:{x:47,y:25,wfo:"AMA"}},{city:"Anchorage",lat:61.2181,lon:-149.9003,point:{x:125,y:236,wfo:"AER"}},{city:"Austin",lat:30.2671,lon:-97.7431,point:{x:155,y:90,wfo:"EWX"}},{city:"Baker",lat:44.7502,lon:-117.6677,point:{x:93,y:145,wfo:"BOI"}},{city:"Baltimore",lat:39.2904,lon:-76.6122,point:{x:109,y:91,wfo:"LWX"}},{city:"Bangor",lat:44.8012,lon:-68.7778,point:{x:72,y:62,wfo:"CAR"}},{city:"Birmingham",lat:33.5207,lon:-86.8025,point:{x:58,y:83,wfo:"BMX"}},{city:"Bismarck",lat:46.8083,lon:-100.7837,point:{x:109,y:46,wfo:"BIS"}},{city:"Boise",lat:43.6135,lon:-116.2034,point:{x:132,y:85,wfo:"BOI"}},{city:"Buffalo",lat:42.8864,lon:-78.8784,point:{x:35,y:46,wfo:"BUF"}},{city:"Carlsbad",lat:32.4207,lon:-104.2288,point:{x:44,y:156,wfo:"MAF"}},{city:"Charleston",lat:32.7766,lon:-79.9309,point:{x:86,y:76,wfo:"CHS"}},{city:"Charleston",lat:38.3498,lon:-81.6326,point:{x:62,y:66,wfo:"RLX"}},{city:"Charlotte",lat:35.2271,lon:-80.8431,point:{x:118,y:64,wfo:"GSP"}},{city:"Cheyenne",lat:41.14,lon:-104.8202,point:{x:109,y:13,wfo:"CYS"}},{city:"Cincinnati",lat:39.162,lon:-84.4569,point:{x:36,y:40,wfo:"ILN"}},{city:"Columbia",lat:34.0007,lon:-81.0348,point:{x:65,y:61,wfo:"CAE"}},{city:"Columbus",lat:39.9612,lon:-82.9988,point:{x:84,y:80,wfo:"ILN"}},{city:"Des Moines",lat:41.6005,lon:-93.6091,point:{x:73,y:49,wfo:"DMX"}},{city:"Dubuque",lat:42.5006,lon:-90.6646,point:{x:62,y:110,wfo:"DVN"}},{city:"Duluth",lat:46.7833,lon:-92.1066,point:{x:91,y:69,wfo:"DLH"}},{city:"Eastport",lat:44.9062,lon:-66.99,point:{x:129,y:79,wfo:"CAR"}},{city:"El Centro",lat:32.792,lon:-115.563,point:{x:26,y:46,wfo:"PSR"}},{city:"El Paso",lat:31.7587,lon:-106.4869,point:{x:99,y:55,wfo:"EPZ"}},{city:"Eugene",lat:44.0521,lon:-123.0867,point:{x:84,y:38,wfo:"PQR"}},{city:"Fargo",lat:46.8772,lon:-96.7898,point:{x:99,y:56,wfo:"FGF"}},{city:"Flagstaff",lat:35.1981,lon:-111.6513,point:{x:73,y:88,wfo:"FGZ"}},{city:"Fresno",lat:36.7477,lon:-119.7724,point:{x:53,y:100,wfo:"HNX"}},{city:"Grand Junction",lat:39.0639,lon:-108.5506,point:{x:94,y:101,wfo:"GJT"}},{city:"Grand Rapids",lat:42.9634,lon:-85.6681,point:{x:40,y:46,wfo:"GRR"}},{city:"Havre",lat:48.55,lon:-109.6841,point:{x:154,y:187,wfo:"TFX"}},{city:"Helena",lat:46.5927,lon:-112.0361,point:{x:68,y:103,wfo:"TFX"}},{city:"Honolulu",lat:21.3069,lon:-157.8583,point:{x:153,y:144,wfo:"HFO"}},{city:"Hot Springs",lat:34.5037,lon:-93.0552,point:{x:53,y:60,wfo:"LZK"}},{city:"Idaho Falls",lat:43.4666,lon:-112.0341,point:{x:115,y:72,wfo:"PIH"}},{city:"Jackson",lat:32.2988,lon:-90.1848,point:{x:75,y:62,wfo:"JAN"}},{city:"Jacksonville",lat:30.3322,lon:-81.6556,point:{x:65,y:64,wfo:"JAX"}},{city:"Juneau",lat:58.3019,lon:-134.4197,point:{x:194,y:163,wfo:"AJK"}},{city:"Kansas City",lat:39.1142,lon:-94.6275,point:{x:41,y:50,wfo:"EAX"}},{city:"Key West",lat:24.5557,lon:-81.7826,point:{x:61,y:47,wfo:"KEY"}},{city:"Klamath Falls",lat:42.2249,lon:-121.7817,point:{x:141,y:61,wfo:"MFR"}},{city:"Knoxville",lat:35.9606,lon:-83.9207,point:{x:71,y:51,wfo:"MRX"}},{city:"Las Vegas",lat:36.175,lon:-115.1372,point:{x:122,y:97,wfo:"VEF"}},{city:"Lewiston",lat:46.4165,lon:-117.0177,point:{x:144,y:30,wfo:"OTX"}},{city:"Lincoln",lat:40.8,lon:-96.667,point:{x:56,y:38,wfo:"OAX"}},{city:"Long Beach",lat:33.767,lon:-118.1892,point:{x:154,y:31,wfo:"LOX"}},{city:"Louisville",lat:38.2542,lon:-85.7594,point:{x:49,y:77,wfo:"LMK"}},{city:"Manchester",lat:42.9956,lon:-71.4548,point:{x:41,y:20,wfo:"GYX"}},{city:"Memphis",lat:35.1495,lon:-90.049,point:{x:41,y:66,wfo:"MEG"}},{city:"Milwaukee",lat:43.0389,lon:-87.9065,point:{x:87,y:64,wfo:"MKX"}},{city:"Mobile",lat:30.6944,lon:-88.043,point:{x:51,y:66,wfo:"MOB"}},{city:"Montgomery",lat:32.3668,lon:-86.3,point:{x:80,y:34,wfo:"BMX"}},{city:"Montpelier",lat:44.2601,lon:-72.5754,point:{x:110,y:49,wfo:"BTV"}},{city:"Nashville",lat:36.1659,lon:-86.7844,point:{x:49,y:56,wfo:"OHX"}},{city:"Newark",lat:40.7357,lon:-74.1724,point:{x:26,y:34,wfo:"OKX"}},{city:"New Haven",lat:41.3081,lon:-72.9282,point:{x:65,y:67,wfo:"OKX"}},{city:"New Orleans",lat:29.9546,lon:-90.0751,point:{x:68,y:88,wfo:"LIX"}},{city:"Nome",lat:64.5011,lon:-165.4064,point:{x:217,y:139,wfo:"AFG"}},{city:"Oklahoma City",lat:35.4676,lon:-97.5164,point:{x:97,y:93,wfo:"OUN"}},{city:"Omaha",lat:41.2586,lon:-95.9378,point:{x:82,y:59,wfo:"OAX"}},{city:"Phoenix",lat:33.4484,lon:-112.074,point:{x:158,y:57,wfo:"PSR"}},{city:"Pierre",lat:44.3683,lon:-100.351,point:{x:54,y:43,wfo:"ABR"}},{city:"Portland",lat:43.6615,lon:-70.2553,point:{x:75,y:58,wfo:"GYX"}},{city:"Portland",lat:45.5234,lon:-122.6762,point:{x:112,y:103,wfo:"PQR"}},{city:"Providence",lat:41.824,lon:-71.4128,point:{x:64,y:64,wfo:"BOX"}},{city:"Raleigh",lat:35.7721,lon:-78.6386,point:{x:74,y:56,wfo:"RAH"}},{city:"Reno",lat:39.4986,lon:-119.7681,point:{x:45,y:104,wfo:"REV"}},{city:"Richfield",lat:38.7725,lon:-112.0841,point:{x:81,y:86,wfo:"SLC"}},{city:"Richmond",lat:37.5538,lon:-77.4603,point:{x:44,y:76,wfo:"AKQ"}},{city:"Roanoke",lat:37.271,lon:-79.9414,point:{x:73,y:68,wfo:"RNK"}},{city:"Sacramento",lat:38.5816,lon:-121.4944,point:{x:40,y:67,wfo:"STO"}},{city:"Salt Lake City",lat:40.7608,lon:-111.891,point:{x:99,y:174,wfo:"SLC"}},{city:"San Antonio",lat:29.4241,lon:-98.4936,point:{x:125,y:53,wfo:"EWX"}},{city:"San Diego",lat:32.7153,lon:-117.1573,point:{x:56,y:13,wfo:"SGX"}},{city:"San Jose",lat:37.3394,lon:-121.895,point:{x:99,y:82,wfo:"MTR"}},{city:"Santa Fe",lat:35.687,lon:-105.9378,point:{x:125,y:143,wfo:"ABQ"}},{city:"Savannah",lat:32.0835,lon:-81.0998,point:{x:46,y:40,wfo:"CHS"}},{city:"Shreveport",lat:32.5251,lon:-93.7502,point:{x:76,y:69,wfo:"SHV"}},{city:"Sioux Falls",lat:43.55,lon:-96.7003,point:{x:99,y:65,wfo:"FSD"}},{city:"Sitka",lat:57.0531,lon:-135.33,point:{x:188,y:112,wfo:"AJK"}},{city:"Spokane",lat:47.6597,lon:-117.4291,point:{x:140,y:90,wfo:"OTX"}},{city:"Springfield",lat:39.8017,lon:-89.6437,point:{x:47,y:55,wfo:"ILX"}},{city:"Springfield",lat:42.1015,lon:-72.5898,point:{x:22,y:69,wfo:"BOX"}},{city:"Springfield",lat:37.2153,lon:-93.2982,point:{x:66,y:34,wfo:"SGF"}},{city:"Toledo",lat:41.6639,lon:-83.5552,point:{x:18,y:66,wfo:"CLE"}},{city:"Tulsa",lat:36.154,lon:-95.9928,point:{x:40,y:104,wfo:"TSA"}},{city:"Virginia Beach",lat:36.8529,lon:-75.978,point:{x:100,y:52,wfo:"AKQ"}},{city:"Wichita",lat:37.6922,lon:-97.3375,point:{x:61,y:33,wfo:"ICT"}},{city:"Wilmington",lat:34.2257,lon:-77.9447,point:{x:88,y:67,wfo:"ILM"}},{city:"Tuscan",lat:32.2216,lon:-110.9698,point:{x:90,y:48,wfo:"TWC"}}],StationInfo={KBID:{id:"KBID",city:"Block Island State Airport",state:"RI",lat:41.1694699,lon:-71.5787299},KOQU:{id:"KOQU",city:"N. Kingston / Quonset",state:"RI",lat:41.6,lon:-71.41667},KPVD:{id:"KPVD",city:"Providence, Theodore Francis Green State Airport",state:"RI",lat:41.72249,lon:-71.43247},KSFZ:{id:"KSFZ",city:"Pawtucket, North Central State Airport",state:"RI",lat:41.91667,lon:-71.5},KUUU:{id:"KUUU",city:"Newport, Newport State Airport",state:"RI",lat:41.53,lon:-71.28361},KWST:{id:"KWST",city:"Westerly, Westerly State Airport",state:"RI",lat:41.34972,lon:-71.79889},KBDL:{id:"KBDL",city:"Windsor Locks, Bradley International Airport",state:"CT",lat:41.93806,lon:-72.6825},KBDR:{id:"KBDR",city:"Bridgeport, Sikorsky Memorial Airport",state:"CT",lat:41.16421,lon:-73.12663},KDXR:{id:"KDXR",city:"Danbury, Danbury Municipal Airport",state:"CT",lat:41.37167,lon:-73.48444},KGON:{id:"KGON",city:"Groton / New London, Groton / New London Airport",state:"CT",lat:41.3275,lon:-72.04944},KHFD:{id:"KHFD",city:"Hartford, Hartford-Brainard Airport",state:"CT",lat:41.735,lon:-72.65167},KHVN:{id:"KHVN",city:"New Haven, Tweed-New Haven Airport",state:"CT",lat:41.26389,lon:-72.88722},KIJD:{id:"KIJD",city:"Willimantic, Windham Airport",state:"CT",lat:41.74194,lon:-72.18361},KMMK:{id:"KMMK",city:"Meriden, Meriden Markham Municipal Airport",state:"CT",lat:41.50972,lon:-72.82778},KOXC:{id:"KOXC",city:"Oxford, Waterbury-Oxford Airport",state:"CT",lat:41.48333,lon:-73.13333},KSNC:{id:"KSNC",city:"Chester, Chester Airport",state:"CT",lat:41.38389,lon:-72.50583},KBTV:{id:"KBTV",city:"Burlington, Burlington International Airport",state:"VT",lat:44.46806,lon:-73.15028},KCDA:{id:"KCDA",city:"Caledonia County Airport",state:"VT",lat:44.5691142,lon:-72.0179789},KDDH:{id:"KDDH",city:"Bennington Morse State Airport",state:"VT",lat:42.89355,lon:-73.2486},KEFK:{id:"KEFK",city:"Northeast Kingdom International Airport",state:"VT",lat:44.88846,lon:-72.23593},KFSO:{id:"KFSO",city:"Franklin County State Airport",state:"VT",lat:44.9402807,lon:-73.09746},KMPV:{id:"KMPV",city:"Barre / Montpelier, Knapp State Airport",state:"VT",lat:44.20472,lon:-72.56611},KMVL:{id:"KMVL",city:"Morrisville-Stowe State Airport",state:"VT",lat:44.53589,lon:-72.6162499},KRUT:{id:"KRUT",city:"Rutland-Southern Vermont Regional Airport",state:"VT",lat:43.53333,lon:-72.95},KVSF:{id:"KVSF",city:"Springfield, Hartness State Springfield Airport",state:"VT",lat:43.3425,lon:-72.52167},PHBK:{id:"PHBK",city:"Kekaha, Pacific Missile Test Facility Barking Sands",state:"HI",lat:22.03639,lon:-159.78639},PHHI:{id:"PHHI",city:"Wheeler Air Force Base / Oahu",state:"HI",lat:21.48333,lon:-158.03333},PHJH:{id:"PHJH",city:"Lahaina - West Maui",state:"HI",lat:20.9630699,lon:-156.67466},PHJR:{id:"PHJR",city:"Oahu, Kalaeloa Airport",state:"HI",lat:21.30833,lon:-158.06806},PHKO:{id:"PHKO",city:"Kailua / Kona, Keahole Airport",state:"HI",lat:19.74083,lon:-156.05056},PHLI:{id:"PHLI",city:"Lihue, Lihue Airport",state:"HI",lat:21.98389,lon:-159.3411099},PHMK:{id:"PHMK",city:"Kaunakakai, Molokai Airport",state:"HI",lat:21.15,lon:-157.1},PHNG:{id:"PHNG",city:"Kaneohe, Marine Corps Air Station",state:"HI",lat:21.45389,lon:-157.76556},PHNL:{id:"PHNL",city:"Daniel K Inouye International Airport",state:"HI",lat:21.3275,lon:-157.94306},PHNY:{id:"PHNY",city:"Lanai City, Lanai Airport",state:"HI",lat:20.78556,lon:-156.95139},PHOG:{id:"PHOG",city:"Kahului, Kahului Airport",state:"HI",lat:20.8924999,lon:-156.43694},PHSF:{id:"PHSF",city:"Bradshaw Army Air Field / Hawaii",state:"HI",lat:19.78333,lon:-155.55},PHTO:{id:"PHTO",city:"Hilo, Hilo International Airport",state:"HI",lat:19.72222,lon:-155.0558299},KADU:{id:"KADU",city:"Audubon, Audubon County Airport",state:"IA",lat:41.70111,lon:-94.92028},KAIO:{id:"KAIO",city:"Atlantic",state:"IA",lat:41.4,lon:-95.05},KALO:{id:"KALO",city:"Waterloo, Waterloo Municipal Airport",state:"IA",lat:42.55444,lon:-92.40111},KAMW:{id:"KAMW",city:"Ames, Ames Municipal Airport",state:"IA",lat:41.99056,lon:-93.6188899},KAWG:{id:"KAWG",city:"Washington",state:"IA",lat:41.28333,lon:-91.66667},KAXA:{id:"KAXA",city:"Algona",state:"IA",lat:43.0833299,lon:-94.26667},KBNW:{id:"KBNW",city:"Boone Municipal",state:"IA",lat:42.05,lon:-93.85},KBRL:{id:"KBRL",city:"Burlington Regional Airport",state:"IA",lat:40.77293,lon:-91.12543},KCAV:{id:"KCAV",city:"Clarion",state:"IA",lat:42.75,lon:-93.76667},KCBF:{id:"KCBF",city:"Council Bluffs",state:"IA",lat:41.2612499,lon:-95.7604},KCCY:{id:"KCCY",city:"Charles City",state:"IA",lat:43.06667,lon:-92.61667},KCID:{id:"KCID",city:"Cedar Rapids Airport",state:"IA",lat:41.88295,lon:-91.72456},KCIN:{id:"KCIN",city:"Carroll",state:"IA",lat:42.05,lon:-94.78333},KCKP:{id:"KCKP",city:"Cherokee, Cherokee Municipal Airport",state:"IA",lat:42.73167,lon:-95.55583},KCNC:{id:"KCNC",city:"Chariton",state:"IA",lat:41.03333,lon:-93.36667},KCSQ:{id:"KCSQ",city:"Creston Municipal Airport",state:"IA",lat:41.0188599,lon:-94.361},KCWI:{id:"KCWI",city:"Clinton Municipal Airport",state:"IA",lat:41.82954,lon:-90.33279},KDBQ:{id:"KDBQ",city:"Dubuque Regional Airport",state:"IA",lat:42.39837,lon:-90.7091},KDEH:{id:"KDEH",city:"Decorah",state:"IA",lat:43.28333,lon:-91.73333},KDNS:{id:"KDNS",city:"Denison",state:"IA",lat:41.98333,lon:-95.38333},KDSM:{id:"KDSM",city:"Des Moines International Airport",state:"IA",lat:41.53399,lon:-93.65307},KDVN:{id:"KDVN",city:"Davenport Municipal Airport",state:"IA",lat:41.61338,lon:-90.59479},KEBS:{id:"KEBS",city:"Webster City Municipal Airport",state:"IA",lat:42.43724,lon:-93.87237},KEOK:{id:"KEOK",city:"Keokuk Municipal Airport",state:"IA",lat:40.46149,lon:-91.42739},KEST:{id:"KEST",city:"Estherville, Estherville Municipal Airport",state:"IA",lat:43.40111,lon:-94.74722},KFFL:{id:"KFFL",city:"Fairfield Municipal Airport",state:"IA",lat:41.0521,lon:-91.98339},KFOD:{id:"KFOD",city:"Fort Dodge",state:"IA",lat:42.55,lon:-94.18333},KFSW:{id:"KFSW",city:"Fort Madison Municipal Airport",state:"IA",lat:40.66154,lon:-91.32672},KFXY:{id:"KFXY",city:"Forest City Municipal Airport",state:"IA",lat:43.235,lon:-93.624},KGGI:{id:"KGGI",city:"Grinnell Municipal Airfield",state:"IA",lat:41.7092,lon:-92.7349},KHNR:{id:"KHNR",city:"Harlan, Harlan Municipal Airport",state:"IA",lat:41.58444,lon:-95.33972},KHPT:{id:"KHPT",city:"Hampton Municipal Airport",state:"IA",lat:42.72369,lon:-93.22633},KICL:{id:"KICL",city:"Schenck Field Airport",state:"IA",lat:40.72421,lon:-95.02224},KIFA:{id:"KIFA",city:"Iowa Falls Municipal Airport",state:"IA",lat:42.4709999,lon:-93.27},KIIB:{id:"KIIB",city:"Independence, Independence Municipal Airport",state:"IA",lat:42.45,lon:-91.93333},KIKV:{id:"KIKV",city:"Ankeny Regional Airport",state:"IA",lat:41.68782,lon:-93.56944},KIOW:{id:"KIOW",city:"Iowa City Municipal Airport",state:"IA",lat:41.6394499,lon:-91.5445},KLRJ:{id:"KLRJ",city:"Le Mars Municipal Airport",state:"IA",lat:42.77478,lon:-96.19239},KLWD:{id:"KLWD",city:"Lamoni, Lamoni Municipal Airport",state:"IA",lat:40.63056,lon:-93.90083},KMCW:{id:"KMCW",city:"Mason City Municipal Airport",state:"IA",lat:43.15442,lon:-93.32607},KMIW:{id:"KMIW",city:"Marshalltown, Marshalltown Municipal Airport",state:"IA",lat:42.11056,lon:-92.91611},KMPZ:{id:"KMPZ",city:"Mount Pleasant, Mount Pleasant Municipal Airport",state:"IA",lat:40.94667,lon:-91.51111},KMUT:{id:"KMUT",city:"Muscatine",state:"IA",lat:41.36667,lon:-91.15},KMXO:{id:"KMXO",city:"Monticello Regional Airport",state:"IA",lat:42.22035,lon:-91.16041},KOLZ:{id:"KOLZ",city:"Oelwein Municipal Airport",state:"IA",lat:42.68316,lon:-91.97595},KOOA:{id:"KOOA",city:"Oskaloosa, Oskaloosa Municipal Airport",state:"IA",lat:41.22611,lon:-92.49361},KOTM:{id:"KOTM",city:"Ottumwa Regional Airport",state:"IA",lat:41.10082,lon:-92.4445099},KOXV:{id:"KOXV",city:"Knoxville",state:"IA",lat:41.3,lon:-93.11667},KPEA:{id:"KPEA",city:"Pella, Pella Municipal Airport",state:"IA",lat:41.4,lon:-92.93333},KPRO:{id:"KPRO",city:"Perry Municipal Airport",state:"IA",lat:41.828,lon:-94.1598999},KRDK:{id:"KRDK",city:"Red Oak",state:"IA",lat:41.01667,lon:-95.26667},KSDA:{id:"KSDA",city:"Shenandoah Municipal",state:"IA",lat:40.75,lon:-95.41667},KSHL:{id:"KSHL",city:"Sheldon",state:"IA",lat:43.21667,lon:-95.83333},KSLB:{id:"KSLB",city:"Storm Lake",state:"IA",lat:42.6,lon:-95.23333},KSPW:{id:"KSPW",city:"Spencer Municipal Airport",state:"IA",lat:43.16825,lon:-95.21008},KSUX:{id:"KSUX",city:"Sioux City, Sioux Gateway Airport",state:"IA",lat:42.4025,lon:-96.38444},KSXK:{id:"KSXK",city:"Sioux County Regional Airport",state:"IA",lat:42.98583,lon:-96.1614},KTNU:{id:"KTNU",city:"Newton Municipal Airport - Earl Johnson Field",state:"IA",lat:41.67014,lon:-93.01902},KTVK:{id:"KTVK",city:"Centerville Municipal Airport",state:"IA",lat:40.6839,lon:-92.901},KVTI:{id:"KVTI",city:"Vinton, Vinton Veterans Memorial Airpark Airport",state:"IA",lat:42.21861,lon:-92.02583},KAFK:{id:"KAFK",city:"Nebraska City, Nebraska City Municipal Airport",state:"NE",lat:40.6,lon:-95.85},KAHQ:{id:"KAHQ",city:"Wahoo",state:"NE",lat:41.2406,lon:-96.5946},KAIA:{id:"KAIA",city:"Alliance, Alliance Municipal Airport",state:"NE",lat:42.05722,lon:-102.8},KANW:{id:"KANW",city:"Ainsworth Regional Airport",state:"NE",lat:42.57484,lon:-99.99832},KAUH:{id:"KAUH",city:"Aurora, Aurora Municipal Airport",state:"NE",lat:40.89389,lon:-97.99444},KBBW:{id:"KBBW",city:"Broken Bow, Broken Bow Municipal Airport",state:"NE",lat:41.43333,lon:-99.65},KBFF:{id:"KBFF",city:"Scottsbluff, Heilig Field",state:"NE",lat:41.86694,lon:-103.58583},KBIE:{id:"KBIE",city:"Beatrice Municipal",state:"NE",lat:40.3,lon:-96.75},KBTA:{id:"KBTA",city:"Blair Municipal Airport",state:"NE",lat:41.4148,lon:-96.109},KBVN:{id:"KBVN",city:"Albion Municipal Airport",state:"NE",lat:41.73016,lon:-98.05453},KCDR:{id:"KCDR",city:"Chadron, Chadron Municipal Airport",state:"NE",lat:42.8375,lon:-103.09528},KEAR:{id:"KEAR",city:"Kearney, Kearney Municipal Airport",state:"NE",lat:40.73333,lon:-99},KFET:{id:"KFET",city:"Fremont Municipal Airport",state:"NE",lat:41.45,lon:-96.51667},KFNB:{id:"KFNB",city:"Falls City, Brenner Field Airport",state:"NE",lat:40.07889,lon:-95.5919399},KGRI:{id:"KGRI",city:"Grand Island, Central Nebraska Regional Airport",state:"NE",lat:40.9583299,lon:-98.3125},KGRN:{id:"KGRN",city:"Gordon Municipal",state:"NE",lat:42.8,lon:-102.16667},KHDE:{id:"KHDE",city:"Brewster Field Airport",state:"NE",lat:40.45,lon:-99.33333},KHJH:{id:"KHJH",city:"Hebron, Hebron Municipal Airport",state:"NE",lat:40.15222,lon:-97.58694},KHSI:{id:"KHSI",city:"Hastings, Hastings Municipal Airport",state:"NE",lat:40.60056,lon:-98.42583},KIBM:{id:"KIBM",city:"Kimball, Kimball Municipal Airport/Robert E Arraj Field",state:"NE",lat:41.18333,lon:-103.66667},KIML:{id:"KIML",city:"Imperial, Imperial Municipal Airport",state:"NE",lat:40.51667,lon:-101.61667},KJYR:{id:"KJYR",city:"York, York Municipal Airport",state:"NE",lat:40.89667,lon:-97.62278},KLBF:{id:"KLBF",city:"North Platte, North Platte Regional Airport",state:"NE",lat:41.12194,lon:-100.66833},KLCG:{id:"KLCG",city:"Wayne, Wayne Municipal Airport",state:"NE",lat:42.24167,lon:-96.98139},KLNK:{id:"KLNK",city:"Lincoln, Lincoln Municipal Airport",state:"NE",lat:40.83111,lon:-96.7644399},KLXN:{id:"KLXN",city:"Lexington, Jim Kelly Field Airport",state:"NE",lat:40.79111,lon:-99.77722},KMCK:{id:"KMCK",city:"McCook, McCook Municipal Airport",state:"NE",lat:40.20306,lon:-100.58833},KMLE:{id:"KMLE",city:"Omaha, Millard Airport",state:"NE",lat:41.19583,lon:-96.1122199},KODX:{id:"KODX",city:"Ord, Evelyn Sharp Field Airport",state:"NE",lat:41.62417,lon:-98.9525},KOFF:{id:"KOFF",city:"Omaha / Offutt Air Force Base",state:"NE",lat:41.11667,lon:-95.9},KOFK:{id:"KOFK",city:"Norfolk, Stefan Memorial Airport",state:"NE",lat:41.9805599,lon:-97.43694},KOGA:{id:"KOGA",city:"Ogallala, Searle Field Airport",state:"NE",lat:41.11972,lon:-101.76889},KOLU:{id:"KOLU",city:"Columbus, Columbus Municipal Airport",state:"NE",lat:41.45,lon:-97.33333},KOMA:{id:"KOMA",city:"Omaha - Eppley Airfield",state:"NE",lat:41.3119,lon:-95.90185},KONL:{id:"KONL",city:"O'Neill / Baker Field",state:"NE",lat:42.46667,lon:-98.68333},KPMV:{id:"KPMV",city:"Plattsmouth, Plattsmouth Municipal Airport",state:"NE",lat:40.95,lon:-95.9177799},KSNY:{id:"KSNY",city:"Sidney, Sidney Municipal Airport",state:"NE",lat:41.09944,lon:-102.98556},KTIF:{id:"KTIF",city:"Thedford, Thomas County Airport",state:"NE",lat:41.96194,lon:-100.56889},KTQE:{id:"KTQE",city:"Tekamah, Tekamah Municipal Airport",state:"NE",lat:41.76694,lon:-96.17778},KVTN:{id:"KVTN",city:"Valentine, Miller Field",state:"NE",lat:42.85861,lon:-100.55139},KDOV:{id:"KDOV",city:"Dover Air Force Base",state:"DE",lat:39.13333,lon:-75.4666699},KGED:{id:"KGED",city:"Georgetown - Delaware Coastal Airport",state:"DE",lat:38.68974,lon:-75.36245},KILG:{id:"KILG",city:"Wilmington, New Castle County Airport",state:"DE",lat:39.67442,lon:-75.60567},KBKW:{id:"KBKW",city:"Beckley, Raleigh County Memorial Airport",state:"WV",lat:37.795,lon:-81.12472},KBLF:{id:"KBLF",city:"Bluefield, Mercer County Airport",state:"WV",lat:37.29583,lon:-81.20778},KCBE:{id:"KCBE",city:"Cumberland, Greater Cumberland Regional Airport",state:"WV",lat:39.61528,lon:-78.76083},KCKB:{id:"KCKB",city:"Clarksburg, Clarksburg Benedum Airport",state:"WV",lat:39.3,lon:-80.22472},KCRW:{id:"KCRW",city:"Charleston, Yeager Airport",state:"WV",lat:38.37944,lon:-81.59139},KEKN:{id:"KEKN",city:"Elkins, Elkins-Randolph County-Jennings Randolph Field",state:"WV",lat:38.88528,lon:-79.85278},KHLG:{id:"KHLG",city:"Wheeling, Wheeling Ohio County Airport",state:"WV",lat:40.17028,lon:-80.64444},KHTS:{id:"KHTS",city:"Huntington, Tri-State Airport",state:"WV",lat:38.365,lon:-82.555},KLWB:{id:"KLWB",city:"Lewisburg / Greenbrier",state:"WV",lat:37.86667,lon:-80.4},KMGW:{id:"KMGW",city:"Morgantown Municipal-Hart Field",state:"WV",lat:39.64985,lon:-79.92065},KMRB:{id:"KMRB",city:"Eastern WV Regional Airport/Shepherd Field",state:"WV",lat:39.40372,lon:-77.975},KPKB:{id:"KPKB",city:"Parkersburg, Mid-Ohio Valley Regional Airport",state:"WV",lat:39.345,lon:-81.43917},KACQ:{id:"KACQ",city:"Waseca Municipal Airport",state:"MN",lat:44.07024,lon:-93.55342},KADC:{id:"KADC",city:"Wadena Municipal Airport",state:"MN",lat:46.45022,lon:-95.21353},KAEL:{id:"KAEL",city:"Albert Lea, Albert Lea Municipal Airport",state:"MN",lat:43.68333,lon:-93.36667},KAIT:{id:"KAIT",city:"Aitkin Municipal Airport - Steve Kurtz Field",state:"MN",lat:46.54899,lon:-93.67573},KANE:{id:"KANE",city:"Minneapolis / Blaine",state:"MN",lat:45.14258,lon:-93.21272},KAQP:{id:"KAQP",city:"Appleton Municipal Airport",state:"MN",lat:45.22488,lon:-96.00412},KACB:{id:"KACB",city:"Bellaire, Antrim County Airport",state:"MI",lat:44.98833,lon:-85.19833},KADG:{id:"KADG",city:"Adrian, Lenawee County Airport",state:"MI",lat:41.86778,lon:-84.07944},KAMN:{id:"KAMN",city:"Alma, Gratiot Community Airport",state:"MI",lat:43.32194,lon:-84.68778},KANJ:{id:"KANJ",city:"Sault Ste. Marie",state:"MI",lat:46.4794399,lon:-84.35722},KAPN:{id:"KAPN",city:"Alpena, Alpena County Regional Airport",state:"MI",lat:45.07167,lon:-83.56444},KARB:{id:"KARB",city:"Ann Arbor, Ann Arbor Municipal Airport",state:"MI",lat:42.22389,lon:-83.74},KAZO:{id:"KAZO",city:"Kalamazoo/Battle Creek International Airport",state:"MI",lat:42.2283,lon:-85.54595},KBAX:{id:"KBAX",city:"Huron County Memorial Airport",state:"MI",lat:43.77741,lon:-82.98271},KBEH:{id:"KBEH",city:"Southwest Michigan Regional Airport",state:"MI",lat:42.12896,lon:-86.41515},KBIV:{id:"KBIV",city:"Holland - West Michigan Regional Airport",state:"MI",lat:42.74611,lon:-86.09667},KBTL:{id:"KBTL",city:"Battle Creek Executive Airport",state:"MI",lat:42.31197,lon:-85.24144},KCAD:{id:"KCAD",city:"Wexford County Airport",state:"MI",lat:44.27847,lon:-85.4206899},KCFS:{id:"KCFS",city:"Caro, Tuscola Area Airport",state:"MI",lat:43.45861,lon:-83.44528},KCIU:{id:"KCIU",city:"Sault Ste Marie, Chippewa County International Airport",state:"MI",lat:46.25,lon:-84.4666699},KCMX:{id:"KCMX",city:"Houghton County Memorial Airport",state:"MI",lat:47.16597,lon:-88.48072},KCVX:{id:"KCVX",city:"Charlevoix, Charlevoix Municipal Airport",state:"MI",lat:45.30472,lon:-85.27472},KDET:{id:"KDET",city:"Coleman A Young Municipal Airport",state:"MI",lat:42.40729,lon:-83.00894},KDRM:{id:"KDRM",city:"Drummond Island Airport",state:"MI",lat:46.0072,lon:-83.7427},KDTW:{id:"KDTW",city:"Detroit, Detroit Metropolitan Wayne County Airport",state:"MI",lat:42.23139,lon:-83.33083},KDUH:{id:"KDUH",city:"Lambertville, Toledo Suburban Airport",state:"MI",lat:41.73583,lon:-83.65528},KERY:{id:"KERY",city:"Newberry, Luce County Airport",state:"MI",lat:46.31111,lon:-85.45722},KESC:{id:"KESC",city:"Delta County Airport",state:"MI",lat:45.7226799,lon:-87.09372},KFFX:{id:"KFFX",city:"Fremont Municipal Airport",state:"MI",lat:43.43933,lon:-85.9948299},KFKS:{id:"KFKS",city:"Frankfort, Frankfort Dow Memorial Field Airport",state:"MI",lat:44.625,lon:-86.20056},KFNT:{id:"KFNT",city:"Flint, Bishop International Airport",state:"MI",lat:42.96667,lon:-83.74944},KFPK:{id:"KFPK",city:"Charlotte, Fitch H Beach Airport",state:"MI",lat:42.57444,lon:-84.81139},KGLR:{id:"KGLR",city:"Gaylord Regional Airport",state:"MI",lat:45.01658,lon:-84.68937},KGOV:{id:"KGOV",city:"Grayling, Grayling Army Airfield",state:"MI",lat:44.68028,lon:-84.72889},KGRR:{id:"KGRR",city:"Grand Rapids, Gerald R. Ford International Airport",state:"MI",lat:42.88083,lon:-85.52278},KHAI:{id:"KHAI",city:"Haines Memorial Airport",state:"MI",lat:41.9598,lon:-85.5934},KHTL:{id:"KHTL",city:"Houghton Lake, Roscommon County Airport",state:"MI",lat:44.35111,lon:-84.67417},KABR:{id:"KABR",city:"Aberdeen, Aberdeen Regional Airport",state:"SD",lat:45.44333,lon:-98.41306},KAGZ:{id:"KAGZ",city:"WAGNERMUNC",state:"SD",lat:43.06332,lon:-98.29618},KATY:{id:"KATY",city:"Watertown, Watertown Municipal Airport",state:"SD",lat:44.90472,lon:-97.14944},KBKX:{id:"KBKX",city:"Brookings, Brookings Municipal Airport",state:"SD",lat:44.3,lon:-96.81667},KCUT:{id:"KCUT",city:"Custer, Custer County Airport",state:"SD",lat:43.73306,lon:-103.6175},KEFC:{id:"KEFC",city:"BELLEFCHE",state:"SD",lat:44.7342,lon:-103.86199},KFSD:{id:"KFSD",city:"Sioux Falls, Foss Field",state:"SD",lat:43.57694,lon:-96.75361},KHON:{id:"KHON",city:"Huron, Huron Regional Airport",state:"SD",lat:44.38806,lon:-98.22833},KICR:{id:"KICR",city:"Winner, Bob Wiley Field Airport",state:"SD",lat:43.39056,lon:-99.8425},KIEN:{id:"KIEN",city:"Pine Ridge, Pine Ridge Airport",state:"SD",lat:43.02556,lon:-102.52306},KLEM:{id:"KLEM",city:"LEMMON",state:"SD",lat:45.91869,lon:-102.10617},KMBG:{id:"KMBG",city:"Mobridge, Mobridge Municipal Airport",state:"SD",lat:45.55,lon:-100.40861},KMDS:{id:"KMDS",city:"Madison Municipal Airport",state:"SD",lat:44.0164147,lon:-97.0855992},KMHE:{id:"KMHE",city:"Mitchell, Mitchell Municipal Airport",state:"SD",lat:43.76667,lon:-98.03333},KMKA:{id:"KMKA",city:"MILLERMUNC",state:"SD",lat:44.5252399,lon:-98.95811},KPHP:{id:"KPHP",city:"Philip, Philip Airport",state:"SD",lat:44.05111,lon:-101.60111},KPIR:{id:"KPIR",city:"Pierre, Pierre Regional Airport",state:"SD",lat:44.3827799,lon:-100.28583},KRAP:{id:"KRAP",city:"Rapid City, Rapid City Regional Airport",state:"SD",lat:44.04556,lon:-103.05389},KRCA:{id:"KRCA",city:"Ellsworth Air Force Base",state:"SD",lat:44.15,lon:-103.1},KSPF:{id:"KSPF",city:"Spearfish / Clyde Ice",state:"SD",lat:44.48333,lon:-103.78333},KUNR:{id:"KUNR",city:"Rapid City/WFO",state:"SD",lat:44.0727,lon:-103.2108},KVMR:{id:"KVMR",city:"VERMILLION",state:"SD",lat:42.76528,lon:-96.93425},KYKN:{id:"KYKN",city:"Yankton, Chan Gurney Municipal Airport",state:"SD",lat:42.91667,lon:-97.38333},KALX:{id:"KALX",city:"Alexander City, Thomas C Russell Field Airport",state:"AL",lat:32.91472,lon:-85.96278},KANB:{id:"KANB",city:"Anniston Metro Airport",state:"AL",lat:33.59045,lon:-85.84789},KASN:{id:"KASN",city:"Talladega Municipal Airport",state:"AL",lat:33.5695,lon:-86.0512},KAUO:{id:"KAUO",city:"Auburn-Opelika Airport",state:"AL",lat:32.61667,lon:-85.43333},KBFM:{id:"KBFM",city:"Mobile, Mobile Downtown Airport",state:"AL",lat:30.61389,lon:-88.0633299},KBHM:{id:"KBHM",city:"Birmingham, Birmingham International Airport",state:"AL",lat:33.56556,lon:-86.745},KCMD:{id:"KCMD",city:"Cullman Regional Folsom Field",state:"AL",lat:34.2687,lon:-86.858},KCQF:{id:"KCQF",city:"Sonny Callahan Airport",state:"AL",lat:30.461,lon:-87.877},KDCU:{id:"KDCU",city:"Decatur, Pryor Field",state:"AL",lat:34.65806,lon:-86.94333},KDHN:{id:"KDHN",city:"Dothan, Dothan Regional Airport",state:"AL",lat:31.32139,lon:-85.44972},KDYA:{id:"KDYA",city:"Demopolis Municipal Airport",state:"AL",lat:32.4638,lon:-87.9541},KEDN:{id:"KEDN",city:"Enterprise Municipal Airport",state:"AL",lat:31.2982,lon:-85.9048},KEET:{id:"KEET",city:"Alabaster, Shelby County Airport",state:"AL",lat:33.17833,lon:-86.78167},KEKY:{id:"KEKY",city:"Bessemer Airport",state:"AL",lat:33.3126,lon:-86.9263},KEUF:{id:"KEUF",city:"Eufaula Municipal Airport",state:"AL",lat:31.951,lon:-85.129},KGAD:{id:"KGAD",city:"Gadsden, Gadsden Municipal Airport",state:"AL",lat:33.96667,lon:-86.08333},KGZH:{id:"KGZH",city:"Evergreen, Middleton Field",state:"AL",lat:31.41889,lon:-87.04806},KHEY:{id:"KHEY",city:"Hanchey AHP / Ozark",state:"AL",lat:31.35,lon:-85.66667},KHSV:{id:"KHSV",city:"Huntsville, Huntsville International / Jones Field",state:"AL",lat:34.64361,lon:-86.78556},KHUA:{id:"KHUA",city:"Redstone Airfield",state:"AL",lat:34.6786,lon:-86.6847},KJFX:{id:"KJFX",city:"Jasper Walker County Airport & Bevill Field",state:"AL",lat:33.902,lon:-87.31417},KJKA:{id:"KJKA",city:"Jack Edwards Airport",state:"AL",lat:30.2896,lon:-87.6718},KLOR:{id:"KLOR",city:"Fort Rucker, Lowe Army Heliport",state:"AL",lat:31.35889,lon:-85.74833},KMDQ:{id:"KMDQ",city:"Huntsville, Madison County Executive Airport",state:"AL",lat:34.86139,lon:-86.55722},KMGM:{id:"KMGM",city:"Montgomery, Dannelly Field",state:"AL",lat:32.30028,lon:-86.40611},KMOB:{id:"KMOB",city:"Mobile, Mobile Regional Airport",state:"AL",lat:30.68833,lon:-88.24556},KMSL:{id:"KMSL",city:"Muscle Shoals, North West Alabama Regional Airport",state:"AL",lat:34.74389,lon:-87.59944},KMXF:{id:"KMXF",city:"Maxwell Air Force Base / Montgomery",state:"AL",lat:32.38333,lon:-86.36667},KOZR:{id:"KOZR",city:"Cairns Army Air Field / Ozark",state:"AL",lat:31.27672,lon:-85.71099},KPLR:{id:"KPLR",city:"St Clair County Airport",state:"AL",lat:33.5588,lon:-86.2491},KPRN:{id:"KPRN",city:"Mac Crenshaw Memorial Airport",state:"AL",lat:31.8457,lon:-86.6107},KSCD:{id:"KSCD",city:"Merkel Field Sylacauga Municipal Airport",state:"AL",lat:33.1718,lon:-86.3055},KSEM:{id:"KSEM",city:"Craig Field / Selma",state:"AL",lat:32.35,lon:-86.98333},KSXS:{id:"KSXS",city:"SCHELL AHP",state:"AL",lat:31.35,lon:-85.85},KTCL:{id:"KTCL",city:"Tuscaloosa Regional Airport",state:"AL",lat:33.21215,lon:-87.61554},KTOI:{id:"KTOI",city:"Troy, Troy Municipal Airport",state:"AL",lat:31.86056,lon:-86.01222},KAFN:{id:"KAFN",city:"Jaffrey Airport-Silver Ranch",state:"NH",lat:42.8066699,lon:-72.00127},KASH:{id:"KASH",city:"Nashua - Boire Field Airport",state:"NH",lat:42.77981,lon:-71.51409},KBML:{id:"KBML",city:"Berlin, Berlin Municipal Airport",state:"NH",lat:44.57611,lon:-71.17861},KCON:{id:"KCON",city:"Concord Municipal Airport",state:"NH",lat:43.20489,lon:-71.50257},KDAW:{id:"KDAW",city:"Rochester - Skyhaven Airport",state:"NH",lat:43.27939,lon:-70.92426},KEEN:{id:"KEEN",city:"Keene, Dillant-Hopkins Airport",state:"NH",lat:42.9,lon:-72.26667},KHIE:{id:"KHIE",city:"Whitefield - Mount Washington Regional Airport",state:"NH",lat:44.36595,lon:-71.55218},KLCI:{id:"KLCI",city:"Laconia, Laconia Municipal Airport",state:"NH",lat:43.56667,lon:-71.41667},KLEB:{id:"KLEB",city:"Lebanon Municipal Airport",state:"NH",lat:43.6271,lon:-72.30537},KMHT:{id:"KMHT",city:"Manchester Airport",state:"NH",lat:42.92964,lon:-71.43559},KMWN:{id:"KMWN",city:"Mount Washington",state:"NH",lat:44.27086,lon:-71.30337},KPSM:{id:"KPSM",city:"Pease Air Force Base / Portsmouth",state:"NH",lat:43.0833299,lon:-70.81667},KAIZ:{id:"KAIZ",city:"Kaiser Lake Ozark, Lee C Fine Memorial Airport",state:"MO",lat:38.1,lon:-92.55},KBBG:{id:"KBBG",city:"Branson",state:"MO",lat:36.5321,lon:-93.2005},KCDJ:{id:"KCDJ",city:"Chillicothe, Chillicothe Agri-Science Center",state:"MO",lat:39.81667,lon:-93.58333},KCGI:{id:"KCGI",city:"Cape Girardeau, Cape Girardeau Regional Airport",state:"MO",lat:37.22556,lon:-89.5783299},KCOU:{id:"KCOU",city:"Columbia, Columbia Regional Airport",state:"MO",lat:38.81694,lon:-92.21833},KDMO:{id:"KDMO",city:"Sedalia, Sedalia Memorial Airport",state:"MO",lat:38.71222,lon:-93.17444},KEOS:{id:"KEOS",city:"NEOSHOAIRPORT",state:"MO",lat:36.8108,lon:-94.39169},KEVU:{id:"KEVU",city:"Maryville Northwest Missouri Regional Airport",state:"MO",lat:40.3525,lon:-94.915},KEZZ:{id:"KEZZ",city:"Cameron Memorial Airport",state:"MO",lat:39.7275599,lon:-94.27639},KFAM:{id:"KFAM",city:"Farmington Airport",state:"MO",lat:37.76667,lon:-90.43333},KFWB:{id:"KFWB",city:"Branson West Muni - Emerson Field",state:"MO",lat:36.6985,lon:-93.4021999},KFYG:{id:"KFYG",city:"Washington Regional Airport",state:"MO",lat:38.5876,lon:-90.9937999},KBGF:{id:"KBGF",city:"Winchester Municipal Airport",state:"TN",lat:35.1775,lon:-86.0662},KBNA:{id:"KBNA",city:"Nashville, Nashville International Airport",state:"TN",lat:36.11889,lon:-86.68917},KCHA:{id:"KCHA",city:"Chattanooga, Lovell Field",state:"TN",lat:35.03333,lon:-85.2},KCKV:{id:"KCKV",city:"Clarksville Outlaw Field",state:"TN",lat:36.61689,lon:-87.41174},KCSV:{id:"KCSV",city:"Crossville, Crossville Memorial-Whitson Field Airport",state:"TN",lat:35.95139,lon:-85.0849999},KDKX:{id:"KDKX",city:"Knoxville Downtown Airport",state:"TN",lat:35.96581,lon:-83.87169},KDYR:{id:"KDYR",city:"Dyersburg, Dyersburg Municipal Airport",state:"TN",lat:36,lon:-89.4},KFYE:{id:"KFYE",city:"Somerville - Fayette County Airport",state:"TN",lat:35.2061,lon:-89.3929},KFYM:{id:"KFYM",city:"Fayetteville Municipal Airport",state:"TN",lat:35.0597,lon:-86.5639999},KGCY:{id:"KGCY",city:"Greeneville-Greene County Municipal Airport",state:"TN",lat:36.19601,lon:-82.81099},KGKT:{id:"KGKT",city:"Sevierville Gatlinburg - Pigeon Forge Airport",state:"TN",lat:35.85681,lon:-83.53334},KGZS:{id:"KGZS",city:"Pulaski Abernathy Field Airport",state:"TN",lat:35.1537,lon:-87.0568},KHZD:{id:"KHZD",city:"Huntingdon Carroll County Airport",state:"TN",lat:36.08896,lon:-88.46538},KJAU:{id:"KJAU",city:"Jacksboro Campbell County Airport",state:"TN",lat:36.3341,lon:-84.163},KJWN:{id:"KJWN",city:"John C Tune Airport",state:"TN",lat:36.18521,lon:-86.88331},KLUG:{id:"KLUG",city:"Ellington Airport",state:"TN",lat:35.50697,lon:-86.80389},KMBT:{id:"KMBT",city:"Murfreesboro Municipal Airport",state:"TN",lat:35.87866,lon:-86.37749},KMEG:{id:"KMEG",city:"Memphis WFO",state:"TN",lat:35.0563999,lon:-89.9863},KMEM:{id:"KMEM",city:"Memphis International Airport",state:"TN",lat:35.05644,lon:-89.98634},KMKL:{id:"KMKL",city:"Jackson, McKellar-Sipes Regional Airport",state:"TN",lat:35.59306,lon:-88.91667},KMMI:{id:"KMMI",city:"Athens McMinn County Airport",state:"TN",lat:35.3973,lon:-84.5626},KMNV:{id:"KMNV",city:"Monroe County Airport",state:"TN",lat:35.54522,lon:-84.38039},KMOR:{id:"KMOR",city:"Morristown Moore-Murrell Airport",state:"TN",lat:36.1794,lon:-83.3754},KMQY:{id:"KMQY",city:"Smyrna, Smyrna Airport",state:"TN",lat:36.00889,lon:-86.52},KMRC:{id:"KMRC",city:"Columbia / Maury County",state:"TN",lat:35.55,lon:-87.18333},KNQA:{id:"KNQA",city:"Millington, Millington Municipal Airport",state:"TN",lat:35.35667,lon:-89.8702799},KOQT:{id:"KOQT",city:"Oak Ridge",state:"TN",lat:36.02278,lon:-84.23333},KPHT:{id:"KPHT",city:"Paris - Henry County Airport",state:"TN",lat:36.34,lon:-88.38},KPVE:{id:"KPVE",city:"Lexington-Parsons Beech River Regional Airport",state:"TN",lat:35.6564,lon:-88.1954},KRKW:{id:"KRKW",city:"Rockwood Municipal Airport",state:"TN",lat:35.92501,lon:-84.691},KRNC:{id:"KRNC",city:"McMinnville Warren County Memorial Airport",state:"TN",lat:35.6991,lon:-85.8402},KSCX:{id:"KSCX",city:"Scott Municipal Airport",state:"TN",lat:36.45569,lon:-84.58575},KSNH:{id:"KSNH",city:"SAVANNAH/HARDIN CO",state:"TN",lat:35.17,lon:-88.22},KSRB:{id:"KSRB",city:"Sparta Upper Cumberland Regional Airport",state:"TN",lat:36.0559,lon:-85.5307},KSYI:{id:"KSYI",city:"Shelbyville Bomar Field & Shelbyville Municipal Airport",state:"TN",lat:35.5593999,lon:-86.4425},KTHA:{id:"KTHA",city:"Tullahoma Regional Airport/William Northern Field",state:"TN",lat:35.38,lon:-86.2467},KTRI:{id:"KTRI",city:"Bristol / Johnson / Kingsport, Tri-City Regional Airport",state:"TN",lat:36.47972,lon:-82.39889},KTYS:{id:"KTYS",city:"Knoxville, McGhee Tyson Airport",state:"TN",lat:35.81806,lon:-83.98583},KUCY:{id:"KUCY",city:"Union City - Everett-Stewart Regional Airport",state:"TN",lat:36.38,lon:-88.98},KXNX:{id:"KXNX",city:"Sumner County Regional Airport",state:"TN",lat:36.3750799,lon:-86.40842},KBAC:{id:"KBAC",city:"Valley City",state:"ND",lat:46.9412,lon:-98.018},KBIS:{id:"KBIS",city:"Bismarck, Bismarck Municipal Airport",state:"ND",lat:46.7825,lon:-100.75722},KBWP:{id:"KBWP",city:"Wahpeton, Harry Stern Airport",state:"ND",lat:46.24389,lon:-96.60722},KBWW:{id:"KBWW",city:"Bowman Regional Airport",state:"ND",lat:46.16551,lon:-103.30074},KDIK:{id:"KDIK",city:"Dickinson, Dickinson Municipal Airport",state:"ND",lat:46.79722,lon:-102.80194},KDVL:{id:"KDVL",city:"Devils Lake, Devils Lake Municipal Airport",state:"ND",lat:48.11667,lon:-98.91667},KFAR:{id:"KFAR",city:"Fargo, Hector International Airport",state:"ND",lat:46.92528,lon:-96.81111},KGAF:{id:"KGAF",city:"GRAFTON",state:"ND",lat:48.4,lon:-97.37},KGFK:{id:"KGFK",city:"Grand Forks, Grand Forks International Airport",state:"ND",lat:47.94806,lon:-97.1825},KGWR:{id:"KGWR",city:"Gwinner",state:"ND",lat:46.2187,lon:-97.6435},KHEI:{id:"KHEI",city:"Hettinger, Hettinger Municipal Airport",state:"ND",lat:46.01056,lon:-102.64972},KHZE:{id:"KHZE",city:"HAZEN",state:"ND",lat:47.28,lon:-101.58},KJMS:{id:"KJMS",city:"Jamestown, Jamestown Municipal Airport",state:"ND",lat:46.92972,lon:-98.67833},KMIB:{id:"KMIB",city:"Minot Air Force Base",state:"ND",lat:48.41667,lon:-101.35},KMOT:{id:"KMOT",city:"Minot International Airport",state:"ND",lat:48.25203,lon:-101.2689},KRDR:{id:"KRDR",city:"Grand Forks Air Force Base",state:"ND",lat:47.96667,lon:-97.4},KRUG:{id:"KRUG",city:"RUGBY",state:"ND",lat:48.38,lon:-100.02},KXWA:{id:"KXWA",city:"Williston Basin International Airport",state:"ND",lat:48.26086,lon:-103.75114},KACK:{id:"KACK",city:"Nantucket, Nantucket Memorial Airport",state:"MA",lat:41.25389,lon:-70.05972},KAQW:{id:"KAQW",city:"North Adams Harriman-and-West Airport",state:"MA",lat:42.69731,lon:-73.16955},KBAF:{id:"KBAF",city:"Westfield, Barnes Municipal Airport",state:"MA",lat:42.15972,lon:-72.71278},KBED:{id:"KBED",city:"Laurence G Hanscom Field Airport",state:"MA",lat:42.46811,lon:-71.29463},KBOS:{id:"KBOS",city:"Boston, Logan International Airport",state:"MA",lat:42.36056,lon:-71.01056},KBVY:{id:"KBVY",city:"Beverly, Beverly Municipal Airport",state:"MA",lat:42.58361,lon:-70.91639},KCEF:{id:"KCEF",city:"Chicopee Falls / Westover Air Force Base",state:"MA",lat:42.2,lon:-72.53333},KCQX:{id:"KCQX",city:"Chatham, Chatham Municipal Airport",state:"MA",lat:41.6875,lon:-69.99333},KEWB:{id:"KEWB",city:"New Bedford, New Bedford Regional Airport",state:"MA",lat:41.67528,lon:-70.95694},KFIT:{id:"KFIT",city:"Fitchburg, Fitchburg Municipal Airport",state:"MA",lat:42.55194,lon:-71.75583},KFMH:{id:"KFMH",city:"Otis Air National Guard Base",state:"MA",lat:41.65,lon:-70.51667},KGHG:{id:"KGHG",city:"Marshfield Airport",state:"MA",lat:42.0983,lon:-70.6722},KHYA:{id:"KHYA",city:"Hyannis, Barnstable Municipal-Boardman Airport",state:"MA",lat:41.67194,lon:-70.26972},KLWM:{id:"KLWM",city:"Lawrence Municipal Airport",state:"MA",lat:42.7126,lon:-71.12553},KMVY:{id:"KMVY",city:"Marthas Vineyard Airport",state:"MA",lat:41.39298,lon:-70.61588},KORE:{id:"KORE",city:"Orange Municipal Airport",state:"MA",lat:42.57,lon:-72.28693},KORH:{id:"KORH",city:"Worcester, Worcester Regional Airport",state:"MA",lat:42.27056,lon:-71.87306},KOWD:{id:"KOWD",city:"Norwood, Norwood Memorial Airport",state:"MA",lat:42.19083,lon:-71.17389},KPSF:{id:"KPSF",city:"Pittsfield Municipal Airport",state:"MA",lat:42.42691,lon:-73.28897},KPVC:{id:"KPVC",city:"Provincetown Municipal Airport",state:"MA",lat:42.07436,lon:-70.21816},KPYM:{id:"KPYM",city:"Plymouth, Plymouth Municipal Airport",state:"MA",lat:41.90861,lon:-70.72806},KTAN:{id:"KTAN",city:"Taunton, Taunton Municipal Airport",state:"MA",lat:41.87556,lon:-71.0211099},KACY:{id:"KACY",city:"Atlantic City, Atlantic City International Airport",state:"NJ",lat:39.45202,lon:-74.56699},KBLM:{id:"KBLM",city:"Belmar-Farmingdale",state:"NJ",lat:40.18333,lon:-74.13333},KCDW:{id:"KCDW",city:"Caldwell, Essex County Airport",state:"NJ",lat:40.87639,lon:-74.28306},KEWR:{id:"KEWR",city:"Newark, Newark International Airport",state:"NJ",lat:40.6825,lon:-74.16944},KFWN:{id:"KFWN",city:"Sussex, Sussex Airport",state:"NJ",lat:41.19925,lon:-74.62594},KLDJ:{id:"KLDJ",city:"Linden Airport",state:"NJ",lat:40.6174,lon:-74.2446},KMIV:{id:"KMIV",city:"Millville, Millville Municipal Airport",state:"NJ",lat:39.36623,lon:-75.0778},KMJX:{id:"KMJX",city:"Miller Air Park",state:"NJ",lat:39.927,lon:-74.292},KMMU:{id:"KMMU",city:"Morristown Municipal",state:"NJ",lat:40.8,lon:-74.41667},KNEL:{id:"KNEL",city:"Lakehurst Naval Air Station",state:"NJ",lat:40.03661,lon:-74.35251},KSMQ:{id:"KSMQ",city:"Somerville, Somerset Airport",state:"NJ",lat:40.6240499,lon:-74.66898},KTEB:{id:"KTEB",city:"Teterboro, Teterboro Airport",state:"NJ",lat:40.85889,lon:-74.05667},KTTN:{id:"KTTN",city:"Trenton, Mercer County Airport",state:"NJ",lat:40.27639,lon:-74.81639},KVAY:{id:"KVAY",city:"Mount Holly, South Jersey Regional Airport",state:"NJ",lat:39.94076,lon:-74.84071},KWRI:{id:"KWRI",city:"Mcguire Air Force Base",state:"NJ",lat:40.01667,lon:-74.6},KWWD:{id:"KWWD",city:"Wildwood, Cape May County Airport",state:"NJ",lat:39.01667,lon:-74.91667},KADW:{id:"KADW",city:"Camp Springs / Andrews Air Force Base",state:"MD",lat:38.81667,lon:-76.85},KANP:{id:"KANP",city:"LEEAIRPORT",state:"MD",lat:38.94287,lon:-76.5683899},KAPG:{id:"KAPG",city:"Phillips Army Air Field / Aberdeen",state:"MD",lat:39.46667,lon:-76.16667},KBWI:{id:"KBWI",city:"Baltimore, Baltimore-Washington International Airport",state:"MD",lat:39.17329,lon:-76.68404},KCGE:{id:"KCGE",city:"Cambridge-Dorchester Airport",state:"MD",lat:38.5393,lon:-76.0304},KCGS:{id:"KCGS",city:"College Park Airport",state:"MD",lat:38.9806,lon:-76.9223},KDMW:{id:"KDMW",city:"Carroll County Regional Jack B Poage Field",state:"MD",lat:39.6083,lon:-77.0077},KEDG:{id:"KEDG",city:"WEIDE",state:"MD",lat:39.39205,lon:-76.29106},KESN:{id:"KESN",city:"Easton / Newman Field",state:"MD",lat:38.8,lon:-76.06667},KFDK:{id:"KFDK",city:"Frederick Municipal Airport",state:"MD",lat:39.41775,lon:-77.36982},KFME:{id:"KFME",city:"Fort Meade / Tipton",state:"MD",lat:39.0833299,lon:-76.76667},KGAI:{id:"KGAI",city:"Gaithersburg - Montgomery County Airport",state:"MD",lat:39.16957,lon:-77.16551},KHGR:{id:"KHGR",city:"Hagerstown, Washington County Regional Airport",state:"MD",lat:39.70583,lon:-77.73},KMTN:{id:"KMTN",city:"Baltimore / Martin",state:"MD",lat:39.3333299,lon:-76.41667},KNAK:{id:"KNAK",city:"Annapolis, United States Naval Academy",state:"MD",lat:38.99125,lon:-76.48907},KNHK:{id:"KNHK",city:"Patuxent River, Naval Air Station",state:"MD",lat:38.27861,lon:-76.41389},KNUI:{id:"KNUI",city:"St. Inigoes, Webster Field, Naval Electronic Systems Engineering Activity",state:"MD",lat:38.14889,lon:-76.42},KOXB:{id:"KOXB",city:"Ocean City, Ocean City Municipal Airport",state:"MD",lat:38.31056,lon:-75.12389},KRSP:{id:"KRSP",city:"Camp David",state:"MD",lat:39.645,lon:-77.468},KSBY:{id:"KSBY",city:"Salisbury, Salisbury-Ocean City Wicomico County Regional Airport",state:"MD",lat:38.34056,lon:-75.51028},KVKX:{id:"KVKX",city:"POTOMAC",state:"MD",lat:38.74761,lon:-76.95719},KAIK:{id:"KAIK",city:"Aiken Municipal Airport",state:"SC",lat:33.649,lon:-81.685},KAND:{id:"KAND",city:"Anderson, Anderson County Airport",state:"SC",lat:34.49778,lon:-82.70972},KAQX:{id:"KAQX",city:"Allendale County Airport",state:"SC",lat:32.9951,lon:-81.2703},KARW:{id:"KARW",city:"Beaufort County Airport",state:"SC",lat:32.412,lon:-80.634},KBBP:{id:"KBBP",city:"Marlboro County Jetport",state:"SC",lat:34.622,lon:-79.734},KBNL:{id:"KBNL",city:"Barnwell Regional Airport",state:"SC",lat:33.258,lon:-81.388},KCAE:{id:"KCAE",city:"Columbia, Columbia Metropolitan Airport",state:"SC",lat:33.94194,lon:-81.11806},KCDN:{id:"KCDN",city:"Camden Woodward Field",state:"SC",lat:34.284,lon:-80.565},KCEU:{id:"KCEU",city:"Clemson, Clemson-Oconee County Airport",state:"SC",lat:34.67222,lon:-82.88139},KCHS:{id:"KCHS",city:"Charleston, Charleston Air Force Base",state:"SC",lat:32.89889,lon:-80.04056},KCKI:{id:"KCKI",city:"Kingstree Williamsburg Regional Airport",state:"SC",lat:33.717,lon:-79.857},KCQW:{id:"KCQW",city:"Cheraw Municipal Lynch Bellinger Field",state:"SC",lat:34.713,lon:-79.9569999},KCRE:{id:"KCRE",city:"North Myrtle Beach Grand Strand Airport",state:"SC",lat:33.81619,lon:-78.7204299},KCUB:{id:"KCUB",city:"Columbia - Jim Hamilton L.B. Owens Airport",state:"SC",lat:33.97083,lon:-80.99444},KDCM:{id:"KDCM",city:"Chester Catawba Regional Airport",state:"SC",lat:34.789,lon:-81.196},KDYB:{id:"KDYB",city:"Summerville Airport",state:"SC",lat:33.063,lon:-80.279},KEOE:{id:"KEOE",city:"Newberry County Airport",state:"SC",lat:34.309,lon:-81.64},KFDW:{id:"KFDW",city:"Winnsboro/Fairfield County Airport",state:"SC",lat:34.315,lon:-81.109},KFLO:{id:"KFLO",city:"Florence - Florence Regional Airport",state:"SC",lat:34.1877799,lon:-79.73083},KGGE:{id:"KGGE",city:"Georgetown County Airport ",state:"SC",lat:33.3117,lon:-79.3196},KGMU:{id:"KGMU",city:"Greenville Downtown Airport",state:"SC",lat:34.84873,lon:-82.35004},KGRD:{id:"KGRD",city:"Greenwood, Greenwood County Airport",state:"SC",lat:34.24722,lon:-82.15472},KGSP:{id:"KGSP",city:"Greer, Greenville-Spartanburg Airport",state:"SC",lat:34.88389,lon:-82.22083},KGYH:{id:"KGYH",city:"Greenville-Donaldson Center Airport",state:"SC",lat:34.7583,lon:-82.3764},KHVS:{id:"KHVS",city:"Hartsville Regional Airport",state:"SC",lat:34.403,lon:-80.119},KHXD:{id:"KHXD",city:"Hilton Head Island, Hilton Head Airport",state:"SC",lat:32.21667,lon:-80.7},KHYW:{id:"KHYW",city:"Conway Horry County Airport",state:"SC",lat:33.829,lon:-79.122},KJZI:{id:"KJZI",city:"Charleston Executive Airport",state:"SC",lat:32.701,lon:-80.003},KLKR:{id:"KLKR",city:"Lancaster County-mc Whirter Field",state:"SC",lat:34.723,lon:-80.855},KLQK:{id:"KLQK",city:"Pickens County Airport",state:"SC",lat:34.80997,lon:-82.70289},KLRO:{id:"KLRO",city:"Mount Pleasant Regional-Faison Field",state:"SC",lat:32.898,lon:-79.783},KLUX:{id:"KLUX",city:"Laurens County Airport",state:"SC",lat:34.507,lon:-81.947},KMAO:{id:"KMAO",city:"Marion County Airport",state:"SC",lat:34.181,lon:-79.3349999},KMKS:{id:"KMKS",city:"Moncks Corner Berkeley County",state:"SC",lat:33.1855,lon:-80.0361999},KMMT:{id:"KMMT",city:"McEntire Air National Guard Weather Facility Base",state:"SC",lat:33.91667,lon:-80.8},KMNI:{id:"KMNI",city:"Manning / Cooper Regional",state:"SC",lat:33.5833299,lon:-80.2166699},KMYR:{id:"KMYR",city:"Myrtle Beach International Airport",state:"SC",lat:33.67975,lon:-78.92833},KNBC:{id:"KNBC",city:"Beaufort, Marine Corps Air Station",state:"SC",lat:32.4936099,lon:-80.7030599},KOGB:{id:"KOGB",city:"Orangeburg, Orangeburg Municipal Airport",state:"SC",lat:33.46389,lon:-80.85361},KRBW:{id:"KRBW",city:"Walterboro Lowcountry Regional Airport",state:"SC",lat:32.921,lon:-80.641},KSMS:{id:"KSMS",city:"Sumter Airport",state:"SC",lat:33.995,lon:-80.361},KSPA:{id:"KSPA",city:"Spartanburg Memorial",state:"SC",lat:34.91667,lon:-81.95},KSSC:{id:"KSSC",city:"Shaw Air Force Base",state:"SC",lat:33.96667,lon:-80.48333},KUDG:{id:"KUDG",city:"Darlington, Darlington County Jetport Airport",state:"SC",lat:34.44917,lon:-79.89028},KUZA:{id:"KUZA",city:"Rock Hill, Rock Hill - York County Airport",state:"SC",lat:34.98389,lon:-81.05583},KXNO:{id:"KXNO",city:"North Air Force Auxiliary Field",state:"SC",lat:33.60949,lon:-81.08118},KAUG:{id:"KAUG",city:"Augusta, Augusta State Airport",state:"ME",lat:44.32056,lon:-69.79722},KBGR:{id:"KBGR",city:"Bangor, Bangor International Airport",state:"ME",lat:44.79722,lon:-68.81861},KBHB:{id:"KBHB",city:"Bar Harbor, Hancock County-Bar Harbor Airport",state:"ME",lat:44.45,lon:-68.36667},KBXM:{id:"KBXM",city:"BRUNSWICK",state:"ME",lat:43.8923599,lon:-69.93883},KCAR:{id:"KCAR",city:"Caribou, Caribou Municipal Airport",state:"ME",lat:46.86722,lon:-68.01333},KFVE:{id:"KFVE",city:"Frenchville, Northern Aroostook Regional Airport",state:"ME",lat:47.2849999,lon:-68.30722},KGNR:{id:"KGNR",city:"Greenville",state:"ME",lat:45.4646199,lon:-69.5538},KHUL:{id:"KHUL",city:"Houlton, Houlton International Airport",state:"ME",lat:46.12306,lon:-67.79194},KIWI:{id:"KIWI",city:"Wiscasset Airport",state:"ME",lat:43.96401,lon:-69.7107599},KIZG:{id:"KIZG",city:"Fryeburg, Eastern Slopes Regional Airport",state:"ME",lat:43.98917,lon:-70.95028},KLEW:{id:"KLEW",city:"Auburn-Lewiston",state:"ME",lat:44.05,lon:-70.28333},KMLT:{id:"KMLT",city:"Millinocket, Millinocket Municipal Airport",state:"ME",lat:45.64778,lon:-68.69194},KPQI:{id:"KPQI",city:"Presque Isle",state:"ME",lat:46.68333,lon:-68.05},KPWM:{id:"KPWM",city:"Portland, Portland International Jetport",state:"ME",lat:43.64222,lon:-70.30444},KRKD:{id:"KRKD",city:"Rockland, Knox County Regional Airport",state:"ME",lat:44.06667,lon:-69.1},KSFM:{id:"KSFM",city:"Sanford, Sanford Regional Airport",state:"ME",lat:43.4,lon:-70.7166699},KWVL:{id:"KWVL",city:"Waterville, Waterville Robert LaFleur Airport",state:"ME",lat:44.53333,lon:-69.68333},KBIX:{id:"KBIX",city:"Keesler Air Force Base / Biloxi",state:"MS",lat:30.41667,lon:-88.91667},KCBM:{id:"KCBM",city:"Columbus Air Force Base",state:"MS",lat:33.65,lon:-88.45},KCKM:{id:"KCKM",city:"Fletcher Field, Clarksdale",state:"MS",lat:34.2997,lon:-90.5123},KCRX:{id:"KCRX",city:"Corinth",state:"MS",lat:34.915,lon:-88.6035},KDLP:{id:"KDLP",city:"WEST DELTA OIL PLATFORM",state:"MS",lat:29.12,lon:-89.55},KGLH:{id:"KGLH",city:"Greenville, Mid Delta Regional Airport",state:"MS",lat:33.48278,lon:-90.98556},KGPT:{id:"KGPT",city:"Gulfport - Gulfport-Biloxi International Airport",state:"MS",lat:30.41194,lon:-89.08083},KGTR:{id:"KGTR",city:"Columbus/West Point/Starkville, Golden Triangle Regional Airport",state:"MS",lat:33.45,lon:-88.58333},KGWO:{id:"KGWO",city:"Greenwood, Greenwood-LeFlore Airport",state:"MS",lat:33.4925,lon:-90.0836099},KHBG:{id:"KHBG",city:"Hattiesburg, Bobby L Chain Municipal Airport",state:"MS",lat:31.26945,lon:-89.25613},KHEZ:{id:"KHEZ",city:"Natchez, Hardy-Anders Field Natchez-Adams County Airport",state:"MS",lat:31.61593,lon:-91.29724},KHKS:{id:"KHKS",city:"Jackson, Hawkins Field Airport",state:"MS",lat:32.33472,lon:-90.2225},KHSA:{id:"KHSA",city:"Bay St. Louis, Stennis International Airport",state:"MS",lat:30.36778,lon:-89.45472},KJAN:{id:"KJAN",city:"Jackson, Jackson International Airport",state:"MS",lat:32.3197199,lon:-90.0775},KJVW:{id:"KJVW",city:"JB Williams Airport",state:"MS",lat:32.30447,lon:-90.41053},KLUL:{id:"KLUL",city:"LAUREL/NOBLE FIELD",state:"MS",lat:31.67,lon:-89.17},KMBO:{id:"KMBO",city:"Madison Bruce Campbell Field Airport",state:"MS",lat:32.4384,lon:-90.1014},KMCB:{id:"KMCB",city:"McComb, McComb / Pike County / John E Lewis Field Airport",state:"MS",lat:31.17833,lon:-90.47194},KMEI:{id:"KMEI",city:"Meridian, Key Field",state:"MS",lat:32.33806,lon:-88.74778},KMJD:{id:"KMJD",city:"Picayune Municipal Airport",state:"MS",lat:30.48747,lon:-89.65119},KNMM:{id:"KNMM",city:"Meridian, Meridian Naval Air Station - McCain Field",state:"MS",lat:32.55194,lon:-88.55528},KOLV:{id:"KOLV",city:"Olive Branch, Olive Branch Airport",state:"MS",lat:34.97889,lon:-89.78694},KPIB:{id:"KPIB",city:"Hattiesburg/Laurel, Hattiesburg-Laurel Regional Airport",state:"MS",lat:31.46667,lon:-89.33333},KPMU:{id:"KPMU",city:"Batesville Panola County",state:"MS",lat:34.3635,lon:-89.8929},KPQL:{id:"KPQL",city:"Moss Point - Trent Lott International Airport",state:"MS",lat:30.46305,lon:-88.53155},KSTF:{id:"KSTF",city:"George M Bryan Airport, Starkville",state:"MS",lat:33.4331,lon:-88.8486},KTUP:{id:"KTUP",city:"Tupelo, Tupelo Regional Airport",state:"MS",lat:34.26806,lon:-88.77},KUOX:{id:"KUOX",city:"Oxford, University-Oxford Airport",state:"MS",lat:34.38444,lon:-89.53556},KUTA:{id:"KUTA",city:"Tunica, Tunica Municipal Airport",state:"MS",lat:34.68083,lon:-90.34639},KVKS:{id:"KVKS",city:"Vicksburg Municipal",state:"MS",lat:32.23333,lon:-90.93333},KBAM:{id:"KBAM",city:"Battle Mountain - Lander County Airport",state:"NV",lat:40.5989999,lon:-116.8743},KBVU:{id:"KBVU",city:"Boulder City Municipal Airport",state:"NV",lat:35.9475,lon:-114.8611},KCXP:{id:"KCXP",city:"Carson City Airport",state:"NV",lat:39.19056,lon:-119.73191},KDRA:{id:"KDRA",city:"Mercury, Desert Rock Airport",state:"NV",lat:36.6207,lon:-116.02868},KEKO:{id:"KEKO",city:"Elko, Elko Regional Airport",state:"NV",lat:40.8240399,lon:-115.78635},KELY:{id:"KELY",city:"Ely, Ely Airport",state:"NV",lat:39.295,lon:-114.84528},KHND:{id:"KHND",city:"Las Vegas - Henderson Executive Airport",state:"NV",lat:35.97665,lon:-115.13221},KHTH:{id:"KHTH",city:"Hawthorne Industrial Airport",state:"NV",lat:38.54482,lon:-118.63137},KINS:{id:"KINS",city:"Nellis AFB - Indian Springs Auxiliary Airfield",state:"NV",lat:36.58573,lon:-115.69008},KLAS:{id:"KLAS",city:"Las Vegas, McCarran International Airport",state:"NV",lat:36.07188,lon:-115.1634},KLOL:{id:"KLOL",city:"Lovelock, Derby Field Airport",state:"NV",lat:40.0683999,lon:-118.57017},KLSV:{id:"KLSV",city:"Nellis Air Force Base",state:"NV",lat:36.23333,lon:-115.03333},KMEV:{id:"KMEV",city:"Minden-Tahoe Airport",state:"NV",lat:38.9963,lon:-119.75},KNFL:{id:"KNFL",city:"Fallon, Naval Air Station",state:"NV",lat:39.43222,lon:-118.68556},KRNO:{id:"KRNO",city:"Reno, Reno Tahoe International Airport",state:"NV",lat:39.50776,lon:-119.76819},KRTS:{id:"KRTS",city:"Reno/Stead",state:"NV",lat:39.6682,lon:-119.8764},KTMT:{id:"KTMT",city:"Austin Airport",state:"NV",lat:39.46794,lon:-117.19745},KTPH:{id:"KTPH",city:"Tonopah, Tonopah Airport",state:"NV",lat:38.06028,lon:-117.08722},KVGT:{id:"KVGT",city:"Las Vegas, North Las Vegas Airport",state:"NV",lat:36.21205,lon:-115.19395},KWMC:{id:"KWMC",city:"Winnemucca, Winnemucca Municipal Airport",state:"NV",lat:40.90194,lon:-117.80722},KAFO:{id:"KAFO",city:"Afton WY",state:"WY",lat:42.7113299,lon:-110.94217},KARL:{id:"KARL",city:"I80 - Arlington",state:"WY",lat:41.5980599,lon:-106.21487},KBFU:{id:"KBFU",city:"WY59 - Belle Fourche",state:"WY",lat:43.93253,lon:-105.4467},KBIT:{id:"KBIT",city:"I80/US30 - Bitter Creek",state:"WY",lat:41.64599,lon:-108.5836},KBPI:{id:"KBPI",city:"Big Piney - Marbleton Airport",state:"WY",lat:42.57805,lon:-110.10972},KBRX:{id:"KBRX",city:"I25/US87 - Bordeaux Interchange",state:"WY",lat:41.93066,lon:-104.9436},KBVR:{id:"KBVR",city:"US287/WY789 - Beaver Rim",state:"WY",lat:42.58565,lon:-108.28199},KBYG:{id:"KBYG",city:"Buffalo - Johnson County Airport",state:"WY",lat:44.38122,lon:-106.71947},KCHJ:{id:"KCHJ",city:"WY296 - Chief Joseph",state:"WY",lat:44.73997,lon:-109.38088},KCMS:{id:"KCMS",city:"I80/US30 - Peru Hill",state:"WY",lat:41.54958,lon:-109.60197},KCOD:{id:"KCOD",city:"Cody",state:"WY",lat:44.51667,lon:-109.01667},KCPR:{id:"KCPR",city:"Casper, Natrona County International Airport",state:"WY",lat:42.8975,lon:-106.47306},KCTD:{id:"KCTD",city:"I80/US30 - Continental Divide",state:"WY",lat:41.71586,lon:-107.78256},KCYS:{id:"KCYS",city:"Cheyenne, Cheyenne Airport",state:"WY",lat:41.15789,lon:-104.80812},KDGW:{id:"KDGW",city:"Douglas, Converse County Airport",state:"WY",lat:42.79417,lon:-105.38194},KDHS:{id:"KDHS",city:"I90 - Dead Horse",state:"WY",lat:44.21906,lon:-106.10478},KDRC:{id:"KDRC",city:"I25 - Deer Creek",state:"WY",lat:42.83687,lon:-105.86063},KDUB:{id:"KDUB",city:"Dubois Municipal Airport",state:"WY",lat:43.5484,lon:-109.6903},KDWX:{id:"KDWX",city:"Dixon Airport",state:"WY",lat:41.03704,lon:-107.49976},KEAN:{id:"KEAN",city:"Phifer Airfield - Wheatland",state:"WY",lat:42.05472,lon:-104.93711},KECS:{id:"KECS",city:"Mondell Field",state:"WY",lat:43.8854,lon:-104.3179},KEHY:{id:"KEHY",city:"Elk Mountain AWOS",state:"WY",lat:41.7253,lon:-106.4594},KEMM:{id:"KEMM",city:"KEMMERER",state:"WY",lat:41.82,lon:-110.56},KEVW:{id:"KEVW",city:"Evanston, Evanston-Uinta County Burns Field",state:"WY",lat:41.27306,lon:-111.03056},KFBR:{id:"KFBR",city:"Fort Bridger WY",state:"WY",lat:41.392,lon:-110.40683},KFEW:{id:"KFEW",city:"Francis E Warren Air Force Base Heliport",state:"WY",lat:41.13332,lon:-104.8671899},KFIR:{id:"KFIR",city:"I80/US189 - First Divide",state:"WY",lat:41.27649,lon:-110.80066},KGCC:{id:"KGCC",city:"Gillette, Gillette-Campbell County Airport",state:"WY",lat:44.33944,lon:-105.54194},KGEY:{id:"KGEY",city:"South Big Horn County Airport",state:"WY",lat:44.5174,lon:-108.0752},KGUN:{id:"KGUN",city:"US85 - Gun Barrel",state:"WY",lat:41.44368,lon:-104.34428},KGUR:{id:"KGUR",city:"Camp Guernsey",state:"WY",lat:42.2597,lon:-104.7283},KHLD:{id:"KHLD",city:"US20/US26 - Hiland",state:"WY",lat:43.0923,lon:-107.32198},KHSG:{id:"KHSG",city:"Hot Springs County Airport",state:"WY",lat:43.7136,lon:-108.3897},KIDV:{id:"KIDV",city:"I25/US87 - I-25 Divide",state:"WY",lat:43.89864,lon:-106.63833},KIKA:{id:"KIKA",city:"I90 - Inyan Kara",state:"WY",lat:44.29414,lon:-104.62926},KJAC:{id:"KJAC",city:"Jackson, Jackson Hole Airport",state:"WY",lat:43.6,lon:-110.73333},KLAR:{id:"KLAR",city:"Laramie Regional Airport",state:"WY",lat:41.3165,lon:-105.67287},KLND:{id:"KLND",city:"Lander",state:"WY",lat:42.81472,lon:-108.72806},KMTR:{id:"KMTR",city:"WY120 - Meeteetse Rim",state:"WY",lat:44.27011,lon:-108.87343},KPAT:{id:"KPAT",city:"WY220 - Pathfinder",state:"WY",lat:42.5581,lon:-106.8453399},KPER:{id:"KPER",city:"I80/US30 - Green River Tunnel East",state:"WY",lat:41.53186,lon:-109.45995},KPNA:{id:"KPNA",city:"Pinedale, Ralph Wenz Field Airport",state:"WY",lat:42.79528,lon:-109.80694},KPOY:{id:"KPOY",city:"Powell Municipal Airport",state:"WY",lat:44.8671999,lon:-108.7934},KPUM:{id:"KPUM",city:"US287 - Pumpkin Vine",state:"WY",lat:41.05218,lon:-105.46906},KREC:{id:"KREC",city:"WY28 - Lower Red Canyon",state:"WY",lat:42.61795,lon:-108.61093},KRIW:{id:"KRIW",city:"Riverton Regional Airport",state:"WY",lat:43.06219,lon:-108.44701},KRKS:{id:"KRKS",city:"Rock Springs, Rock Springs-Sweetwater County Airport",state:"WY",lat:41.59417,lon:-109.06528},KRWL:{id:"KRWL",city:"Rawlins Municipal Airport",state:"WY",lat:41.80648,lon:-107.19516},KSAA:{id:"KSAA",city:"Saratoga WY",state:"WY",lat:41.44483,lon:-106.8235},KSGE:{id:"KSGE",city:"US30 - Sage Junction",state:"WY",lat:41.82447,lon:-110.90764},KSHC:{id:"KSHC",city:"WY372 - Shute Creek",state:"WY",lat:41.94409,lon:-110.00399},KSHR:{id:"KSHR",city:"Sheridan County Airport",state:"WY",lat:44.7603099,lon:-106.97411},KSKL:{id:"KSKL",city:"WY230 - Skyline",state:"WY",lat:41.13753,lon:-106.57687},KSOU:{id:"KSOU",city:"WY28 - South Pass",state:"WY",lat:42.47752,lon:-108.8444},KTBX:{id:"KTBX",city:"Boysen",state:"WY",lat:43.4667,lon:-108.2333},KTET:{id:"KTET",city:"WY22 - Teton Pass",state:"WY",lat:43.49873,lon:-110.9562},KTMH:{id:"KTMH",city:"I25/US87 - Twenty Mile Hill",state:"WY",lat:43.12271,lon:-106.33705},KTOR:{id:"KTOR",city:"Torrington Municipal Airport",state:"WY",lat:42.06134,lon:-104.15842},KVDW:{id:"KVDW",city:"I80/US30 - Vedauwoo",state:"WY",lat:41.15687,lon:-105.40237},KWRL:{id:"KWRL",city:"Worland, Worland Municipal Airport",state:"WY",lat:43.9658299,lon:-107.95083},KWTR:{id:"KWTR",city:"I25/US87 - Whitaker",state:"WY",lat:41.41772,lon:-104.87502},KWYH:{id:"KWYH",city:"I25/US87 - Wyo Hill",state:"WY",lat:41.04746,lon:-104.8901},KAAS:{id:"KAAS",city:"Taylor County Airport",state:"KY",lat:37.35828,lon:-85.30942},KBRY:{id:"KBRY",city:"Samuels Field Airport",state:"KY",lat:37.81433,lon:-85.49964},KBWG:{id:"KBWG",city:"Bowling Green, Bowling Green-Warren County Regional Airport",state:"KY",lat:36.96444,lon:-86.41944},KBYL:{id:"KBYL",city:"Williamsburg-Whitley County Airport",state:"KY",lat:36.7954099,lon:-84.2012699},KCEY:{id:"KCEY",city:"Murray Kyle Oakley Field, KY",state:"KY",lat:36.6646,lon:-88.3728},KCPF:{id:"KCPF",city:"Wendell H Ford Airport",state:"KY",lat:37.38736,lon:-83.26161},KCVG:{id:"KCVG",city:"Cincinnati/Northern Kentucky International Airport",state:"KY",lat:39.04456,lon:-84.67229},KDVK:{id:"KDVK",city:"Stuart Powell Field Airport",state:"KY",lat:37.5775751,lon:-84.7694978},KDWU:{id:"KDWU",city:"Ashland Regional Airport",state:"KY",lat:38.5545,lon:-82.738},KEHR:{id:"KEHR",city:"Henderson City",state:"KY",lat:37.81667,lon:-87.68333},KEKQ:{id:"KEKQ",city:"Monticello, Wayne County Airport",state:"KY",lat:36.85528,lon:-84.85611},KEKX:{id:"KEKX",city:"Elizabethtown Addington Field Airport",state:"KY",lat:37.686,lon:-85.925},KFFT:{id:"KFFT",city:"Frankfort, Capital City Airport",state:"KY",lat:38.18472,lon:-84.90333},KFGX:{id:"KFGX",city:"Flemingsburg Fleming-Mason Airport",state:"KY",lat:38.5418,lon:-83.7434},KFTK:{id:"KFTK",city:"Fort Knox",state:"KY",lat:37.9,lon:-85.9666699},KGLW:{id:"KGLW",city:"Glasgow, Glasgow Municipal Airport",state:"KY",lat:37.03167,lon:-85.95361},KHOP:{id:"KHOP",city:"Fort Campbell U. S. Army Airfield",state:"KY",lat:36.66667,lon:-87.5},KIOB:{id:"KIOB",city:"Mount Sterling-Montgomery County Airport",state:"KY",lat:38.0575,lon:-83.9829},KJKL:{id:"KJKL",city:"Jackson, Carroll Airport",state:"KY",lat:37.5913899,lon:-83.31444},KLEX:{id:"KLEX",city:"Lexington Blue Grass Airport",state:"KY",lat:38.0339,lon:-84.6114599},KLOU:{id:"KLOU",city:"Louisville, Bowman Field Airport",state:"KY",lat:38.22778,lon:-85.66361},KLOZ:{id:"KLOZ",city:"London, London-Corbin Airport-Magee Field",state:"KY",lat:37.08944,lon:-84.06861},KOWB:{id:"KOWB",city:"Owensboro, Owensboro-Daviess County Airport",state:"KY",lat:37.74,lon:-87.16667},KPAH:{id:"KPAH",city:"Paducah, Barkley Regional Airport",state:"KY",lat:37.05639,lon:-88.77389},KPBX:{id:"KPBX",city:"Pikeville Pike County Airport and Hatcher Field",state:"KY",lat:37.5587,lon:-82.5674},KRGA:{id:"KRGA",city:"Central Kentucky Regional Airport",state:"KY",lat:37.6308475,lon:-84.3323372},KSDF:{id:"KSDF",city:"Louisville Muhammad Ali International Airport",state:"KY",lat:38.17406,lon:-85.7365},KSJS:{id:"KSJS",city:"Big Sandy Regional Airport",state:"KY",lat:37.751,lon:-82.6367},KSME:{id:"KSME",city:"Somerset, Somerset-Pulaski County - J.T. Wilson Field Airport",state:"KY",lat:37.05417,lon:-84.615},KSYM:{id:"KSYM",city:"Clyde A. Thomas Regional Airport",state:"KY",lat:38.215,lon:-83.5874},KTWT:{id:"KTWT",city:"Sturgis, Sturgis Municipal Airport",state:"KY",lat:37.54083,lon:-87.9516699},KADF:{id:"KADF",city:"Dexter B Florence Memorial Field",state:"AR",lat:34.0998,lon:-93.0661},KARG:{id:"KARG",city:"Walnut Ridge Regional Airport",state:"AR",lat:36.12562,lon:-90.92148},KASG:{id:"KASG",city:"Springdale Municipal",state:"AR",lat:36.18333,lon:-94.11667},KAWM:{id:"KAWM",city:"West Memphis, West Memphis Municipal Airport",state:"AR",lat:35.13333,lon:-90.23333},KBPK:{id:"KBPK",city:"Baxter County Airport",state:"AR",lat:36.37056,lon:-92.47194},KBVX:{id:"KBVX",city:"Batesville, Batesville Regional Airport",state:"AR",lat:35.73333,lon:-91.65},KBYH:{id:"KBYH",city:"Eaker Air Force Base",state:"AR",lat:35.96667,lon:-89.95},KCCA:{id:"KCCA",city:"Clinton Memorial Airfield",state:"AR",lat:35.598,lon:-92.4516},KCDH:{id:"KCDH",city:"Camden / Harrell Field",state:"AR",lat:33.61667,lon:-92.76667},KCXW:{id:"KCXW",city:"Conway - Cantrell Field",state:"AR",lat:35.0199,lon:-92.5551},KDEQ:{id:"KDEQ",city:"De Queen, J Lynn Helms Sevier County Airport",state:"AR",lat:34.04694,lon:-94.39944},KELD:{id:"KELD",city:"South Arkansas Regional Airport",state:"AR",lat:33.22075,lon:-92.8139999},KFLP:{id:"KFLP",city:"Flippin, Marion County Regional Airport",state:"AR",lat:36.3,lon:-92.58333},KFSM:{id:"KFSM",city:"Fort Smith Regional Airport",state:"AR",lat:35.3335,lon:-94.36524},KFYV:{id:"KFYV",city:"Fayetteville, Drake Field",state:"AR",lat:36.01028,lon:-94.1677799},KHKA:{id:"KHKA",city:"Blytheville, Blytheville Municipal Airport",state:"AR",lat:35.93889,lon:-89.8325},KHOT:{id:"KHOT",city:"Hot Springs, Memorial Field Airport",state:"AR",lat:34.47806,lon:-93.09611},KHRO:{id:"KHRO",city:"Harrison, Boone County Airport",state:"AR",lat:36.26167,lon:-93.15472},KJBR:{id:"KJBR",city:"Jonesboro, Jonesboro Municipal Airport",state:"AR",lat:35.83722,lon:-90.64306},KLIT:{id:"KLIT",city:"Little Rock, Adams Field",state:"AR",lat:34.72667,lon:-92.23611},KLLQ:{id:"KLLQ",city:"Monticello, Monticello Municipal Airport/Ellis Field",state:"AR",lat:33.63833,lon:-91.75111},KLRF:{id:"KLRF",city:"Little Rock Air Force Base",state:"AR",lat:34.91667,lon:-92.15},KMEZ:{id:"KMEZ",city:"Mena, Mena Intermountain Municipal Airport",state:"AR",lat:34.54528,lon:-94.2025},KMWT:{id:"KMWT",city:"Mount Ida",state:"AR",lat:34.55,lon:-93.58333},KORK:{id:"KORK",city:"North Little Rock Municipal Airport",state:"AR",lat:34.83314,lon:-92.25414},KPBF:{id:"KPBF",city:"Pine Bluff, Grider Field Airport",state:"AR",lat:34.175,lon:-91.93472},KROG:{id:"KROG",city:"Rogers - Rogers Executive Airport - Carter Field",state:"AR",lat:36.36667,lon:-94.1},KRUE:{id:"KRUE",city:"Russelville Municipal Airport",state:"AR",lat:35.25737,lon:-93.0949399},KSGT:{id:"KSGT",city:"Stuttgart, Stuttgart Municipal Airport",state:"AR",lat:34.6,lon:-91.56667},KSLG:{id:"KSLG",city:"Siloam Springs, Smith Field Airport",state:"AR",lat:36.2,lon:-94.48333},KSRC:{id:"KSRC",city:"Searcy Municipal Airport",state:"AR",lat:35.21349,lon:-91.7392799},KSUZ:{id:"KSUZ",city:"Saline County Regional Airport",state:"AR",lat:34.59039,lon:-92.47944},KTXK:{id:"KTXK",city:"Texarkana, Texarkana Regional-Webb Field",state:"AR",lat:33.45611,lon:-93.9875},KVBT:{id:"KVBT",city:"Bentonville, Bentonville Municipal Airport/Louise M Thaden Field",state:"AR",lat:36.35,lon:-94.2166699},KXNA:{id:"KXNA",city:"Northwest Arkansas Regional Airport",state:"AR",lat:36.28977,lon:-94.3114499},KBOI:{id:"KBOI",city:"Boise Air Terminal",state:"ID",lat:43.56704,lon:-116.24053},KBYI:{id:"KBYI",city:"Burley Municipal Airport",state:"ID",lat:42.54525,lon:-113.7686},KCOE:{id:"KCOE",city:"Coeur d'Alene Airport - Pappy Boyington Field",state:"ID",lat:47.76667,lon:-116.81667},KDIJ:{id:"KDIJ",city:"Driggs, Driggs-Reed Memorial Airport",state:"ID",lat:43.74167,lon:-111.09778},KEUL:{id:"KEUL",city:"Caldwell - Caldwell Industrial Airport",state:"ID",lat:43.64055,lon:-116.63017},KGIC:{id:"KGIC",city:"Grangeville - Idaho County Airport",state:"ID",lat:45.94111,lon:-116.13257},KGNG:{id:"KGNG",city:"Gooding Municipal Airport",state:"ID",lat:42.91716,lon:-114.76516},KIDA:{id:"KIDA",city:"Idaho Falls Regional Airport",state:"ID",lat:43.5208299,lon:-112.06611},KJER:{id:"KJER",city:"Jerome County Airport",state:"ID",lat:42.72736,lon:-114.45469},KLLJ:{id:"KLLJ",city:"Challis - Challis Airport",state:"ID",lat:44.523,lon:-114.21611},KLWS:{id:"KLWS",city:"Lewiston, Lewiston-Nez Perce County Airport",state:"ID",lat:46.37472,lon:-117.01444},KMAN:{id:"KMAN",city:"Nampa Municipal Airport",state:"ID",lat:43.5813,lon:-116.5231},KMUO:{id:"KMUO",city:"Mountain Home Air Force Base",state:"ID",lat:43.05,lon:-115.86667},KMYL:{id:"KMYL",city:"McCall Airport",state:"ID",lat:44.89425,lon:-116.09978},KPIH:{id:"KPIH",city:"Pocatello, Pocatello Regional Airport",state:"ID",lat:42.92028,lon:-112.57111},KRXE:{id:"KRXE",city:"Rexburg, Rexburg-Madison County Airport",state:"ID",lat:43.83167,lon:-111.80611},KSMN:{id:"KSMN",city:"Salmon, Lemhi County Airport",state:"ID",lat:45.11667,lon:-113.88333},KSNT:{id:"KSNT",city:"Stanley, Stanley Ranger Station",state:"ID",lat:44.20861,lon:-114.93444},KSUN:{id:"KSUN",city:"Hailey, Friedman Memorial Airport",state:"ID",lat:43.5,lon:-114.3},KAID:{id:"KAID",city:"Anderson Municipal Airport",state:"IN",lat:40.10612,lon:-85.60977},KANQ:{id:"KANQ",city:"Angola Tri-State Steuben County Airport",state:"IN",lat:41.6404,lon:-85.0851},KASW:{id:"KASW",city:"Warsaw, Warsaw Municipal Airport",state:"IN",lat:41.27444,lon:-85.84},KBAK:{id:"KBAK",city:"Columbus / Bakalar",state:"IN",lat:39.26667,lon:-85.9},KBMG:{id:"KBMG",city:"Bloomington, Monroe County Airport",state:"IN",lat:39.14306,lon:-86.61667},KCFJ:{id:"KCFJ",city:"Crawfordsville Municipal Airport",state:"IN",lat:39.9756,lon:-86.9199},KDCY:{id:"KDCY",city:"Daviess County Airport",state:"IN",lat:38.7004,lon:-87.1297},KEKM:{id:"KEKM",city:"Elkhart Municipal",state:"IN",lat:41.71667,lon:-86},KEVV:{id:"KEVV",city:"Evansville, Evansville Regional Airport",state:"IN",lat:38.0430599,lon:-87.52028},KEYE:{id:"KEYE",city:"Indianapolis, Eagle Creek Airpark",state:"IN",lat:39.825,lon:-86.29583},KFKR:{id:"KFKR",city:"Frankfort Municipal Airport",state:"IN",lat:40.2734,lon:-86.5622},KFRH:{id:"KFRH",city:"French Lick Municipal Airport",state:"IN",lat:38.50622,lon:-86.63694},KFWA:{id:"KFWA",city:"Fort Wayne International Airport",state:"IN",lat:40.97251,lon:-85.20637},KGEZ:{id:"KGEZ",city:"Shelbyville Municipal Airport",state:"IN",lat:39.58546,lon:-85.79982},KGGP:{id:"KGGP",city:"Logansport/Cass County Airport",state:"IN",lat:40.711,lon:-86.373},KGPC:{id:"KGPC",city:"Putnam County Regional Airport",state:"IN",lat:39.6354,lon:-86.8155},KGSH:{id:"KGSH",city:"Goshen, Goshen Municipal Airport",state:"IN",lat:41.52611,lon:-85.78667},KGUS:{id:"KGUS",city:"Grissom Air Force Base / Peru",state:"IN",lat:40.65,lon:-86.15},KGWB:{id:"KGWB",city:"Auburn De Kalb County Airport",state:"IN",lat:41.307,lon:-85.0639999},KGYY:{id:"KGYY",city:"Gary Regional Airport",state:"IN",lat:41.61212,lon:-87.40908},KHHG:{id:"KHHG",city:"Huntington Municipal Airport",state:"IN",lat:40.8529,lon:-85.4571},KHLB:{id:"KHLB",city:"Batesville Airport",state:"IN",lat:39.34313,lon:-85.25843},KHNB:{id:"KHNB",city:"Huntingburg",state:"IN",lat:38.25,lon:-86.95},KHUF:{id:"KHUF",city:"Terre Haute Regional Airport",state:"IN",lat:39.4429,lon:-87.32207},KIMS:{id:"KIMS",city:"Madison Municipal Airport",state:"IN",lat:38.7589,lon:-85.4655},KIND:{id:"KIND",city:"Indianapolis International Airport",state:"IN",lat:39.72518,lon:-86.2816},KJVY:{id:"KJVY",city:"Clark Regional Airport",state:"IN",lat:38.36661,lon:-85.73814},KLAF:{id:"KLAF",city:"Lafayette, Purdue University Airport",state:"IN",lat:40.4125,lon:-86.9475},KMCX:{id:"KMCX",city:"Monticello White County Airport",state:"IN",lat:40.7087999,lon:-86.7668},KMGC:{id:"KMGC",city:"Michigan City Municipal Airport",state:"IN",lat:41.7033,lon:-86.8212},KMIE:{id:"KMIE",city:"Muncie, Delaware County-Johnson Field",state:"IN",lat:40.23417,lon:-85.39361},KMQJ:{id:"KMQJ",city:"Indianapolis Mount Comfort Airport",state:"IN",lat:39.8435,lon:-85.8971},KMZZ:{id:"KMZZ",city:"Marion Municipal Airport",state:"IN",lat:40.49,lon:-85.68},KOKK:{id:"KOKK",city:"Kokomo, Kokomo Municipal Airport",state:"IN",lat:40.53333,lon:-86.06667},KOXI:{id:"KOXI",city:"Starke County Airport",state:"IN",lat:41.33,lon:-86.665},KPLD:{id:"KPLD",city:"Portland Municipal Airport",state:"IN",lat:40.45158,lon:-84.98903},KPPO:{id:"KPPO",city:"La Porte Municipal Airport",state:"IN",lat:41.5725,lon:-86.7345},KRCR:{id:"KRCR",city:"Rochester Fulton County Airport",state:"IN",lat:41.06553,lon:-86.18169},KRID:{id:"KRID",city:"Richmond Municipal Airport",state:"IN",lat:39.7572,lon:-84.8428},KRZL:{id:"KRZL",city:"Rensselaer Jasper County Airport",state:"IN",lat:40.94789,lon:-87.18258},KSBN:{id:"KSBN",city:"South Bend International Airport",state:"IN",lat:41.7088899,lon:-86.31861},KTYQ:{id:"KTYQ",city:"INDIANAPOLIS",state:"IN",lat:40.03066,lon:-86.2514999},KVPZ:{id:"KVPZ",city:"Valparaiso Porter County Municipal Airport",state:"IN",lat:41.45349,lon:-86.99805},KABQ:{id:"KABQ",city:"Albuquerque, Albuquerque International Airport",state:"NM",lat:35.04167,lon:-106.61472},KAEG:{id:"KAEG",city:"Albuquerque, Double Eagle II Airport",state:"NM",lat:35.145,lon:-106.795},KALM:{id:"KALM",city:"Alamogordo-White",state:"NM",lat:32.83512,lon:-105.99408},KATS:{id:"KATS",city:"Artesia Municipal Airport",state:"NM",lat:32.85239,lon:-104.46444},KAXX:{id:"KAXX",city:"Angel Fire Airport",state:"NM",lat:36.42586,lon:-105.29028},KBRG:{id:"KBRG",city:"Belen Regional Airport",state:"NM",lat:34.64586,lon:-106.83634},KCAO:{id:"KCAO",city:"Clayton Municipal Airpark",state:"NM",lat:36.44834,lon:-103.15367},KCNM:{id:"KCNM",city:"Carlsbad, Cavern City Air Terminal Airport",state:"NM",lat:32.3375,lon:-104.26333},KCQC:{id:"KCQC",city:"Clines Corners",state:"NM",lat:35,lon:-105.66667},KCVN:{id:"KCVN",city:"Clovis Municipal Airport",state:"NM",lat:34.42274,lon:-103.0802},KCVS:{id:"KCVS",city:"Cannon Air Force Base / Clovis",state:"NM",lat:34.38333,lon:-103.31667},KDMN:{id:"KDMN",city:"Deming Municipal Airport",state:"NM",lat:32.25927,lon:-107.72051},KDNA:{id:"KDNA",city:"Dona Ana County Jetport, Santa Teresa",state:"NM",lat:31.87495,lon:-106.69385},KFMN:{id:"KFMN",city:"Farmington, Four Corners Regional Airport",state:"NM",lat:36.7436099,lon:-108.22917},KGNT:{id:"KGNT",city:"Grants, Grants-Milan Municipal Airport",state:"NM",lat:35.16528,lon:-107.90222},KGUP:{id:"KGUP",city:"Gallup Municipal Airport",state:"NM",lat:35.50859,lon:-108.79316},KHMN:{id:"KHMN",city:"Holloman Air Force Base",state:"NM",lat:32.85,lon:-106.1},KHOB:{id:"KHOB",city:"Hobbs / Lea County",state:"NM",lat:32.68333,lon:-103.2166699},KLAM:{id:"KLAM",city:"Los Alamos Airport",state:"NM",lat:35.8796899,lon:-106.26869},KLRU:{id:"KLRU",city:"Las Cruces, Las Cruces International Airport",state:"NM",lat:32.28944,lon:-106.92194},KLVS:{id:"KLVS",city:"Las Vegas Municipal Airport",state:"NM",lat:35.65584,lon:-105.13852},KONM:{id:"KONM",city:"Socorro Municipal Airport",state:"NM",lat:34.02633,lon:-106.90372},KROW:{id:"KROW",city:"Roswell International Air Center Airport",state:"NM",lat:33.30737,lon:-104.50816},KRTN:{id:"KRTN",city:"Raton Municipal - Crews Field Airport",state:"NM",lat:36.741528,lon:-104.502183},KSAF:{id:"KSAF",city:"Santa Fe County Municipal Airport",state:"NM",lat:35.61097,lon:-106.09573},KSKX:{id:"KSKX",city:"Taos, Taos Regional Airport",state:"NM",lat:36.45,lon:-105.66667},KSRR:{id:"KSRR",city:"Sierra Blanca Regional Airport",state:"NM",lat:33.4667699,lon:-105.52778},KSVC:{id:"KSVC",city:"Grant County Airport",state:"NM",lat:32.63099,lon:-108.14658},KSXU:{id:"KSXU",city:"Santa Rosa Route 66 Airport",state:"NM",lat:34.93567,lon:-104.64256},KTCC:{id:"KTCC",city:"Tucumcari Municipal Airport",state:"NM",lat:35.18053,lon:-103.60145},KTCS:{id:"KTCS",city:"Truth Or Consequences, Truth Or Consequences Municipal Airport",state:"NM",lat:33.2366699,lon:-107.26806},KADH:{id:"KADH",city:"Ada, Ada Municipal Airport",state:"OK",lat:34.80444,lon:-96.67139},KADM:{id:"KADM",city:"Ardmore, Ardmore Municipal Airport",state:"OK",lat:34.30306,lon:-97.01944},KAVK:{id:"KAVK",city:"Alva, Alva Regional Airport",state:"OK",lat:36.77306,lon:-98.67},KAXS:{id:"KAXS",city:"Altus, Altus/Quartz Mountain Regional Airport",state:"OK",lat:34.69861,lon:-99.33806},KBKN:{id:"KBKN",city:"Blackwell-Tonkawa Municipal Airport",state:"OK",lat:36.7451099,lon:-97.34958},KBVO:{id:"KBVO",city:"Bartlesville, Bartlesville Municipal Airport",state:"OK",lat:36.76833,lon:-96.02611},KCHK:{id:"KCHK",city:"Chickasha, Chickasha Municipal Airport",state:"OK",lat:35.09611,lon:-97.96611},KCLK:{id:"KCLK",city:"Clinton, Clinton Regional Airport",state:"OK",lat:35.53806,lon:-98.92139},KCQB:{id:"KCQB",city:"Chandler, Chandler Municipal Airport",state:"OK",lat:35.72389,lon:-96.82028},KCSM:{id:"KCSM",city:"Clinton, Clinton-Sherman Airport",state:"OK",lat:35.35667,lon:-99.20361},KCUH:{id:"KCUH",city:"Cushing, Cushing Municipal Airport",state:"OK",lat:35.94972,lon:-96.77278},KDUA:{id:"KDUA",city:"Durant, Eaker Field Airport",state:"OK",lat:33.94222,lon:-96.39444},KDUC:{id:"KDUC",city:"Duncan, Halliburton Field Airport",state:"OK",lat:34.47083,lon:-97.9599999},KELK:{id:"KELK",city:"Elk City Regional Business Airport",state:"OK",lat:35.4308,lon:-99.3943},KEND:{id:"KEND",city:"Vance Air Force Base / Enid",state:"OK",lat:36.3333299,lon:-97.91667},KFDR:{id:"KFDR",city:"Frederick, Frederick Municipal Airport",state:"OK",lat:34.34444,lon:-98.98306},KFSI:{id:"KFSI",city:"Fort Sill",state:"OK",lat:34.6,lon:-98.4},KGAG:{id:"KGAG",city:"Gage, Gage Airport",state:"OK",lat:36.29667,lon:-99.76889},KGCM:{id:"KGCM",city:"Claremore, Claremore Regional Airport",state:"OK",lat:36.29444,lon:-95.47972},KGMJ:{id:"KGMJ",city:"Grove, Grove Municipal Airport",state:"OK",lat:36.60528,lon:-94.73861},KGOK:{id:"KGOK",city:"Guthrie, Guthrie Municipal Airport",state:"OK",lat:35.85194,lon:-97.4075},KGUY:{id:"KGUY",city:"Guymon / Guymon Municipal Airport",state:"OK",lat:36.6816699,lon:-101.50528},KGZL:{id:"KGZL",city:"Stigler",state:"OK",lat:35.2891,lon:-95.0939},KHBR:{id:"KHBR",city:"Hobart, Hobart Municipal Airport",state:"OK",lat:34.98944,lon:-99.0525},KHHW:{id:"KHHW",city:"Hugo Stan Stamper Municipal Airport",state:"OK",lat:34.0348,lon:-95.5419},KHMY:{id:"KHMY",city:"MULDROWARMY",state:"OK",lat:35.02638,lon:-97.23163},KHSD:{id:"KHSD",city:"Sundance Airport",state:"OK",lat:35.60183,lon:-97.70616},KJSV:{id:"KJSV",city:"Sallisaw, Sallisaw Municipal Airport",state:"OK",lat:35.43806,lon:-94.80278},KJWG:{id:"KJWG",city:"Watonga, Watonga Airport",state:"OK",lat:35.86472,lon:-98.42083},KLAW:{id:"KLAW",city:"Lawton, Lawton Municipal Airport",state:"OK",lat:34.5575,lon:-98.41667},KLTS:{id:"KLTS",city:"Altus Air Force Base",state:"OK",lat:34.65,lon:-99.26667},KMIO:{id:"KMIO",city:"Miami Regional Airport",state:"OK",lat:36.90922,lon:-94.8875},KMKO:{id:"KMKO",city:"Muskogee-Davis Regional Airport",state:"OK",lat:35.65694,lon:-95.35972},KMLC:{id:"KMLC",city:"McAlester, McAlester Regional Airport",state:"OK",lat:34.8822199,lon:-95.78306},KOJA:{id:"KOJA",city:"Weatherford, Thomas P Stafford Airport",state:"OK",lat:35.54472,lon:-98.66833},KOKC:{id:"KOKC",city:"Oklahoma City, Will Rogers World Airport",state:"OK",lat:35.38861,lon:-97.60028},KOKM:{id:"KOKM",city:"Okmulgee, Okmulgee Municipal Airport",state:"OK",lat:35.6680599,lon:-95.94861},KOUN:{id:"KOUN",city:"Norman / Max Westheimer",state:"OK",lat:35.2435,lon:-97.4708},KOWP:{id:"KOWP",city:"William R Pogue Municipal Airport",state:"OK",lat:36.1753,lon:-96.1518},KPNC:{id:"KPNC",city:"Ponca City, Ponca City Municipal Airport",state:"OK",lat:36.7305599,lon:-97.09972},KPVJ:{id:"KPVJ",city:"Pauls Valley, Pauls Valley Municipal Airport",state:"OK",lat:34.71111,lon:-97.22333},KPWA:{id:"KPWA",city:"Oklahoma City, Wiley Post Airport",state:"OK",lat:35.54111,lon:-97.64667},KRCE:{id:"KRCE",city:"Clarence E Page Municipal Airport",state:"OK",lat:35.4880799,lon:-97.82356},KRKR:{id:"KRKR",city:"Poteau, Robert S Kerr Airport",state:"OK",lat:35.02167,lon:-94.62139},KRQO:{id:"KRQO",city:"El Reno, El Reno Regional Airport",state:"OK",lat:35.4724999,lon:-98.00556},KRVS:{id:"KRVS",city:"Tulsa - Jones Jr. Airport",state:"OK",lat:36.04255,lon:-95.99005},KSNL:{id:"KSNL",city:"Shawnee, Shawnee Municipal Airport",state:"OK",lat:35.35722,lon:-96.94278},KSRE:{id:"KSRE",city:"Seminole, Seminole Municipal Airport",state:"OK",lat:35.27444,lon:-96.675},KSWO:{id:"KSWO",city:"Stillwater, Stillwater Regional Airport",state:"OK",lat:36.16222,lon:-97.08917},KTIK:{id:"KTIK",city:"Tinker Air Force Base",state:"OK",lat:35.41667,lon:-97.38333},KTQH:{id:"KTQH",city:"Tahlequah, Tahlequah Municipal Airport",state:"OK",lat:35.92889,lon:-95.00444},KTUL:{id:"KTUL",city:"Tulsa, Tulsa International Airport",state:"OK",lat:36.1975,lon:-95.88639},KWDG:{id:"KWDG",city:"Enid, Enid Woodring Regional Airport",state:"OK",lat:36.37917,lon:-97.79111},KWWR:{id:"KWWR",city:"Woodward, West Woodward Airport",state:"OK",lat:36.43667,lon:-99.5211099},KAIG:{id:"KAIG",city:"Langlade County Airport",state:"WI",lat:45.15659,lon:-89.11144},KARV:{id:"KARV",city:"Minocqua/Woodruff, Lakeland Airport/Noble F. Lee Memorial Field",state:"WI",lat:45.93333,lon:-89.73333},KASX:{id:"KASX",city:"John F Kennedy Memorial Airport",state:"WI",lat:46.54679,lon:-90.91841},KATW:{id:"KATW",city:"Appleton-Outagamie",state:"WI",lat:44.2595,lon:-88.51567},KAUW:{id:"KAUW",city:"Wausau Downtown Airport",state:"WI",lat:44.92759,lon:-89.62512},KBCK:{id:"KBCK",city:"Black River Falls Area Airport",state:"WI",lat:44.24996,lon:-90.84999},KBUU:{id:"KBUU",city:"Burlington Municipal Airport",state:"WI",lat:42.69088,lon:-88.308},KCMY:{id:"KCMY",city:"Sparta, Sparta / Fort McCoy Airport",state:"WI",lat:43.9583299,lon:-90.73778},KCWA:{id:"KCWA",city:"Mosinee",state:"WI",lat:44.77944,lon:-89.67098},KDLL:{id:"KDLL",city:"Baraboo Wisconsin Dells Airport",state:"WI",lat:43.52372,lon:-89.77345},KEAU:{id:"KEAU",city:"Chippewa Valley Regional Airport",state:"WI",lat:44.86668,lon:-91.488},KEFT:{id:"KEFT",city:"Monroe Municipal Airport",state:"WI",lat:42.61959,lon:-89.59309},KEGV:{id:"KEGV",city:"Eagle River Union Airport",state:"WI",lat:45.9309299,lon:-89.26702},KENW:{id:"KENW",city:"Kenosha, Kenosha Regional Airport",state:"WI",lat:42.595,lon:-87.9380599},KETB:{id:"KETB",city:"West Bend Municipal Airport",state:"WI",lat:43.42256,lon:-88.1326},KEZS:{id:"KEZS",city:"Shawano Municipal Airport",state:"WI",lat:44.787,lon:-88.56},KFLD:{id:"KFLD",city:"Fond Du Lac County Airport",state:"WI",lat:43.76955,lon:-88.49072},KGRB:{id:"KGRB",city:"Green Bay, Austin Straubel International Airport",state:"WI",lat:44.4794399,lon:-88.13667},KHYR:{id:"KHYR",city:"Sawyer County Airport",state:"WI",lat:46.03029,lon:-91.44259},KISW:{id:"KISW",city:"Wisconsin Rapids, Alexander Field South Wood County Airport",state:"WI",lat:44.35917,lon:-89.83694},KJVL:{id:"KJVL",city:"Janesville-Rock County",state:"WI",lat:42.62135,lon:-89.04186},KLNL:{id:"KLNL",city:"Land O' Lakes, Kings Land O' Lakes Airport",state:"WI",lat:46.1538899,lon:-89.21194},KLNR:{id:"KLNR",city:"Lone Rock Tri-County Regional Airport",state:"WI",lat:43.21108,lon:-90.18735},KLSE:{id:"KLSE",city:"La Crosse - La Crosse Regional Airport",state:"WI",lat:43.87944,lon:-91.25667},KLUM:{id:"KLUM",city:"Menomonie Municipal Airport-Score Field",state:"WI",lat:44.89363,lon:-91.86652},KMDZ:{id:"KMDZ",city:"Taylor County Airport",state:"WI",lat:45.10462,lon:-90.30253},KMFI:{id:"KMFI",city:"Marshfield, Marshfield Municipal Airport",state:"WI",lat:44.63806,lon:-90.1875},KMKE:{id:"KMKE",city:"Milwaukee, General Mitchell International Airport",state:"WI",lat:42.955,lon:-87.9044399},KMRJ:{id:"KMRJ",city:"Iowa County Airport",state:"WI",lat:42.88754,lon:-90.23147},KMSN:{id:"KMSN",city:"Madison, Dane County Regional-Truax Field",state:"WI",lat:43.14056,lon:-89.34528},KMTW:{id:"KMTW",city:"Manitowoc, Manitowoc County Airport",state:"WI",lat:44.13333,lon:-87.68333},KMWC:{id:"KMWC",city:"Milwaukee-Timmerman",state:"WI",lat:43.10961,lon:-88.03048},KOCQ:{id:"KOCQ",city:"Oconto J. Douglas Bake Municipal Airport",state:"WI",lat:44.8742,lon:-87.9096},KOEO:{id:"KOEO",city:"L O Simenstad Municipal Airport",state:"WI",lat:45.31084,lon:-92.6948},KOLG:{id:"KOLG",city:"Solon Springs Municipal Airport",state:"WI",lat:46.3148,lon:-91.8164},KOSH:{id:"KOSH",city:"Wittman Regional Airport",state:"WI",lat:43.96701,lon:-88.55814},KOVS:{id:"KOVS",city:"Boscobel, Boscobel Airport",state:"WI",lat:43.15611,lon:-90.6775},KPBH:{id:"KPBH",city:"Phillips / Price County",state:"WI",lat:45.7,lon:-90.4},KPCZ:{id:"KPCZ",city:"Waupaca Municipal Airport",state:"WI",lat:44.33425,lon:-89.02023},KPDC:{id:"KPDC",city:"Prairie Du Chien Municipal Airport",state:"WI",lat:43.01938,lon:-91.12112},KPVB:{id:"KPVB",city:"Platteville Municipal Airport",state:"WI",lat:42.69092,lon:-90.4412399},KRAC:{id:"KRAC",city:"Racine, Batten International Airport",state:"WI",lat:42.75861,lon:-87.81778},KRCX:{id:"KRCX",city:"Ladysmith - Rusk County Airport",state:"WI",lat:45.4935,lon:-90.9985},KRGK:{id:"KRGK",city:"Red Wing - Red Wing Regional Airport",state:"WI",lat:44.5926,lon:-92.48439},KRHI:{id:"KRHI",city:"Rhinelander, Rhinelander-Oneida County Airport",state:"WI",lat:45.63167,lon:-89.48222},KRNH:{id:"KRNH",city:"New Richmond Municipal Airport",state:"WI",lat:45.14762,lon:-92.53349},KRPD:{id:"KRPD",city:"Rice Lake, Rice Lake Regional-Carl's Field Airport",state:"WI",lat:45.4180599,lon:-91.77361},KRRL:{id:"KRRL",city:"Merrill, Merrill Municipal Airport",state:"WI",lat:45.19844,lon:-89.70996},KRYV:{id:"KRYV",city:"Watertown",state:"WI",lat:43.17016,lon:-88.72497},KRZN:{id:"KRZN",city:"Siren, Burnett County Airport",state:"WI",lat:45.82278,lon:-92.3725},KSBM:{id:"KSBM",city:"Sheboygan County Memorial Airport",state:"WI",lat:43.77483,lon:-87.84897},KSTE:{id:"KSTE",city:"Stevens Point Municipal Airport",state:"WI",lat:44.54371,lon:-89.53468},KSUE:{id:"KSUE",city:"Door County Cherryland Airport",state:"WI",lat:44.83941,lon:-87.42188},KSUW:{id:"KSUW",city:"Richard I. Bong Airport",state:"WI",lat:46.68335,lon:-92.09254},KTKV:{id:"KTKV",city:"Tomahawk Regional Airport",state:"WI",lat:45.46801,lon:-89.80962},KUBE:{id:"KUBE",city:"Cumberland",state:"WI",lat:45.506,lon:-91.9811},KUES:{id:"KUES",city:"Waukesha County Airport",state:"WI",lat:43.04245,lon:-88.24607},KUNU:{id:"KUNU",city:"Juneau, Dodge County Airport",state:"WI",lat:43.42667,lon:-88.7033299},KVOK:{id:"KVOK",city:"Volk / Camp Douglas",state:"WI",lat:43.93333,lon:-90.26667},KACP:{id:"KACP",city:"Oakdale, Allen Parish Airport",state:"LA",lat:30.75056,lon:-92.68861},KAEX:{id:"KAEX",city:"Alexandria, Alexandria International Airport",state:"LA",lat:31.33472,lon:-92.55861},KAPS:{id:"KAPS",city:"Port of South Louisiana Executive Regional Airport",state:"LA",lat:30.08747,lon:-90.58283},KAQV:{id:"KAQV",city:"Ft. Polk - Peason Ridge",state:"LA",lat:31.4,lon:-93.2833},KARA:{id:"KARA",city:"Acadiana Regional Airport",state:"LA",lat:30.02918,lon:-91.88451},KASD:{id:"KASD",city:"Slidell, Slidell Airport",state:"LA",lat:30.34306,lon:-89.82194},KATP:{id:"KATP",city:"Green Canyon 787 Atlantis",state:"LA",lat:27.195,lon:-90.027},KBAD:{id:"KBAD",city:"Barksdale Air Force Base",state:"LA",lat:32.5,lon:-93.66667},KBKB:{id:"KBKB",city:"Ft. Polk - Fullerton Landing Strip",state:"LA",lat:31.0217,lon:-92.9107},KBTR:{id:"KBTR",city:"Baton Rouge, Baton Rouge Metropolitan, Ryan Field",state:"LA",lat:30.53722,lon:-91.14694},KBXA:{id:"KBXA",city:"Bogalusa, George R Carr Memorial Air Field",state:"LA",lat:30.81361,lon:-89.86472},KCWF:{id:"KCWF",city:"Chenault Airpark",state:"LA",lat:30.21667,lon:-93.15},KDRI:{id:"KDRI",city:"De Ridder, Beauregard Parish Airport",state:"LA",lat:30.83167,lon:-93.33972},KDSF:{id:"KDSF",city:"Mississippi Canyon",state:"LA",lat:28.35,lon:-88.26667},KDTN:{id:"KDTN",city:"Shreveport, Shreveport Downtown Airport",state:"LA",lat:32.5424999,lon:-93.74472},KEIR:{id:"KEIR",city:"Eugene Island",state:"LA",lat:28.634,lon:-91.489},KESF:{id:"KESF",city:"Alexandria Esler Regional Airport",state:"LA",lat:31.39634,lon:-92.28273},KGAO:{id:"KGAO",city:"Galliano, South Lafourche Airport",state:"LA",lat:29.44472,lon:-90.26111},KGHB:{id:"KGHB",city:"GB172/Salsa (Shell E-P)",state:"LA",lat:27.84,lon:-91.988},KGRY:{id:"KGRY",city:"Green Canyon 338 Front Runner",state:"LA",lat:27.625,lon:-90.441},KHDC:{id:"KHDC",city:"Hammond, Hammond Municipal Airport",state:"LA",lat:30.52083,lon:-90.4175},KHUM:{id:"KHUM",city:"Houma-Terrebonne Airport",state:"LA",lat:29.56341,lon:-90.66283},KHZR:{id:"KHZR",city:"New Roads False River Regional Airport",state:"LA",lat:30.7183,lon:-91.4787},KIER:{id:"KIER",city:"Natchitoches, Natchitoches Regional Airport",state:"LA",lat:31.73583,lon:-93.09917},KIYA:{id:"KIYA",city:"Abbeville Chris Crusta Memorial Airport",state:"LA",lat:29.97578,lon:-92.08422},KLCH:{id:"KLCH",city:"Lake Charles Regional Airport",state:"LA",lat:30.12556,lon:-93.22767},KLFT:{id:"KLFT",city:"Lafayette, Lafayette Regional Airport",state:"LA",lat:30.20222,lon:-91.99306},KLNQ:{id:"KLNQ",city:"Boothville Heliport",state:"LA",lat:29.35414,lon:-89.43591},KMDJ:{id:"KMDJ",city:"MISS CANYON OIL PLATFORM",state:"LA",lat:28.65,lon:-89.8},KMIS:{id:"KMIS",city:"Main Pass 140B (Apache Corp)",state:"LA",lat:29.296,lon:-88.842},KMLU:{id:"KMLU",city:"Monroe Regional Airport",state:"LA",lat:32.5155699,lon:-92.02995},KMNE:{id:"KMNE",city:"Minden Airport",state:"LA",lat:32.64603,lon:-93.29808},KMSY:{id:"KMSY",city:"New Orleans, New Orleans International Airport",state:"LA",lat:29.99278,lon:-90.2508299},KNBG:{id:"KNBG",city:"New Orleans Naval Air Station - Alvin Callender Field",state:"LA",lat:29.83736,lon:-90.02445},KNEW:{id:"KNEW",city:"New Orleans, New Orleans Lakefront Airport",state:"LA",lat:30.04944,lon:-90.02889},KOPL:{id:"KOPL",city:"Opelousas St Landry Parish Airport",state:"LA",lat:30.5584,lon:-92.0994},KPOE:{id:"KPOE",city:"Fort Polk, Polk AAF Ft Polk",state:"LA",lat:31.05,lon:-93.19389},KPTN:{id:"KPTN",city:"Patterson Memorial",state:"LA",lat:29.71667,lon:-91.33333},KREG:{id:"KREG",city:"Louisiana Regional Airport",state:"LA",lat:30.1714,lon:-90.9404},KRSN:{id:"KRSN",city:"Ruston, Ruston Regional Airport",state:"LA",lat:32.51444,lon:-92.58833},KSHV:{id:"KSHV",city:"Shreveport, Shreveport Regional Airport",state:"LA",lat:32.44694,lon:-93.82417},KTVR:{id:"KTVR",city:"Vicksburg, Vicksburg / Tallulah Regional Airport",state:"LA",lat:32.3480599,lon:-91.03},KUXL:{id:"KUXL",city:"Southland Field",state:"LA",lat:30.1314,lon:-93.3760999},KVKY:{id:"KVKY",city:"Main Pass 289C (Apache Corp)",state:"LA",lat:29.248,lon:-88.441},KVOA:{id:"KVOA",city:"VK 786/Petronius (Chevron)",state:"LA",lat:29.229,lon:-87.781},KBHK:{id:"KBHK",city:"Baker, Baker Municipal Airport",state:"MT",lat:46.34778,lon:-104.2574999},KBIL:{id:"KBIL",city:"Billings, Billings Logan International Airport",state:"MT",lat:45.80694,lon:-108.54222},KBTM:{id:"KBTM",city:"Butte, Bert Mooney Airport",state:"MT",lat:45.95472,lon:-112.4975},KBZN:{id:"KBZN",city:"Bozeman, Gallatin Field",state:"MT",lat:45.78806,lon:-111.16083},KCII:{id:"KCII",city:"Choteau Airport",state:"MT",lat:47.82835,lon:-112.16834},KCTB:{id:"KCTB",city:"Cut Bank, Cut Bank Municipal Airport",state:"MT",lat:48.60833,lon:-112.37611},KDLN:{id:"KDLN",city:"Dillon, Dillon Airport",state:"MT",lat:45.2575,lon:-112.55444},KEKS:{id:"KEKS",city:"Ennis - Big Sky Airport",state:"MT",lat:45.27436,lon:-111.64886},KGDV:{id:"KGDV",city:"Glendive, Dawson Community Airport",state:"MT",lat:47.13333,lon:-104.8},KGFA:{id:"KGFA",city:"Malmstrom Air Force Base",state:"MT",lat:47.5,lon:-111.18333},KGGW:{id:"KGGW",city:"Glasgow, Glasgow International Airport",state:"MT",lat:48.21389,lon:-106.62139},KGPI:{id:"KGPI",city:"Kalispell, Glacier Park International Airport",state:"MT",lat:48.30417,lon:-114.26361},KGTF:{id:"KGTF",city:"Great Falls, Great Falls International Airport",state:"MT",lat:47.47333,lon:-111.38222},KHLN:{id:"KHLN",city:"Helena Regional Airport",state:"MT",lat:46.60445,lon:-111.9892},KHVR:{id:"KHVR",city:"Havre, Havre City-County Airport",state:"MT",lat:48.54278,lon:-109.76333},KJDN:{id:"KJDN",city:"Jordan, Jordan Airport",state:"MT",lat:47.32583,lon:-106.9475},KLVM:{id:"KLVM",city:"Livingston, Mission Field Airport",state:"MT",lat:45.69944,lon:-110.44833},KLWT:{id:"KLWT",city:"Lewistown, Lewistown Municipal Airport",state:"MT",lat:47.0491699,lon:-109.46639},KMLP:{id:"KMLP",city:"Mullan Pass, Mullan Pass Vor",state:"MT",lat:47.45417,lon:-115.66972},KMLS:{id:"KMLS",city:"Miles City, Frank Wiley Field Airport",state:"MT",lat:46.42806,lon:-105.88639},KMSO:{id:"KMSO",city:"Missoula, Missoula International Airport",state:"MT",lat:46.92083,lon:-114.0925},KMVH:{id:"KMVH",city:"N BAR Ranch Airport",state:"MT",lat:46.8381,lon:-108.9368},KOLF:{id:"KOLF",city:"Wolf Point, Clayton Airport",state:"MT",lat:48.09444,lon:-105.57722},KPWD:{id:"KPWD",city:"Sher-Wood Airport",state:"MT",lat:48.789,lon:-104.52297},KRPX:{id:"KRPX",city:"ROUNDUP",state:"MT",lat:46.47499,lon:-108.54339},KRVF:{id:"KRVF",city:"Ruby Valley Field Airport",state:"MT",lat:45.53542,lon:-112.30228},KSDY:{id:"KSDY",city:"Sidney-Richland",state:"MT",lat:47.7,lon:-104.2},KTHM:{id:"KTHM",city:"THOMPSON FALLS",state:"MT",lat:47.5735,lon:-115.28066},KWYS:{id:"KWYS",city:"West Yellowstone",state:"MT",lat:44.68333,lon:-111.11667},KHYX:{id:"KHYX",city:"Saginaw County H W Browne Airport",state:"MI",lat:43.43191,lon:-83.86476},KIKW:{id:"KIKW",city:"Jack Barstow Airport",state:"MI",lat:43.6624,lon:-84.26213},KIMT:{id:"KIMT",city:"Iron Mountain / Kingsford, Ford Airport",state:"MI",lat:45.81417,lon:-88.10889},KIRS:{id:"KIRS",city:"Sturgis, Kirsch Municipal Airport",state:"MI",lat:41.8127799,lon:-85.43917},KISQ:{id:"KISQ",city:"Manistique, Schoolcraft County Airport",state:"MI",lat:45.97472,lon:-86.17194},KIWD:{id:"KIWD",city:"Ironwood, Gogebic-Iron County Airport",state:"MI",lat:46.53333,lon:-90.13333},KJXN:{id:"KJXN",city:"Jackson County Airport - Reynolds Field",state:"MI",lat:42.26171,lon:-84.46147},KJYM:{id:"KJYM",city:"Hillsdale Municipal Airport",state:"MI",lat:41.91972,lon:-84.58528},KLAN:{id:"KLAN",city:"Capital Region International Airport",state:"MI",lat:42.77616,lon:-84.5997},KLDM:{id:"KLDM",city:"Ludington, Mason County Airport",state:"MI",lat:43.96667,lon:-86.4},KLWA:{id:"KLWA",city:"South Haven, South Haven Area Regional Airport",state:"MI",lat:42.35083,lon:-86.25611},KMBL:{id:"KMBL",city:"Manistee County - Blacker Airport",state:"MI",lat:44.27142,lon:-86.23773},KMBS:{id:"KMBS",city:"MBS International Airport",state:"MI",lat:43.5281,lon:-84.08129},KMCD:{id:"KMCD",city:"Mackinac Island Airport",state:"MI",lat:45.86628,lon:-84.63437},KMGN:{id:"KMGN",city:"Harbor Springs, Harbor Springs Airport",state:"MI",lat:45.42556,lon:-84.91333},KMKG:{id:"KMKG",city:"Muskegon, Muskegon County Airport",state:"MI",lat:43.17111,lon:-86.23667},KMNM:{id:"KMNM",city:"Menominee - Marinette Twin County Airport",state:"MI",lat:45.12628,lon:-87.64438},KMOP:{id:"KMOP",city:"Mount Pleasant, Mount Pleasant Municipal Airport",state:"MI",lat:43.61667,lon:-84.73333},KMTC:{id:"KMTC",city:"Selfridge Air National Guard Base",state:"MI",lat:42.60458,lon:-82.83528},KOEB:{id:"KOEB",city:"Branch County Memorial Airport",state:"MI",lat:41.93085,lon:-85.05429},KONZ:{id:"KONZ",city:"Detroit/Grosse Ile, Grosse Ile Airport",state:"MI",lat:42.09861,lon:-83.1611099},KOSC:{id:"KOSC",city:"Oscoda, Oscoda-Wurtsmith Airport",state:"MI",lat:44.45,lon:-83.36667},KOZW:{id:"KOZW",city:"Howell, Livingston County Airport",state:"MI",lat:42.62944,lon:-83.98417},KPHN:{id:"KPHN",city:"St Clair County International Airport",state:"MI",lat:42.91031,lon:-82.53315},KPLN:{id:"KPLN",city:"Pellston Regional Airport of Emmet County",state:"MI",lat:45.56443,lon:-84.7928699},KPTK:{id:"KPTK",city:"Pontiac, Oakland County International Airport",state:"MI",lat:42.66306,lon:-83.41},KPZQ:{id:"KPZQ",city:"Rogers City, Presque Isle County Airport",state:"MI",lat:45.40694,lon:-83.81278},KRMY:{id:"KRMY",city:"Brooks Field Airport",state:"MI",lat:42.25238,lon:-84.95253},KRNP:{id:"KRNP",city:"Owosso, Owosso Community Airport",state:"MI",lat:42.99278,lon:-84.13889},KRQB:{id:"KRQB",city:"Big Rapids, Roben-Hood Airport",state:"MI",lat:43.7224999,lon:-85.50417},KSAW:{id:"KSAW",city:"Marquette, Sawyer International Airport",state:"MI",lat:46.35361,lon:-87.39528},KSJX:{id:"KSJX",city:"Beaver Island, Beaver Island Airport",state:"MI",lat:45.69222,lon:-85.56639},KSLH:{id:"KSLH",city:"Cheboygan, Cheboygan County Airport",state:"MI",lat:45.65361,lon:-84.51917},KTEW:{id:"KTEW",city:"Mason, Mason Jewett Field Airport",state:"MI",lat:42.56583,lon:-84.42333},KTTF:{id:"KTTF",city:"Monroe, Custer Airport",state:"MI",lat:41.94,lon:-83.43472},KTVC:{id:"KTVC",city:"Cherry Capital Airport",state:"MI",lat:44.73898,lon:-85.56788},KVLL:{id:"KVLL",city:"Troy, Oakland/Troy Airport",state:"MI",lat:42.54278,lon:-83.17778},KYIP:{id:"KYIP",city:"Detroit, Willow Run Airport",state:"MI",lat:42.2366699,lon:-83.52611},KAFP:{id:"KAFP",city:"Anson County Airport",state:"NC",lat:35.01944,lon:-80.07836},KAKH:{id:"KAKH",city:"Gastonia Municipal Airport",state:"NC",lat:35.1968699,lon:-81.15545},KASJ:{id:"KASJ",city:"Ahoskie, Tri-County Airport",state:"NC",lat:36.2975,lon:-77.17083},KAVL:{id:"KAVL",city:"Asheville, Asheville Regional Airport",state:"NC",lat:35.43194,lon:-82.5375},KBUY:{id:"KBUY",city:"Burlington Alamance Regional Airport",state:"NC",lat:36.04753,lon:-79.47375},KCLT:{id:"KCLT",city:"Charlotte, Charlotte / Douglas International Airport",state:"NC",lat:35.21333,lon:-80.94861},KCPC:{id:"KCPC",city:"Whiteville, Columbus County Municipal Airport",state:"NC",lat:34.27278,lon:-78.715},KCTZ:{id:"KCTZ",city:"Sampson County Airport",state:"NC",lat:34.97522,lon:-78.36276},KDPL:{id:"KDPL",city:"Duplin County Airport",state:"NC",lat:34.99942,lon:-77.97995},KECG:{id:"KECG",city:"Elizabeth City C/G Regional Airport",state:"NC",lat:36.25771,lon:-76.1716},KEDE:{id:"KEDE",city:"Edenton, Northeastern Regional Airport",state:"NC",lat:36.02778,lon:-76.56722},KEHO:{id:"KEHO",city:"Shelby Municipal Airport",state:"NC",lat:35.2556299,lon:-81.59858},KEQY:{id:"KEQY",city:"Monroe, Monroe Airport",state:"NC",lat:35.01694,lon:-80.62056},KETC:{id:"KETC",city:"Tarboro-Edgecombe Airport",state:"NC",lat:35.9373,lon:-77.54648},KEWN:{id:"KEWN",city:"New Bern, Craven County Regional Airport",state:"NC",lat:35.0675,lon:-77.04722},KEXX:{id:"KEXX",city:"Lexington, Davidson County Airport",state:"NC",lat:35.78111,lon:-80.30389},KEYF:{id:"KEYF",city:"Curtis L Brown Jr. Field Airport",state:"NC",lat:34.60418,lon:-78.57902},KFAY:{id:"KFAY",city:"Fayetteville, Fayetteville Regional Airport",state:"NC",lat:34.98944,lon:-78.88},KFBG:{id:"KFBG",city:"Fort Bragg / Simmons Army Airfield",state:"NC",lat:35.1314,lon:-78.93158},KFFA:{id:"KFFA",city:"Kill Devil Hills, First Flight Airport",state:"NC",lat:36.01667,lon:-75.66667},KFQD:{id:"KFQD",city:"Rutherfordton, Rutherford County-Marchman Field Airport",state:"NC",lat:35.42833,lon:-81.935},KGEV:{id:"KGEV",city:"Jefferson - Ashe County Airport",state:"NC",lat:36.43333,lon:-81.41667},KGSB:{id:"KGSB",city:"Seymour-Johnson Air Force Base",state:"NC",lat:35.34457,lon:-77.94583},KGSO:{id:"KGSO",city:"Greensboro, Piedmont Triad International Airport",state:"NC",lat:36.0974999,lon:-79.94361},KGWW:{id:"KGWW",city:"Goldsboro, Goldsboro-Wayne Municipal Airport",state:"NC",lat:35.46056,lon:-77.965},KHBI:{id:"KHBI",city:"Asheboro, Asheboro Municipal Airport",state:"NC",lat:35.6538899,lon:-79.895},KHFF:{id:"KHFF",city:"Mackall U. S. Army Airfield",state:"NC",lat:35.03333,lon:-79.5},KHKY:{id:"KHKY",city:"Hickory, Hickory Regional Airport",state:"NC",lat:35.74222,lon:-81.38222},KHNZ:{id:"KHNZ",city:"Henderson-Oxford Airport",state:"NC",lat:36.36352,lon:-78.52889},KHRJ:{id:"KHRJ",city:"Erwin, Harnett County Airport",state:"NC",lat:35.37861,lon:-78.73361},KHSE:{id:"KHSE",city:"Hatteras, Mitchell Field",state:"NC",lat:35.23222,lon:-75.6225},KILM:{id:"KILM",city:"Wilmington International Airport",state:"NC",lat:34.26681,lon:-77.89987},KINT:{id:"KINT",city:"Winston Salem, Smith Reynolds Airport",state:"NC",lat:36.13333,lon:-80.22472},KIPJ:{id:"KIPJ",city:"Lincolnton, Lincolnton-Lincoln County Regional Airport",state:"NC",lat:35.48306,lon:-81.16139},KISO:{id:"KISO",city:"Kinston, Kinston Regional Jetport at Stallings Field",state:"NC",lat:35.3333299,lon:-77.61667},KIXA:{id:"KIXA",city:"Halifax-Northampton Regional Airport",state:"NC",lat:36.33,lon:-77.635},KJNX:{id:"KJNX",city:"Smithfield, Johnston County Airport",state:"NC",lat:35.54083,lon:-78.39028},KJQF:{id:"KJQF",city:"Concord Regional Airport",state:"NC",lat:35.3896299,lon:-80.70735},KLHZ:{id:"KLHZ",city:"Franklin County Airport",state:"NC",lat:36.02288,lon:-78.33405},KMEB:{id:"KMEB",city:"Laurinburg Maxton Airport",state:"NC",lat:34.79132,lon:-79.3683},KMQI:{id:"KMQI",city:"Manteo / Dare County Regional",state:"NC",lat:35.91667,lon:-75.7},KMRH:{id:"KMRH",city:"Beaufort Smith Field",state:"NC",lat:34.73259,lon:-76.6566},KMRN:{id:"KMRN",city:"Morganton-Lenoir Airport",state:"NC",lat:35.81922,lon:-81.60971},KMWK:{id:"KMWK",city:"Mount Airy/Surry County Airport",state:"NC",lat:36.45675,lon:-80.55483},KNBT:{id:"KNBT",city:"Piney Island, Bt-11 Bombing Range",state:"NC",lat:35.02222,lon:-76.4625},KNCA:{id:"KNCA",city:"MCAS New River",state:"NC",lat:34.70627,lon:-77.44066},KNJM:{id:"KNJM",city:"Bogue Field Marine Corps Auxiliary Field",state:"NC",lat:34.69403,lon:-77.02945},KNKT:{id:"KNKT",city:"Cherry Point Marine Corps Air Station",state:"NC",lat:34.89719,lon:-76.88135},KOAJ:{id:"KOAJ",city:"Jacksonville, Albert J Ellis Airport",state:"NC",lat:34.8333299,lon:-77.61667},KOCW:{id:"KOCW",city:"Washington, Warren Field Airport",state:"NC",lat:35.57056,lon:-77.0497199},KONX:{id:"KONX",city:"Currituck, Currituck County Airport",state:"NC",lat:36.39889,lon:-76.01611},KPGV:{id:"KPGV",city:"Pitt-Greenville Airport",state:"NC",lat:35.63742,lon:-77.38506},KPOB:{id:"KPOB",city:"Pope Air Force Base",state:"NC",lat:35.17531,lon:-79.00771},KRCZ:{id:"KRCZ",city:"Rockingham-Hamlet Airport",state:"NC",lat:34.8954499,lon:-79.75755},KRDU:{id:"KRDU",city:"Raleigh / Durham, Raleigh-Durham International Airport",state:"NC",lat:35.89223,lon:-78.78185},KRHP:{id:"KRHP",city:"Andrews-Murphy Airport",state:"NC",lat:35.19394,lon:-83.86182},KRUQ:{id:"KRUQ",city:"Rowan County Airport",state:"NC",lat:35.64417,lon:-80.52359},KRWI:{id:"KRWI",city:"Rocky Mount, Rocky Mount-Wilson Regional Airport",state:"NC",lat:35.8549999,lon:-77.89306},KSCR:{id:"KSCR",city:"Siler City Municipal Airport",state:"NC",lat:35.7043,lon:-79.5043},KSIF:{id:"KSIF",city:"Reidsville, Rockingham County NC Shiloh Airport",state:"NC",lat:36.43722,lon:-79.85083},KSOP:{id:"KSOP",city:"Pinehurst/Southern Pines, Moore County Airport",state:"NC",lat:35.23333,lon:-79.4},KSUT:{id:"KSUT",city:"Brunswick County Airport",state:"NC",lat:33.92921,lon:-78.07223},KSVH:{id:"KSVH",city:"Statesville Municipal Airport",state:"NC",lat:35.76362,lon:-80.9473},KTDF:{id:"KTDF",city:"Roxboro, Person County Airport",state:"NC",lat:36.2849999,lon:-78.98417},KTNB:{id:"KTNB",city:"Watauga County Hospital Heliport",state:"NC",lat:36.19856,lon:-81.65171},KTTA:{id:"KTTA",city:"Sanford, Sanford-Lee County Regional Airport",state:"NC",lat:35.5825,lon:-79.10139},KUKF:{id:"KUKF",city:"North Wilkesboro, Wilkes County Airport",state:"NC",lat:36.21667,lon:-81.08333},KVUJ:{id:"KVUJ",city:"Albemarle, Stanly County Airport",state:"NC",lat:35.41667,lon:-80.15083},KAKR:{id:"KAKR",city:"Akron, Akron Fulton International Airport",state:"OH",lat:41.0375,lon:-81.46417},KAOH:{id:"KAOH",city:"Lima, Lima Allen County Airport",state:"OH",lat:40.70806,lon:-84.02139},KAXV:{id:"KAXV",city:"Neil Armstrong Airport",state:"OH",lat:40.49356,lon:-84.29808},KBJJ:{id:"KBJJ",city:"Wooster, Wayne County Airport",state:"OH",lat:40.87306,lon:-81.88667},KBKL:{id:"KBKL",city:"Cleveland, Burke Lakefront Airport",state:"OH",lat:41.52556,lon:-81.66889},KCAK:{id:"KCAK",city:"Akron Canton Regional Airport",state:"OH",lat:40.91811,lon:-81.44343},KCDI:{id:"KCDI",city:"Cambridge Municipal Airport",state:"OH",lat:39.975,lon:-81.5776},KCGF:{id:"KCGF",city:"Cleveland / Cuyahoga",state:"OH",lat:41.56667,lon:-81.48333},KCLE:{id:"KCLE",city:"Cleveland Hopkins International Airport",state:"OH",lat:41.40569,lon:-81.85193},KCMH:{id:"KCMH",city:"John Glenn Columbus International Airport",state:"OH",lat:39.9906999,lon:-82.87691},KDAY:{id:"KDAY",city:"Dayton, Cox Dayton International Airport",state:"OH",lat:39.90611,lon:-84.21861},KDFI:{id:"KDFI",city:"Defiance, Defiance Memorial Airport",state:"OH",lat:41.33639,lon:-84.42944},KDLZ:{id:"KDLZ",city:"Delaware Municipal Airport",state:"OH",lat:40.2797,lon:-83.1148},KEDJ:{id:"KEDJ",city:"Bellefontaine Regional Airport",state:"OH",lat:40.3723,lon:-83.8192},KFDY:{id:"KFDY",city:"Findlay, Findlay Airport",state:"OH",lat:41.01361,lon:-83.66861},KFFO:{id:"KFFO",city:"Dayton / Wright-Patterson Air Force Base",state:"OH",lat:39.8333299,lon:-84.05},KHAO:{id:"KHAO",city:"Butler County Regional Airport",state:"OH",lat:39.36121,lon:-84.52061},KHZY:{id:"KHZY",city:"Ashtabula - Northeast Ohio Regional Airport",state:"OH",lat:41.77944,lon:-80.69667},KILN:{id:"KILN",city:"Wilmington, Airborne Airpark Airport",state:"OH",lat:39.42833,lon:-83.7791699},KLCK:{id:"KLCK",city:"Rickenbacker Air National Guard Base",state:"OH",lat:39.81667,lon:-82.93333},KLHQ:{id:"KLHQ",city:"Lancaster, Fairfield County Airport",state:"OH",lat:39.7572199,lon:-82.66333},KLNN:{id:"KLNN",city:"Willoughby",state:"OH",lat:41.68333,lon:-81.38333},KLPR:{id:"KLPR",city:"Lorain / Elyria, Lorain County Regional Airport",state:"OH",lat:41.34611,lon:-82.17944},KLUK:{id:"KLUK",city:"Cincinnati, Cincinnati Municipal Airport Lunken Field",state:"OH",lat:39.10583,lon:-84.41583},KMFD:{id:"KMFD",city:"Mansfield - Mansfield Lahm Regional Airport",state:"OH",lat:40.8202799,lon:-82.51778},KMGY:{id:"KMGY",city:"Dayton, Dayton-Wright Brothers Airport",state:"OH",lat:39.58889,lon:-84.22472},KMNN:{id:"KMNN",city:"Marion, Marion Municipal Airport",state:"OH",lat:40.61667,lon:-83.06833},KMRT:{id:"KMRT",city:"Marysville Union County Airport",state:"OH",lat:40.2247,lon:-83.3516},KMWO:{id:"KMWO",city:"Hook Field Municipal Airport",state:"OH",lat:39.531,lon:-84.3953},KOSU:{id:"KOSU",city:"Columbus, Ohio State University Airport",state:"OH",lat:40.07806,lon:-83.0780599},KOWX:{id:"KOWX",city:"Ottawa Putnam County Airport",state:"OH",lat:41.0356,lon:-83.982},KPCW:{id:"KPCW",city:"Port Clinton Carl R Keller Field Airport",state:"OH",lat:41.5163,lon:-82.8687},KPHD:{id:"KPHD",city:"New Philadelphia, Harry Clever Field",state:"OH",lat:40.4719399,lon:-81.42361},KPMH:{id:"KPMH",city:"Greater Portsmouth Regional Airport",state:"OH",lat:38.84047,lon:-82.8473099},KPOV:{id:"KPOV",city:"Portage County Airport",state:"OH",lat:41.21,lon:-81.252},KRZT:{id:"KRZT",city:"Chillicothe Ross County Airport",state:"OH",lat:39.4403999,lon:-83.0231},KSGH:{id:"KSGH",city:"Springfield, Springfield-Beckley Municipal Airport",state:"OH",lat:39.84028,lon:-83.84},KTDZ:{id:"KTDZ",city:"Toledo - Toledo Executive Airport",state:"OH",lat:41.56306,lon:-83.47639},KTOL:{id:"KTOL",city:"Toledo - Toledo Express Airport",state:"OH",lat:41.58704,lon:-83.80539},KTZR:{id:"KTZR",city:"Columbus, Bolton Field Airport",state:"OH",lat:39.90083,lon:-83.13722},KUNI:{id:"KUNI",city:"OHIO U/ATHEN-ALBANY",state:"OH",lat:39.22,lon:-82.23},KUSE:{id:"KUSE",city:"Wauseon Fulton County Airport",state:"OH",lat:41.6101,lon:-84.1272},KUYF:{id:"KUYF",city:"London Madison County Airport",state:"OH",lat:39.9326999,lon:-83.462},KVES:{id:"KVES",city:"Versailles Darke County Airport",state:"OH",lat:40.2044,lon:-84.5318999},KVNW:{id:"KVNW",city:"Van Wert County Airport",state:"OH",lat:40.86383,lon:-84.60636},KVTA:{id:"KVTA",city:"Newark, Newark Heath Airport",state:"OH",lat:40.02278,lon:-82.4625},KYNG:{id:"KYNG",city:"Youngstown, Youngstown-Warren Regional Airport",state:"OH",lat:41.25444,lon:-80.67389},KZZV:{id:"KZZV",city:"Zanesville, Zanesville Municipal Airport",state:"OH",lat:39.94444,lon:-81.89222},KAST:{id:"KAST",city:"Astoria, Astoria Regional Airport",state:"OR",lat:46.15694,lon:-123.8825},KBDN:{id:"KBDN",city:"Bend Airport AWOS",state:"OR",lat:44.0948,lon:-121.2006},KBKE:{id:"KBKE",city:"Baker Municipal Airport",state:"OR",lat:44.84302,lon:-117.80987},KBNO:{id:"KBNO",city:"Burns Municipal Airport",state:"OR",lat:43.59488,lon:-118.95791},KBOK:{id:"KBOK",city:"Brookings, Brookings Airport",state:"OR",lat:42.07444,lon:-124.29},KCVO:{id:"KCVO",city:"Corvallis, Corvallis Municipal Airport",state:"OR",lat:44.5,lon:-123.28333},KEUG:{id:"KEUG",city:"Eugene, Mahlon Sweet Field",state:"OR",lat:44.13333,lon:-123.21444},KGCD:{id:"KGCD",city:"Grant County Regional Airport",state:"OR",lat:44.40287,lon:-118.96715},KHIO:{id:"KHIO",city:"Portland-Hillsboro Airport",state:"OR",lat:45.54765,lon:-122.95568},KHRI:{id:"KHRI",city:"Hermiston, Hermiston Municipal Airport",state:"OR",lat:45.82583,lon:-119.26111},KABE:{id:"KABE",city:"Allentown, Lehigh Valley International Airport",state:"PA",lat:40.64985,lon:-75.44771},KAFJ:{id:"KAFJ",city:"Washington - Washington County Airport",state:"PA",lat:40.13333,lon:-80.28333},KAGC:{id:"KAGC",city:"Pittsburgh - Allegheny County Airport",state:"PA",lat:40.35521,lon:-79.92144},KAOO:{id:"KAOO",city:"Altoona - Blair County Airport",state:"PA",lat:40.29994,lon:-78.3168},KAVP:{id:"KAVP",city:"Wilkes-Barre - Scranton, Wilkes-Barre / Scranton International Airport",state:"PA",lat:41.33889,lon:-75.72667},KBFD:{id:"KBFD",city:"Bradford Regional Airport",state:"PA",lat:41.79838,lon:-78.63539},KBTP:{id:"KBTP",city:"Butler, Butler County Airport/K W Scholter Field",state:"PA",lat:40.78333,lon:-79.95},KBVI:{id:"KBVI",city:"Beaver County Airport",state:"PA",lat:40.77351,lon:-80.38248},KCKZ:{id:"KCKZ",city:"Pennridge Airport",state:"PA",lat:40.38919,lon:-75.29047},KCXY:{id:"KCXY",city:"Harrisburg, Capital City Airport",state:"PA",lat:40.21843,lon:-76.8552},KDUJ:{id:"KDUJ",city:"Du Bois - Jefferson County Airport",state:"PA",lat:41.17948,lon:-78.89326},KDYL:{id:"KDYL",city:"Doylestown, Doylestown Airport",state:"PA",lat:40.33016,lon:-75.12286},KERI:{id:"KERI",city:"Erie, Erie International Airport",state:"PA",lat:42.08,lon:-80.1825},KFIG:{id:"KFIG",city:"Clearfield, Clearfield-Lawrence Airport",state:"PA",lat:41.04667,lon:-78.41167},KFKL:{id:"KFKL",city:"Franklin, Venango Regional Airport",state:"PA",lat:41.38333,lon:-79.86667},KGKJ:{id:"KGKJ",city:"Port Meadville Airport",state:"PA",lat:41.6258399,lon:-80.21231},KHMZ:{id:"KHMZ",city:"Bedford, Bedford County Airport",state:"PA",lat:40.08528,lon:-78.51222},KHZL:{id:"KHZL",city:"Hazleton Municipal Airport",state:"PA",lat:40.98447,lon:-75.99005},KIDI:{id:"KIDI",city:"Indiana / Stewart Field",state:"PA",lat:40.63333,lon:-79.1},KIPT:{id:"KIPT",city:"Williamsport - Lycoming County Airport",state:"PA",lat:41.24298,lon:-76.92173},KJST:{id:"KJST",city:"Johnstown - Cambria County Airport",state:"PA",lat:40.3149,lon:-78.83074},KLBE:{id:"KLBE",city:"Latrobe / Westmoreland",state:"PA",lat:40.2731,lon:-79.41033},KLNS:{id:"KLNS",city:"Lancaster, Lancaster Airport",state:"PA",lat:40.1205799,lon:-76.29446},KLOM:{id:"KLOM",city:"Philadelphia - Wings Field Airport",state:"PA",lat:40.13758,lon:-75.2684},KMDT:{id:"KMDT",city:"Harrisburg, Harrisburg International Airport",state:"PA",lat:40.19361,lon:-76.76333},KMPO:{id:"KMPO",city:"Mount Pocono, Pocono Mountains Municipal Airport",state:"PA",lat:41.13821,lon:-75.37971},KMQS:{id:"KMQS",city:"Chester County Airport",state:"PA",lat:39.98333,lon:-75.86667},KMUI:{id:"KMUI",city:"Muir Army Air Field / Indiantown",state:"PA",lat:40.43808,lon:-76.56434},KOQN:{id:"KOQN",city:"Brandywine Regional Airport",state:"PA",lat:39.99011,lon:-75.5819},KOYM:{id:"KOYM",city:"St Marys Municipal Airport",state:"PA",lat:41.41248,lon:-78.50263},KPHL:{id:"KPHL",city:"Philadelphia, Philadelphia International Airport",state:"PA",lat:39.87327,lon:-75.22678},KPIT:{id:"KPIT",city:"Pittsburgh, Pittsburgh International Airport",state:"PA",lat:40.50389,lon:-80.26639},KPJC:{id:"KPJC",city:"Zelienople Municipal Airport",state:"PA",lat:40.80197,lon:-80.16086},KPNE:{id:"KPNE",city:"Philadelphia, Northeast Philadelphia Airport",state:"PA",lat:40.07889,lon:-75.01361},KPTW:{id:"KPTW",city:"Pottstown, Pottstown Limerick Airport",state:"PA",lat:40.23802,lon:-75.5548699},KRDG:{id:"KRDG",city:"Reading, Reading Regional Airport",state:"PA",lat:40.37333,lon:-75.95944},KRVL:{id:"KRVL",city:"Reedsville / Mifflin",state:"PA",lat:40.68333,lon:-77.63333},KSEG:{id:"KSEG",city:"Selinsgrove Penn Valley Airport",state:"PA",lat:40.81929,lon:-76.86582},KTHV:{id:"KTHV",city:"York, York Airport",state:"PA",lat:39.91944,lon:-76.87694},KUCP:{id:"KUCP",city:"New Castle, New Castle Municipal Airport",state:"PA",lat:41.02528,lon:-80.41333},KUKT:{id:"KUKT",city:"Quakertown Airport",state:"PA",lat:40.4368,lon:-75.38016},KUNV:{id:"KUNV",city:"State College - University Park Airport",state:"PA",lat:40.85344,lon:-77.8401},KVVS:{id:"KVVS",city:"Joseph A Hardy Connellsville Airport",state:"PA",lat:39.95906,lon:-79.65742},KXLL:{id:"KXLL",city:"Allentown Queen City Municipal Airport",state:"PA",lat:40.57,lon:-75.488},KALB:{id:"KALB",city:"Albany International Airport",state:"NY",lat:42.74722,lon:-73.79912},KART:{id:"KART",city:"Watertown, Watertown International Airport",state:"NY",lat:43.99194,lon:-76.02167},KBGM:{id:"KBGM",city:"Binghamton, Binghamton Regional Airport",state:"NY",lat:42.20778,lon:-75.98139},KBUF:{id:"KBUF",city:"Buffalo, Greater Buffalo International Airport",state:"NY",lat:42.93998,lon:-78.73604},KDKK:{id:"KDKK",city:"Dunkirk, Chautauqua County / Dunkirk Airport",state:"NY",lat:42.49306,lon:-79.27583},KDSV:{id:"KDSV",city:"Dansville, Dansville Municipal Airport",state:"NY",lat:42.56944,lon:-77.71444},KELM:{id:"KELM",city:"Elmira, Elmira / Corning Regional Airport",state:"NY",lat:42.15639,lon:-76.90278},KELZ:{id:"KELZ",city:"Wellsville, Wellsville Municipal Airport",state:"NY",lat:42.1075,lon:-77.98444},KFOK:{id:"KFOK",city:"The Gabreski Airport",state:"NY",lat:40.85053,lon:-72.61927},KFRG:{id:"KFRG",city:"Farmingdale - Republic Airport",state:"NY",lat:40.73443,lon:-73.41639},KFZY:{id:"KFZY",city:"Fulton, Oswego County Airport",state:"NY",lat:43.35083,lon:-76.38806},KGFL:{id:"KGFL",city:"Glens Falls, Floyd Bennett Memorial Airport",state:"NY",lat:43.34111,lon:-73.61056},KGTB:{id:"KGTB",city:"Fort Drum / Wheeler-Sack U. S. Army Airfield",state:"NY",lat:44.05,lon:-75.73333},KGVQ:{id:"KGVQ",city:"Genesee County Airport",state:"NY",lat:43.03175,lon:-78.16967},KHPN:{id:"KHPN",city:"White Plains - Westchester County Airport",state:"NY",lat:41.06237,lon:-73.70456},KHTO:{id:"KHTO",city:"East Hampton, East Hampton Airport",state:"NY",lat:40.95944,lon:-72.25194},KHWV:{id:"KHWV",city:"Shirley, Brookhaven Airport",state:"NY",lat:40.82167,lon:-72.8688899},KIAG:{id:"KIAG",city:"Niagara Falls, Niagara Falls International Airport",state:"NY",lat:43.1082899,lon:-78.93818},KISP:{id:"KISP",city:"Islip, Long Island Mac Arthur Airport",state:"NY",lat:40.79389,lon:-73.10167},KITH:{id:"KITH",city:"Ithaca, Ithaca Tompkins Regional Airport",state:"NY",lat:42.49083,lon:-76.45833},KJFK:{id:"KJFK",city:"New York, Kennedy International Airport",state:"NY",lat:40.63915,lon:-73.76393},KJHW:{id:"KJHW",city:"Jamestown, Chautauqua County/Jamestown Airport",state:"NY",lat:42.15,lon:-79.26667},KJRB:{id:"KJRB",city:"New York Downtown Manhattan",state:"NY",lat:40.7012,lon:-74.009},KLGA:{id:"KLGA",city:"New York, La Guardia Airport",state:"NY",lat:40.77917,lon:-73.88},KMGJ:{id:"KMGJ",city:"Montgomery, Orange County Airport",state:"NY",lat:41.50917,lon:-74.265},KMSS:{id:"KMSS",city:"Massena, Massena International-Richards Field",state:"NY",lat:44.93583,lon:-74.84556},KMSV:{id:"KMSV",city:"Monticello, Sullivan County International Airport",state:"NY",lat:41.7,lon:-74.8},KMTP:{id:"KMTP",city:"Montauk, Montauk Airport",state:"NY",lat:41.07306,lon:-71.92333},KNYC:{id:"KNYC",city:"New York City, Central Park",state:"NY",lat:40.78333,lon:-73.9666699},KOGS:{id:"KOGS",city:"Ogdensburg International Airport",state:"NY",lat:44.68186,lon:-75.4655},KOLE:{id:"KOLE",city:"Cattaraugus County-Olean Airport",state:"NY",lat:42.24119,lon:-78.37136},KPBG:{id:"KPBG",city:"Plattsburgh International Airport ",state:"NY",lat:44.65,lon:-73.4666699},KPEO:{id:"KPEO",city:"Penn Yan, Penn Yan Airport",state:"NY",lat:42.64306,lon:-77.04944},KPOU:{id:"KPOU",city:"Poughkeepsie, Dutchess County Airport",state:"NY",lat:41.62667,lon:-73.88417},KPTD:{id:"KPTD",city:"Potsdam Municipal Airport/Damon Field",state:"NY",lat:44.67667,lon:-74.94844},KRME:{id:"KRME",city:"Griffiss Air Force Base / Rome",state:"NY",lat:43.23333,lon:-75.4},KROC:{id:"KROC",city:"Rochester, Greater Rochester International Airport",state:"NY",lat:43.11667,lon:-77.67667},KSCH:{id:"KSCH",city:"Schenectady Airport",state:"NY",lat:42.85,lon:-73.93333},KSDC:{id:"KSDC",city:"Williamson-Sodus Airport",state:"NY",lat:43.23459,lon:-77.11946},KSLK:{id:"KSLK",city:"Saranac Lake, Adirondack Regional Airport",state:"NY",lat:44.39306,lon:-74.20278},KSWF:{id:"KSWF",city:"Newburgh / Stewart",state:"NY",lat:41.5,lon:-74.1},KSYR:{id:"KSYR",city:"Syracuse, Syracuse Hancock International Airport",state:"NY",lat:43.10917,lon:-76.10333},KVGC:{id:"KVGC",city:"Hamilton Municipal Airport",state:"NY",lat:42.84344,lon:-75.56119},KGLY:{id:"KGLY",city:"Clinton, MO",state:"MO",lat:38.3566,lon:-93.6842},KGPH:{id:"KGPH",city:"Mosby Midwest National Air Center Airport",state:"MO",lat:39.3325,lon:-94.3096},KHAE:{id:"KHAE",city:"Hannibal Regional Airport",state:"MO",lat:39.7252,lon:-91.4439},KHFJ:{id:"KHFJ",city:"Monett",state:"MO",lat:36.9062,lon:-94.0128},KIRK:{id:"KIRK",city:"Kirksville, Kirksville Regional Airport",state:"MO",lat:40.09722,lon:-92.54333},KJEF:{id:"KJEF",city:"Jefferson City, Jefferson City Memorial Airport",state:"MO",lat:38.59444,lon:-92.15583},KJLN:{id:"KJLN",city:"Joplin, Joplin Regional Airport",state:"MO",lat:37.15611,lon:-94.5005599},KLBO:{id:"KLBO",city:"LEBANON",state:"MO",lat:37.64833,lon:-92.6525},KLRY:{id:"KLRY",city:"Harrisonville Lawrence Smith Memorial Airport",state:"MO",lat:38.611,lon:-94.3421},KLXT:{id:"KLXT",city:"Lee's Summit, Lee's Summit Municipal Airport",state:"MO",lat:38.95972,lon:-94.37167},KMAW:{id:"KMAW",city:"Malden Municipal Airport",state:"MO",lat:36.6004999,lon:-89.9922},KMBY:{id:"KMBY",city:"Omar N Bradley Airport",state:"MO",lat:39.46341,lon:-92.42638},KMCI:{id:"KMCI",city:"Kansas City, Kansas City International Airport",state:"MO",lat:39.29722,lon:-94.73056},KMHL:{id:"KMHL",city:"Marshall Memorial Municipal Airport",state:"MO",lat:39.0955,lon:-93.2028},KMKC:{id:"KMKC",city:"Kansas City, Kansas City Downtown Airport",state:"MO",lat:39.12083,lon:-94.59694},KMYJ:{id:"KMYJ",city:"Mexico Memorial Airport",state:"MO",lat:39.1575,lon:-91.8182999},KOZS:{id:"KOZS",city:"Camdenton Memorial Airport",state:"MO",lat:37.9739999,lon:-92.6912},KPCD:{id:"KPCD",city:"Perryville Regional Airport",state:"MO",lat:37.86867,lon:-89.86214},KPOF:{id:"KPOF",city:"Poplar Bluff, Poplar Bluff Municipal Airport",state:"MO",lat:36.77056,lon:-90.32222},KRAW:{id:"KRAW",city:"Warsaw Municipal Airport",state:"MO",lat:38.3469,lon:-93.3454},KRCM:{id:"KRCM",city:"Skyhaven Airport",state:"MO",lat:38.7842,lon:-93.8028999},KSET:{id:"KSET",city:"St. Charles, St. Charles County Smartt Airport",state:"MO",lat:38.93056,lon:-90.4325},KSGF:{id:"KSGF",city:"Springfield, Springfield Regional Airport",state:"MO",lat:37.23972,lon:-93.38972},KSIK:{id:"KSIK",city:"Sikeston Memorial Municipal Airport",state:"MO",lat:36.8989,lon:-89.5618},KSTJ:{id:"KSTJ",city:"St. Joseph, Rosecrans Memorial Airport",state:"MO",lat:39.76806,lon:-94.90917},KSTL:{id:"KSTL",city:"St. Louis Lambert International Airport",state:"MO",lat:38.7525,lon:-90.37361},KSUS:{id:"KSUS",city:"St. Louis, Spirit Of St. Louis Airport",state:"MO",lat:38.65722,lon:-90.65583},KSZL:{id:"KSZL",city:"Whiteman Air Force Base",state:"MO",lat:38.73333,lon:-93.55},KTBN:{id:"KTBN",city:"Fort Leonard Wood",state:"MO",lat:37.73333,lon:-92.13333},KTKX:{id:"KTKX",city:"Kennett - Kennett Memorial Airport",state:"MO",lat:36.22256,lon:-90.03671},KUNO:{id:"KUNO",city:"West Plains, West Plains Municipal Airport",state:"MO",lat:36.87917,lon:-91.905},KVER:{id:"KVER",city:"Jesse Viertel Memorial Airport",state:"MO",lat:38.94672,lon:-92.68267},KVIH:{id:"KVIH",city:"Rolla / Vichy, Rolla National Airport",state:"MO",lat:38.13194,lon:-91.76528},KABY:{id:"KABY",city:"Southwest Georgia Regional Airport",state:"GA",lat:31.53652,lon:-84.19571},KACJ:{id:"KACJ",city:"Americus Souther Field Airport",state:"GA",lat:32.11081,lon:-84.18886},KAGS:{id:"KAGS",city:"Augusta, Bush Field",state:"GA",lat:33.36444,lon:-81.96333},KAHN:{id:"KAHN",city:"Athens, Athens Airport",state:"GA",lat:33.95083,lon:-83.3280599},KAJR:{id:"KAJR",city:"Cornelia Habersham County Airport",state:"GA",lat:34.4998,lon:-83.5567},KAMG:{id:"KAMG",city:"Alma, Bacon County Airport",state:"GA",lat:31.53611,lon:-82.50667},KATL:{id:"KATL",city:"Atlanta, Hartsfield - Jackson Atlanta International Airport",state:"GA",lat:33.64028,lon:-84.42694},KAYS:{id:"KAYS",city:"Waycross / Ware County, Ga",state:"GA",lat:31.25,lon:-82.4},KAZE:{id:"KAZE",city:"Hazlehurst Airport",state:"GA",lat:31.8847,lon:-82.6474},KBGE:{id:"KBGE",city:"Bainbridge, Decatur County Industrial Air Park Airport",state:"GA",lat:30.96667,lon:-84.63333},KBHC:{id:"KBHC",city:"Baxley Municipal Airport",state:"GA",lat:31.7138,lon:-82.3938},KBIJ:{id:"KBIJ",city:"Blakely, Early County Airport",state:"GA",lat:31.39694,lon:-84.895},KBQK:{id:"KBQK",city:"Brunswick / Glynco",state:"GA",lat:31.25,lon:-81.4666699},KCCO:{id:"KCCO",city:"Newnan, Newnan Coweta County Airport",state:"GA",lat:33.31222,lon:-84.77028},KCKF:{id:"KCKF",city:"Cordele Crisp County Airport",state:"GA",lat:31.9888,lon:-83.7739},KCNI:{id:"KCNI",city:"Canton, Cherokee County Airport",state:"GA",lat:34.31056,lon:-84.42389},KCSG:{id:"KCSG",city:"Columbus, Columbus Metropolitan Airport",state:"GA",lat:32.51611,lon:-84.94222},KCTJ:{id:"KCTJ",city:"Carrollton West Georgia Regional Airport",state:"GA",lat:33.63,lon:-85.15},KCVC:{id:"KCVC",city:"Covington Municipal Airport",state:"GA",lat:33.632,lon:-83.85},KCWV:{id:"KCWV",city:"Claxton Evans County Airport",state:"GA",lat:32.1950999,lon:-81.8696},KCXU:{id:"KCXU",city:"Camilla-Mitchell County Airport",state:"GA",lat:31.2132,lon:-84.2352},KCZL:{id:"KCZL",city:"Calhoun Tom B. David Field Airport",state:"GA",lat:34.4554,lon:-84.9392},KDBN:{id:"KDBN",city:"Dublin, W H 'Bud' Barron Airport",state:"GA",lat:32.56444,lon:-82.985},KDNL:{id:"KDNL",city:"Augusta Daniel Field",state:"GA",lat:33.4669,lon:-82.03836},KDNN:{id:"KDNN",city:"Dalton, Dalton Municipal Airport",state:"GA",lat:34.72167,lon:-84.86917},KDQH:{id:"KDQH",city:"Douglas, Douglas Municipal Airport",state:"GA",lat:31.47667,lon:-82.86028},KDZJ:{id:"KDZJ",city:"Blairsville Airport",state:"GA",lat:34.8544,lon:-83.9973},KEZM:{id:"KEZM",city:"Eastman, Heart of Georgia Regional Airport",state:"GA",lat:32.21417,lon:-83.12778},KFFC:{id:"KFFC",city:"Atlanta Regional Airport-Falcon Field",state:"GA",lat:33.35436,lon:-84.56893},KFTY:{id:"KFTY",city:"Fulton County Airport-Brown Field",state:"GA",lat:33.77764,lon:-84.52461},KFZG:{id:"KFZG",city:"Fitzgerald Municipal Airport",state:"GA",lat:31.6839,lon:-83.2709},KGVL:{id:"KGVL",city:"Gainesville, Gilmer Memorial Airport",state:"GA",lat:34.27194,lon:-83.83028},KHMP:{id:"KHMP",city:"Henry County Airport",state:"GA",lat:33.3899,lon:-84.331},KHOE:{id:"KHOE",city:"Homerville Airport",state:"GA",lat:31.0559,lon:-82.7741},KHQU:{id:"KHQU",city:"Thomson, Thomson-McDuffie County Airport",state:"GA",lat:33.52944,lon:-82.51639},KIIY:{id:"KIIY",city:"Washington, Washington-Wilkes County Airport",state:"GA",lat:33.77972,lon:-82.81639},KJCA:{id:"KJCA",city:"Jackson County Airport",state:"GA",lat:34.17586,lon:-83.5616},KJES:{id:"KJES",city:"Jesup-Wayne County Airport",state:"GA",lat:31.554,lon:-81.8824999},KJYL:{id:"KJYL",city:"Sylvania, Plantation Airpark",state:"GA",lat:32.64528,lon:-81.59639},KJZP:{id:"KJZP",city:"Jasper Pickens County Airport",state:"GA",lat:34.45417,lon:-84.45971},KLGC:{id:"KLGC",city:"LaGrange-Callaway Airport",state:"GA",lat:33.00617,lon:-85.06609},KLHW:{id:"KLHW",city:"Wright Army Airfield (Fort Stewart)/Midcoast Regional Airport",state:"GA",lat:31.88724,lon:-81.56244},KLSF:{id:"KLSF",city:"Fort Benning",state:"GA",lat:32.3333299,lon:-84.83333},KLZU:{id:"KLZU",city:"Gwinnett County Airport-Briscoe Field",state:"GA",lat:33.98288,lon:-83.95842},KMCN:{id:"KMCN",city:"Middle Georgia Regional Airport",state:"GA",lat:32.68892,lon:-83.65293},KMGE:{id:"KMGE",city:"Marietta / Dobbins Air Force Base",state:"GA",lat:33.91667,lon:-84.51667},KMGR:{id:"KMGR",city:"Moultrie, Moultrie Municipal Airport",state:"GA",lat:31.08472,lon:-83.80306},KMHP:{id:"KMHP",city:"Metter Municipal Airport",state:"GA",lat:32.37397,lon:-82.08144},KMLJ:{id:"KMLJ",city:"Milledgeville, Baldwin County Airport",state:"GA",lat:33.15417,lon:-83.24056},KOKZ:{id:"KOKZ",city:"Sandersville Kaolin Field Airport",state:"GA",lat:32.9667,lon:-82.8382},KOPN:{id:"KOPN",city:"Thomaston, Thomaston-Upson County Airport",state:"GA",lat:32.955,lon:-84.2644399},KPDK:{id:"KPDK",city:"Atlanta, De Kalb-Peachtree Airport",state:"GA",lat:33.87833,lon:-84.29806},KPIM:{id:"KPIM",city:"Pine Mountain Harris County Airport",state:"GA",lat:32.8407,lon:-84.8824},KPUJ:{id:"KPUJ",city:"Dallas Paulding County Regional Airport",state:"GA",lat:33.9189999,lon:-84.952},KPXE:{id:"KPXE",city:"Perry-Houston County Airport",state:"GA",lat:32.5105999,lon:-83.7673},KRMG:{id:"KRMG",city:"Rome, R. B. Russell Airport",state:"GA",lat:34.34778,lon:-85.1611099},KRVJ:{id:"KRVJ",city:"Swinton Smith Field at Reidsville Municipal Airport",state:"GA",lat:32.0594899,lon:-82.15358},KRYY:{id:"KRYY",city:"Cobb County International Airport - McCollum Field",state:"GA",lat:34.01467,lon:-84.59635},KSAV:{id:"KSAV",city:"Savannah-Hilton Head International Airport",state:"GA",lat:32.1313699,lon:-81.20226},KSBO:{id:"KSBO",city:"Swainsboro Emanuel County Airport",state:"GA",lat:32.6091,lon:-82.3699},KSSI:{id:"KSSI",city:"Brunswick, Malcolm McKinnon Airport",state:"GA",lat:31.15167,lon:-81.39139},KSVN:{id:"KSVN",city:"Hunter U. S. Army Airfield",state:"GA",lat:32.01667,lon:-81.15},KTBR:{id:"KTBR",city:"Statesboro, Statesboro-Bulloch County Airport",state:"GA",lat:32.48306,lon:-81.7372199},KTMA:{id:"KTMA",city:"Tifton Henry Tift Myers",state:"GA",lat:31.429,lon:-83.4885},KTOC:{id:"KTOC",city:"Toccoa Le Tourneau Airport",state:"GA",lat:34.5927999,lon:-83.2964},KTVI:{id:"KTVI",city:"Thomasville Regional Airport",state:"GA",lat:30.90179,lon:-83.88113},KVAD:{id:"KVAD",city:"Moody Air Force Base",state:"GA",lat:30.97913,lon:-83.19247},KVDI:{id:"KVDI",city:"Vidalia, Vidalia Municipal Airport",state:"GA",lat:32.1925,lon:-82.37194},KVLD:{id:"KVLD",city:"Valdosta Regional Airport",state:"GA",lat:30.77632,lon:-83.27389},KVPC:{id:"KVPC",city:"Cartersville Airport",state:"GA",lat:34.11589,lon:-84.85064},KWDR:{id:"KWDR",city:"Winder, Winder-Barrow Airport",state:"GA",lat:33.98222,lon:-83.66806},KWRB:{id:"KWRB",city:"Warner Robins Air Force Base",state:"GA",lat:32.63333,lon:-83.6},PAAD:{id:"PAAD",city:"Point Thomson Airstrip",state:"AK",lat:70.136,lon:-146.2901},PAAQ:{id:"PAAQ",city:"Palmer, Palmer Municipal Airport",state:"AK",lat:61.6,lon:-149.08333},PABA:{id:"PABA",city:"Barter Island, Barter Island LRRS Airport",state:"AK",lat:70.1338899,lon:-143.57694},PABE:{id:"PABE",city:"Bethel, Bethel Airport",state:"AK",lat:60.77972,lon:-161.83778},PABI:{id:"PABI",city:"Delta Junction/Ft Greely, Allen Army Airfield",state:"AK",lat:64,lon:-145.73333},PABL:{id:"PABL",city:"Buckland, Buckland Airport",state:"AK",lat:65.98222,lon:-161.15194},PABR:{id:"PABR",city:"Wiley Post-Will Rogers Memorial Airport",state:"AK",lat:71.28528,lon:-156.76583},PABT:{id:"PABT",city:"Bettles, Bettles Airport",state:"AK",lat:66.91667,lon:-151.51667},PABV:{id:"PABV",city:"Birchwood, Birchwood Airport",state:"AK",lat:61.41667,lon:-149.51667},PACD:{id:"PACD",city:"Cold Bay, Cold Bay Airport",state:"AK",lat:55.22083,lon:-162.72778},PACM:{id:"PACM",city:"Scammon Bay",state:"AK",lat:61.8453,lon:-165.5713},PACV:{id:"PACV",city:"Cordova, Merle K (Mudhole) Smith Airport",state:"AK",lat:60.49167,lon:-145.47778},PACZ:{id:"PACZ",city:"Cape Romanzof, Cape Romanzof LRRS Airport",state:"AK",lat:61.78333,lon:-166.03333},PADG:{id:"PADG",city:"Red Dog",state:"AK",lat:68.0321,lon:-162.8992},PADK:{id:"PADK",city:"Adak Island, Adak Airport",state:"AK",lat:51.87778,lon:-176.64583},PADL:{id:"PADL",city:"Dillingham, Dillingham Airport",state:"AK",lat:59.05,lon:-158.51667},PADM:{id:"PADM",city:"Marshall",state:"AK",lat:61.8643,lon:-162.0261},PADQ:{id:"PADQ",city:"Kodiak, Kodiak Airport",state:"AK",lat:57.75,lon:-152.5},PADU:{id:"PADU",city:"Unalaska, Unalaska Airport",state:"AK",lat:53.9,lon:-166.53333},PAEC:{id:"PAEC",city:"Chulitna, Chulitna Airport",state:"AK",lat:62.88333,lon:-149.83333},PAED:{id:"PAED",city:"Anchorage, Elmendorf Air Force Base",state:"AK",lat:61.25306,lon:-149.79389},PAEG:{id:"PAEG",city:"Eagle, Eagle Airport",state:"AK",lat:64.77639,lon:-141.15083},PAEH:{id:"PAEH",city:"Cape Newenham, Cape Newenham LRRS Airport",state:"AK",lat:58.65,lon:-162.0666699},PAEI:{id:"PAEI",city:"Fairbanks, Eielson Air Force Base",state:"AK",lat:64.65,lon:-147.1},PAEL:{id:"PAEL",city:"Elfin Cove - Elfin Cove Seaplane Base",state:"AK",lat:58.19467,lon:-136.34663},PAEM:{id:"PAEM",city:"Emmonak, Emmonak Airport",state:"AK",lat:62.78333,lon:-164.5},PAEN:{id:"PAEN",city:"Kenai, Kenai Municipal Airport",state:"AK",lat:60.57306,lon:-151.245},PAFA:{id:"PAFA",city:"Fairbanks, Fairbanks International Airport",state:"AK",lat:64.80389,lon:-147.87611},PAFB:{id:"PAFB",city:"Fort Wainwright AAF",state:"AK",lat:64.83667,lon:-147.59556},PAFE:{id:"PAFE",city:"Kake - Kake Airport",state:"AK",lat:56.964,lon:-133.913},PAFM:{id:"PAFM",city:"Ambler, Ambler Airport",state:"AK",lat:67.1,lon:-157.85},PAFR:{id:"PAFR",city:"Ft. Richardson / Bryant U. S. Army Heliport, Ak",state:"AK",lat:61.26667,lon:-149.65},PAFS:{id:"PAFS",city:"Nikolai",state:"AK",lat:63.019,lon:-154.358},PAGA:{id:"PAGA",city:"Galena, Edward G. Pitka Sr. Airport",state:"AK",lat:64.73333,lon:-156.93333},PAGB:{id:"PAGB",city:"Galbraith Lake, Galbraith Lake Airport",state:"AK",lat:68.48333,lon:-149.48333},PAGH:{id:"PAGH",city:"Shungnak Airport",state:"AK",lat:66.8881,lon:-157.1624},PAGK:{id:"PAGK",city:"Gulkana, Gulkana Airport",state:"AK",lat:62.15,lon:-145.45},PAGL:{id:"PAGL",city:"Golovin, Golovin Airport",state:"AK",lat:64.54333,lon:-163.03944},PAGM:{id:"PAGM",city:"Gambell, Gambell Airport",state:"AK",lat:63.76667,lon:-171.73333},PAGN:{id:"PAGN",city:"Angoon",state:"AK",lat:57.5,lon:-134.58333},PAGS:{id:"PAGS",city:"Gustavus, Gustavus Airport",state:"AK",lat:58.41667,lon:-135.7},PAGY:{id:"PAGY",city:"Skagway",state:"AK",lat:59.4544,lon:-135.3263},PAHC:{id:"PAHC",city:"Holy Cross",state:"AK",lat:62.1873,lon:-159.77657},PAHL:{id:"PAHL",city:"Huslia, Huslia Airport",state:"AK",lat:65.6975,lon:-156.35111},PAHN:{id:"PAHN",city:"Haines - Haines Airport",state:"AK",lat:59.2429,lon:-135.5114},PAHO:{id:"PAHO",city:"Homer, Homer Airport",state:"AK",lat:59.65,lon:-151.48333},PAHP:{id:"PAHP",city:"Hooper Bay, Hooper Bay Airport",state:"AK",lat:61.51667,lon:-166.13333},PAHY:{id:"PAHY",city:"Hydaburg - Hydaburg Seaplane Base",state:"AK",lat:55.2,lon:-132.83333},PAIG:{id:"PAIG",city:"Igiugig",state:"AK",lat:59.32395,lon:-155.90235},PAII:{id:"PAII",city:"Egegik, Egegik Airport",state:"AK",lat:58.18528,lon:-157.38556},PAIK:{id:"PAIK",city:"Kinana / Bob Baker Me",state:"AK",lat:66.98333,lon:-160.43333},PAIL:{id:"PAIL",city:"Iliamna, Iliamna Airport",state:"AK",lat:59.75,lon:-154.9},PAIM:{id:"PAIM",city:"Utopia Creek, Indian Mountain LRRS Airport",state:"AK",lat:66,lon:-153.7},PAIN:{id:"PAIN",city:"McKinley Park, McKinley National Park Airport",state:"AK",lat:63.73333,lon:-148.91667},PAIW:{id:"PAIW",city:"Wales",state:"AK",lat:65.6226,lon:-168.0949},PAJC:{id:"PAJC",city:"Chignik, Chignik Airport",state:"AK",lat:56.31139,lon:-158.37333},PAJK:{id:"PAJK",city:"NWS Office: Juneau",state:"AK",lat:58.4,lon:-134.57001},PAJN:{id:"PAJN",city:"Juneau, Juneau International Airport",state:"AK",lat:58.35472,lon:-134.57611},PAJZ:{id:"PAJZ",city:"Koliganek",state:"AK",lat:59.727,lon:-157.2589999},PAKF:{id:"PAKF",city:"False Pass Airport",state:"AK",lat:54.847,lon:-163.41},PAKH:{id:"PAKH",city:"Akhiok",state:"AK",lat:56.9387,lon:-154.1826},PAKI:{id:"PAKI",city:"Kipnuk, Kipnuk Airport",state:"AK",lat:59.93278,lon:-164.03028},PAKK:{id:"PAKK",city:"Koyuk, Koyuk Airport",state:"AK",lat:64.93389,lon:-161.15806},PAKN:{id:"PAKN",city:"King Salmon, King Salmon Airport",state:"AK",lat:58.67667,lon:-156.64917},PAKP:{id:"PAKP",city:"Anaktuvuk Pass, Anaktuvuk Pass Airport",state:"AK",lat:68.13361,lon:-151.7433299},PAKT:{id:"PAKT",city:"Ketchikan, Ketchikan International Airport",state:"AK",lat:55.35556,lon:-131.71361},PAKU:{id:"PAKU",city:"Kuparuk, Ugnu-Kuparuk Airport",state:"AK",lat:70.31667,lon:-149.58333},PAKV:{id:"PAKV",city:"Kaltag, Kaltag Airport",state:"AK",lat:64.31667,lon:-158.73333},PAKW:{id:"PAKW",city:"Klawock - Klawock Airport",state:"AK",lat:55.5839,lon:-133.067},PALG:{id:"PALG",city:"Kalskag",state:"AK",lat:61.5364,lon:-160.3414},PALH:{id:"PALH",city:"Anchorage, Lake Hood Seaplane Base",state:"AK",lat:61.18333,lon:-149.96667},PALJ:{id:"PALJ",city:"Port Alsworth, Port Alsworth Airport",state:"AK",lat:60.2,lon:-154.3166699},PALP:{id:"PALP",city:"Deadhorse, Alpine Airstrip",state:"AK",lat:70.33333,lon:-150.93333},PALU:{id:"PALU",city:"Cape Lisburne, Cape Lisburne LRRS Airport",state:"AK",lat:68.88333,lon:-166.1},PAMB:{id:"PAMB",city:"Manokotak",state:"AK",lat:58.9902,lon:-159.0499},PAMC:{id:"PAMC",city:"McGrath, McGrath Airport",state:"AK",lat:62.96667,lon:-155.61667},PAMD:{id:"PAMD",city:"Middleton Island Airport",state:"AK",lat:59.4423,lon:-146.3166},PAMH:{id:"PAMH",city:"Minchumina, Minchumina Airport",state:"AK",lat:63.88056,lon:-152.30056},PAMK:{id:"PAMK",city:"St Michael Airport",state:"AK",lat:63.49006,lon:-162.11039},PAMM:{id:"PAMM",city:"Metlakatla, Metlakatla Seaplane Base",state:"AK",lat:55.13111,lon:-131.57806},PAMO:{id:"PAMO",city:"Mountain Village",state:"AK",lat:62.0953,lon:-163.6819},PAMR:{id:"PAMR",city:"Anchorage, Merrill Field Airport",state:"AK",lat:61.21667,lon:-149.85},PAMY:{id:"PAMY",city:"Mekoryuk, Mekoryuk Airport",state:"AK",lat:60.36667,lon:-166.26667},PANA:{id:"PANA",city:"Napakiak Airport",state:"AK",lat:60.6903,lon:-161.9785},PANC:{id:"PANC",city:"Anchorage, Ted Stevens Anchorage International Airport",state:"AK",lat:61.17444,lon:-149.9961099},PANI:{id:"PANI",city:"Aniak, Aniak Airport",state:"AK",lat:61.58139,lon:-159.54278},PANN:{id:"PANN",city:"Nenana Municipal Airport",state:"AK",lat:64.54796,lon:-149.08398},PANV:{id:"PANV",city:"Anvik, Anvik Airport",state:"AK",lat:62.64833,lon:-160.18972},PANW:{id:"PANW",city:"New Stuyahok",state:"AK",lat:59.45,lon:-157.328},PAOH:{id:"PAOH",city:"Hoonah - Hoonah Seaplane Base",state:"AK",lat:58.097,lon:-135.4139999},PAOM:{id:"PAOM",city:"Nome, Nome Airport",state:"AK",lat:64.51194,lon:-165.445},PAOO:{id:"PAOO",city:"Toksook Bay",state:"AK",lat:60.53352,lon:-165.1142999},PAOR:{id:"PAOR",city:"Northway, Northway Airport",state:"AK",lat:62.96111,lon:-141.92889},PAOT:{id:"PAOT",city:"Ralph Wien Memorial Airport",state:"AK",lat:66.88576,lon:-162.60624},PAOU:{id:"PAOU",city:"Nelson Lagoon",state:"AK",lat:56.008,lon:-161.16},PAPB:{id:"PAPB",city:"St. George, St. George Airport",state:"AK",lat:56.57861,lon:-169.66139},PAPG:{id:"PAPG",city:"Petersburg",state:"AK",lat:56.8017,lon:-132.9453},PAPH:{id:"PAPH",city:"Port Heiden, Port Heiden Airport",state:"AK",lat:56.95,lon:-158.63333},PAPM:{id:"PAPM",city:"Platinum",state:"AK",lat:59.01667,lon:-161.8166699},PAPN:{id:"PAPN",city:"Pilot Point Airport",state:"AK",lat:57.58,lon:-157.572},PAPO:{id:"PAPO",city:"Point Hope, Point Hope Airport",state:"AK",lat:68.35,lon:-166.8},PAPR:{id:"PAPR",city:"Prospect Creek, Prospect Creek Airport",state:"AK",lat:66.81278,lon:-150.64389},PAPT:{id:"PAPT",city:"Puntilla",state:"AK",lat:62.1,lon:-152.75},PAQH:{id:"PAQH",city:"Quinhagak Airport",state:"AK",lat:59.7551,lon:-161.8454},PAQT:{id:"PAQT",city:"Nuiqsut, Nuiqsut Airport",state:"AK",lat:70.2099999,lon:-151.00556},PARC:{id:"PARC",city:"Arctic Village, Arctic Village Airport",state:"AK",lat:68.11444,lon:-145.57917},PARS:{id:"PARS",city:"Russian Mission",state:"AK",lat:61.775,lon:-161.3194},PARY:{id:"PARY",city:"Ruby",state:"AK",lat:64.7272,lon:-155.4697},PASA:{id:"PASA",city:"Savoonga Airport",state:"AK",lat:63.68333,lon:-170.5},PASC:{id:"PASC",city:"Deadhorse, Deadhorse Airport",state:"AK",lat:70.2,lon:-148.46667},PASD:{id:"PASD",city:"Sand Point",state:"AK",lat:55.31667,lon:-160.51667},PASH:{id:"PASH",city:"Shishmaref, Shishmaref Airport",state:"AK",lat:66.26667,lon:-166.08333},PASI:{id:"PASI",city:"Sitka - Sitka Airport",state:"AK",lat:57.048,lon:-135.3647},PASK:{id:"PASK",city:"Selawik",state:"AK",lat:66.61667,lon:-160},PASL:{id:"PASL",city:"Sleetmute",state:"AK",lat:61.69735,lon:-157.16712},PASM:{id:"PASM",city:"St. Mary's, St. Mary's Airport",state:"AK",lat:62.05,lon:-163.3},PASN:{id:"PASN",city:"St. Paul Island, St. Paul Island Airport",state:"AK",lat:57.16667,lon:-170.21667},PASO:{id:"PASO",city:"Seldovia, Seldovia Airport",state:"AK",lat:59.45,lon:-151.7},PASV:{id:"PASV",city:"Sparrevohn Airways Facilities Sector",state:"AK",lat:61.1,lon:-155.5666699},PASX:{id:"PASX",city:"Soldotna",state:"AK",lat:60.48333,lon:-151.03333},PASY:{id:"PASY",city:"Shemya, Eareckson AFB",state:"AK",lat:52.71667,lon:174.11667},PATA:{id:"PATA",city:"Tanana, Calhoun Memorial Airport",state:"AK",lat:65.16667,lon:-152.1},PATC:{id:"PATC",city:"Tin City Airways Facilities Sector",state:"AK",lat:65.56667,lon:-167.91667},PATE:{id:"PATE",city:"Teller",state:"AK",lat:65.2403999,lon:-166.3393},PATG:{id:"PATG",city:"Togiac Village, Togiak Airport",state:"AK",lat:59.05,lon:-160.4},PATK:{id:"PATK",city:"Talkeetna, Talkeetna Airport",state:"AK",lat:62.32056,lon:-150.09361},PATL:{id:"PATL",city:"Takotna, Tatalina LRRS Airport",state:"AK",lat:62.9,lon:-155.98333},PATO:{id:"PATO",city:"Portage, Portage Glacier",state:"AK",lat:60.78333,lon:-148.83333},PATQ:{id:"PATQ",city:"Atqasuk",state:"AK",lat:70.4673,lon:-157.4357},PAUN:{id:"PAUN",city:"Unalakleet",state:"AK",lat:63.88333,lon:-160.8},PAUT:{id:"PAUT",city:"Akun Airport",state:"AK",lat:54.1446,lon:-165.6041},PAVA:{id:"PAVA",city:"Chevak Airport",state:"AK",lat:61.5408,lon:-165.6009},PAVC:{id:"PAVC",city:"King Cove",state:"AK",lat:55.116,lon:-162.266},PAVD:{id:"PAVD",city:"Valdez 2",state:"AK",lat:61.13333,lon:-146.26667},PAVL:{id:"PAVL",city:"Kivalina, Kivalina Airport",state:"AK",lat:67.73333,lon:-164.55},PAWD:{id:"PAWD",city:"Seward",state:"AK",lat:60.11667,lon:-149.45},PAWG:{id:"PAWG",city:"Wrangell",state:"AK",lat:56.48333,lon:-132.36667},PAWI:{id:"PAWI",city:"Wainwright, Wainwright Airport",state:"AK",lat:70.63333,lon:-159.85},PAWM:{id:"PAWM",city:"White Mountain Airport",state:"AK",lat:64.6892,lon:-163.4127},PAWN:{id:"PAWN",city:"Noatak, Noatak Airport",state:"AK",lat:67.56667,lon:-162.98333},PAWS:{id:"PAWS",city:"Wasilla, Wasilla Airport",state:"AK",lat:61.57194,lon:-149.54056},PAYA:{id:"PAYA",city:"Yakutat",state:"AK",lat:59.51667,lon:-139.66667},PAZK:{id:"PAZK",city:"Eureka, Skelton Airport",state:"AK",lat:61.93333,lon:-147.16667},PFCL:{id:"PFCL",city:"Clarks Point Airport",state:"AK",lat:58.8337,lon:-158.5294},PFEL:{id:"PFEL",city:"Elim Airport",state:"AK",lat:64.615,lon:-162.2705},PFKT:{id:"PFKT",city:"Brevig Mission Airport",state:"AK",lat:65.3313,lon:-166.4657},PFKW:{id:"PFKW",city:"Kwethluk Airport",state:"AK",lat:60.7903,lon:-161.4437},PFNO:{id:"PFNO",city:"Noorvik",state:"AK",lat:66.8175,lon:-161.0223},PFSH:{id:"PFSH",city:"Shaktoolik Airport",state:"AK",lat:64.3711,lon:-161.224},PFWS:{id:"PFWS",city:"South Naknek Nr 2 Airport",state:"AK",lat:58.7021,lon:-157.0026},PFYU:{id:"PFYU",city:"Fort Yukon, Fort Yukon Airport",state:"AK",lat:66.56667,lon:-145.26667},PPIT:{id:"PPIT",city:"Nunapitchuk Airport",state:"AK",lat:60.906,lon:-162.4406},PPIZ:{id:"PPIZ",city:"Point Lay, Point Lay LRRS Airport",state:"AK",lat:69.7166699,lon:-163},KAAA:{id:"KAAA",city:"Logan County Airport",state:"IL",lat:40.15885,lon:-89.33891},KAJG:{id:"KAJG",city:"Mount Carmel, Mount Carmel Municipal Airport",state:"IL",lat:38.60928,lon:-87.72508},KALN:{id:"KALN",city:"St. Louis Regional Airport",state:"IL",lat:38.88968,lon:-90.03163},KARR:{id:"KARR",city:"Aurora Municipal Airport",state:"IL",lat:41.77132,lon:-88.48147},KBLV:{id:"KBLV",city:"Belleville, Scott AFB/MidAmerica Airport",state:"IL",lat:38.55,lon:-89.85},KBMI:{id:"KBMI",city:"Bloomington/Normal, Central Illinois Regional Airport at Bloomington-Normal",state:"IL",lat:40.47694,lon:-88.91583},KCIR:{id:"KCIR",city:"Cairo Regional Airport",state:"IL",lat:37.06388,lon:-89.2232},KCMI:{id:"KCMI",city:"University of Illinois - Willard",state:"IL",lat:40.03245,lon:-88.27547},KCPS:{id:"KCPS",city:"St. Louis Downtown Airport",state:"IL",lat:38.56403,lon:-90.14871},KCUL:{id:"KCUL",city:"Carmi Municipal Airport",state:"IL",lat:38.08875,lon:-88.12125},KDEC:{id:"KDEC",city:"Decatur Airport",state:"IL",lat:39.8308,lon:-88.87192},KDKB:{id:"KDKB",city:"De Kalb Taylor Municipal Airport",state:"IL",lat:41.93381,lon:-88.70657},KDNV:{id:"KDNV",city:"Danville, Vermilion County Airport",state:"IL",lat:40.19944,lon:-87.59556},KDPA:{id:"KDPA",city:"Chicago / West Chicago, Dupage Airport",state:"IL",lat:41.8963899,lon:-88.25111},KENL:{id:"KENL",city:"Centralia Municipal Airport",state:"IL",lat:38.50951,lon:-89.08996},KFEP:{id:"KFEP",city:"Albertus Airport",state:"IL",lat:42.24751,lon:-89.58104},KFOA:{id:"KFOA",city:"Flora Municipal Airport",state:"IL",lat:38.66726,lon:-88.4526999},KFWC:{id:"KFWC",city:"Fairfield, Fairfield Municipal Airport",state:"IL",lat:38.37861,lon:-88.41278},KGBG:{id:"KGBG",city:"Galesburg Municipal Airport",state:"IL",lat:40.9328999,lon:-90.43339},KHSB:{id:"KHSB",city:"Harrisburg-Raleigh Airport",state:"IL",lat:37.81281,lon:-88.54486},KIGQ:{id:"KIGQ",city:"Lansing Municipal Airport",state:"IL",lat:41.54125,lon:-87.52822},KIJX:{id:"KIJX",city:"Jacksonville Municipal Airport",state:"IL",lat:39.7740099,lon:-90.24187},KIKK:{id:"KIKK",city:"Greater Kankakee Airport",state:"IL",lat:41.06871,lon:-87.85372},KJOT:{id:"KJOT",city:"Joliet Regional Airport",state:"IL",lat:41.51755,lon:-88.17903},KLOT:{id:"KLOT",city:"Lewis University Airport",state:"IL",lat:41.60307,lon:-88.10164},KLWV:{id:"KLWV",city:"Lawrenceville-Vincennes International Airport",state:"IL",lat:38.76046,lon:-87.59903},KMDH:{id:"KMDH",city:"Southern Illinois Airport",state:"IL",lat:37.78328,lon:-89.24532},KMDW:{id:"KMDW",city:"Chicago, Chicago Midway Airport",state:"IL",lat:41.78417,lon:-87.75528},KMLI:{id:"KMLI",city:"Moline Quad-City Airport",state:"IL",lat:41.4482,lon:-90.52359},KMQB:{id:"KMQB",city:"Macomb Municipal Airport",state:"IL",lat:40.5176299,lon:-90.64807},KMTO:{id:"KMTO",city:"Mattoon / Charleston, Coles County Memorial Airport",state:"IL",lat:39.47806,lon:-88.2791699},KMVN:{id:"KMVN",city:"Mount Vernon Airport",state:"IL",lat:38.32842,lon:-88.85292},KMWA:{id:"KMWA",city:"Marion - Williamson County Regional Airport",state:"IL",lat:37.76671,lon:-89.00993},KOLY:{id:"KOLY",city:"Olney-Noble Airport",state:"IL",lat:38.72133,lon:-88.1799},KORD:{id:"KORD",city:"Chicago, Chicago-O'Hare International Airport",state:"IL",lat:41.97972,lon:-87.9044399},KPIA:{id:"KPIA",city:"Peoria - General Downing-Peoria International Airport",state:"IL",lat:40.6674999,lon:-89.68389},KPNT:{id:"KPNT",city:"Pontiac Municipal Airport",state:"IL",lat:40.92327,lon:-88.6213},KPPQ:{id:"KPPQ",city:"Pittsfield, Pittsfield Penstone Municipal Airport",state:"IL",lat:39.63889,lon:-90.77833},KPRG:{id:"KPRG",city:"Edgar County Airport",state:"IL",lat:39.69817,lon:-87.6669},KPWK:{id:"KPWK",city:"Chicago / Wheeling, Pal-Waukee Airport",state:"IL",lat:42.12083,lon:-87.90472},KRFD:{id:"KRFD",city:"Rockford, Greater Rockford Airport",state:"IL",lat:42.19278,lon:-89.09333},KRPJ:{id:"KRPJ",city:"Rochelle, Rochelle Municipal-Koritz Field Airport",state:"IL",lat:41.8905699,lon:-89.08175},KRSV:{id:"KRSV",city:"Robinson Municipal Airport",state:"IL",lat:39.01361,lon:-87.64846},KSAR:{id:"KSAR",city:"Sparta Community-Hunter Field Airport",state:"IL",lat:38.14624,lon:-89.70243},KSFY:{id:"KSFY",city:"Tri-Township Airport",state:"IL",lat:42.04544,lon:-90.11009},KSLO:{id:"KSLO",city:"Salem, Salem-Leckrone Airport",state:"IL",lat:38.64278,lon:-88.96417},KSPI:{id:"KSPI",city:"Springfield - Abraham Lincoln Capital Airport",state:"IL",lat:39.84527,lon:-89.68405},KSQI:{id:"KSQI",city:"Sterling Rockfalls",state:"IL",lat:41.7432,lon:-89.66547},KTAZ:{id:"KTAZ",city:"Taylorville, Taylorville Municipal Airport",state:"IL",lat:39.53417,lon:-89.32778},KTIP:{id:"KTIP",city:"Rantoul National Aviation Center Airport",state:"IL",lat:40.28952,lon:-88.1473},KUGN:{id:"KUGN",city:"Chicago/Waukegan Regional Airport",state:"IL",lat:42.42546,lon:-87.86339},KUIN:{id:"KUIN",city:"Quincy Regional Airport-Baldwin Field",state:"IL",lat:39.9371,lon:-91.19659},KVYS:{id:"KVYS",city:"Illinois Valley Regional Airport",state:"IL",lat:41.35175,lon:-89.14963},KSZT:{id:"KSZT",city:"Sandpoint, Sandpoint Airport",state:"ID",lat:48.29944,lon:-116.56},KTBI:{id:"KTBI",city:"Kettle Butte",state:"ID",lat:43.5486099,lon:-112.32583},KTWF:{id:"KTWF",city:"Joslin Field - Magic Valley Regional Airport",state:"ID",lat:42.4784999,lon:-114.47739},PICI:{id:"PICI",city:"PICABO",state:"ID",lat:43.31167,lon:-114.16583},PMAI:{id:"PMAI",city:"PARMA",state:"ID",lat:43.8,lon:-116.93333},KAAO:{id:"KAAO",city:"Wichita Jabara Airport",state:"KS",lat:37.74969,lon:-97.21908},KADT:{id:"KADT",city:"Atwood-Rawlins County City-County Airport",state:"KS",lat:39.84034,lon:-101.04248},KBEC:{id:"KBEC",city:"Beech Factory Airport",state:"KS",lat:37.69392,lon:-97.21492},KCBK:{id:"KCBK",city:"Colby Shaltz Field Airport",state:"KS",lat:39.43,lon:-101.0511},KCFV:{id:"KCFV",city:"Coffeyville, Coffeyville Municipal Airport",state:"KS",lat:37.09111,lon:-95.56639},KCNK:{id:"KCNK",city:"Concordia, Blosser Municipal Airport",state:"KS",lat:39.55139,lon:-97.65056},KCNU:{id:"KCNU",city:"Chanute, Chanute Martin Johnson Airport",state:"KS",lat:37.67028,lon:-95.48417},KDDC:{id:"KDDC",city:"Dodge City, Dodge City Regional Airport",state:"KS",lat:37.77278,lon:-99.96972},KEHA:{id:"KEHA",city:"Elkhart, Elkhart-Morton County Airport",state:"KS",lat:37,lon:-101.88333},KEMP:{id:"KEMP",city:"Emporia, Emporia Municipal Airport",state:"KS",lat:38.32889,lon:-96.19389},KEQA:{id:"KEQA",city:"El Dorado Captain Jack Thomas Airport",state:"KS",lat:37.77534,lon:-96.81449},KEWK:{id:"KEWK",city:"Newton, Newton City/County Airport",state:"KS",lat:38.05,lon:-97.28333},KFOE:{id:"KFOE",city:"Topeka, Forbes Field",state:"KS",lat:38.94139,lon:-95.65056},KFRI:{id:"KFRI",city:"Fort Riley - Marshall AAF",state:"KS",lat:39.05586,lon:-96.76166},KGBD:{id:"KGBD",city:"Great Bend, Great Bend Municipal Airport",state:"KS",lat:38.35,lon:-98.86667},KGCK:{id:"KGCK",city:"Garden City Regional Airport",state:"KS",lat:37.9275,lon:-100.72444},KGLD:{id:"KGLD",city:"Goodland, Renner Field",state:"KS",lat:39.3675,lon:-101.69306},KHLC:{id:"KHLC",city:"Hill City, Hill City Municipal Airport",state:"KS",lat:39.37472,lon:-99.82972},KHQG:{id:"KHQG",city:"Hugoton Municipal Airport",state:"KS",lat:37.16308,lon:-101.37052},KHUT:{id:"KHUT",city:"Hutchinson, Hutchinson Municipal Airport",state:"KS",lat:38.06806,lon:-97.86056},KHYS:{id:"KHYS",city:"Hays, Hays Regional Airport",state:"KS",lat:38.85,lon:-99.26667},KIAB:{id:"KIAB",city:"McConnell Air Force Base",state:"KS",lat:37.61667,lon:-97.26667},KICT:{id:"KICT",city:"Wichita - Wichita Dwight D. Eisenhower National Airport",state:"KS",lat:37.64722,lon:-97.42944},KIDP:{id:"KIDP",city:"INDEPENDENCE",state:"KS",lat:37.1584,lon:-95.7784},KIXD:{id:"KIXD",city:"Olathe, New Century Aircenter",state:"KS",lat:38.82444,lon:-94.88694},KJHN:{id:"KJHN",city:"Stanton County Municipal Airport",state:"KS",lat:37.5782,lon:-101.7304},KLBL:{id:"KLBL",city:"Liberal, Liberal Municipal Airport",state:"KS",lat:37.05,lon:-100.9666699},KLWC:{id:"KLWC",city:"Lawrence, Lawrence Municipal Airport",state:"KS",lat:39.00833,lon:-95.21167},KLYO:{id:"KLYO",city:"Lyons-Rice County Municipal Airport",state:"KS",lat:38.34025,lon:-98.22856},KMHK:{id:"KMHK",city:"Manhattan, Manhattan Municipal Airport",state:"KS",lat:39.13528,lon:-96.67778},KMYZ:{id:"KMYZ",city:"Marysville Municipal Airport",state:"KS",lat:39.8553,lon:-96.6306},KNRN:{id:"KNRN",city:"Norton Municipal Airport",state:"KS",lat:39.85047,lon:-99.89469},KOEL:{id:"KOEL",city:"Oakley Municipal Airport",state:"KS",lat:39.11178,lon:-100.81667},KOIN:{id:"KOIN",city:"Oberlin Municipal Airport",state:"KS",lat:39.83489,lon:-100.5397799},KOJC:{id:"KOJC",city:"Olathe, Johnson County Executive Airport",state:"KS",lat:38.85,lon:-94.73917},KOWI:{id:"KOWI",city:"Ottawa Municipal Airport",state:"KS",lat:38.5409,lon:-95.2542},KPPF:{id:"KPPF",city:"Parsons, Tri-City Airport",state:"KS",lat:37.32778,lon:-95.50417},KPTS:{id:"KPTS",city:"Atkinson Municipal Airport",state:"KS",lat:37.4494,lon:-94.7311},KPTT:{id:"KPTT",city:"Pratt Municipal",state:"KS",lat:37.7,lon:-98.75},KRSL:{id:"KRSL",city:"Russell, Russell Municipal Airport",state:"KS",lat:38.87278,lon:-98.8130599},KSLN:{id:"KSLN",city:"Salina, Salina Municipal Airport",state:"KS",lat:38.78,lon:-97.64417},KSYF:{id:"KSYF",city:"ST FRANCIS",state:"KS",lat:39.763884,lon:-101.797861},KTOP:{id:"KTOP",city:"Topeka, Philip Billard Municipal Airport",state:"KS",lat:39.0725,lon:-95.6258299},KTQK:{id:"KTQK",city:"Scott City Municipal Airport",state:"KS",lat:38.47502,lon:-100.88444},KUKL:{id:"KUKL",city:"Coffey County Airport",state:"KS",lat:38.30247,lon:-95.72497},KULS:{id:"KULS",city:"Ulysses Airport",state:"KS",lat:37.604,lon:-101.37356},KWLD:{id:"KWLD",city:"Winfield / Arkansas City, Strother Field",state:"KS",lat:37.1680599,lon:-97.03694},KAUM:{id:"KAUM",city:"Austin Municipal",state:"MN",lat:43.66667,lon:-92.93333},KAXN:{id:"KAXN",city:"Alexandria, Chandler Field",state:"MN",lat:45.8686099,lon:-95.39417},KBBB:{id:"KBBB",city:"Benson Municipal Airport",state:"MN",lat:45.3309799,lon:-95.64692},KBDE:{id:"KBDE",city:"Baudette International Airport",state:"MN",lat:48.72605,lon:-94.61215},KBDH:{id:"KBDH",city:"Willmar Municipal Airport - John L. Rice Field",state:"MN",lat:45.11113,lon:-95.1258299},KBJI:{id:"KBJI",city:"Bemidji",state:"MN",lat:47.50762,lon:-94.92783},KBRD:{id:"KBRD",city:"Brainerd - Crow Wing County Airport",state:"MN",lat:46.40205,lon:-94.12734},KCDD:{id:"KCDD",city:"Crane Lake - Scotts Seaplane Base",state:"MN",lat:48.26014,lon:-92.47485},KCFE:{id:"KCFE",city:"Buffalo, Buffalo Municipal Airport",state:"MN",lat:45.15889,lon:-93.84306},KCKC:{id:"KCKC",city:"Grand Marais/Cook County Airport",state:"MN",lat:47.83665,lon:-90.3864399},KCKN:{id:"KCKN",city:"Crookston Municipal Field",state:"MN",lat:47.84042,lon:-96.6200999},KCNB:{id:"KCNB",city:"Canby Airfield",state:"MN",lat:44.7295,lon:-96.266},KCOQ:{id:"KCOQ",city:"Cloquet Carlton County Airport",state:"MN",lat:46.69869,lon:-92.5034},KCQM:{id:"KCQM",city:"Cook Municipal Airport",state:"MN",lat:47.81997,lon:-92.68169},KDLH:{id:"KDLH",city:"Duluth International Airport",state:"MN",lat:46.84347,lon:-92.1866},KDTL:{id:"KDTL",city:"Detroit Lakes Airport-Wething Field",state:"MN",lat:46.8285399,lon:-95.88567},KDVP:{id:"KDVP",city:"Slayton Municipal Airport",state:"MN",lat:43.99055,lon:-95.78102},KDXX:{id:"KDXX",city:"Madison, Madison-Lac Qui Parle County Airport",state:"MN",lat:44.9839399,lon:-96.1788399},KDYT:{id:"KDYT",city:"Duluth - Sky Harbor Airport",state:"MN",lat:46.72452,lon:-92.0444799},KELO:{id:"KELO",city:"Ely, Ely Municipal Airport",state:"MN",lat:47.81667,lon:-91.83333},KETH:{id:"KETH",city:"Wheaton Municipal Airport",state:"MN",lat:45.78284,lon:-96.54607},KEVM:{id:"KEVM",city:"Eveleth-Virginia Municipal Airport",state:"MN",lat:47.4274,lon:-92.49717},KFBL:{id:"KFBL",city:"Faribault, Faribault Municipal Airport",state:"MN",lat:44.32983,lon:-93.31186},KFCM:{id:"KFCM",city:"Minneapolis - Flying Cloud Airport",state:"MN",lat:44.83217,lon:-93.47051},KFFM:{id:"KFFM",city:"Fergus Falls Municipal Airport-Einar Mickel",state:"MN",lat:46.28655,lon:-96.15338},KFGN:{id:"KFGN",city:"Flag Island",state:"MN",lat:49.31667,lon:-94.9},KFKA:{id:"KFKA",city:"Preston, Fillmore County Airport",state:"MN",lat:43.67701,lon:-92.17422},KFOZ:{id:"KFOZ",city:"Bigfork Municipal Airport",state:"MN",lat:47.78317,lon:-93.65326},KFRM:{id:"KFRM",city:"Fairmont, Fairmont Municipal Airport",state:"MN",lat:43.65,lon:-94.41667},KFSE:{id:"KFSE",city:"Fosston, Fosston Municipal Airport",state:"MN",lat:47.59278,lon:-95.77333},KGDB:{id:"KGDB",city:"Granite Falls, Granite Falls Municipal Airport/Lenzen-Roe Memorial Field",state:"MN",lat:44.75306,lon:-95.55583},KGHW:{id:"KGHW",city:"Glenwood Municipal Airport",state:"MN",lat:45.64564,lon:-95.31876},KGNA:{id:"KGNA",city:"Grand Marais, The Bay of Grand Marais",state:"MN",lat:47.7472,lon:-90.3443999},KGPZ:{id:"KGPZ",city:"Grand Rapids, Grand Rapids/Itasca County Airport-Gordon Newstrom Field",state:"MN",lat:47.21667,lon:-93.51667},KGYL:{id:"KGYL",city:"Glencoe Municipal Airport",state:"MN",lat:44.7588,lon:-94.0905},KHCD:{id:"KHCD",city:"Hutchinson, Hutchinson Municipal Airport-Butler Field",state:"MN",lat:44.85961,lon:-94.38551},KHCO:{id:"KHCO",city:"Hallock Municipal Airport",state:"MN",lat:48.75245,lon:-96.93759},KHIB:{id:"KHIB",city:"Chisholm-Hibbing Airport",state:"MN",lat:47.38039,lon:-92.83245},KHZX:{id:"KHZX",city:"Mc Gregor - Isedor Iverson Airport",state:"MN",lat:46.61904,lon:-93.31267},KINL:{id:"KINL",city:"Falls International Airport",state:"MN",lat:48.55944,lon:-93.39556},KJKJ:{id:"KJKJ",city:"Moorhead Municipal Airport",state:"MN",lat:46.8404,lon:-96.65442},KJMR:{id:"KJMR",city:"Mora Municipal Airport",state:"MN",lat:45.88863,lon:-93.26901},KJYG:{id:"KJYG",city:"St. James Municipal Airport",state:"MN",lat:43.98558,lon:-94.55299},KLJF:{id:"KLJF",city:"Litchfield Municipal Airport",state:"MN",lat:45.09485,lon:-94.50837},KLVN:{id:"KLVN",city:"Minneapolis, Airlake Airport",state:"MN",lat:44.62778,lon:-93.22806},KLXL:{id:"KLXL",city:"Little Falls, Little Falls/Morrison County Airport-Lindbergh Field",state:"MN",lat:45.95,lon:-94.35},KLYV:{id:"KLYV",city:"Quentin Aanenson Field Airport",state:"MN",lat:43.62166,lon:-96.2139399},KMGG:{id:"KMGG",city:"Maple Lake, Maple Lake Municipal Airport",state:"MN",lat:45.2353499,lon:-93.98959},KMIC:{id:"KMIC",city:"Minneapolis, Crystal Airport",state:"MN",lat:45.0625,lon:-93.35083},KMJQ:{id:"KMJQ",city:"Jackson, Jackson Municipal Airport",state:"MN",lat:43.65,lon:-94.98333},KMKT:{id:"KMKT",city:"Mankato, Mankato Regional Airport",state:"MN",lat:44.21667,lon:-93.91667},KMML:{id:"KMML",city:"Marshall, Southwest Minnesota Regional Airport - Marshall/Ryan Field",state:"MN",lat:44.45,lon:-95.81667},KMOX:{id:"KMOX",city:"Morris, Morris Municipal Airport",state:"MN",lat:45.56667,lon:-95.9666699},KMSP:{id:"KMSP",city:"Minneapolis, Minneapolis-St. Paul International Airport",state:"MN",lat:44.88306,lon:-93.22889},KMVE:{id:"KMVE",city:"Montevideo-Chippewa County Airport",state:"MN",lat:44.96749,lon:-95.71159},KMWM:{id:"KMWM",city:"Windom Municipal Airport",state:"MN",lat:43.90999,lon:-95.10723},KMZH:{id:"KMZH",city:"Moose Lake Carlton County Airport",state:"MN",lat:46.41632,lon:-92.80491},KONA:{id:"KONA",city:"Winona, Winona Municipal Airport-Max Conrad Field",state:"MN",lat:44.0833299,lon:-91.7},KORB:{id:"KORB",city:"Orr Regional Airport",state:"MN",lat:48.0170699,lon:-92.85376},KOTG:{id:"KOTG",city:"Worthington, Worthington Municipal Airport",state:"MN",lat:43.65,lon:-95.58333},KOVL:{id:"KOVL",city:"Olivia Regional Airport",state:"MN",lat:44.77923,lon:-95.03033},KOWA:{id:"KOWA",city:"Owatonna Degner Regional Airport",state:"MN",lat:44.11907,lon:-93.25687},KPEX:{id:"KPEX",city:"Paynesville, Paynesville Municipal Airport",state:"MN",lat:45.37247,lon:-94.73878},KPKD:{id:"KPKD",city:"Park Rapids Municipal Airport",state:"MN",lat:46.8996799,lon:-95.06681},KPNM:{id:"KPNM",city:"Princeton",state:"MN",lat:45.56425,lon:-93.6080099},KPQN:{id:"KPQN",city:"Pipestone Municipal Airport",state:"MN",lat:43.98542,lon:-96.29764},KPWC:{id:"KPWC",city:"Pine River Regional Airport",state:"MN",lat:46.72654,lon:-94.38485},KROS:{id:"KROS",city:"Rush City Regional Airport",state:"MN",lat:45.69628,lon:-92.95424},KROX:{id:"KROX",city:"Roseau, Roseau Municipal Airport/Rudy Billberg Field",state:"MN",lat:48.85,lon:-95.7},KRRT:{id:"KRRT",city:"Warroad International Memorial Airport",state:"MN",lat:48.93183,lon:-95.3404599},KRST:{id:"KRST",city:"Rochester, Rochester International Airport",state:"MN",lat:43.90417,lon:-92.49167},KRWF:{id:"KRWF",city:"Redwood Falls Municipal Airport",state:"MN",lat:44.54828,lon:-95.08042},KRYM:{id:"KRYM",city:"Ray S Miller Army Airfield",state:"MN",lat:46.08997,lon:-94.35986},KSAZ:{id:"KSAZ",city:"Staples, Staples Municipal Airport",state:"MN",lat:46.38083,lon:-94.80667},KSGS:{id:"KSGS",city:"South St. Paul Municipal-Richard E. Flemi",state:"MN",lat:44.86006,lon:-93.03203},KSTC:{id:"KSTC",city:"St. Cloud Regional Airport",state:"MN",lat:45.54415,lon:-94.05165},KSTP:{id:"KSTP",city:"Downtown Holman Field",state:"MN",lat:44.93237,lon:-93.05588},KSYN:{id:"KSYN",city:"Stanton Airfield",state:"MN",lat:44.4736199,lon:-93.01448},KTKC:{id:"KTKC",city:"Tracy, Tracy Municipal Airport",state:"MN",lat:44.24951,lon:-95.61189},KTOB:{id:"KTOB",city:"Dodge Center Airport",state:"MN",lat:44.02026,lon:-92.8295},KTVF:{id:"KTVF",city:"Thief River Falls, Thief River Falls Regional Airport",state:"MN",lat:48.06667,lon:-96.18333},KTWM:{id:"KTWM",city:"Two Harbors",state:"MN",lat:47.05,lon:-91.75},KULM:{id:"KULM",city:"New Ulm Municipal Airport",state:"MN",lat:44.32274,lon:-94.50244},KVVV:{id:"KVVV",city:"Ortonville, Ortonville Muncipal-Martinson Field Airport",state:"MN",lat:45.30556,lon:-96.42444},KVWU:{id:"KVWU",city:"Waskish Municipal Airport",state:"MN",lat:48.15014,lon:-94.512},KXVG:{id:"KXVG",city:"Longville, Longville Municipal Airport",state:"MN",lat:46.99028,lon:-94.20389},KAKQ:{id:"KAKQ",city:"Wakefield Municipal Airport",state:"VA",lat:36.98274,lon:-77.00137},KAVC:{id:"KAVC",city:"South Hill, Mecklenburg-Brunswick Regional Airport",state:"VA",lat:36.68861,lon:-78.05417},KBCB:{id:"KBCB",city:"Virginia Tech Airport",state:"VA",lat:37.21667,lon:-80.41667},KBKT:{id:"KBKT",city:"Ft. Pickett / Blackstone",state:"VA",lat:37.0833299,lon:-77.95},KCHO:{id:"KCHO",city:"Charlottesville-Albemarle Airport",state:"VA",lat:38.13738,lon:-78.45516},KCJR:{id:"KCJR",city:"Culpeper Regional Airport",state:"VA",lat:38.52607,lon:-77.85738},KCPK:{id:"KCPK",city:"Chesapeake, Chesapeake Municipal Airport",state:"VA",lat:36.66556,lon:-76.32056},KCXE:{id:"KCXE",city:"Chase City Municipal Airport",state:"VA",lat:36.7883,lon:-78.5016},KDAA:{id:"KDAA",city:"Fort Belvoir",state:"VA",lat:38.71667,lon:-77.18333},KDAN:{id:"KDAN",city:"Danville, Danville Regional Airport",state:"VA",lat:36.57278,lon:-79.33611},KDCA:{id:"KDCA",city:"Washington/Reagan National Airport, DC",state:"VA",lat:38.84833,lon:-77.03417},KEMV:{id:"KEMV",city:"Emporia, Emporia-Greensville Regional Airport",state:"VA",lat:36.68694,lon:-77.48278},KEZF:{id:"KEZF",city:"Fredericksburg, Shannon Airport",state:"VA",lat:38.26667,lon:-77.45},KFAF:{id:"KFAF",city:"Fort Eustis / Felker",state:"VA",lat:37.13333,lon:-76.61667},KFCI:{id:"KFCI",city:"Chesterfield County Airport",state:"VA",lat:37.406444,lon:-77.524833},KFKN:{id:"KFKN",city:"Franklin / J B Rose",state:"VA",lat:36.7,lon:-76.9},KFRR:{id:"KFRR",city:"Front Royal-warren County Airport",state:"VA",lat:38.9174999,lon:-78.2535},KFVX:{id:"KFVX",city:"Farmville",state:"VA",lat:37.35,lon:-78.43333},KFYJ:{id:"KFYJ",city:"West Point, Middle Peninsula Regional Airport",state:"VA",lat:37.52111,lon:-76.7644399},KGVE:{id:"KGVE",city:"Gordonsville Municipal Airport",state:"VA",lat:38.156,lon:-78.1658},KHEF:{id:"KHEF",city:"Manassas, Manassas Regional Airport/Harry P. Davis Field",state:"VA",lat:38.71667,lon:-77.51667},KHLX:{id:"KHLX",city:"Hillsville",state:"VA",lat:36.76667,lon:-80.81667},KHSP:{id:"KHSP",city:"Hot Springs / Ingalls",state:"VA",lat:37.95,lon:-79.83333},KHWY:{id:"KHWY",city:"Warrenton-Fauquier Airport",state:"VA",lat:38.5876499,lon:-77.71501},KIAD:{id:"KIAD",city:"Washington/Dulles International Airport, DC",state:"VA",lat:38.93472,lon:-77.4475},KJFZ:{id:"KJFZ",city:"Tazewell County Airport",state:"VA",lat:37.064,lon:-81.798},KJGG:{id:"KJGG",city:"Williamsburg-Jamestown Airport",state:"VA",lat:37.24157,lon:-76.71672},KJYO:{id:"KJYO",city:"Leesburg / Godfrey",state:"VA",lat:39.0833299,lon:-77.56667},KLFI:{id:"KLFI",city:"Langley Air Force Base",state:"VA",lat:37.0833299,lon:-76.35},KLKU:{id:"KLKU",city:"Louisa, Louisa County Airport/Freeman Field",state:"VA",lat:38.00972,lon:-77.97028},KLNP:{id:"KLNP",city:"Wise / Lonesome Pine",state:"VA",lat:36.98333,lon:-82.53333},KLUA:{id:"KLUA",city:"Luray Caverns",state:"VA",lat:38.6671,lon:-78.5006},KLVL:{id:"KLVL",city:"Lawrenceville/Brunswick Municipal Airport",state:"VA",lat:36.7727999,lon:-77.7943},KLYH:{id:"KLYH",city:"Lynchburg, Lynchburg Regional Airport",state:"VA",lat:37.32083,lon:-79.20667},KMFV:{id:"KMFV",city:"Melfa / Accomack Airport",state:"VA",lat:37.65,lon:-75.76667},KMKJ:{id:"KMKJ",city:"Marion / Wytheville",state:"VA",lat:36.9,lon:-81.35},KMTV:{id:"KMTV",city:"Martinsville",state:"VA",lat:36.63333,lon:-80.01667},KNFE:{id:"KNFE",city:"Fentress, Naval Auxiliary Landing Field",state:"VA",lat:36.70083,lon:-76.12833},KNGU:{id:"KNGU",city:"Norfolk, Naval Air Station",state:"VA",lat:36.93361,lon:-76.29583},KNTU:{id:"KNTU",city:"Virginia Beach, Oceana, Naval Air Station",state:"VA",lat:36.82111,lon:-76.02833},KNYG:{id:"KNYG",city:"Quantico Marine Corps Airfield - Turner Field",state:"VA",lat:38.50326,lon:-77.30129},KOFP:{id:"KOFP",city:"Ashland, Hanover County Municipal Airport",state:"VA",lat:37.70806,lon:-77.43444},KOKV:{id:"KOKV",city:"Winchester Regional",state:"VA",lat:39.15,lon:-78.15},KOMH:{id:"KOMH",city:"Orange, Orange County Airport",state:"VA",lat:38.24722,lon:-78.04556},KORF:{id:"KORF",city:"Norfolk, Norfolk International Airport",state:"VA",lat:36.90361,lon:-76.19194},KPHF:{id:"KPHF",city:"Newport News, Newport News / Williamsburg International Airport",state:"VA",lat:37.13194,lon:-76.49306},KPSK:{id:"KPSK",city:"Dublin / New River Valley",state:"VA",lat:37.13333,lon:-80.68333},KPTB:{id:"KPTB",city:"Petersburg, Dinwiddie County Airport",state:"VA",lat:37.18333,lon:-77.51667},KPVG:{id:"KPVG",city:"Norfolk Hampton Roads Executive Airport",state:"VA",lat:36.7801,lon:-76.4488},KRIC:{id:"KRIC",city:"Richmond, Richmond International Airport",state:"VA",lat:37.51111,lon:-77.32333},KRMN:{id:"KRMN",city:"Stafford, Stafford Regional Airport",state:"VA",lat:38.39806,lon:-77.45528},KROA:{id:"KROA",city:"Roanoke, Roanoke Regional Airport",state:"VA",lat:37.31694,lon:-79.97417},KSFQ:{id:"KSFQ",city:"Suffolk, Suffolk Municipal Airport",state:"VA",lat:36.68222,lon:-76.60194},KSHD:{id:"KSHD",city:"Staunton / Shenandoah",state:"VA",lat:38.26667,lon:-78.9},KTGI:{id:"KTGI",city:"Tangier Island Airport",state:"VA",lat:37.82587,lon:-75.99766},KVBW:{id:"KVBW",city:"Bridgewater Air Park",state:"VA",lat:38.36674,lon:-78.96033},KVJI:{id:"KVJI",city:"Abingdon",state:"VA",lat:36.68333,lon:-82.03333},KWAL:{id:"KWAL",city:"Wallops Flight Facility Airport",state:"VA",lat:37.9372,lon:-75.46619},KXSA:{id:"KXSA",city:"Tappahannock-Essex County Airport",state:"VA",lat:37.859611,lon:-76.894111},KBCE:{id:"KBCE",city:"Bryce Canyon Airport",state:"UT",lat:37.7012799,lon:-112.14897},KBDG:{id:"KBDG",city:"Blanding Municipal Airport",state:"UT",lat:37.586,lon:-109.482},KBMC:{id:"KBMC",city:"Brigham City Regional Airport",state:"UT",lat:41.5464,lon:-112.0601},KCDC:{id:"KCDC",city:"Cedar City Municipal Airport",state:"UT",lat:37.70675,lon:-113.09695},KCNY:{id:"KCNY",city:"Moab, Canyonlands Field",state:"UT",lat:38.76,lon:-109.74472},KDPG:{id:"KDPG",city:"Michael Army Airfield - Dugway Proving Ground",state:"UT",lat:40.18376,lon:-112.9217},KDTA:{id:"KDTA",city:"Delta, Delta Municipal Airport",state:"UT",lat:39.38333,lon:-112.50967},KENV:{id:"KENV",city:"Wendover / Air Force Auxillary Field",state:"UT",lat:40.72056,lon:-114.03583},KHCR:{id:"KHCR",city:"Heber City Municipal-Russ McDonald Field Airport",state:"UT",lat:40.47742,lon:-111.43295},KHIF:{id:"KHIF",city:"Hill Air Force Base",state:"UT",lat:41.11112,lon:-111.96229},KHVE:{id:"KHVE",city:"Hanksville",state:"UT",lat:38.418037,lon:-110.704038},KKNB:{id:"KKNB",city:"KANAB MUNICIPAL AIRPORT",state:"UT",lat:37.01,lon:-112.53},KLGU:{id:"KLGU",city:"Logan-Cache Airport",state:"UT",lat:41.78652,lon:-111.85187},KMLF:{id:"KMLF",city:"Milford Municipal Airport",state:"UT",lat:38.42252,lon:-113.01089},KOGD:{id:"KOGD",city:"Ogden-Hinckley Airport",state:"UT",lat:41.19406,lon:-112.01681},KPUC:{id:"KPUC",city:"Price - Carbon County Regional Airport",state:"UT",lat:39.60886,lon:-110.75548},KPVU:{id:"KPVU",city:"Provo, Provo Municipal Airport",state:"UT",lat:40.21667,lon:-111.71667},KRIF:{id:"KRIF",city:"Richfield Municipal Airport",state:"UT",lat:38.73411,lon:-112.10158},KSGU:{id:"KSGU",city:"St George Municipal Airport",state:"UT",lat:37.0451,lon:-113.50561},KSLC:{id:"KSLC",city:"Salt Lake City, Salt Lake City International Airport",state:"UT",lat:40.77069,lon:-111.96503},KSPK:{id:"KSPK",city:"Spanish Fork Municipal Airport",state:"UT",lat:40.145,lon:-111.6677},KTVY:{id:"KTVY",city:"Bolinder Field-Tooele Valley Airport",state:"UT",lat:40.61269,lon:-112.35362},KVEL:{id:"KVEL",city:"Vernal Airport",state:"UT",lat:40.44295,lon:-109.51273},KJSY:{id:"KJSY",city:"Joseph State Airport AWOS",state:"OR",lat:45.355889,lon:-117.254083},KLGD:{id:"KLGD",city:"La Grande/Union County Airport",state:"OR",lat:45.29066,lon:-118.00884},KLKV:{id:"KLKV",city:"Lake County Airport",state:"OR",lat:42.15664,lon:-120.39721},KLMT:{id:"KLMT",city:"Klamath Falls International Airport",state:"OR",lat:42.14703,lon:-121.72548},KMEH:{id:"KMEH",city:"Meacham",state:"OR",lat:45.51176,lon:-118.42466},KMFR:{id:"KMFR",city:"Rogue Valley International Airport",state:"OR",lat:42.37503,lon:-122.87696},KMMV:{id:"KMMV",city:"McMinnville, McMinnville Municipal Airport",state:"OR",lat:45.19611,lon:-123.13222},KONO:{id:"KONO",city:"Ontario Municipal Airport",state:"OR",lat:44.01424,lon:-117.00808},KONP:{id:"KONP",city:"Newport, Newport Municipal Airport",state:"OR",lat:44.58028,lon:-124.05806},KOTH:{id:"KOTH",city:"Southwest Oregon Regional Airport",state:"OR",lat:43.41948,lon:-124.2437},KPDT:{id:"KPDT",city:"Eastern Oregon Regional Airport at Pendleton",state:"OR",lat:45.69757,lon:-118.83444},KPDX:{id:"KPDX",city:"Portland, Portland International Airport",state:"OR",lat:45.59578,lon:-122.60917},KRBG:{id:"KRBG",city:"Roseburg Regional Airport",state:"OR",lat:43.23368,lon:-123.3577},KRDM:{id:"KRDM",city:"Redmond Roberts Field",state:"OR",lat:44.25588,lon:-121.14059},KREO:{id:"KREO",city:"Rome",state:"OR",lat:42.5901799,lon:-117.86458},KSLE:{id:"KSLE",city:"Salem - McNary Field",state:"OR",lat:44.90493,lon:-123.00096},KSPB:{id:"KSPB",city:"Scappoose Industrial Airpark",state:"OR",lat:45.7691,lon:-122.86365},KSXT:{id:"KSXT",city:"Sexton Summit",state:"OR",lat:42.6,lon:-123.3656},KTMK:{id:"KTMK",city:"Tillamook, Tillamook Airport",state:"OR",lat:45.4180599,lon:-123.81444},KTTD:{id:"KTTD",city:"Portland, Portland-Troutdale Airport",state:"OR",lat:45.55111,lon:-122.40889},KUAO:{id:"KUAO",city:"Aurora State Airport",state:"OR",lat:45.24658,lon:-122.77095},PARO:{id:"PARO",city:"PARKDALE",state:"OR",lat:45.54444,lon:-121.61667},PCYO:{id:"PCYO",city:"PRARIE CITY",state:"OR",lat:44.44083,lon:-118.62778},PNGO:{id:"PNGO",city:"PINEGROVE",state:"OR",lat:45.65222,lon:-121.50917},POBO:{id:"POBO",city:"POWELL BUTTE",state:"OR",lat:44.24833,lon:-120.94972},KAAF:{id:"KAAF",city:"Apalachicola, Apalachicola",state:"FL",lat:29.72694,lon:-85.02472},KAPF:{id:"KAPF",city:"Naples, Naples Municipal Airport",state:"FL",lat:26.15,lon:-81.76667},KBCT:{id:"KBCT",city:"Boca Raton, Boca Raton Airport",state:"FL",lat:26.3786099,lon:-80.10778},KBKV:{id:"KBKV",city:"Brooksville-Tampa Bay Regional Airport",state:"FL",lat:28.47361,lon:-82.45444},KBOW:{id:"KBOW",city:"Bartow Municipal",state:"FL",lat:27.95,lon:-81.78333},KCEW:{id:"KCEW",city:"Crestview, Sikes Airport",state:"FL",lat:30.77222,lon:-86.52},KCGC:{id:"KCGC",city:"Crystal River Airport",state:"FL",lat:28.8673,lon:-82.5712999},KCLW:{id:"KCLW",city:"Clearwater Air Park",state:"FL",lat:27.9742,lon:-82.7563},KCOF:{id:"KCOF",city:"Cocoa - Patrick Air Force Base",state:"FL",lat:28.24219,lon:-80.60799},KCRG:{id:"KCRG",city:"Jacksonville Craig Municipal Airport",state:"FL",lat:30.33709,lon:-81.51275},KCTY:{id:"KCTY",city:"Cross City Airport",state:"FL",lat:29.633326,lon:-83.105458},KDAB:{id:"KDAB",city:"Daytona Beach International Airport",state:"FL",lat:29.17354,lon:-81.07186},KDED:{id:"KDED",city:"DeLand Municipal Airport",state:"FL",lat:29.067,lon:-81.2837},KDTS:{id:"KDTS",city:"Destin, Destin-Ft. Walton Beach Airport",state:"FL",lat:30.39333,lon:-86.4675},KECP:{id:"KECP",city:"Panama City - Northwest Florida Beaches International Airport",state:"FL",lat:30.3582,lon:-85.7955999},KEGI:{id:"KEGI",city:"Duke Field / Eglin Auxiliary",state:"FL",lat:30.65,lon:-86.51667},KEVB:{id:"KEVB",city:"New Smyrna Beach Municipal Airport",state:"FL",lat:29.05687,lon:-80.94909},KEYW:{id:"KEYW",city:"Key West International Airport",state:"FL",lat:24.55707,lon:-81.75539},KFHB:{id:"KFHB",city:"Fernandina Beach Municipal Airport",state:"FL",lat:30.61183,lon:-81.46119},KFIN:{id:"KFIN",city:"Flagler County Airport",state:"FL",lat:29.4657,lon:-81.20872},KFLL:{id:"KFLL",city:"Fort Lauderdale/Hollywood International Airport",state:"FL",lat:26.07874,lon:-80.1622},KFMY:{id:"KFMY",city:"Fort Myers, Page Field",state:"FL",lat:26.58417,lon:-81.8625},KFPR:{id:"KFPR",city:"Fort Pierce, St. Lucie County International Airport",state:"FL",lat:27.49806,lon:-80.37667},KFPY:{id:"KFPY",city:"Perry-Foley Airport",state:"FL",lat:30.07081,lon:-83.58154},KFXE:{id:"KFXE",city:"Fort Lauderdale, Fort Lauderdale Executive Airport",state:"FL",lat:26.2,lon:-80.18333},KGIF:{id:"KGIF",city:"Winter Havens Gilbert Airport",state:"FL",lat:28.06138,lon:-81.75684},KGNV:{id:"KGNV",city:"Gainesville, Gainesville Regional Airport",state:"FL",lat:29.69194,lon:-82.27556},KHRT:{id:"KHRT",city:"Hurlburt Field",state:"FL",lat:30.41667,lon:-86.68333},KHST:{id:"KHST",city:"Homestead Air Reserve Base",state:"FL",lat:25.4948799,lon:-80.37324},KHWO:{id:"KHWO",city:"Hollywood, North Perry Airport",state:"FL",lat:25.99889,lon:-80.24111},KIMM:{id:"KIMM",city:"IMMOKALEE",state:"FL",lat:26.43,lon:-81.4},KINF:{id:"KINF",city:"Inverness Airport",state:"FL",lat:28.8086,lon:-82.3165},KISM:{id:"KISM",city:"Kissimmee Gateway Airport",state:"FL",lat:28.29236,lon:-81.43716},KJAX:{id:"KJAX",city:"Jacksonville International Airport",state:"FL",lat:30.49534,lon:-81.6937},KLAL:{id:"KLAL",city:"Lakeland Regional",state:"FL",lat:27.98333,lon:-82.01667},KLCQ:{id:"KLCQ",city:"Lake City Municipal Airport",state:"FL",lat:30.1821,lon:-82.5769},KLEE:{id:"KLEE",city:"Leesburg International Airport",state:"FL",lat:28.82142,lon:-81.80964},KLNA:{id:"KLNA",city:"Palm Beach County Park Airport",state:"FL",lat:26.59305,lon:-80.08506},KMAI:{id:"KMAI",city:"Marianna Municipal Airport",state:"FL",lat:30.83698,lon:-85.18347},KMCF:{id:"KMCF",city:"Macdill Air Force Base, Fl.",state:"FL",lat:27.85,lon:-82.5},KMCO:{id:"KMCO",city:"Orlando International Airport",state:"FL",lat:28.41826,lon:-81.32413},KMIA:{id:"KMIA",city:"Miami, Miami International Airport",state:"FL",lat:25.79056,lon:-80.31639},KMKY:{id:"KMKY",city:"Marco Island Airport",state:"FL",lat:25.995,lon:-81.6725},KMLB:{id:"KMLB",city:"Melbourne International Airport",state:"FL",lat:28.09973,lon:-80.6356},KMTH:{id:"KMTH",city:"The Florida Keys - Marathon International Airport",state:"FL",lat:24.72626,lon:-81.04765},KNDZ:{id:"KNDZ",city:"Milton, Whiting Field South",state:"FL",lat:30.69722,lon:-87.02},KNIP:{id:"KNIP",city:"Jacksonville Naval Air Station",state:"FL",lat:30.23468,lon:-81.67462},KNPA:{id:"KNPA",city:"Pensacola Naval Air Station",state:"FL",lat:30.35641,lon:-87.32326},KNQX:{id:"KNQX",city:"Key West Naval Air Station",state:"FL",lat:24.5800899,lon:-81.68293},KNRB:{id:"KNRB",city:"Mayport Naval Station - Adm David L. McDonald Field",state:"FL",lat:30.39589,lon:-81.42286},KNSE:{id:"KNSE",city:"Milton - Whiting Field Naval Air Station North",state:"FL",lat:30.72848,lon:-87.02192},KOBE:{id:"KOBE",city:"Okeechobee County Airport",state:"FL",lat:27.2628,lon:-80.8498},KOCF:{id:"KOCF",city:"Ocala International Airport - Jim Taylor Field",state:"FL",lat:29.16372,lon:-82.22097},KOMN:{id:"KOMN",city:"Ormond Beach, Ormond Beach Municipal Airport",state:"FL",lat:29.30111,lon:-81.11361},KOPF:{id:"KOPF",city:"Miami, Opa Locka Airport",state:"FL",lat:25.91,lon:-80.28306},KORL:{id:"KORL",city:"Orlando Executive Airport",state:"FL",lat:28.54655,lon:-81.33543},KPAM:{id:"KPAM",city:"Tyndall Air Force Base",state:"FL",lat:30.06444,lon:-85.5637},KPBI:{id:"KPBI",city:"West Palm Beach - Palm Beach International Airport",state:"FL",lat:26.6850999,lon:-80.0991899},KPCM:{id:"KPCM",city:"Plant City, Plant City Municipal Airport",state:"FL",lat:28,lon:-82.15},KPGD:{id:"KPGD",city:"Punta Gorda, Charlotte County Airport",state:"FL",lat:26.91778,lon:-81.99361},KPIE:{id:"KPIE",city:"St. Petersburg/Clearwater Airport",state:"FL",lat:27.91259,lon:-82.68554},KPMP:{id:"KPMP",city:"Pompano Beach, Pompano Beach Airpark",state:"FL",lat:26.24556,lon:-80.11139},KPNS:{id:"KPNS",city:"Pensacola - Pensacola International Airport",state:"FL",lat:30.47806,lon:-87.18694},KRSW:{id:"KRSW",city:"Fort Myers, Southwest Florida International Airport",state:"FL",lat:26.52694,lon:-81.76639},KSEF:{id:"KSEF",city:"Sebring Regional Airport",state:"FL",lat:27.45639,lon:-81.34239},KSFB:{id:"KSFB",city:"Orlando / Sanford Airport",state:"FL",lat:28.78333,lon:-81.25},KSGJ:{id:"KSGJ",city:"Northeast Florida Regional Airport",state:"FL",lat:29.95924,lon:-81.34105},KSPG:{id:"KSPG",city:"Albert Whitted Airport",state:"FL",lat:27.76852,lon:-82.62564},KSRQ:{id:"KSRQ",city:"Sarasota / Bradenton, Sarasota-Bradenton International Airport",state:"FL",lat:27.40139,lon:-82.55861},KSUA:{id:"KSUA",city:"Witham Field Airport",state:"FL",lat:27.18157,lon:-80.22519},KTDR:{id:"KTDR",city:"Tyndall Drone Runway",state:"FL",lat:30.0333,lon:-85.5333},KTIX:{id:"KTIX",city:"Titusville",state:"FL",lat:28.51667,lon:-80.8},KTLH:{id:"KTLH",city:"Tallahassee International Airport",state:"FL",lat:30.39675,lon:-84.35087},KTMB:{id:"KTMB",city:"Miami, Kendall-Tamiami Executive Airport",state:"FL",lat:25.64194,lon:-80.43472},KTPA:{id:"KTPA",city:"Tampa, Tampa International Airport",state:"FL",lat:27.96139,lon:-82.54028},KTPF:{id:"KTPF",city:"Tampa, Peter O Knight Airport",state:"FL",lat:27.91556,lon:-82.44917},KTTS:{id:"KTTS",city:"Titusville, NASA Shuttle Landing Facility",state:"FL",lat:28.61667,lon:-80.7},KVDF:{id:"KVDF",city:"Tampa, Vandenberg Airport",state:"FL",lat:28.01983,lon:-82.3415},KVNC:{id:"KVNC",city:"Venice Municipal Airport",state:"FL",lat:27.0716,lon:-82.44033},KVPS:{id:"KVPS",city:"Valparaiso / Eglin Air Force Base",state:"FL",lat:30.48333,lon:-86.51667},KVQQ:{id:"KVQQ",city:"Cecil Airport",state:"FL",lat:30.21292,lon:-81.8707},KVRB:{id:"KVRB",city:"Vero Beach, Vero Beach Municipal Airport",state:"FL",lat:27.65556,lon:-80.41806},KXMR:{id:"KXMR",city:"Cocoa Beach, Cape Canaveral Air Force Station Skid Strip",state:"FL",lat:28.46667,lon:-80.56667},KZPH:{id:"KZPH",city:"Zephyrhills Airport",state:"FL",lat:28.2281,lon:-82.1559},KABH:{id:"KABH",city:"ELLICOTT-B AFA",state:"CO",lat:38.7578,lon:-104.3013},KAEJ:{id:"KAEJ",city:"Central Colorado Regional Airport",state:"CO",lat:38.81416,lon:-106.12069},KAFF:{id:"KAFF",city:"Air Force Academy",state:"CO",lat:38.96667,lon:-104.81667},KAJZ:{id:"KAJZ",city:"Delta/Blake Field Airport",state:"CO",lat:38.7868799,lon:-108.06584},KAKO:{id:"KAKO",city:"Colorado Plains Regional Airport",state:"CO",lat:40.17428,lon:-103.21459},KALS:{id:"KALS",city:"San Luis Valley Regional Airport",state:"CO",lat:37.43933,lon:-105.8618},KANK:{id:"KANK",city:"Harriet Alexander Field Airport",state:"CO",lat:38.53828,lon:-106.04864},KAPA:{id:"KAPA",city:"Denver - Centennial Airport",state:"CO",lat:39.55991,lon:-104.84841},KASE:{id:"KASE",city:"Aspen-Pitkin County Airport",state:"CO",lat:39.22992,lon:-106.87051},KBDU:{id:"KBDU",city:"Boulder Municipal Airport",state:"CO",lat:40.0394297,lon:-105.2258217},KBJC:{id:"KBJC",city:"Broomfield / Jeffco",state:"CO",lat:39.90085,lon:-105.10417},KBKF:{id:"KBKF",city:"Buckley Air Force Base Airport",state:"CO",lat:39.71331,lon:-104.75806},KCAG:{id:"KCAG",city:"Craig-Moffat Airport",state:"CO",lat:40.49297,lon:-107.52394},KCCU:{id:"KCCU",city:"Copper Mountain - Red Cliff Pass",state:"CO",lat:39.47523,lon:-106.15228},KCEZ:{id:"KCEZ",city:"Cortez-Montezuma County Airport",state:"CO",lat:37.30706,lon:-108.62644},KCFO:{id:"KCFO",city:"Colorado Air and Space Port Airport",state:"CO",lat:39.78419,lon:-104.53764},KCOS:{id:"KCOS",city:"City of Colorado Springs Municipal Airport",state:"CO",lat:38.8094899,lon:-104.68873},KCPW:{id:"KCPW",city:"Pagosa Springs, Wolf Creek Pass",state:"CO",lat:37.45139,lon:-106.80028},KCWN:{id:"KCWN",city:"Cheyenne Mountain",state:"CO",lat:38.7434299,lon:-104.84334},KDEN:{id:"KDEN",city:"Denver, Denver International Airport",state:"CO",lat:39.84658,lon:-104.65622},KDRO:{id:"KDRO",city:"Durango-La Plata County Airport",state:"CO",lat:37.14312,lon:-107.76023},KEEO:{id:"KEEO",city:"Meeker Airport",state:"CO",lat:40.0444,lon:-107.88832},KEGE:{id:"KEGE",city:"Eagle County Regional",state:"CO",lat:39.65,lon:-106.91667},KEIK:{id:"KEIK",city:"Erie Municipal Airport",state:"CO",lat:40.01169,lon:-105.05033},KFCS:{id:"KFCS",city:"Butts Army Airfield (Fort Carson)",state:"CO",lat:38.68312,lon:-104.75977},KFLY:{id:"KFLY",city:"Meadow Lake Airport",state:"CO",lat:38.94391,lon:-104.5684},KFMM:{id:"KFMM",city:"Fort Morgan Municipal Airport",state:"CO",lat:40.33148,lon:-103.80704},KFNL:{id:"KFNL",city:"Fort Collins/Loveland - Northern Colorado Regional Airport",state:"CO",lat:40.45,lon:-105.01667},KGJT:{id:"KGJT",city:"Grand Junction Regional Airport",state:"CO",lat:39.13389,lon:-108.53861},KGNB:{id:"KGNB",city:"Granby-Grand County Airport",state:"CO",lat:40.09006,lon:-105.91664},KGUC:{id:"KGUC",city:"Gunnison, Gunnison-Crested Butte Regional Airport",state:"CO",lat:38.53333,lon:-106.93333},KGXY:{id:"KGXY",city:"Greeley, Greeley-Weld County Airport",state:"CO",lat:40.43333,lon:-104.63333},KHDN:{id:"KHDN",city:"Hayden, Yampa Valley Airport",state:"CO",lat:40.48333,lon:-107.2166699},KHEQ:{id:"KHEQ",city:"Holyoke Airport",state:"CO",lat:40.57155,lon:-102.27676},KITR:{id:"KITR",city:"Burlington - Carson County Airport",state:"CO",lat:39.24149,lon:-102.2818999},KLAA:{id:"KLAA",city:"Lamar Municipal Airport",state:"CO",lat:38.0717799,lon:-102.68745},KLHX:{id:"KLHX",city:"La Junta Municipal Airport",state:"CO",lat:38.04949,lon:-103.51334},KLIC:{id:"KLIC",city:"Limon Municipal Airport",state:"CO",lat:39.27334,lon:-103.66738},KLMO:{id:"KLMO",city:"Vance Brand Airport",state:"CO",lat:40.16115,lon:-105.16042},KLXV:{id:"KLXV",city:"Leadville, Lake County Airport",state:"CO",lat:39.22806,lon:-106.31611},KMNH:{id:"KMNH",city:"Elbert Mountain - Monument Pass",state:"CO",lat:39.22317,lon:-104.6422599},KMTJ:{id:"KMTJ",city:"Montrose, Montrose Regional Airport",state:"CO",lat:38.505,lon:-107.8975},KMYP:{id:"KMYP",city:"Salida - Monarch Pass",state:"CO",lat:38.4972,lon:-106.3197},KPSO:{id:"KPSO",city:"Stevens Field, Pagosa Springs",state:"CO",lat:37.2862,lon:-107.056},KPUB:{id:"KPUB",city:"Pueblo Memorial Airport",state:"CO",lat:38.28869,lon:-104.5057},KRCV:{id:"KRCV",city:"Astronaut Kent Rominger - Del Norte",state:"CO",lat:37.7138,lon:-106.352},KRIL:{id:"KRIL",city:"Garfield County Regional Airport",state:"CO",lat:39.52793,lon:-107.71961},KSBS:{id:"KSBS",city:"Steamboat Springs",state:"CO",lat:40.5153,lon:-106.86767},KSPD:{id:"KSPD",city:"Springfield, Comanche National Grassland",state:"CO",lat:37.28333,lon:-102.61667},KSTK:{id:"KSTK",city:"Sterling Municipal Airport",state:"CO",lat:40.61331,lon:-103.26109},KTAD:{id:"KTAD",city:"Perry Stokes Airport",state:"CO",lat:37.26218,lon:-104.33184},KTEX:{id:"KTEX",city:"Telluride, Telluride Regional Airport",state:"CO",lat:37.95389,lon:-107.90861},KVTP:{id:"KVTP",city:"La Veta Mountain, La Veta Pass",state:"CO",lat:37.50111,lon:-105.16694},KALW:{id:"KALW",city:"Walla Walla Regional Airport",state:"WA",lat:46.09462,lon:-118.2858},KAWO:{id:"KAWO",city:"Arlington Municipal Airport",state:"WA",lat:48.1584999,lon:-122.15909},KBFI:{id:"KBFI",city:"Boeing Field - King County International Airport",state:"WA",lat:47.54548,lon:-122.3147},KBLI:{id:"KBLI",city:"Bellingham, Bellingham International Airport",state:"WA",lat:48.79911,lon:-122.54064},KBVS:{id:"KBVS",city:"Burlington/Mount Vernon, Skagit Regional Airport",state:"WA",lat:48.47083,lon:-122.42083},KCLM:{id:"KCLM",city:"Port Angeles Fairchild International Airport",state:"WA",lat:48.12194,lon:-123.50661},KCLS:{id:"KCLS",city:"Chehalis-Centralia Airport",state:"WA",lat:46.677,lon:-122.9827},KDEW:{id:"KDEW",city:"Deer Park, Deer Park Airport",state:"WA",lat:47.97417,lon:-117.42833},KDLS:{id:"KDLS",city:"The Dalles Municipal Airport",state:"WA",lat:45.61901,lon:-121.16572},KEAT:{id:"KEAT",city:"Wenatchee - Pangborn Memorial Airport",state:"WA",lat:47.39749,lon:-120.20121},KELN:{id:"KELN",city:"Ellensburg, Ellensburg Bowers Field",state:"WA",lat:47.0337699,lon:-120.53132},KEPH:{id:"KEPH",city:"Ephrata, Ephrata Municipal Airport",state:"WA",lat:47.3075,lon:-119.51583},KFHR:{id:"KFHR",city:"Friday Harbor Airport",state:"WA",lat:48.52,lon:-123.02637},KFLW:{id:"KFLW",city:"Kettle Falls",state:"WA",lat:48.595,lon:-118.12417},KGEG:{id:"KGEG",city:"Spokane, Spokane International Airport",state:"WA",lat:47.62139,lon:-117.52778},KGRF:{id:"KGRF",city:"Fort Lewis / Gray U. S. Army Airfield",state:"WA",lat:47.11667,lon:-122.55},KHQM:{id:"KHQM",city:"Hoquiam, Bowerman Airport",state:"WA",lat:46.97111,lon:-123.92},KKLS:{id:"KKLS",city:"Southwest Washington Regional Airport",state:"WA",lat:46.11553,lon:-122.89273},KMWH:{id:"KMWH",city:"Grant County Airport",state:"WA",lat:47.19299,lon:-119.31451},KNOW:{id:"KNOW",city:"Port Angeles Coast Guard Air Station",state:"WA",lat:48.13333,lon:-123.4},KNUW:{id:"KNUW",city:"Whidbey Island Naval Air Station - Ault Field",state:"WA",lat:48.35525,lon:-122.66352},KOLM:{id:"KOLM",city:"Olympia, Olympia Airport",state:"WA",lat:46.97333,lon:-122.90333},KOMK:{id:"KOMK",city:"Omak Airport",state:"WA",lat:48.46116,lon:-119.52086},KORS:{id:"KORS",city:"Eastsound, Orcas Island Airport",state:"WA",lat:48.70806,lon:-122.91028},KPAE:{id:"KPAE",city:"Everett Snohomish County",state:"WA",lat:47.92331,lon:-122.28305},KPLU:{id:"KPLU",city:"Pierce County-Thun Field",state:"WA",lat:47.104,lon:-122.287},KPSC:{id:"KPSC",city:"Tri-Cities Airport",state:"WA",lat:46.26955,lon:-119.11813},KPUW:{id:"KPUW",city:"Pullman / Moscow Regional Airport",state:"WA",lat:46.74377,lon:-117.11579},KPWT:{id:"KPWT",city:"Bremerton, Bremerton National Airport",state:"WA",lat:47.5,lon:-122.75},KRLD:{id:"KRLD",city:"Richland Airport",state:"WA",lat:46.30859,lon:-119.3058},KRNT:{id:"KRNT",city:"Renton Municipal Airport",state:"WA",lat:47.49509,lon:-122.21437},KSEA:{id:"KSEA",city:"Seattle, Seattle-Tacoma International Airport",state:"WA",lat:47.4447199,lon:-122.31361},KSFF:{id:"KSFF",city:"Spokane, Felts Field",state:"WA",lat:47.68556,lon:-117.32028},KSHN:{id:"KSHN",city:"Shelton, Shelton Sanderson Field",state:"WA",lat:47.23806,lon:-123.14083},KSKA:{id:"KSKA",city:"Fairchild Air Force Base",state:"WA",lat:47.61667,lon:-117.65},KSMP:{id:"KSMP",city:"Stampede Pass",state:"WA",lat:47.27648,lon:-121.33817},KTCM:{id:"KTCM",city:"Tacoma / McChord Air Force Base",state:"WA",lat:47.15,lon:-122.48333},KTIW:{id:"KTIW",city:"Tacoma, Tacoma Narrows Airport",state:"WA",lat:47.2675,lon:-122.57611},KUIL:{id:"KUIL",city:"Quillayute, Quillayute State Airport",state:"WA",lat:47.9375,lon:-124.555},KVUO:{id:"KVUO",city:"Pearson Airfield",state:"WA",lat:45.62103,lon:-122.65419},KYKM:{id:"KYKM",city:"Yakima Air Terminal - McAllister Field",state:"WA",lat:46.56402,lon:-120.53484},KALK:{id:"KALK",city:"Pioneer Airfield",state:"AZ",lat:31.60564,lon:-110.4281},KAVQ:{id:"KAVQ",city:"Tucson Marana Regional Airport",state:"AZ",lat:32.4096,lon:-111.2184},KAZC:{id:"KAZC",city:"Colorado City, Colorado City Municipal Airport",state:"AZ",lat:36.95,lon:-113},KBXK:{id:"KBXK",city:"Buckeye Municipal Airport",state:"AZ",lat:33.4204,lon:-112.6862},KCGZ:{id:"KCGZ",city:"Casa Grande, Casa Grande Municipal Airport",state:"AZ",lat:32.95,lon:-111.76667},KCHD:{id:"KCHD",city:"Chandler, Chandler Municipal Airport",state:"AZ",lat:33.26917,lon:-111.81111},KCMR:{id:"KCMR",city:"Williams/Clark Memorial Airport",state:"AZ",lat:35.3054721,lon:-112.1943889},KDMA:{id:"KDMA",city:"Davis-Monthan Air Force Base",state:"AZ",lat:32.16667,lon:-110.88333},KDVT:{id:"KDVT",city:"Phoenix, Phoenix-Deer Valley Municipal Airport",state:"AZ",lat:33.69026,lon:-112.06618},KFFZ:{id:"KFFZ",city:"Mesa / Falcon Field",state:"AZ",lat:33.46667,lon:-111.73333},KFHU:{id:"KFHU",city:"Fort Huachuca, Libby AAF Ft Huachuca",state:"AZ",lat:31.58333,lon:-110.33333},KFLG:{id:"KFLG",city:"Flagstaff Pulliam Airport",state:"AZ",lat:35.1443299,lon:-111.66637},KGCN:{id:"KGCN",city:"Grand Canyon National Park Airport",state:"AZ",lat:35.94582,lon:-112.15538},KGEU:{id:"KGEU",city:"Glendale, Glendale Municipal Airport",state:"AZ",lat:33.52722,lon:-112.29528},KGXF:{id:"KGXF",city:"Gila Bend Air Force Auxiliary Field",state:"AZ",lat:32.8875,lon:-112.72},KGYR:{id:"KGYR",city:"Goodyear Municipal",state:"AZ",lat:33.41667,lon:-112.38333},KHII:{id:"KHII",city:"Havasu City Airport",state:"AZ",lat:34.56595,lon:-114.35224},KIFP:{id:"KIFP",city:"Bullhead City, Laughlin/Bullhead International Airport",state:"AZ",lat:35.1575,lon:-114.55944},KIGM:{id:"KIGM",city:"Kingman, Kingman Airport",state:"AZ",lat:35.2577799,lon:-113.93306},KINW:{id:"KINW",city:"Winslow, Winslow Municipal Airport",state:"AZ",lat:35.02806,lon:-110.72083},KIWA:{id:"KIWA",city:"Phoenix-Mesa Gateway Airport",state:"AZ",lat:33.31667,lon:-111.65},KJTC:{id:"KJTC",city:"Springerville Municipal Airport",state:"AZ",lat:34.1293999,lon:-109.3109},KLGF:{id:"KLGF",city:"Laguna Army Airfield",state:"AZ",lat:32.86459,lon:-114.39298},KLUF:{id:"KLUF",city:"Luke Air Force Base / Phoenix",state:"AZ",lat:33.53333,lon:-112.38333},KMZJ:{id:"KMZJ",city:"Pinal Airpark",state:"AZ",lat:32.50983,lon:-111.32533},KNOZ:{id:"KNOZ",city:"Yuma Auxiliary Airfield",state:"AZ",lat:32.5,lon:-114.45},KNYL:{id:"KNYL",city:"Yuma, Marine Corps Air Station",state:"AZ",lat:32.6594399,lon:-114.59306},KOLS:{id:"KOLS",city:"Nogales, Nogales International Airport",state:"AZ",lat:31.42083,lon:-110.84583},KPAN:{id:"KPAN",city:"Payson Airport",state:"AZ",lat:34.2568364,lon:-111.3392558},KPGA:{id:"KPGA",city:"Page, Page Municipal Airport",state:"AZ",lat:36.92056,lon:-111.44806},KPHX:{id:"KPHX",city:"Phoenix, Phoenix Sky Harbor International Airport",state:"AZ",lat:33.427799,lon:-112.003465},KPRC:{id:"KPRC",city:"Prescott, Love Field",state:"AZ",lat:34.64917,lon:-112.42222},KRQE:{id:"KRQE",city:"Window Rock, Window Rock Airport",state:"AZ",lat:35.65,lon:-109.06667},KRYN:{id:"KRYN",city:"Tucson Ryan Field Airport",state:"AZ",lat:32.1422,lon:-111.1746},KSAD:{id:"KSAD",city:"Safford, Safford Municipal Airport",state:"AZ",lat:32.85722,lon:-109.63556},KSDL:{id:"KSDL",city:"Scottsdale Airport",state:"AZ",lat:33.61235,lon:-111.92316},KSEZ:{id:"KSEZ",city:"Sedona Airport",state:"AZ",lat:34.85,lon:-111.78333},KSJN:{id:"KSJN",city:"St. Johns, St. Johns Industrial Airpark",state:"AZ",lat:34.51833,lon:-109.37917},KSOW:{id:"KSOW",city:"Show Low, Show Low Regional Airport",state:"AZ",lat:34.26528,lon:-110.00556},KTUS:{id:"KTUS",city:"Tucson, Tucson International Airport",state:"AZ",lat:32.13153,lon:-110.95635},KTYL:{id:"KTYL",city:"Taylor Airport",state:"AZ",lat:34.45272,lon:-110.11503},KABI:{id:"KABI",city:"Abilene, Abilene Regional Airport",state:"TX",lat:32.41028,lon:-99.68167},KACT:{id:"KACT",city:"Waco, Waco Regional Airport",state:"TX",lat:31.61722,lon:-97.22778},KADS:{id:"KADS",city:"Dallas / Addison Airport",state:"TX",lat:32.96667,lon:-96.83333},KAFW:{id:"KAFW",city:"Fort Worth, Fort Worth Alliance Airport",state:"TX",lat:32.97333,lon:-97.31806},KALI:{id:"KALI",city:"Alice, Alice International Airport",state:"TX",lat:27.74111,lon:-98.02694},KAMA:{id:"KAMA",city:"Amarillo, Amarillo International Airport",state:"TX",lat:35.22,lon:-101.71722},KAPY:{id:"KAPY",city:"Zapata, TX",state:"TX",lat:26.969,lon:-99.249},KAQO:{id:"KAQO",city:"Llano, Llano Municipal Airport",state:"TX",lat:30.78361,lon:-98.66194},KARM:{id:"KARM",city:"Wharton, Wharton Regional Airport",state:"TX",lat:29.25417,lon:-96.1541699},KASL:{id:"KASL",city:"Marshall",state:"TX",lat:32.5205,lon:-94.3078},KATT:{id:"KATT",city:"Austin City, Austin Camp Mabry",state:"TX",lat:30.31667,lon:-97.76667},KAUS:{id:"KAUS",city:"Austin-Bergstrom International Airport",state:"TX",lat:30.18304,lon:-97.6798699},KAXH:{id:"KAXH",city:"Houston Southwest Airport",state:"TX",lat:29.50613,lon:-95.47692},KBAZ:{id:"KBAZ",city:"New Braunfels Regional Airport",state:"TX",lat:29.70861,lon:-98.04528},KBBD:{id:"KBBD",city:"Brady, Curtis Field Airport",state:"TX",lat:31.17917,lon:-99.32389},KBEA:{id:"KBEA",city:"Beeville Municipal Airport",state:"TX",lat:28.362,lon:-97.791},KBGD:{id:"KBGD",city:"Borger, Hutchinson County Airport",state:"TX",lat:35.695,lon:-101.395},KBIF:{id:"KBIF",city:"Biggs Army Air Field - Fort Bliss",state:"TX",lat:31.86119,lon:-106.3691599},KBKD:{id:"KBKD",city:"Stephens County Airport",state:"TX",lat:32.719,lon:-98.891},KBKS:{id:"KBKS",city:"Falfurrias, Brooks County Airport",state:"TX",lat:27.20667,lon:-98.12111},KBMQ:{id:"KBMQ",city:"Burnet, Burnet Municipal Craddock Field",state:"TX",lat:30.74056,lon:-98.23528},KBMT:{id:"KBMT",city:"Beaumont Municipal Airport",state:"TX",lat:30.0702,lon:-94.2151},KBPC:{id:"KBPC",city:"Mesa Vista Ranch AP",state:"TX",lat:35.889,lon:-101.03},KBPG:{id:"KBPG",city:"Big Spring, Big Spring McMahon-Wrinkle Airport",state:"TX",lat:32.2,lon:-101.51667},KBPT:{id:"KBPT",city:"Beaumont/Port Arthur Southeast Texas Regional Airport",state:"TX",lat:29.9521,lon:-94.0261},KBQX:{id:"KBQX",city:"BRAZOS 451 OIL PLATFORM",state:"TX",lat:28.5,lon:-95.72},KBRO:{id:"KBRO",city:"Brownsville, Brownsville / South Padre Island International Airport",state:"TX",lat:25.91417,lon:-97.42306},KBWD:{id:"KBWD",city:"Brownwood, Brownwood Regional Airport",state:"TX",lat:31.8,lon:-98.95},KBYY:{id:"KBYY",city:"Bay City, Bay City Municipal Airport",state:"TX",lat:28.97306,lon:-95.86333},KCDS:{id:"KCDS",city:"Childress, Childress Municipal Airport",state:"TX",lat:34.4275,lon:-100.28333},KCFD:{id:"KCFD",city:"Bryan Coulter Field",state:"TX",lat:30.7157,lon:-96.3314},KCLL:{id:"KCLL",city:"College Station, Easterwood Field",state:"TX",lat:30.58222,lon:-96.36167},KCNW:{id:"KCNW",city:"Waco-James Connally Airport",state:"TX",lat:31.6378,lon:-97.0741},KCOM:{id:"KCOM",city:"COLEMAN",state:"TX",lat:31.84,lon:-99.4},KCOT:{id:"KCOT",city:"Cotulla, Cotulla-La Salle County Airport",state:"TX",lat:28.45833,lon:-99.22028},KCPT:{id:"KCPT",city:"Cleburne, Cleburne Municipal Airport",state:"TX",lat:32.35361,lon:-97.43361},KCRP:{id:"KCRP",city:"Corpus Christi, Corpus Christi International Airport",state:"TX",lat:27.77306,lon:-97.51278},KCRS:{id:"KCRS",city:"Corsicana, Campbell Field-Corsicana Municipal Airport",state:"TX",lat:32.03111,lon:-96.39889},KCVB:{id:"KCVB",city:"Castroville Municipal Airport",state:"TX",lat:29.34192,lon:-98.8509},KCWC:{id:"KCWC",city:"Kickapoo Downtown Airport",state:"TX",lat:33.8606,lon:-98.4903999},KCXO:{id:"KCXO",city:"Conroe, Montgomery County Airport",state:"TX",lat:30.35667,lon:-95.41389},KCZT:{id:"KCZT",city:"Carrizo Springs Dimmit County Airport",state:"TX",lat:28.5222,lon:-99.8236},KDAL:{id:"KDAL",city:"Dallas Love Field",state:"TX",lat:32.85416,lon:-96.85506},KDFW:{id:"KDFW",city:"Dallas/Fort Worth International Airport",state:"TX",lat:32.89743,lon:-97.02196},KDHT:{id:"KDHT",city:"Dalhart, Dalhart Municipal Airport",state:"TX",lat:36.02333,lon:-102.54722},KDKR:{id:"KDKR",city:"Crockett, Houston County Airport",state:"TX",lat:31.30694,lon:-95.40361},KDLF:{id:"KDLF",city:"Laughlin Air Force Base Auxiliary Airfield",state:"TX",lat:29.36652,lon:-100.78469},KDRT:{id:"KDRT",city:"Del Rio, Del Rio International Airport",state:"TX",lat:29.37472,lon:-100.92361},KDTO:{id:"KDTO",city:"Denton Enterprise Airport",state:"TX",lat:33.20505,lon:-97.20061},KDUX:{id:"KDUX",city:"Dumas, Moore County Airport",state:"TX",lat:35.85778,lon:-102.01306},KDWH:{id:"KDWH",city:"Houston, Hooks Memorial Airport",state:"TX",lat:30.0675,lon:-95.55611},KDYS:{id:"KDYS",city:"Abilene, Dyess Air Force Base",state:"TX",lat:32.42,lon:-99.85694},KDZB:{id:"KDZB",city:"Horseshoe Bay Resort Airpark",state:"TX",lat:30.5271,lon:-98.3588},KEBG:{id:"KEBG",city:"Edinburg, Edinburg International Airport",state:"TX",lat:26.44194,lon:-98.12944},KECU:{id:"KECU",city:"Rocksprings, Edwards County Airport",state:"TX",lat:29.94667,lon:-100.17361},KEDC:{id:"KEDC",city:"Austin Executive Airport",state:"TX",lat:30.3925,lon:-97.5621},KEFD:{id:"KEFD",city:"Houston / Ellington",state:"TX",lat:29.6,lon:-95.16667},KELA:{id:"KELA",city:"Eagle Lake",state:"TX",lat:29.6006,lon:-96.3219},KELP:{id:"KELP",city:"El Paso, El Paso International Airport",state:"TX",lat:31.81111,lon:-106.3758299},KEMK:{id:"KEMK",city:"E BREAKS OIL PLATFORM",state:"TX",lat:27.82,lon:-94.3199999},KERV:{id:"KERV",city:"Kerrville, Kerrville Municipal Airport/Louis Schreiner Field",state:"TX",lat:29.96667,lon:-99.08333},KETN:{id:"KETN",city:"Eastland Municipal Airport",state:"TX",lat:32.41489,lon:-98.80969},KFST:{id:"KFST",city:"Fort Stockton, Fort Stockton-Pecos County Airport",state:"TX",lat:30.91194,lon:-102.91667},KFTW:{id:"KFTW",city:"Fort Worth, Meacham International Airport",state:"TX",lat:32.82528,lon:-97.36417},KFWS:{id:"KFWS",city:"Fort Worth Spinks Airport",state:"TX",lat:32.56537,lon:-97.30837},KGDJ:{id:"KGDJ",city:"Granbury, Granbury Municipal Airport",state:"TX",lat:32.44417,lon:-97.81667},KGDP:{id:"KGDP",city:"Pine Springs, Guadalupe Mountains National Park",state:"TX",lat:31.83111,lon:-104.80889},KGGG:{id:"KGGG",city:"Longview - East Texas Regional Airport",state:"TX",lat:32.39056,lon:-94.71389},KGKY:{id:"KGKY",city:"Arlington Municipal Airport",state:"TX",lat:32.65829,lon:-97.09509},KGLE:{id:"KGLE",city:"Gainesville, Gainesville Municipal Airport",state:"TX",lat:33.65139,lon:-97.19694},KGLS:{id:"KGLS",city:"Galveston, Scholes Field",state:"TX",lat:29.27028,lon:-94.86417},KGNC:{id:"KGNC",city:"Seminole, Gaines County Airport",state:"TX",lat:32.67528,lon:-102.6525},KGOP:{id:"KGOP",city:"Gatesville, City-County Airport",state:"TX",lat:31.42111,lon:-97.79694},KGPM:{id:"KGPM",city:"Grand Prairie, Grand Prairie Municipal Airport",state:"TX",lat:32.69861,lon:-97.04667},KGRK:{id:"KGRK",city:"Fort Hood, Robert Gray AAF Ft Hood",state:"TX",lat:31.06667,lon:-97.81667},KGTU:{id:"KGTU",city:"Georgetown, Georgetown Municipal Airport",state:"TX",lat:30.68333,lon:-97.68333},KGVT:{id:"KGVT",city:"Greenville / Majors",state:"TX",lat:33.06667,lon:-96.06667},KGYB:{id:"KGYB",city:"Giddings, Giddings-Lee County Airport",state:"TX",lat:30.16917,lon:-96.98},KGYI:{id:"KGYI",city:"Sherman/Denison, Grayson County Airport",state:"TX",lat:33.71667,lon:-96.66667},KGZN:{id:"KGZN",city:"Gregory M Simmons Memorial Airport",state:"TX",lat:32.3658,lon:-99.0237},KHBV:{id:"KHBV",city:"Hebbronville, Jim Hogg County Airport",state:"TX",lat:27.33333,lon:-98.73333},KHDO:{id:"KHDO",city:"Hondo, Hondo Municipal Airport",state:"TX",lat:29.35944,lon:-99.17417},KHHF:{id:"KHHF",city:"Canadian, Hemphill County Airport",state:"TX",lat:35.9,lon:-100.4},KHHV:{id:"KHHV",city:"Alaminos Canyon 25/H-D (ExxonMobil)",state:"TX",lat:26.939,lon:-94.6889999},KHLR:{id:"KHLR",city:"Fort Hood, Hood AAF Ft Hood",state:"TX",lat:31.13333,lon:-97.7},KHOU:{id:"KHOU",city:"Houston, Houston Hobby Airport",state:"TX",lat:29.6375,lon:-95.2825},KHQZ:{id:"KHQZ",city:"Mesquite, Mesquite Metro Airport",state:"TX",lat:32.74694,lon:-96.53028},KHRL:{id:"KHRL",city:"Harlingen, Rio Grande Valley International Airport",state:"TX",lat:26.22972,lon:-97.65528},KHRX:{id:"KHRX",city:"Hereford Municipal Airport",state:"TX",lat:34.8578,lon:-102.3264},KHYI:{id:"KHYI",city:"San Marcos, San Marcos Municipal Airport",state:"TX",lat:29.89361,lon:-97.86472},KIAH:{id:"KIAH",city:"Houston Intercontinental Airport",state:"TX",lat:29.9844,lon:-95.36074},KIKG:{id:"KIKG",city:"Kleberg County Airport",state:"TX",lat:27.5509,lon:-98.0309},KILE:{id:"KILE",city:"Killeen, Skylark Field Airport",state:"TX",lat:31.08333,lon:-97.68333},KINJ:{id:"KINJ",city:"Hillsboro, Hillsboro Municipal Airport",state:"TX",lat:32.0833299,lon:-97.0972199},KINK:{id:"KINK",city:"Wink, Winkler County Airport",state:"TX",lat:31.77972,lon:-103.20139},KJAS:{id:"KJAS",city:"Jasper, Jasper County-Bell Field Airport",state:"TX",lat:30.88556,lon:-94.0347199},KJCT:{id:"KJCT",city:"Junction, Kimble County Airport",state:"TX",lat:30.51083,lon:-99.76639},KJDD:{id:"KJDD",city:"Mineola/Quitman, Wood County Airport",state:"TX",lat:32.74194,lon:-95.49639},KJSO:{id:"KJSO",city:"Jacksonville, Cherokee County Airport",state:"TX",lat:31.86917,lon:-95.21722},KJWY:{id:"KJWY",city:"Midlothian/Waxahachie, Mid-Way Regional Airport",state:"TX",lat:32.45583,lon:-96.91222},KJXI:{id:"KJXI",city:"Gilmer, Fox Stephens Field - Gilmer Municipal Airport",state:"TX",lat:32.69889,lon:-94.94861},KLBB:{id:"KLBB",city:"Lubbock, Lubbock International Airport",state:"TX",lat:33.6674999,lon:-101.8213899},KLBX:{id:"KLBX",city:"Angleton / Lake Jackson, Brazoria County Airport",state:"TX",lat:29.11536,lon:-95.46323},KLFK:{id:"KLFK",city:"Lufkin, Angelina County Airport",state:"TX",lat:31.23389,lon:-94.75},KLHB:{id:"KLHB",city:"Hearne, Hearne Municipal Airport",state:"TX",lat:30.87167,lon:-96.62222},KLLN:{id:"KLLN",city:"Levelland Municipal Airport",state:"TX",lat:33.55253,lon:-102.37253},KLNC:{id:"KLNC",city:"Lancaster Airport",state:"TX",lat:32.58323,lon:-96.72091},KLRD:{id:"KLRD",city:"Laredo, Laredo International Airport",state:"TX",lat:27.54361,lon:-99.46139},KLUD:{id:"KLUD",city:"Decatur, Decatur Municipal Airport",state:"TX",lat:33.25444,lon:-97.58056},KLUV:{id:"KLUV",city:"Lamesa Municipal Airport",state:"TX",lat:32.75631,lon:-101.92022},KLVJ:{id:"KLVJ",city:"Houston, Pearland Regional Airport",state:"TX",lat:29.52111,lon:-95.24194},KLXY:{id:"KLXY",city:"Mexia Limestone County Airport",state:"TX",lat:31.6412,lon:-96.5145},KLZZ:{id:"KLZZ",city:"Lampasas, Lampasas Airport",state:"TX",lat:31.10611,lon:-98.19583},KMAF:{id:"KMAF",city:"Midland, Midland International Airport",state:"TX",lat:31.94778,lon:-102.2086099},KMCJ:{id:"KMCJ",city:"John Dunn Helistop",state:"TX",lat:29.714,lon:-95.395},KMDD:{id:"KMDD",city:"Midland, Midland Airpark",state:"TX",lat:32.03639,lon:-102.10083},KMFE:{id:"KMFE",city:"McAllen, Miller International Airport",state:"TX",lat:26.17972,lon:-98.24444},KMKN:{id:"KMKN",city:"Comanche, Comanche County-City Airport",state:"TX",lat:31.91667,lon:-98.60028},KMNZ:{id:"KMNZ",city:"Hamilton Municipal Airport",state:"TX",lat:31.6659,lon:-98.1486},KMRF:{id:"KMRF",city:"Marfa",state:"TX",lat:30.36667,lon:-104.01667},KMWL:{id:"KMWL",city:"Mineral Wells, Mineral Wells Airport",state:"TX",lat:32.78167,lon:-98.06028},KNFW:{id:"KNFW",city:"Fort Worth, Naval Air Station",state:"TX",lat:32.76583,lon:-97.43333},KNGP:{id:"KNGP",city:"Corpus Christi, Corpus Christi Naval Air Station/Truax Field",state:"TX",lat:27.6925,lon:-97.29111},KNOG:{id:"KNOG",city:"Orange Grove NALF",state:"TX",lat:27.8947,lon:-98.0425099},KNQI:{id:"KNQI",city:"Kingsville, Naval Air Station",state:"TX",lat:27.50306,lon:-97.81167},KOCH:{id:"KOCH",city:"Nacogdoches, A L Mangham Jr. Regional Airport",state:"TX",lat:31.58333,lon:-94.7166699},KODO:{id:"KODO",city:"Odessa, Odessa-Schlemeyer Field",state:"TX",lat:31.92139,lon:-102.39167},KORG:{id:"KORG",city:"Orange, Orange County Airport",state:"TX",lat:30.06917,lon:-93.80361},KOSA:{id:"KOSA",city:"Mount Pleasant, Mount Pleasant Regional Airport",state:"TX",lat:33.09528,lon:-94.96139},KOZA:{id:"KOZA",city:"Ozona Municipal Airport",state:"TX",lat:30.7353,lon:-101.203},KPEQ:{id:"KPEQ",city:"Pecos, Pecos Municipal Airport",state:"TX",lat:31.38222,lon:-103.51056},KPEZ:{id:"KPEZ",city:"Pleasanton Municipal Airport",state:"TX",lat:28.9562,lon:-98.5184},KPIL:{id:"KPIL",city:"Port Isabel, Port Isabel-Cameron County Airport",state:"TX",lat:26.15917,lon:-97.3375},KPKV:{id:"KPKV",city:"Port Lavaca - Calhoun County Airport",state:"TX",lat:28.65159,lon:-96.68196},KPPA:{id:"KPPA",city:"Pampa, Perry Lefors Field Airport",state:"TX",lat:35.61278,lon:-100.99611},KPRS:{id:"KPRS",city:"Presidio Lely International Airport",state:"TX",lat:29.6341,lon:-104.3616},KPRX:{id:"KPRX",city:"Paris / Cox Field",state:"TX",lat:33.63333,lon:-95.45},KPSN:{id:"KPSN",city:"Palestine, Palestine Municipal Airport",state:"TX",lat:31.77944,lon:-95.70611},KPSX:{id:"KPSX",city:"Palacios Municipal Airport",state:"TX",lat:28.72485,lon:-96.2534699},KPVW:{id:"KPVW",city:"Plainview, Hale County Airport",state:"TX",lat:34.1680599,lon:-101.71722},KPWG:{id:"KPWG",city:"Waco, Mc Gregor Executive Airport",state:"TX",lat:31.48333,lon:-97.31667},KPYX:{id:"KPYX",city:"Perryton, Perryton Ochiltree County Airport",state:"TX",lat:36.4,lon:-100.73333},KRAS:{id:"KRAS",city:"Port Aransas, Mustang Beach Airport",state:"TX",lat:27.81167,lon:-97.08861},KRBD:{id:"KRBD",city:"Dallas, Redbird Airport",state:"TX",lat:32.67583,lon:-96.86389},KRBO:{id:"KRBO",city:"Robstown, Nueces County Airport",state:"TX",lat:27.77833,lon:-97.69028},KRFI:{id:"KRFI",city:"Rusk County Airport",state:"TX",lat:32.1417,lon:-94.8516999},KRKP:{id:"KRKP",city:"Rockport Aransas County Airport",state:"TX",lat:28.08371,lon:-97.04664},KRND:{id:"KRND",city:"Randolph Air Force Base",state:"TX",lat:29.53333,lon:-98.28333},KRWV:{id:"KRWV",city:"Caldwell, Caldwell Municipal Airport",state:"TX",lat:30.51528,lon:-96.70389},KRYW:{id:"KRYW",city:"Lago Vista TX, Rusty Allen Airport",state:"TX",lat:30.4967,lon:-97.9659},KSAT:{id:"KSAT",city:"San Antonio, San Antonio International Airport",state:"TX",lat:29.53278,lon:-98.46361},KSEP:{id:"KSEP",city:"Stephenville, Clark Field Municipal Airport",state:"TX",lat:32.21667,lon:-98.18333},KSEQ:{id:"KSEQ",city:"Seguin - Randolph AFB Auxiliary Field",state:"TX",lat:29.56579,lon:-97.90834},KSGR:{id:"KSGR",city:"Houston, Sugar Land Municipal / Hull Field Airport",state:"TX",lat:29.62222,lon:-95.65667},KSJT:{id:"KSJT",city:"San Angelo, Mathis Field",state:"TX",lat:31.35139,lon:-100.4938899},KSKF:{id:"KSKF",city:"San Antonio - Kelly Field",state:"TX",lat:29.38333,lon:-98.58333},KSLR:{id:"KSLR",city:"Sulphur Springs, Sulphur Springs Municipal Airport",state:"TX",lat:33.16111,lon:-95.62111},KSNK:{id:"KSNK",city:"Snyder, Winston Field Airport",state:"TX",lat:32.69333,lon:-100.95028},KSOA:{id:"KSOA",city:"Sonora, Sonora Municipal Airport",state:"TX",lat:30.58556,lon:-100.64833},KSPS:{id:"KSPS",city:"Wichita Falls, Sheppard Air Force Base",state:"TX",lat:33.97861,lon:-98.49278},KSSF:{id:"KSSF",city:"San Antonio, Stinson Municipal Airport",state:"TX",lat:29.33889,lon:-98.47167},KSWW:{id:"KSWW",city:"Sweetwater, Avenger Field Airport",state:"TX",lat:32.46722,lon:-100.46639},KTFP:{id:"KTFP",city:"Mc Campbell",state:"TX",lat:27.913,lon:-97.2115},KTKI:{id:"KTKI",city:"McKinney - McKinney National Airport",state:"TX",lat:33.17778,lon:-96.59028},KTME:{id:"KTME",city:"Houston Executive Airport",state:"TX",lat:29.80717,lon:-95.89791},KTPL:{id:"KTPL",city:"Temple, Draughon-Miller Central Texas Regional Airport",state:"TX",lat:31.15,lon:-97.4},KTRL:{id:"KTRL",city:"Terrell, Terrell Municipal Airport",state:"TX",lat:32.71361,lon:-96.26833},KTXW:{id:"KTXW",city:"Mid Valley Airport",state:"TX",lat:26.17871,lon:-97.97401},KTYR:{id:"KTYR",city:"Tyler, Tyler Pounds Field",state:"TX",lat:32.35861,lon:-95.40389},KUTS:{id:"KUTS",city:"Huntsville, Huntsville Municipal Airport",state:"TX",lat:30.74389,lon:-95.58611},KUVA:{id:"KUVA",city:"Uvalde, Garner Field Airport",state:"TX",lat:29.21111,lon:-99.74333},KVAF:{id:"KVAF",city:"East Breaks 643/Boomvang Spar",state:"TX",lat:27.354,lon:-94.625},KVCT:{id:"KVCT",city:"Victoria, Victoria Regional Airport",state:"TX",lat:28.8625,lon:-96.92972},KVHN:{id:"KVHN",city:"Culberson County Airport",state:"TX",lat:31.05783,lon:-104.78381},KXBP:{id:"KXBP",city:"Bridgeport, Bridgeport Municipal Airport",state:"TX",lat:33.17528,lon:-97.8283299},KAAT:{id:"KAAT",city:"Alturas",state:"CA",lat:41.48362,lon:-120.5615},KACV:{id:"KACV",city:"Arcata / Eureka, Arcata Airport",state:"CA",lat:40.97806,lon:-124.10861},KAJO:{id:"KAJO",city:"Corona Airport",state:"CA",lat:33.8977,lon:-117.6024},KAPC:{id:"KAPC",city:"Napa, Napa County Airport",state:"CA",lat:38.2075,lon:-122.27944},KAPV:{id:"KAPV",city:"APPLEVALLEY",state:"CA",lat:34.57533,lon:-117.18619},KAUN:{id:"KAUN",city:"Auburn Municipal Airport",state:"CA",lat:38.95535,lon:-121.08636},KAVX:{id:"KAVX",city:"Avalon Catalina Airport",state:"CA",lat:33.40421,lon:-118.41456},KBAB:{id:"KBAB",city:"Marysville, Beale Air Force Base",state:"CA",lat:39.13333,lon:-121.43333},KBAN:{id:"KBAN",city:"MCMWTC BRIDGEPORT",state:"CA",lat:38.3557,lon:-119.5188},KBFL:{id:"KBFL",city:"Bakersfield, Meadows Field Airport",state:"CA",lat:35.43361,lon:-119.05667},KBIH:{id:"KBIH",city:"Bishop, Bishop Airport",state:"CA",lat:37.37111,lon:-118.35806},KBLH:{id:"KBLH",city:"Blythe, Blythe Airport",state:"CA",lat:33.6191699,lon:-114.71694},KBLU:{id:"KBLU",city:"Emigrant Gap, Blue Canyon Nyack Airport",state:"CA",lat:39.27611,lon:-120.70806},KBUR:{id:"KBUR",city:"Burbank - Bob Hope Airport",state:"CA",lat:34.19967,lon:-118.36538},KBYS:{id:"KBYS",city:"Fort Irwin/Barstow, Bicycle Lake Army Airfield",state:"CA",lat:35.28333,lon:-116.61667},KCCB:{id:"KCCB",city:"Cable Airport",state:"CA",lat:34.11161,lon:-117.68739},KCCR:{id:"KCCR",city:"Concord, Buchanan Field",state:"CA",lat:37.99167,lon:-122.05194},KCEC:{id:"KCEC",city:"Crescent City, Jack McNamara Field Airport",state:"CA",lat:41.78028,lon:-124.23667},KCIC:{id:"KCIC",city:"Chico Municipal Airport",state:"CA",lat:39.7987899,lon:-121.85795},KCMA:{id:"KCMA",city:"Camarillo, Camarillo Airport",state:"CA",lat:34.21667,lon:-119.08333},KCNO:{id:"KCNO",city:"Chino, Chino Airport",state:"CA",lat:33.97556,lon:-117.62361},KCPU:{id:"KCPU",city:"San Andreas Calaveras County Airport",state:"CA",lat:38.1460999,lon:-120.6482},KCQT:{id:"KCQT",city:"Los Angeles / USC Campus Downtown",state:"CA",lat:34.02355,lon:-118.29122},KCRQ:{id:"KCRQ",city:"Carlsbad, McClellan-Palomar Airport",state:"CA",lat:33.13,lon:-117.27583},KCVH:{id:"KCVH",city:"Hollister, CA",state:"CA",lat:36.8933,lon:-121.4103},KDAG:{id:"KDAG",city:"Daggett, Barstow-Daggett Airport",state:"CA",lat:34.85361,lon:-116.78667},KDLO:{id:"KDLO",city:"Delano Municipal Airport",state:"CA",lat:35.74556,lon:-119.2365},KDVO:{id:"KDVO",city:"Novato / Gnoss Field",state:"CA",lat:38.14178,lon:-122.55463},KDWA:{id:"KDWA",city:"Yolo County Airport",state:"CA",lat:38.5793899,lon:-121.85694},KEDW:{id:"KEDW",city:"Edwards Air Force Base",state:"CA",lat:34.918,lon:-117.879},KEED:{id:"KEED",city:"Needles, Needles Airport",state:"CA",lat:34.76611,lon:-114.62333},KEMT:{id:"KEMT",city:"El Monte",state:"CA",lat:34.0833299,lon:-118.03333},KFAT:{id:"KFAT",city:"Fresno, Fresno Air Terminal",state:"CA",lat:36.78,lon:-119.71944},KFOT:{id:"KFOT",city:"Fortuna Rohnerville Airport",state:"CA",lat:40.55296,lon:-124.13338},KFUL:{id:"KFUL",city:"Fullerton, Fullerton Municipal Airport",state:"CA",lat:33.87194,lon:-117.98472},KGOO:{id:"KGOO",city:"Nevada County Air Park",state:"CA",lat:39.2240279,lon:-121.003083},KGXA:{id:"KGXA",city:"Gray Butte Field Airport",state:"CA",lat:34.5666,lon:-117.6704},KHAF:{id:"KHAF",city:"Half Moon Bay Airport",state:"CA",lat:37.5135999,lon:-122.4996},KHHR:{id:"KHHR",city:"Hawthorne, Hawthorne Municipal Airport",state:"CA",lat:33.9236099,lon:-118.33194},KHJO:{id:"KHJO",city:"Hanford Municipal Airport",state:"CA",lat:36.31145,lon:-119.62315},KHMT:{id:"KHMT",city:"Hemet-Ryan Airport",state:"CA",lat:33.73403,lon:-117.02231},KHWD:{id:"KHWD",city:"Hayward, Hayward Air Terminal",state:"CA",lat:37.66083,lon:-122.11833},KIPL:{id:"KIPL",city:"Imperial, Imperial County Airport",state:"CA",lat:32.83417,lon:-115.57861},KIZA:{id:"KIZA",city:"Santa Ynez, Santa Ynez Airport",state:"CA",lat:34.60694,lon:-120.07556},KJAQ:{id:"KJAQ",city:"Westover Field - Amador County Airport",state:"CA",lat:38.3768,lon:-120.79391},KLAX:{id:"KLAX",city:"Los Angeles, Los Angeles International Airport",state:"CA",lat:33.93806,lon:-118.38889},KLGB:{id:"KLGB",city:"Long Beach, Long Beach Airport",state:"CA",lat:33.81167,lon:-118.14639},KLHM:{id:"KLHM",city:"Lincoln Regional Karl Harder Field",state:"CA",lat:38.9092,lon:-121.3513},KLPC:{id:"KLPC",city:"Lompoc, Lompoc Airport",state:"CA",lat:34.66667,lon:-120.46667},KLVK:{id:"KLVK",city:"Livermore, Livermore Municipal Airport",state:"CA",lat:37.69278,lon:-121.81444},KMAE:{id:"KMAE",city:"Madera Municipal Airport",state:"CA",lat:36.9851,lon:-120.11064},KMCC:{id:"KMCC",city:"Sacramento, McClellan Airfield Airport",state:"CA",lat:38.66667,lon:-121.4},KMCE:{id:"KMCE",city:"Merced Regional Airport",state:"CA",lat:37.28306,lon:-120.50778},KMER:{id:"KMER",city:"Merced / Castle Air Force Base",state:"CA",lat:37.36667,lon:-120.56667},KMHR:{id:"KMHR",city:"Sacramento Mather Airport",state:"CA",lat:38.5599599,lon:-121.28397},KMHS:{id:"KMHS",city:"Mount Shasta",state:"CA",lat:41.31494,lon:-122.31702},KMHV:{id:"KMHV",city:"Mojave",state:"CA",lat:35.06667,lon:-118.15},KMMH:{id:"KMMH",city:"Mammoth Yosemite Airport",state:"CA",lat:37.6241,lon:-118.8423},KMOD:{id:"KMOD",city:"Modesto City-County Airport - Harry Sham Field",state:"CA",lat:37.62549,lon:-120.9549},KMRY:{id:"KMRY",city:"Monterey Regional Airport",state:"CA",lat:36.59047,lon:-121.84875},KMYF:{id:"KMYF",city:"San Diego, Montgomery Field",state:"CA",lat:32.81444,lon:-117.13639},KMYV:{id:"KMYV",city:"Marysville, Yuba County Airport",state:"CA",lat:39.09778,lon:-121.56972},KNFG:{id:"KNFG",city:"Oceanside, Camp Pendleton, Marine Corps Air Station",state:"CA",lat:33.30472,lon:-117.35389},KNID:{id:"KNID",city:"China Lake, Naval Air Facility",state:"CA",lat:35.68639,lon:-117.69},KNJK:{id:"KNJK",city:"El Centro, Naval Air Facility",state:"CA",lat:32.825,lon:-115.66056},KNKX:{id:"KNKX",city:"San Diego, Miramar MCAS/Mitscher Field Airport",state:"CA",lat:32.86833,lon:-117.1425},KNLC:{id:"KNLC",city:"Lemoore Naval Air Station - Reeves Field",state:"CA",lat:36.30244,lon:-119.93968},KNRS:{id:"KNRS",city:"Imperial Beach Naval Outlying Field - Ream Field",state:"CA",lat:32.56302,lon:-117.11091},KNSI:{id:"KNSI",city:"San Nicolas Island Naval Outlying Field",state:"CA",lat:33.23379,lon:-119.45588},KNTD:{id:"KNTD",city:"Point Mugu, Naval Air Warfare Center",state:"CA",lat:34.12389,lon:-119.12167},KNUC:{id:"KNUC",city:"San Clemente Island NALF",state:"CA",lat:33.0218,lon:-118.58266},KNXP:{id:"KNXP",city:"Twentynine Palms SELF Airport",state:"CA",lat:34.29401,lon:-116.14717},KNZY:{id:"KNZY",city:"San Diego, North Island, Naval Air Station",state:"CA",lat:32.69083,lon:-117.20889},KOAK:{id:"KOAK",city:"Oakland, Metro Oakland International Airport",state:"CA",lat:37.7177999,lon:-122.23294},KOAR:{id:"KOAR",city:"FORT ORD/FRITZSCHE",state:"CA",lat:36.68,lon:-121.77},KOKB:{id:"KOKB",city:"Oceanside, Oceanside Municipal Airport",state:"CA",lat:33.21806,lon:-117.35139},KONT:{id:"KONT",city:"Ontario International Airport",state:"CA",lat:34.05316,lon:-117.57685},KOVE:{id:"KOVE",city:"Oroville Municipal Airport",state:"CA",lat:39.49436,lon:-121.62223},KOXR:{id:"KOXR",city:"Oxnard, Oxnard Airport",state:"CA",lat:34.20056,lon:-119.20306},KPAO:{id:"KPAO",city:"Palo Alto Airport",state:"CA",lat:37.46667,lon:-122.11667},KPMD:{id:"KPMD",city:"Palmdale, Palmdale Production Flight Plant",state:"CA",lat:34.62972,lon:-118.08139},KPOC:{id:"KPOC",city:"Brackett Field Airport",state:"CA",lat:34.09282,lon:-117.77937},KPRB:{id:"KPRB",city:"Paso Robles Municipal Airport",state:"CA",lat:35.66941,lon:-120.62912},KPSP:{id:"KPSP",city:"Palm Springs Regional Airport",state:"CA",lat:33.82219,lon:-116.50431},KPTV:{id:"KPTV",city:"Porterville, Porterville Municipal Airport",state:"CA",lat:36.03333,lon:-119.06667},KPVF:{id:"KPVF",city:"Placerville Airport",state:"CA",lat:38.7242,lon:-120.7533},KRAL:{id:"KRAL",city:"Riverside Municipal Airport",state:"CA",lat:33.95189,lon:-117.44511},KRBL:{id:"KRBL",city:"Red Bluff, Red Bluff Municipal Airport",state:"CA",lat:40.15056,lon:-122.25222},KRDD:{id:"KRDD",city:"Redding Municipal Airport",state:"CA",lat:40.51461,lon:-122.2977},KREI:{id:"KREI",city:"REDLANDS",state:"CA",lat:34.08526,lon:-117.14637},KRHV:{id:"KRHV",city:"San Jose / Reid / Hillv",state:"CA",lat:37.3333299,lon:-121.81667},KRIV:{id:"KRIV",city:"March Air Reserve Base",state:"CA",lat:33.88194,lon:-117.25902},KRNM:{id:"KRNM",city:"Ramona, Ramona Airport",state:"CA",lat:33.0375,lon:-116.91583},KSAC:{id:"KSAC",city:"Sacramento Executive Airport",state:"CA",lat:38.50674,lon:-121.49597},KSAN:{id:"KSAN",city:"San Diego International Airport",state:"CA",lat:32.73361,lon:-117.18306},KSBA:{id:"KSBA",city:"Santa Barbara, Santa Barbara Municipal Airport",state:"CA",lat:34.42611,lon:-119.84361},KSBD:{id:"KSBD",city:"San Bernardino Intl. Airport",state:"CA",lat:34.0902699,lon:-117.24705},KSBP:{id:"KSBP",city:"San Luis Obispo, San Luis Obispo County-Mc Chesney Field",state:"CA",lat:35.2361099,lon:-120.63611},KSCK:{id:"KSCK",city:"Stockton, Stockton Metropolitan Airport",state:"CA",lat:37.8897199,lon:-121.22361},KSDB:{id:"KSDB",city:"Sandberg",state:"CA",lat:34.7436099,lon:-118.72444},KSDM:{id:"KSDM",city:"San Diego, Brown Field Municipal Airport",state:"CA",lat:32.57528,lon:-116.99306},KSEE:{id:"KSEE",city:"Gillespie Field Airport",state:"CA",lat:32.82738,lon:-116.97369},KSFO:{id:"KSFO",city:"San Francisco, San Francisco International Airport",state:"CA",lat:37.61961,lon:-122.36558},KSIY:{id:"KSIY",city:"Montague Siskiyou County Airport",state:"CA",lat:41.77375,lon:-122.46817},KSJC:{id:"KSJC",city:"San Jose, San Jose International Airport",state:"CA",lat:37.35917,lon:-121.92417},KSLI:{id:"KSLI",city:"Los Alamitos Army Airfield",state:"CA",lat:33.79628,lon:-118.04179},KSMF:{id:"KSMF",city:"Sacramento International Airport",state:"CA",lat:38.70071,lon:-121.59479},KSMO:{id:"KSMO",city:"Santa Monica, Santa Monica Municipal Airport",state:"CA",lat:34.01583,lon:-118.45139},KSMX:{id:"KSMX",city:"Santa Maria Public Airport/Capt G Allan Hancock Field",state:"CA",lat:34.89408,lon:-120.45212},KSNA:{id:"KSNA",city:"John Wayne-Orange County Airport",state:"CA",lat:33.6798,lon:-117.8674},KSNS:{id:"KSNS",city:"Salinas, Salinas Municipal Airport",state:"CA",lat:36.66361,lon:-121.60806},KSQL:{id:"KSQL",city:"San Carlos Airport",state:"CA",lat:37.51667,lon:-122.25},KSTS:{id:"KSTS",city:"Santa Rosa, Santa Rosa Sonoma County Airport",state:"CA",lat:38.5,lon:-122.81667},KSUU:{id:"KSUU",city:"Fairfield / Travis Air Force Base",state:"CA",lat:38.26667,lon:-121.95},KSVE:{id:"KSVE",city:"Susanville Municipal Airport",state:"CA",lat:40.37569,lon:-120.57269},KTCY:{id:"KTCY",city:"Tracy Municipal Airport",state:"CA",lat:37.6888999,lon:-121.44158},KTNP:{id:"KTNP",city:"29PALMS",state:"CA",lat:34.13159,lon:-115.94582},KTOA:{id:"KTOA",city:"Torrance, Zamperini Field Airport",state:"CA",lat:33.8,lon:-118.33333},KTRK:{id:"KTRK",city:"Truckee-Tahoe",state:"CA",lat:39.31667,lon:-120.13333},KTRM:{id:"KTRM",city:"Palm Springs, Jacqueline Cochran Regional Airport",state:"CA",lat:33.62667,lon:-116.15944},KTSP:{id:"KTSP",city:"Tehachapi Municipal Airport",state:"CA",lat:35.135,lon:-118.4392},KTVL:{id:"KTVL",city:"South Lake Tahoe, Lake Tahoe Airport",state:"CA",lat:38.8983599,lon:-119.99615},KUKI:{id:"KUKI",city:"Ukiah Municipal Airport",state:"CA",lat:39.12783,lon:-123.20011},KVBG:{id:"KVBG",city:"Lompoc, Vandenberg Air Force Base",state:"CA",lat:34.7294399,lon:-120.57667},KVCB:{id:"KVCB",city:"Vacaville Nut Tree Airport",state:"CA",lat:38.37755,lon:-121.95853},KVCV:{id:"KVCV",city:"Victorville, Southern California Logistics Airport",state:"CA",lat:34.59722,lon:-117.38278},KVIS:{id:"KVIS",city:"Visalia, Visalia Municipal Airport",state:"CA",lat:36.31667,lon:-119.4},KVNY:{id:"KVNY",city:"Van Nuys, Van Nuys Airport",state:"CA",lat:34.2125,lon:-118.49083},KWHP:{id:"KWHP",city:"Los Angeles, Whiteman Airport",state:"CA",lat:34.25,lon:-118.4},KWJF:{id:"KWJF",city:"General Wm J Fox Airfield",state:"CA",lat:34.74123,lon:-118.21251},KWVI:{id:"KWVI",city:"Watsonville, Watsonville Municipal Airport",state:"CA",lat:36.93944,lon:-121.78889}}; \ No newline at end of file diff --git a/dist/resources/vendor.min.js b/dist/resources/vendor.min.js deleted file mode 100644 index a19b1b9..0000000 --- a/dist/resources/vendor.min.js +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * jQuery JavaScript Library v3.7.1 - * https://jquery.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2023-08-28T13:37Z - */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],A=Object.getPrototypeOf,r=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},i=n.push,s=n.indexOf,a={},u=a.toString,l=a.hasOwnProperty,c=l.toString,d=c.call(Object),f={},p=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},h=function(e){return null!=e&&e===e.window},g=e.document,m={type:!0,src:!0,nonce:!0,noModule:!0};function v(e,t,n){var A,r,o=(n=n||g).createElement("script");if(o.text=e,t)for(A in m)(r=t[A]||t.getAttribute&&t.getAttribute(A))&&o.setAttribute(A,r);n.head.appendChild(o).parentNode.removeChild(o)}function y(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?a[u.call(e)]||"object":typeof e}var b="3.7.1",x=/HTML$/i,C=function(e,t){return new C.fn.init(e,t)};function E(e){var t=!!e&&"length"in e&&e.length,n=y(e);return!p(e)&&!h(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function w(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}C.fn=C.prototype={jquery:b,constructor:C,length:0,toArray:function(){return r.call(this)},get:function(e){return null==e?r.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=C.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return C.each(this,e)},map:function(e){return this.pushStack(C.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(C.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(C.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+k+")"+k+"*"),N=new RegExp(k+"|>"),Z=new RegExp(V),W=new RegExp("^"+O+"$"),Y={ID:new RegExp("^#("+O+")"),CLASS:new RegExp("^\\.("+O+")"),TAG:new RegExp("^("+O+"|[*])"),ATTR:new RegExp("^"+R),PSEUDO:new RegExp("^"+V),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+k+"*(even|odd|(([+-]|)(\\d*)n|)"+k+"*(?:([+-]|)"+k+"*(\\d+)|))"+k+"*\\)|)","i"),bool:new RegExp("^(?:"+q+")$","i"),needsContext:new RegExp("^"+k+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+k+"*((?:-\\d)?\\d*)"+k+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,P=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/[+~]/,U=new RegExp("\\\\[\\da-fA-F]{1,6}"+k+"?|\\\\([^\\r\\n\\f])","g"),z=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},K=function(){ae()},_=de((function(e){return!0===e.disabled&&w(e,"fieldset")}),{dir:"parentNode",next:"legend"});try{g.apply(n=r.call(j.childNodes),j.childNodes),n[j.childNodes.length].nodeType}catch(e){g={apply:function(e,t){M.apply(e,r.call(t))},call:function(e){M.apply(e,r.call(arguments,1))}}}function $(e,t,n,A){var r,o,i,s,a,l,c,h=t&&t.ownerDocument,v=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==v&&9!==v&&11!==v)return n;if(!A&&(ae(t),t=t||u,d)){if(11!==v&&(a=P.exec(e)))if(r=a[1]){if(9===v){if(!(i=t.getElementById(r)))return n;if(i.id===r)return g.call(n,i),n}else if(h&&(i=h.getElementById(r))&&$.contains(t,i)&&i.id===r)return g.call(n,i),n}else{if(a[2])return g.apply(n,t.getElementsByTagName(e)),n;if((r=a[3])&&t.getElementsByClassName)return g.apply(n,t.getElementsByClassName(r)),n}if(!(D[e+" "]||p&&p.test(e))){if(c=e,h=t,1===v&&(N.test(e)||L.test(e))){for((h=G.test(e)&&se(t.parentNode)||t)==t&&f.scope||((s=t.getAttribute("id"))?s=C.escapeSelector(s):t.setAttribute("id",s=m)),o=(l=le(e)).length;o--;)l[o]=(s?"#"+s:":scope")+" "+ce(l[o]);c=l.join(",")}try{return g.apply(n,h.querySelectorAll(c)),n}catch(t){D(e,!0)}finally{s===m&&t.removeAttribute("id")}}}return ve(e.replace(T,"$1"),t,n,A)}function ee(){var e=[];return function t(n,r){return e.push(n+" ")>A.cacheLength&&delete t[e.shift()],t[n+" "]=r}}function te(e){return e[m]=!0,e}function ne(e){var t=u.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function Ae(e){return function(t){return w(t,"input")&&t.type===e}}function re(e){return function(t){return(w(t,"input")||w(t,"button"))&&t.type===e}}function oe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&_(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ie(e){return te((function(t){return t=+t,te((function(n,A){for(var r,o=e([],n.length,t),i=o.length;i--;)n[r=o[i]]&&(n[r]=!(A[r]=n[r]))}))}))}function se(e){return e&&void 0!==e.getElementsByTagName&&e}function ae(e){var t,n=e?e.ownerDocument||e:j;return n!=u&&9===n.nodeType&&n.documentElement?(c=(u=n).documentElement,d=!C.isXMLDoc(u),h=c.matches||c.webkitMatchesSelector||c.msMatchesSelector,c.msMatchesSelector&&j!=u&&(t=u.defaultView)&&t.top!==t&&t.addEventListener("unload",K),f.getById=ne((function(e){return c.appendChild(e).id=C.expando,!u.getElementsByName||!u.getElementsByName(C.expando).length})),f.disconnectedMatch=ne((function(e){return h.call(e,"*")})),f.scope=ne((function(){return u.querySelectorAll(":scope")})),f.cssHas=ne((function(){try{return u.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}})),f.getById?(A.filter.ID=function(e){var t=e.replace(U,z);return function(e){return e.getAttribute("id")===t}},A.find.ID=function(e,t){if(void 0!==t.getElementById&&d){var n=t.getElementById(e);return n?[n]:[]}}):(A.filter.ID=function(e){var t=e.replace(U,z);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},A.find.ID=function(e,t){if(void 0!==t.getElementById&&d){var n,A,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),A=0;o=r[A++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),A.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},A.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&d)return t.getElementsByClassName(e)},p=[],ne((function(e){var t;c.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||p.push("\\["+k+"*(?:value|"+q+")"),e.querySelectorAll("[id~="+m+"-]").length||p.push("~="),e.querySelectorAll("a#"+m+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=u.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),c.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=u.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+k+"*name"+k+"*="+k+"*(?:''|\"\")")})),f.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),Q=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e===u||e.ownerDocument==j&&$.contains(j,e)?-1:t===u||t.ownerDocument==j&&$.contains(j,t)?1:i?s.call(i,e)-s.call(i,t):0:4&n?-1:1)},u):u}for(t in $.matches=function(e,t){return $(e,null,null,t)},$.matchesSelector=function(e,t){if(ae(e),d&&!D[t+" "]&&(!p||!p.test(t)))try{var n=h.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){D(t,!0)}return $(t,u,null,[e]).length>0},$.contains=function(e,t){return(e.ownerDocument||e)!=u&&ae(e),C.contains(e,t)},$.attr=function(e,t){(e.ownerDocument||e)!=u&&ae(e);var n=A.attrHandle[t.toLowerCase()],r=n&&l.call(A.attrHandle,t.toLowerCase())?n(e,t,!d):void 0;return void 0!==r?r:e.getAttribute(t)},$.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},C.uniqueSort=function(e){var t,n=[],A=0,o=0;if(a=!f.sortStable,i=!f.sortStable&&r.call(e,0),S.call(e,Q),a){for(;t=e[o++];)t===e[o]&&(A=n.push(o));for(;A--;)I.call(e,n[A],1)}return i=null,e},C.fn.uniqueSort=function(){return this.pushStack(C.uniqueSort(r.apply(this)))},A=C.expr={cacheLength:50,createPseudo:te,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(U,z),e[3]=(e[3]||e[4]||e[5]||"").replace(U,z),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||$.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&$.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&Z.test(n)&&(t=le(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(U,z).toLowerCase();return"*"===e?function(){return!0}:function(e){return w(e,t)}},CLASS:function(e){var t=b[e+" "];return t||(t=new RegExp("(^|"+k+")"+e+"("+k+"|$)"))&&b(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(A){var r=$.attr(A,e);return null==r?"!="===t:!t||(r+="","="===t?r===n:"!="===t?r!==n:"^="===t?n&&0===r.indexOf(n):"*="===t?n&&r.indexOf(n)>-1:"$="===t?n&&r.slice(-n.length)===n:"~="===t?(" "+r.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,A,r){var o="nth"!==e.slice(0,3),i="last"!==e.slice(-4),s="of-type"===t;return 1===A&&0===r?function(e){return!!e.parentNode}:function(t,n,a){var u,l,c,d,f,p=o!==i?"nextSibling":"previousSibling",h=t.parentNode,g=s&&t.nodeName.toLowerCase(),y=!a&&!s,b=!1;if(h){if(o){for(;p;){for(c=t;c=c[p];)if(s?w(c,g):1===c.nodeType)return!1;f=p="only"===e&&!f&&"nextSibling"}return!0}if(f=[i?h.firstChild:h.lastChild],i&&y){for(b=(d=(u=(l=h[m]||(h[m]={}))[e]||[])[0]===v&&u[1])&&u[2],c=d&&h.childNodes[d];c=++d&&c&&c[p]||(b=d=0)||f.pop();)if(1===c.nodeType&&++b&&c===t){l[e]=[v,d,b];break}}else if(y&&(b=d=(u=(l=t[m]||(t[m]={}))[e]||[])[0]===v&&u[1]),!1===b)for(;(c=++d&&c&&c[p]||(b=d=0)||f.pop())&&(!(s?w(c,g):1===c.nodeType)||!++b||(y&&((l=c[m]||(c[m]={}))[e]=[v,b]),c!==t)););return(b-=r)===A||b%A==0&&b/A>=0}}},PSEUDO:function(e,t){var n,r=A.pseudos[e]||A.setFilters[e.toLowerCase()]||$.error("unsupported pseudo: "+e);return r[m]?r(t):r.length>1?(n=[e,e,"",t],A.setFilters.hasOwnProperty(e.toLowerCase())?te((function(e,n){for(var A,o=r(e,t),i=o.length;i--;)e[A=s.call(e,o[i])]=!(n[A]=o[i])})):function(e){return r(e,0,n)}):r}},pseudos:{not:te((function(e){var t=[],n=[],A=me(e.replace(T,"$1"));return A[m]?te((function(e,t,n,r){for(var o,i=A(e,null,r,[]),s=e.length;s--;)(o=i[s])&&(e[s]=!(t[s]=o))})):function(e,r,o){return t[0]=e,A(t,null,o,n),t[0]=null,!n.pop()}})),has:te((function(e){return function(t){return $(e,t).length>0}})),contains:te((function(e){return e=e.replace(U,z),function(t){return(t.textContent||C.text(t)).indexOf(e)>-1}})),lang:te((function(e){return W.test(e||"")||$.error("unsupported lang: "+e),e=e.replace(U,z).toLowerCase(),function(t){var n;do{if(n=d?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===c},focus:function(e){return e===function(){try{return u.activeElement}catch(e){}}()&&u.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:oe(!1),disabled:oe(!0),checked:function(e){return w(e,"input")&&!!e.checked||w(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!A.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return X.test(e.nodeName)},button:function(e){return w(e,"input")&&"button"===e.type||w(e,"button")},text:function(e){var t;return w(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ie((function(){return[0]})),last:ie((function(e,t){return[t-1]})),eq:ie((function(e,t,n){return[n<0?n+t:n]})),even:ie((function(e,t){for(var n=0;nt?t:n;--A>=0;)e.push(A);return e})),gt:ie((function(e,t,n){for(var A=n<0?n+t:n;++A1?function(t,n,A){for(var r=e.length;r--;)if(!e[r](t,n,A))return!1;return!0}:e[0]}function pe(e,t,n,A,r){for(var o,i=[],s=0,a=e.length,u=null!=t;s-1&&(o[l]=!(i[l]=d))}}else f=pe(f===i?f.splice(m,f.length):f),r?r(null,i,f,u):g.apply(i,f)}))}function ge(e){for(var t,n,r,i=e.length,a=A.relative[e[0].type],u=a||A.relative[" "],l=a?1:0,c=de((function(e){return e===t}),u,!0),d=de((function(e){return s.call(t,e)>-1}),u,!0),f=[function(e,n,A){var r=!a&&(A||n!=o)||((t=n).nodeType?c(e,n,A):d(e,n,A));return t=null,r}];l1&&fe(f),l>1&&ce(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(T,"$1"),n,l0,r=e.length>0,i=function(i,s,a,l,c){var f,p,h,m=0,y="0",b=i&&[],x=[],E=o,w=i||r&&A.find.TAG("*",c),S=v+=null==E?1:Math.random()||.1,I=w.length;for(c&&(o=s==u||s||c);y!==I&&null!=(f=w[y]);y++){if(r&&f){for(p=0,s||f.ownerDocument==u||(ae(f),a=!d);h=e[p++];)if(h(f,s||u,a)){g.call(l,f);break}c&&(v=S)}n&&((f=!h&&f)&&m--,i&&b.push(f))}if(m+=y,n&&y!==m){for(p=0;h=t[p++];)h(b,x,s,a);if(i){if(m>0)for(;y--;)b[y]||x[y]||(x[y]=B.call(l));x=pe(x)}g.apply(l,x),c&&!i&&x.length>0&&m+t.length>1&&C.uniqueSort(l)}return c&&(v=S,o=E),b};return n?te(i):i}(i,r)),s.selector=e}return s}function ve(e,t,n,r){var o,i,s,a,u,l="function"==typeof e&&e,c=!r&&le(e=l.selector||e);if(n=n||[],1===c.length){if((i=c[0]=c[0].slice(0)).length>2&&"ID"===(s=i[0]).type&&9===t.nodeType&&d&&A.relative[i[1].type]){if(!(t=(A.find.ID(s.matches[0].replace(U,z),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=Y.needsContext.test(e)?0:i.length;o--&&(s=i[o],!A.relative[a=s.type]);)if((u=A.find[a])&&(r=u(s.matches[0].replace(U,z),G.test(i[0].type)&&se(t.parentNode)||t))){if(i.splice(o,1),!(e=r.length&&ce(i)))return g.apply(n,r),n;break}}return(l||me(e,c))(r,t,!d,n,!t||G.test(e)&&se(t.parentNode)||t),n}ue.prototype=A.filters=A.pseudos,A.setFilters=new ue,f.sortStable=m.split("").sort(Q).join("")===m,ae(),f.sortDetached=ne((function(e){return 1&e.compareDocumentPosition(u.createElement("fieldset"))})),C.find=$,C.expr[":"]=C.expr.pseudos,C.unique=C.uniqueSort,$.compile=me,$.select=ve,$.setDocument=ae,$.tokenize=le,$.escape=C.escapeSelector,$.getText=C.text,$.isXML=C.isXMLDoc,$.selectors=C.expr,$.support=C.support,$.uniqueSort=C.uniqueSort}();var q=function(e,t,n){for(var A=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&C(e).is(n))break;A.push(e)}return A},O=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},R=C.expr.match.needsContext,V=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function F(e,t,n){return p(t)?C.grep(e,(function(e,A){return!!t.call(e,A,e)!==n})):t.nodeType?C.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?C.grep(e,(function(e){return s.call(t,e)>-1!==n})):C.filter(t,e,n)}C.filter=function(e,t,n){var A=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===A.nodeType?C.find.matchesSelector(A,e)?[A]:[]:C.find.matches(e,C.grep(t,(function(e){return 1===e.nodeType})))},C.fn.extend({find:function(e){var t,n,A=this.length,r=this;if("string"!=typeof e)return this.pushStack(C(e).filter((function(){for(t=0;t1?C.uniqueSort(n):n},filter:function(e){return this.pushStack(F(this,e||[],!1))},not:function(e){return this.pushStack(F(this,e||[],!0))},is:function(e){return!!F(this,"string"==typeof e&&R.test(e)?C(e):e||[],!1).length}});var H,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(e,t,n){var A,r;if(!e)return this;if(n=n||H,"string"==typeof e){if(!(A="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!A[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(A[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(A[1],t&&t.nodeType?t.ownerDocument||t:g,!0)),V.test(A[1])&&C.isPlainObject(t))for(A in t)p(this[A])?this[A](t[A]):this.attr(A,t[A]);return this}return(r=g.getElementById(A[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):p(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this)}).prototype=C.fn,H=C(g);var N=/^(?:parents|prev(?:Until|All))/,Z={children:!0,contents:!0,next:!0,prev:!0};function W(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&C.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?C.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(C(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),C.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return q(e,"parentNode")},parentsUntil:function(e,t,n){return q(e,"parentNode",n)},next:function(e){return W(e,"nextSibling")},prev:function(e){return W(e,"previousSibling")},nextAll:function(e){return q(e,"nextSibling")},prevAll:function(e){return q(e,"previousSibling")},nextUntil:function(e,t,n){return q(e,"nextSibling",n)},prevUntil:function(e,t,n){return q(e,"previousSibling",n)},siblings:function(e){return O((e.parentNode||{}).firstChild,e)},children:function(e){return O(e.firstChild)},contents:function(e){return null!=e.contentDocument&&A(e.contentDocument)?e.contentDocument:(w(e,"template")&&(e=e.content||e),C.merge([],e.childNodes))}},(function(e,t){C.fn[e]=function(n,A){var r=C.map(this,t,n);return"Until"!==e.slice(-5)&&(A=n),A&&"string"==typeof A&&(r=C.filter(A,r)),this.length>1&&(Z[e]||C.uniqueSort(r),N.test(e)&&r.reverse()),this.pushStack(r)}}));var Y=/[^\x20\t\r\n\f]+/g;function X(e){return e}function J(e){throw e}function P(e,t,n,A){var r;try{e&&p(r=e.promise)?r.call(e).done(t).fail(n):e&&p(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(A))}catch(e){n.apply(void 0,[e])}}C.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return C.each(e.match(Y)||[],(function(e,n){t[n]=!0})),t}(e):C.extend({},e);var t,n,A,r,o=[],i=[],s=-1,a=function(){for(r=r||e.once,A=t=!0;i.length;s=-1)for(n=i.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?C.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=i=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=i=[],n||t||(o=n=""),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],i.push(n),t||a()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!A}};return u},C.extend({Deferred:function(t){var n=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],A="pending",r={state:function(){return A},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return C.Deferred((function(t){C.each(n,(function(n,A){var r=p(e[A[4]])&&e[A[4]];o[A[1]]((function(){var e=r&&r.apply(this,arguments);e&&p(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[A[0]+"With"](this,r?[e]:arguments)}))})),e=null})).promise()},then:function(t,A,r){var o=0;function i(t,n,A,r){return function(){var s=this,a=arguments,u=function(){var e,u;if(!(t=o&&(A!==J&&(s=void 0,a=[e]),n.rejectWith(s,a))}};t?l():(C.Deferred.getErrorHook?l.error=C.Deferred.getErrorHook():C.Deferred.getStackHook&&(l.error=C.Deferred.getStackHook()),e.setTimeout(l))}}return C.Deferred((function(e){n[0][3].add(i(0,e,p(r)?r:X,e.notifyWith)),n[1][3].add(i(0,e,p(t)?t:X)),n[2][3].add(i(0,e,p(A)?A:J))})).promise()},promise:function(e){return null!=e?C.extend(e,r):r}},o={};return C.each(n,(function(e,t){var i=t[2],s=t[5];r[t[1]]=i.add,s&&i.add((function(){A=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),i.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=i.fireWith})),r.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,A=Array(n),o=r.call(arguments),i=C.Deferred(),s=function(e){return function(n){A[e]=this,o[e]=arguments.length>1?r.call(arguments):n,--t||i.resolveWith(A,o)}};if(t<=1&&(P(e,i.done(s(n)).resolve,i.reject,!t),"pending"===i.state()||p(o[n]&&o[n].then)))return i.then();for(;n--;)P(o[n],s(n),i.reject);return i.promise()}});var G=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&G.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},C.readyException=function(t){e.setTimeout((function(){throw t}))};var U=C.Deferred();function z(){g.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),C.ready()}C.fn.ready=function(e){return U.then(e).catch((function(e){C.readyException(e)})),this},C.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==e&&--C.readyWait>0||U.resolveWith(g,[C]))}}),C.ready.then=U.then,"complete"===g.readyState||"loading"!==g.readyState&&!g.documentElement.doScroll?e.setTimeout(C.ready):(g.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var K=function(e,t,n,A,r,o,i){var s=0,a=e.length,u=null==n;if("object"===y(n))for(s in r=!0,n)K(e,t,s,n[s],!0,o,i);else if(void 0!==A&&(r=!0,p(A)||(i=!0),u&&(i?(t.call(e,A),t=null):(u=t,t=function(e,t,n){return u.call(C(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){oe.remove(this,e)}))}}),C.extend({queue:function(e,t,n){var A;if(e)return t=(t||"fx")+"queue",A=re.get(e,t),n&&(!A||Array.isArray(n)?A=re.access(e,t,C.makeArray(n)):A.push(n)),A||[]},dequeue:function(e,t){t=t||"fx";var n=C.queue(e,t),A=n.length,r=n.shift(),o=C._queueHooks(e,t);"inprogress"===r&&(r=n.shift(),A--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,(function(){C.dequeue(e,t)}),o)),!A&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return re.get(e,n)||re.access(e,n,{empty:C.Callbacks("once memory").add((function(){re.remove(e,[t+"queue",n])}))})}}),C.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,we=/^$|^module$|\/(?:java|ecma)script/i;be=g.createDocumentFragment().appendChild(g.createElement("div")),(xe=g.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),be.appendChild(xe),f.checkClone=be.cloneNode(!0).cloneNode(!0).lastChild.checked,be.innerHTML="",f.noCloneChecked=!!be.cloneNode(!0).lastChild.defaultValue,be.innerHTML="",f.option=!!be.lastChild;var Be={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&w(e,t)?C.merge([e],n):n}function Ie(e,t){for(var n=0,A=e.length;n",""]);var ke=/<|&#?\w+;/;function Te(e,t,n,A,r){for(var o,i,s,a,u,l,c=t.createDocumentFragment(),d=[],f=0,p=e.length;f-1)r&&r.push(o);else if(u=fe(o),i=Se(c.appendChild(o),"script"),u&&Ie(i),n)for(l=0;o=i[l++];)we.test(o.type||"")&&n.push(o);return c}var De=/^([^.]*)(?:\.(.+)|)/;function Qe(){return!0}function je(){return!1}function Me(e,t,n,A,r,o){var i,s;if("object"==typeof t){for(s in"string"!=typeof n&&(A=A||n,n=void 0),t)Me(e,s,n,A,t[s],o);return e}if(null==A&&null==r?(r=n,A=n=void 0):null==r&&("string"==typeof n?(r=A,A=void 0):(r=A,A=n,n=void 0)),!1===r)r=je;else if(!r)return e;return 1===o&&(i=r,r=function(e){return C().off(e),i.apply(this,arguments)},r.guid=i.guid||(i.guid=C.guid++)),e.each((function(){C.event.add(this,t,r,A,n)}))}function qe(e,t,n){n?(re.set(e,t,!1),C.event.add(e,t,{namespace:!1,handler:function(e){var n,A=re.get(this,t);if(1&e.isTrigger&&this[t]){if(A)(C.event.special[t]||{}).delegateType&&e.stopPropagation();else if(A=r.call(arguments),re.set(this,t,A),this[t](),n=re.get(this,t),re.set(this,t,!1),A!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else A&&(re.set(this,t,C.event.trigger(A[0],A.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Qe)}})):void 0===re.get(e,t)&&C.event.add(e,t,Qe)}C.event={global:{},add:function(e,t,n,A,r){var o,i,s,a,u,l,c,d,f,p,h,g=re.get(e);if(ne(e))for(n.handler&&(n=(o=n).handler,r=o.selector),r&&C.find.matchesSelector(de,r),n.guid||(n.guid=C.guid++),(a=g.events)||(a=g.events=Object.create(null)),(i=g.handle)||(i=g.handle=function(t){return void 0!==C&&C.event.triggered!==t.type?C.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(Y)||[""]).length;u--;)f=h=(s=De.exec(t[u])||[])[1],p=(s[2]||"").split(".").sort(),f&&(c=C.event.special[f]||{},f=(r?c.delegateType:c.bindType)||f,c=C.event.special[f]||{},l=C.extend({type:f,origType:h,data:A,handler:n,guid:n.guid,selector:r,needsContext:r&&C.expr.match.needsContext.test(r),namespace:p.join(".")},o),(d=a[f])||((d=a[f]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(e,A,p,i)||e.addEventListener&&e.addEventListener(f,i)),c.add&&(c.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),r?d.splice(d.delegateCount++,0,l):d.push(l),C.event.global[f]=!0)},remove:function(e,t,n,A,r){var o,i,s,a,u,l,c,d,f,p,h,g=re.hasData(e)&&re.get(e);if(g&&(a=g.events)){for(u=(t=(t||"").match(Y)||[""]).length;u--;)if(f=h=(s=De.exec(t[u])||[])[1],p=(s[2]||"").split(".").sort(),f){for(c=C.event.special[f]||{},d=a[f=(A?c.delegateType:c.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=o=d.length;o--;)l=d[o],!r&&h!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||A&&A!==l.selector&&("**"!==A||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,c.remove&&c.remove.call(e,l));i&&!d.length&&(c.teardown&&!1!==c.teardown.call(e,p,g.handle)||C.removeEvent(e,f,g.handle),delete a[f])}else for(f in a)C.event.remove(e,f+t[u],n,A,!0);C.isEmptyObject(a)&&re.remove(e,"handle events")}},dispatch:function(e){var t,n,A,r,o,i,s=new Array(arguments.length),a=C.event.fix(e),u=(re.get(this,"events")||Object.create(null))[a.type]||[],l=C.event.special[a.type]||{};for(s[0]=a,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],i={},n=0;n-1:C.find(r,this,null,[u]).length),i[r]&&o.push(A);o.length&&s.push({elem:u,handlers:o})}return u=this,a\s*$/g;function Fe(e,t){return w(e,"table")&&w(11!==t.nodeType?t:t.firstChild,"tr")&&C(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Le(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ne(e,t){var n,A,r,o,i,s;if(1===t.nodeType){if(re.hasData(e)&&(s=re.get(e).events))for(r in re.remove(t,"handle events"),s)for(n=0,A=s[r].length;n1&&"string"==typeof g&&!f.checkClone&&Re.test(g))return e.each((function(r){var o=e.eq(r);m&&(t[0]=g.call(this,r,o.html())),We(o,t,n,A)}));if(d&&(i=(r=Te(t,e[0].ownerDocument,!1,e,A)).firstChild,1===r.childNodes.length&&(r=i),i||A)){for(a=(s=C.map(Se(r,"script"),He)).length;c0&&Ie(i,!a&&Se(e,"script")),s},cleanData:function(e){for(var t,n,A,r=C.event.special,o=0;void 0!==(n=e[o]);o++)if(ne(n)){if(t=n[re.expando]){if(t.events)for(A in t.events)r[A]?C.event.remove(n,A):C.removeEvent(n,A,t.handle);n[re.expando]=void 0}n[oe.expando]&&(n[oe.expando]=void 0)}}}),C.fn.extend({detach:function(e){return Ye(this,e,!0)},remove:function(e){return Ye(this,e)},text:function(e){return K(this,(function(e){return void 0===e?C.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return We(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Fe(this,e).appendChild(e)}))},prepend:function(){return We(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Fe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return We(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return We(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(C.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return C.clone(this,e,t)}))},html:function(e){return K(this,(function(e){var t=this[0]||{},n=0,A=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!Be[(Ee.exec(e)||["",""])[1].toLowerCase()]){e=C.htmlPrefilter(e);try{for(;n=0&&(a+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-a-s-.5))||0),a+u}function st(e,t,n){var A=Pe(e),r=(!f.boxSizingReliable()||n)&&"border-box"===C.css(e,"boxSizing",!1,A),o=r,i=ze(e,t,A),s="offset"+t[0].toUpperCase()+t.slice(1);if(Xe.test(i)){if(!n)return i;i="auto"}return(!f.boxSizingReliable()&&r||!f.reliableTrDimensions()&&w(e,"tr")||"auto"===i||!parseFloat(i)&&"inline"===C.css(e,"display",!1,A))&&e.getClientRects().length&&(r="border-box"===C.css(e,"boxSizing",!1,A),(o=s in e)&&(i=e[s])),(i=parseFloat(i)||0)+it(e,t,n||(r?"border":"content"),o,A,i)+"px"}function at(e,t,n,A,r){return new at.prototype.init(e,t,n,A,r)}C.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=ze(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,A){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,i,s=te(t),a=Je.test(t),u=e.style;if(a||(t=tt(s)),i=C.cssHooks[t]||C.cssHooks[s],void 0===n)return i&&"get"in i&&void 0!==(r=i.get(e,!1,A))?r:u[t];"string"===(o=typeof n)&&(r=le.exec(n))&&r[1]&&(n=ge(e,t,r),o="number"),null!=n&&n==n&&("number"!==o||a||(n+=r&&r[3]||(C.cssNumber[s]?"":"px")),f.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),i&&"set"in i&&void 0===(n=i.set(e,n,A))||(a?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,A){var r,o,i,s=te(t);return Je.test(t)||(t=tt(s)),(i=C.cssHooks[t]||C.cssHooks[s])&&"get"in i&&(r=i.get(e,!0,n)),void 0===r&&(r=ze(e,t,A)),"normal"===r&&t in rt&&(r=rt[t]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),C.each(["height","width"],(function(e,t){C.cssHooks[t]={get:function(e,n,A){if(n)return!nt.test(C.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?st(e,t,A):Ge(e,At,(function(){return st(e,t,A)}))},set:function(e,n,A){var r,o=Pe(e),i=!f.scrollboxSize()&&"absolute"===o.position,s=(i||A)&&"border-box"===C.css(e,"boxSizing",!1,o),a=A?it(e,t,A,s,o):0;return s&&i&&(a-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-it(e,t,"border",!1,o)-.5)),a&&(r=le.exec(n))&&"px"!==(r[3]||"px")&&(e.style[t]=n,n=C.css(e,t)),ot(0,n,a)}}})),C.cssHooks.marginLeft=Ke(f.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(ze(e,"marginLeft"))||e.getBoundingClientRect().left-Ge(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),C.each({margin:"",padding:"",border:"Width"},(function(e,t){C.cssHooks[e+t]={expand:function(n){for(var A=0,r={},o="string"==typeof n?n.split(" "):[n];A<4;A++)r[e+ce[A]+t]=o[A]||o[A-2]||o[0];return r}},"margin"!==e&&(C.cssHooks[e+t].set=ot)})),C.fn.extend({css:function(e,t){return K(this,(function(e,t,n){var A,r,o={},i=0;if(Array.isArray(t)){for(A=Pe(e),r=t.length;i1)}}),C.Tween=at,at.prototype={constructor:at,init:function(e,t,n,A,r,o){this.elem=e,this.prop=n,this.easing=r||C.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=A,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=C.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=C.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){C.fx.step[e.prop]?C.fx.step[e.prop](e):1!==e.elem.nodeType||!C.cssHooks[e.prop]&&null==e.elem.style[tt(e.prop)]?e.elem[e.prop]=e.now:C.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},C.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},C.fx=at.prototype.init,C.fx.step={};var ut,lt,ct=/^(?:toggle|show|hide)$/,dt=/queueHooks$/;function ft(){lt&&(!1===g.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ft):e.setTimeout(ft,C.fx.interval),C.fx.tick())}function pt(){return e.setTimeout((function(){ut=void 0})),ut=Date.now()}function ht(e,t){var n,A=0,r={height:e};for(t=t?1:0;A<4;A+=2-t)r["margin"+(n=ce[A])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function gt(e,t,n){for(var A,r=(mt.tweeners[t]||[]).concat(mt.tweeners["*"]),o=0,i=r.length;o1)},removeAttr:function(e){return this.each((function(){C.removeAttr(this,e)}))}}),C.extend({attr:function(e,t,n){var A,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?C.prop(e,t,n):(1===o&&C.isXMLDoc(e)||(r=C.attrHooks[t.toLowerCase()]||(C.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void C.removeAttr(e,t):r&&"set"in r&&void 0!==(A=r.set(e,n,t))?A:(e.setAttribute(t,n+""),n):r&&"get"in r&&null!==(A=r.get(e,t))?A:null==(A=C.find.attr(e,t))?void 0:A)},attrHooks:{type:{set:function(e,t){if(!f.radioValue&&"radio"===t&&w(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,A=0,r=t&&t.match(Y);if(r&&1===e.nodeType)for(;n=r[A++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return!1===t?C.removeAttr(e,n):e.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=yt[t]||C.find.attr;yt[t]=function(e,t,A){var r,o,i=t.toLowerCase();return A||(o=yt[i],yt[i]=r,r=null!=n(e,t,A)?i:null,yt[i]=o),r}}));var bt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;function Ct(e){return(e.match(Y)||[]).join(" ")}function Et(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(Y)||[]}C.fn.extend({prop:function(e,t){return K(this,C.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[C.propFix[e]||e]}))}}),C.extend({prop:function(e,t,n){var A,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&C.isXMLDoc(e)||(t=C.propFix[t]||t,r=C.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(A=r.set(e,n,t))?A:e[t]=n:r&&"get"in r&&null!==(A=r.get(e,t))?A:e[t]},propHooks:{tabIndex:{get:function(e){var t=C.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||xt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(C.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){C.propFix[this.toLowerCase()]=this})),C.fn.extend({addClass:function(e){var t,n,A,r,o,i;return p(e)?this.each((function(t){C(this).addClass(e.call(this,t,Et(this)))})):(t=wt(e)).length?this.each((function(){if(A=Et(this),n=1===this.nodeType&&" "+Ct(A)+" "){for(o=0;o-1;)n=n.replace(" "+r+" "," ");i=Ct(n),A!==i&&this.setAttribute("class",i)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,A,r,o,i=typeof e,s="string"===i||Array.isArray(e);return p(e)?this.each((function(n){C(this).toggleClass(e.call(this,n,Et(this),t),t)})):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=wt(e),this.each((function(){if(s)for(o=C(this),r=0;r-1)return!0;return!1}});var Bt=/\r/g;C.fn.extend({val:function(e){var t,n,A,r=this[0];return arguments.length?(A=p(e),this.each((function(n){var r;1===this.nodeType&&(null==(r=A?e.call(this,n,C(this).val()):e)?r="":"number"==typeof r?r+="":Array.isArray(r)&&(r=C.map(r,(function(e){return null==e?"":e+""}))),(t=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))}))):r?(t=C.valHooks[r.type]||C.valHooks[r.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:"string"==typeof(n=r.value)?n.replace(Bt,""):null==n?"":n:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:Ct(C.text(e))}},select:{get:function(e){var t,n,A,r=e.options,o=e.selectedIndex,i="select-one"===e.type,s=i?null:[],a=i?o+1:r.length;for(A=o<0?a:i?o:0;A-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],(function(){C.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=C.inArray(C(e).val(),t)>-1}},f.checkOn||(C.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}));var St=e.location,It={guid:Date.now()},kt=/\?/;C.parseXML=function(t){var n,A;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return A=n&&n.getElementsByTagName("parsererror")[0],n&&!A||C.error("Invalid XML: "+(A?C.map(A.childNodes,(function(e){return e.textContent})).join("\n"):t)),n};var Tt=/^(?:focusinfocus|focusoutblur)$/,Dt=function(e){e.stopPropagation()};C.extend(C.event,{trigger:function(t,n,A,r){var o,i,s,a,u,c,d,f,m=[A||g],v=l.call(t,"type")?t.type:t,y=l.call(t,"namespace")?t.namespace.split("."):[];if(i=f=s=A=A||g,3!==A.nodeType&&8!==A.nodeType&&!Tt.test(v+C.event.triggered)&&(v.indexOf(".")>-1&&(y=v.split("."),v=y.shift(),y.sort()),u=v.indexOf(":")<0&&"on"+v,(t=t[C.expando]?t:new C.Event(v,"object"==typeof t&&t)).isTrigger=r?2:3,t.namespace=y.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=A),n=null==n?[t]:C.makeArray(n,[t]),d=C.event.special[v]||{},r||!d.trigger||!1!==d.trigger.apply(A,n))){if(!r&&!d.noBubble&&!h(A)){for(a=d.delegateType||v,Tt.test(a+v)||(i=i.parentNode);i;i=i.parentNode)m.push(i),s=i;s===(A.ownerDocument||g)&&m.push(s.defaultView||s.parentWindow||e)}for(o=0;(i=m[o++])&&!t.isPropagationStopped();)f=i,t.type=o>1?a:d.bindType||v,(c=(re.get(i,"events")||Object.create(null))[t.type]&&re.get(i,"handle"))&&c.apply(i,n),(c=u&&i[u])&&c.apply&&ne(i)&&(t.result=c.apply(i,n),!1===t.result&&t.preventDefault());return t.type=v,r||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(m.pop(),n)||!ne(A)||u&&p(A[v])&&!h(A)&&((s=A[u])&&(A[u]=null),C.event.triggered=v,t.isPropagationStopped()&&f.addEventListener(v,Dt),A[v](),t.isPropagationStopped()&&f.removeEventListener(v,Dt),C.event.triggered=void 0,s&&(A[u]=s)),t.result}},simulate:function(e,t,n){var A=C.extend(new C.Event,n,{type:e,isSimulated:!0});C.event.trigger(A,null,t)}}),C.fn.extend({trigger:function(e,t){return this.each((function(){C.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return C.event.trigger(e,t,n,!0)}});var Qt=/\[\]$/,jt=/\r?\n/g,Mt=/^(?:submit|button|image|reset|file)$/i,qt=/^(?:input|select|textarea|keygen)/i;function Ot(e,t,n,A){var r;if(Array.isArray(t))C.each(t,(function(t,r){n||Qt.test(e)?A(e,r):Ot(e+"["+("object"==typeof r&&null!=r?t:"")+"]",r,n,A)}));else if(n||"object"!==y(t))A(e,t);else for(r in t)Ot(e+"["+r+"]",t[r],n,A)}C.param=function(e,t){var n,A=[],r=function(e,t){var n=p(t)?t():t;A[A.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!C.isPlainObject(e))C.each(e,(function(){r(this.name,this.value)}));else for(n in e)Ot(n,e[n],t,r);return A.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=C.prop(this,"elements");return e?C.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!C(this).is(":disabled")&&qt.test(this.nodeName)&&!Mt.test(e)&&(this.checked||!Ce.test(e))})).map((function(e,t){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,(function(e){return{name:t.name,value:e.replace(jt,"\r\n")}})):{name:t.name,value:n.replace(jt,"\r\n")}})).get()}});var Rt=/%20/g,Vt=/#.*$/,Ft=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Nt=/^\/\//,Zt={},Wt={},Yt="*/".concat("*"),Xt=g.createElement("a");function Jt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var A,r=0,o=t.toLowerCase().match(Y)||[];if(p(n))for(;A=o[r++];)"+"===A[0]?(A=A.slice(1)||"*",(e[A]=e[A]||[]).unshift(n)):(e[A]=e[A]||[]).push(n)}}function Pt(e,t,n,A){var r={},o=e===Wt;function i(s){var a;return r[s]=!0,C.each(e[s]||[],(function(e,s){var u=s(t,n,A);return"string"!=typeof u||o||r[u]?o?!(a=u):void 0:(t.dataTypes.unshift(u),i(u),!1)})),a}return i(t.dataTypes[0])||!r["*"]&&i("*")}function Gt(e,t){var n,A,r=C.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:A||(A={}))[n]=t[n]);return A&&C.extend(!0,e,A),e}Xt.href=St.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Yt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,C.ajaxSettings),t):Gt(C.ajaxSettings,e)},ajaxPrefilter:Jt(Zt),ajaxTransport:Jt(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var A,r,o,i,s,a,u,l,c,d,f=C.ajaxSetup({},n),p=f.context||f,h=f.context&&(p.nodeType||p.jquery)?C(p):C.event,m=C.Deferred(),v=C.Callbacks("once memory"),y=f.statusCode||{},b={},x={},E="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(u){if(!i)for(i={};t=Ht.exec(o);)i[t[1].toLowerCase()+" "]=(i[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=i[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(e,t){return null==u&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)w.always(e[w.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||E;return A&&A.abort(t),B(0,t),this}};if(m.promise(w),f.url=((t||f.url||St.href)+"").replace(Nt,St.protocol+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(Y)||[""],null==f.crossDomain){a=g.createElement("a");try{a.href=f.url,a.href=a.href,f.crossDomain=Xt.protocol+"//"+Xt.host!=a.protocol+"//"+a.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=C.param(f.data,f.traditional)),Pt(Zt,f,n,w),u)return w;for(c in(l=C.event&&f.global)&&0==C.active++&&C.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Lt.test(f.type),r=f.url.replace(Vt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Rt,"+")):(d=f.url.slice(r.length),f.data&&(f.processData||"string"==typeof f.data)&&(r+=(kt.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(r=r.replace(Ft,"$1"),d=(kt.test(r)?"&":"?")+"_="+It.guid+++d),f.url=r+d),f.ifModified&&(C.lastModified[r]&&w.setRequestHeader("If-Modified-Since",C.lastModified[r]),C.etag[r]&&w.setRequestHeader("If-None-Match",C.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||n.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Yt+"; q=0.01":""):f.accepts["*"]),f.headers)w.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(!1===f.beforeSend.call(p,w,f)||u))return w.abort();if(E="abort",v.add(f.complete),w.done(f.success),w.fail(f.error),A=Pt(Wt,f,n,w)){if(w.readyState=1,l&&h.trigger("ajaxSend",[w,f]),u)return w;f.async&&f.timeout>0&&(s=e.setTimeout((function(){w.abort("timeout")}),f.timeout));try{u=!1,A.send(b,B)}catch(e){if(u)throw e;B(-1,e)}}else B(-1,"No Transport");function B(t,n,i,a){var c,d,g,b,x,E=n;u||(u=!0,s&&e.clearTimeout(s),A=void 0,o=a||"",w.readyState=t>0?4:0,c=t>=200&&t<300||304===t,i&&(b=function(e,t,n){for(var A,r,o,i,s=e.contents,a=e.dataTypes;"*"===a[0];)a.shift(),void 0===A&&(A=e.mimeType||t.getResponseHeader("Content-Type"));if(A)for(r in s)if(s[r]&&s[r].test(A)){a.unshift(r);break}if(a[0]in n)o=a[0];else{for(r in n){if(!a[0]||e.converters[r+" "+a[0]]){o=r;break}i||(i=r)}o=o||i}if(o)return o!==a[0]&&a.unshift(o),n[o]}(f,w,i)),!c&&C.inArray("script",f.dataTypes)>-1&&C.inArray("json",f.dataTypes)<0&&(f.converters["text script"]=function(){}),b=function(e,t,n,A){var r,o,i,s,a,u={},l=e.dataTypes.slice();if(l[1])for(i in e.converters)u[i.toLowerCase()]=e.converters[i];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!a&&A&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a=o,o=l.shift())if("*"===o)o=a;else if("*"!==a&&a!==o){if(!(i=u[a+" "+o]||u["* "+o]))for(r in u)if((s=r.split(" "))[1]===o&&(i=u[a+" "+s[0]]||u["* "+s[0]])){!0===i?i=u[r]:!0!==u[r]&&(o=s[0],l.unshift(s[1]));break}if(!0!==i)if(i&&e.throws)t=i(t);else try{t=i(t)}catch(e){return{state:"parsererror",error:i?e:"No conversion from "+a+" to "+o}}}return{state:"success",data:t}}(f,b,w,c),c?(f.ifModified&&((x=w.getResponseHeader("Last-Modified"))&&(C.lastModified[r]=x),(x=w.getResponseHeader("etag"))&&(C.etag[r]=x)),204===t||"HEAD"===f.type?E="nocontent":304===t?E="notmodified":(E=b.state,d=b.data,c=!(g=b.error))):(g=E,!t&&E||(E="error",t<0&&(t=0))),w.status=t,w.statusText=(n||E)+"",c?m.resolveWith(p,[d,E,w]):m.rejectWith(p,[w,E,g]),w.statusCode(y),y=void 0,l&&h.trigger(c?"ajaxSuccess":"ajaxError",[w,f,c?d:g]),v.fireWith(p,[w,E]),l&&(h.trigger("ajaxComplete",[w,f]),--C.active||C.event.trigger("ajaxStop")))}return w},getJSON:function(e,t,n){return C.get(e,t,n,"json")},getScript:function(e,t){return C.get(e,void 0,t,"script")}}),C.each(["get","post"],(function(e,t){C[t]=function(e,n,A,r){return p(n)&&(r=r||A,A=n,n=void 0),C.ajax(C.extend({url:e,type:t,dataType:r,data:n,success:A},C.isPlainObject(e)&&e))}})),C.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),C._evalUrl=function(e,t,n){return C.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){C.globalEval(e,t,n)}})},C.fn.extend({wrapAll:function(e){var t;return this[0]&&(p(e)&&(e=e.call(this[0])),t=C(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return p(e)?this.each((function(t){C(this).wrapInner(e.call(this,t))})):this.each((function(){var t=C(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=p(e);return this.each((function(n){C(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){C(this).replaceWith(this.childNodes)})),this}}),C.expr.pseudos.hidden=function(e){return!C.expr.pseudos.visible(e)},C.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},zt=C.ajaxSettings.xhr();f.cors=!!zt&&"withCredentials"in zt,f.ajax=zt=!!zt,C.ajaxTransport((function(t){var n,A;if(f.cors||zt&&!t.crossDomain)return{send:function(r,o){var i,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(i in t.xhrFields)s[i]=t.xhrFields[i];for(i in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)s.setRequestHeader(i,r[i]);n=function(e){return function(){n&&(n=A=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Ut[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),A=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=A:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&A()}))},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),C.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return C.globalEval(e),e}}}),C.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),C.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(A,r){t=C(" + @@ -129,6 +131,10 @@
+
+ + +
@@ -139,6 +145,7 @@ +
Selected displays