diff --git a/.gitignore b/.gitignore index c574fc3a..8ead72d8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__/ *.log* *.json !config/*.json +!crates/radar_gif/assets/**/*.json cached_* cache/ GEMINI.md @@ -13,6 +14,7 @@ CLAUDE.md .pytest_cache/ .coverage progress.md +.wiki/ target/ bot_state.db dist/*.whl diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f870e2..69e71270 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added +- **Sounding AI Summary Threads**: Autoposted sounding AI summaries now create a dedicated discussion thread attached to the sounding plot message instead of posting as an inline reply (#612, #614). The thread is named `Sounding: {station} — {time}` and auto-archives after 24h. Falls back gracefully to inline reply when thread creation is unavailable. Applies to all RAOB and ACARS autopost paths (high-risk monitoring, special soundings, watch-triggered, and standard synoptic-time posts). +- **MD AI Summary Threads**: Mesoscale Discussion AI summaries now create a thread named `MD #{num}` on the MD message instead of posting a standalone message in the channel (#613, #614). The AI Analysis button detects the thread and posts inside it with an ephemeral link to the user. Falls back to channel posting when thread creation fails. +- **Thread Cache Fallback (`_resolve_message_thread`)**: Button handlers for outlook, sounding, and MD summaries now use a shared helper that checks `message.thread` (cached property) first, then falls back to `message.fetch_thread()` from the API (#614). This handles edge cases where Discord hasn't populated the thread cache, preventing spurious channel fallback. +- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/spectrum width/ZDR/CC/KDP/PHIDP), frame count, and a zoom level. The render2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling, including state/county outlines and city labels. +- **Radar Zoom Control**: The `/radar` command now exposes a `zoom` option — Storm-Scale (~75km), Regional (~150km, default), Wide (~300km), or Full Range (~460km) — using `render2d`'s viewport rendering API to display any of those ranges at full resolution instead of a fixed full-range disk. Storm-scale zoom makes mesocyclone couplets and tornadic debris signatures actually resolvable. +- **Mesocyclone/TVS Rotation Detection**: `/radar` now runs BowEcho's operational rotation-detection algorithm (Stumpf/Mitchell) on every frame by default, overlaying color-coded markers (weak circulation through TVS) with Vrot labels, and reporting the loop's peak Vrot/ΔV (with timestamp) in the embed even when the strongest rotation occurred on an earlier frame than the most recent one. +- **PTDS (Probability of Tornadic Debris Signature)**: New `/radar` product choice combining reflectivity, correlation coefficient, and differential reflectivity into a single 0–100% debris-signature confidence score, rendered with a dedicated probability color scale. Score is also sampled at each scan's strongest detected couplet and reported scan-by-scan in the embed. PTDS is explicitly experimental — the embed carries a visible disclaimer and a low score should not be read as ruling out a tornado. + +### Fixed +- **Missing `beautifulsoup4` Dependency**: `sounderpy`'s ACARS data module imports `bs4` directly but never declares it as a dependency, and the package was only ever present transitively. Pinned `beautifulsoup4` explicitly in `requirements.txt` so a fresh install (e.g. a rebuilt CI image) doesn't break every sounding-related test with `ModuleNotFoundError`. + ## [5.41.0] - 2026-07-19 ### Added diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..e4c758ef --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,86 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement by contacting +the project owner at customdiscordsolutions@gmx.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CREDITS.md b/CREDITS.md index d3a17c00..773d3c00 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,6 +27,18 @@ dependency via pip. --- +## BowEcho + +NEXRAD radar decoding and rendering for `/radar` uses several crates from +[BowEcho](https://github.com/FahrenheitResearch/bowecho) by +[Fahrenheit Research](https://github.com/FahrenheitResearch), used under the +MIT License. + +No modifications were made to the BowEcho source. It is used as a dependency +via Cargo (git). + +--- + ## Data Sources & Acknowledgements This project relies heavily on the incredible data and services provided by the meteorological community: diff --git a/Cargo.lock b/Cargo.lock index f4ffdf3f..bd5b7d6b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,28 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "ab_glyph" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + [[package]] name = "aho-corasick" version = "1.1.4" @@ -11,6 +33,24 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685" +dependencies = [ + "as-slice", +] + +[[package]] +name = "aligned-vec" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" +dependencies = [ + "equator", +] + [[package]] name = "allocator-api2" version = "0.2.21" @@ -26,6 +66,56 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + [[package]] name = "anyhow" version = "1.0.102" @@ -41,6 +131,38 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" + +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "arrayvec" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" + +[[package]] +name = "as-slice" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" +dependencies = [ + "stable_deref_trait", +] + [[package]] name = "async-trait" version = "0.1.89" @@ -64,6 +186,49 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" +[[package]] +name = "av-scenechange" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394" +dependencies = [ + "aligned", + "anyhow", + "arg_enum_proc_macro", + "arrayvec", + "log", + "num-rational", + "num-traits", + "pastey", + "rayon", + "thiserror", + "v_frame", + "y4m", +] + +[[package]] +name = "av1-grain" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7178fe5f7d460b13895ebb9dcb28a3a6216d2df2574a0806cb51b555d297f38" +dependencies = [ + "arrayvec", +] + [[package]] name = "aws-lc-rs" version = "1.17.0" @@ -92,12 +257,27 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bit_field" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" + [[package]] name = "bitflags" version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" +[[package]] +name = "bitstream-io" +version = "4.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eff00be299a18769011411c9def0d827e8f2d7bf0c3dbf53633147a8867fd1f" +dependencies = [ + "no_std_io2", +] + [[package]] name = "blake2" version = "0.10.6" @@ -125,24 +305,61 @@ dependencies = [ "hybrid-array", ] +[[package]] +name = "built" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c0e531d93d39c34eef561e929e8a7f86d77a5af08aac4f6d6e39976c51858e9" + [[package]] name = "bumpalo" version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +[[package]] +name = "bzip2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" +dependencies = [ + "bzip2-sys", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + [[package]] name = "castaway" version = "0.2.4" @@ -196,10 +413,51 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "serde", "wasm-bindgen", "windows-link", ] +[[package]] +name = "clap" +version = "4.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fb99565819980999fb7b4a1796046a5c949e6d4ff132cf5fadf5a641e20d776" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f2392eae7f16557a3d727ef3a12e57b2b2ca6f98566a5f4fb41ffe305df077" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + [[package]] name = "cmake" version = "0.1.58" @@ -215,6 +473,23 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "color_tables" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" + +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + [[package]] name = "combine" version = "4.6.7" @@ -280,6 +555,15 @@ dependencies = [ "libc", ] +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + [[package]] name = "critical-section" version = "1.2.0" @@ -320,6 +604,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.7" @@ -354,6 +644,20 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" +[[package]] +name = "data_source" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "nexrad_io", + "quick-xml", + "reqwest 0.12.28", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "digest" version = "0.10.7" @@ -418,18 +722,81 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "equator" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" +dependencies = [ + "equator-macro", +] + +[[package]] +name = "equator-macro" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "exr" +version = "1.74.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711fe42c9964295e01ee3fba3f9fe0e1d24b98886950d68efe81b1c76e21adf3" +dependencies = [ + "bit_field", + "half", + "lebe", + "miniz_oxide", + "num-complex", + "pulp", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fax" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", + "zlib-rs", +] + [[package]] name = "float_next_after" version = "2.0.0" @@ -652,6 +1019,16 @@ dependencies = [ "wasip3", ] +[[package]] +name = "gif" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "h2" version = "0.4.14" @@ -671,6 +1048,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + [[package]] name = "hash32" version = "0.3.1" @@ -883,6 +1271,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", + "webpki-roots", ] [[package]] @@ -1089,6 +1478,64 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", + "moxcms", + "num-traits", + "png", + "qoi", + "ravif", + "rayon", + "rgb", + "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imageproc" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602b4e8a4cc3e98372b766cd184ab532999bc0e839b7469e759511ccabc65d77" +dependencies = [ + "ab_glyph", + "approx", + "getrandom 0.2.17", + "image", + "itertools 0.12.1", + "nalgebra", + "num", + "rand 0.8.7", + "rand_distr", + "rayon", +] + +[[package]] +name = "imgref" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89194689a993ab15268672e99e7b0e19da2da3268ac682e8f02d29d4d1434cd7" + [[package]] name = "indexmap" version = "2.14.0" @@ -1101,6 +1548,17 @@ dependencies = [ "serde_core", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ipconfig" version = "0.3.4" @@ -1123,6 +1581,30 @@ dependencies = [ "serde", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -1226,12 +1708,37 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +[[package]] +name = "lebe" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" + [[package]] name = "libc" version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +[[package]] +name = "libdeflate-sys" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72753e0008ea87963d2f0770042d0df7abe51fafbb8dcaf618ac440f2f1fec0a" +dependencies = [ + "cc", +] + +[[package]] +name = "libfuzzer-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2" +dependencies = [ + "arbitrary", + "cc", +] + [[package]] name = "libm" version = "0.2.16" @@ -1259,12 +1766,41 @@ version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "lru-slab" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +[[package]] +name = "matrixmultiply" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.8.1" @@ -1286,6 +1822,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + [[package]] name = "mio" version = "1.2.1" @@ -1314,12 +1860,68 @@ dependencies = [ "uuid", ] +[[package]] +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "nalgebra" +version = "0.32.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +dependencies = [ + "approx", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + [[package]] name = "ndk-context" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nexrad_io" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "byteorder", + "bzip2", + "chrono", + "flate2", + "libdeflate-sys", + "radar_core", + "rayon", + "thiserror", + "zip", +] + +[[package]] +name = "no_std_io2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418abd1b6d34fbf6cae440dc874771b0525a604428704c76e48b29a5e67b8003" +dependencies = [ + "memchr", +] + [[package]] name = "nom" version = "8.0.0" @@ -1329,6 +1931,87 @@ dependencies = [ "memchr", ] +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "bytemuck", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -1349,12 +2032,27 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +[[package]] +name = "owned_ttf_parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" +dependencies = [ + "ttf-parser", +] + [[package]] name = "parking_lot" version = "0.12.5" @@ -1378,6 +2076,18 @@ dependencies = [ "windows-link", ] +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pastey" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" + [[package]] name = "pbkdf2" version = "0.13.0" @@ -1399,6 +2109,25 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "pkg-config" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + [[package]] name = "portable-atomic" version = "1.13.1" @@ -1445,13 +2174,69 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.106" +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "product_engine" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "radar_core", +] + +[[package]] +name = "profiling" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "pulp" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046aa45b989642ec2e4717c8e72d677b13edd831a4d3b6cf37d9a3e54912496a" +dependencies = [ + "bytemuck", + "cfg-if", + "libm", + "num-complex", + "paste", + "pulp-wasm-simd-flag", + "raw-cpuid", + "reborrow", + "version_check", +] + +[[package]] +name = "pulp-wasm-simd-flag" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8f70e07b9c3962945a74e59ca1c511bba65b6419468acc217c457d93f3c740" + +[[package]] +name = "pxfm" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" [[package]] name = "pyo3" @@ -1510,6 +2295,31 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quick-xml" +version = "0.39.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quinn" version = "0.11.9" @@ -1587,13 +2397,55 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "radar_core" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "serde", +] + +[[package]] +name = "radar_gif" +version = "0.1.0" +dependencies = [ + "ab_glyph", + "chrono", + "clap", + "color_tables", + "data_source", + "gif", + "image", + "imageproc", + "nexrad_io", + "product_engine", + "quick-xml", + "radar_core", + "render2d", + "reqwest 0.12.28", + "serde", + "serde_json", +] + +[[package]] +name = "rand" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + [[package]] name = "rand" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "rand_chacha", + "rand_chacha 0.9.0", "rand_core 0.9.5", ] @@ -1608,6 +2460,16 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_chacha" version = "0.9.0" @@ -1618,6 +2480,15 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + [[package]] name = "rand_core" version = "0.9.5" @@ -1633,6 +2504,16 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.7", +] + [[package]] name = "rand_pcg" version = "0.10.2" @@ -1642,6 +2523,71 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "rav1e" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b" +dependencies = [ + "aligned-vec", + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av-scenechange", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools 0.14.0", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "paste", + "profiling", + "rand 0.9.4", + "rand_chacha 0.9.0", + "simd_helpers", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.12.0" @@ -1662,6 +2608,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "reborrow" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1700,6 +2652,59 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +[[package]] +name = "render2d" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "color_tables", + "image", + "radar_core", + "rayon", + "thiserror", +] + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", +] + [[package]] name = "reqwest" version = "0.13.4" @@ -1746,6 +2751,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" +[[package]] +name = "rgb" +version = "0.8.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" + [[package]] name = "ring" version = "0.17.14" @@ -1812,6 +2823,7 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -1931,6 +2943,15 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + [[package]] name = "same-file" version = "1.0.6" @@ -2040,6 +3061,18 @@ dependencies = [ "zmij", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "sha1" version = "0.11.0" @@ -2085,6 +3118,25 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f45b8998ced5134fb1d75732c77842a3e888f19c1ff98481822e8fbfbf930b" +[[package]] +name = "simba" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + [[package]] name = "simd_cesu8" version = "1.1.1" @@ -2095,6 +3147,15 @@ dependencies = [ "simdutf8", ] +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -2147,7 +3208,7 @@ dependencies = [ "once_cell", "pyo3", "regex", - "reqwest", + "reqwest 0.13.4", "rstar 0.13.0", "serde", "tokio", @@ -2185,6 +3246,12 @@ dependencies = [ "unicode-properties", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" @@ -2286,6 +3353,20 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "tiff" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" +dependencies = [ + "fax", + "flate2", + "half", + "quick-error", + "weezl", + "zune-jpeg", +] + [[package]] name = "tinystr" version = "0.8.3" @@ -2465,6 +3546,18 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" + +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + [[package]] name = "typenum" version = "1.20.1" @@ -2528,6 +3621,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.23.3" @@ -2539,6 +3638,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "v_frame" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "version_check" version = "0.9.5" @@ -2706,6 +3816,31 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "widestring" version = "1.2.1" @@ -3099,6 +4234,12 @@ version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "985eec839aaf2a1270af8f4ebcf63cf9401cfd90f0902f97c28d9f104ffbde72" +[[package]] +name = "y4m" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" + [[package]] name = "yoke" version = "0.8.3" @@ -3202,8 +4343,64 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "zip" +version = "8.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +dependencies = [ + "crc32fast", + "flate2", + "indexmap", + "memchr", + "typed-path", + "zopfli", +] + +[[package]] +name = "zlib-rs" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b142a20ec14a91d5bc708c1dc21b080c550113d8aa77afa29635673a65dd02c5" + [[package]] name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zune-jpeg" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml index b61db0d4..b68005f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,3 +29,7 @@ chrono = "0.4.45" [features] extension-module = ["pyo3/extension-module"] default = ["extension-module"] + +[workspace] +members = ["crates/radar_gif"] +resolver = "3" diff --git a/README.md b/README.md index 755b2596..92d56749 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ Work in progress. Actively developed in free time; expect behavior to evolve bet * [matplotlib](https://matplotlib.org) * [pytz](https://github.com/stub42/pytz) * [vad-plotter](https://github.com/tsupinie/vad-plotter) by Tim Supinie +* [BowEcho](https://github.com/FahrenheitResearch/bowecho) by Fahrenheit Research * [slixmpp](https://github.com/sagarp/xmppasync) — NWWS-OI XMPP connection * [Cartopy](https://scitools.org.uk/cartopy) — Map projections * [SciPy](https://scipy.org) — Scientific computing diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 90433155..09454080 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -1,10 +1,14 @@ # cogs/radar/__init__.py """NEXRAD Level 2 radar data downloader from NOAA AWS S3.""" +import asyncio +import difflib +import json import logging import re import time from datetime import datetime, timedelta, timezone +from pathlib import Path import discord from discord.app_commands import Choice @@ -177,9 +181,538 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): embed.set_footer(text=f"Logged in as {self.bot.user}") await interaction.followup.send(embed=embed, ephemeral=True) + RADAR_GIF_CACHE = Path("cache") / "radar_gifs" + + TDWR_SITES = { + "TATL": "Atlanta, GA", + "TBNA": "Nashville, TN", + "TBOS": "Boston, MA", + "TBWI": "Baltimore, MD", + "TCLT": "Charlotte, NC", + "TCMH": "Columbus, OH", + "TCVG": "Covington, KY", + "TDAL": "Dallas Love Field, TX", + "TDAY": "Dayton, OH", + "TDCA": "Washington National, VA", + "TDEN": "Denver, CO", + "TDFW": "Dallas/Ft. Worth, TX", + "TDTW": "Detroit, MI", + "TEWR": "Newark, NJ", + "TFLL": "Fort Lauderdale, FL", + "THOU": "Houston Hobby, TX", + "TIAD": "Dulles, VA", + "TIAH": "Houston Intercontinental, TX", + "TICH": "Wichita, KS", + "TIDS": "Indianapolis, IN", + "TJFK": "New York City, NY", + "TJUA": "San Juan, PR", + "TLAS": "Las Vegas, NV", + "TLVE": "Cleveland, OH", + "TMCI": "Kansas City, MO", + "TMCO": "Orlando, FL", + "TMDW": "Chicago Midway, IL", + "TMEM": "Memphis, TN", + "TMIA": "Miami, FL", + "TMKE": "Milwaukee, WI", + "TMSP": "Minneapolis, MN", + "TMSY": "New Orleans, LA", + "TOKC": "Oklahoma City, OK", + "TORD": "Chicago O'Hare, IL", + "TPBI": "West Palm Beach, FL", + "TPHL": "Philadelphia, PA", + "TPHX": "Phoenix, AZ", + "TPIT": "Pittsburgh, PA", + "TRDU": "Raleigh-Durham, NC", + "TSDF": "Louisville, KY", + "TSJU": "San Juan, PR", + "TSLC": "Salt Lake City, UT", + "TSTL": "St Louis, MO", + "TTPA": "Tampa, FL", + "TTUL": "Tulsa, OK", + } + + RADAR_SITES = { + "KABR": "Aberdeen, SD", + "KABX": "Albuquerque, NM", + "KAKQ": "Norfolk, VA", + "KAMA": "Amarillo, TX", + "KAMX": "Miami, FL", + "KAPX": "Gaylord, MI", + "KARX": "La Crosse, WI", + "KATX": "Seattle, WA", + "KBBX": "Beale AFB, CA", + "KBGM": "Binghamton, NY", + "KBHX": "Eureka, CA", + "KBIS": "Bismarck, ND", + "KBLX": "Billings, MT", + "KBMX": "Birmingham, AL", + "KBOX": "Boston, MA", + "KBRO": "Brownsville, TX", + "KBUF": "Buffalo, NY", + "KBYX": "Key West, FL", + "KCAE": "Columbia, SC", + "KCBW": "Caribou, ME", + "KCBX": "Boise, ID", + "KCCX": "State College, PA", + "KCLE": "Cleveland, OH", + "KCLX": "Charleston, SC", + "KCRP": "Corpus Christi, TX", + "KCXX": "Burlington, VT", + "KCYS": "Cheyenne, WY", + "KDAX": "Sacramento, CA", + "KDDC": "Dodge City, KS", + "KDFX": "Laughlin AFB, TX", + "KDGX": "Jackson, MS", + "KDIX": "Philadelphia, PA", + "KDLH": "Duluth, MN", + "KDMX": "Des Moines, IA", + "KDOX": "Dover AFB, DE", + "KDTX": "Detroit, MI", + "KDVN": "Quad Cities, IA", + "KDYX": "Abilene, TX", + "KEAX": "Kansas City, MO", + "KEMX": "Tucson, AZ", + "KENX": "Albany, NY", + "KEOX": "Fort Rucker, AL", + "KEPZ": "El Paso, TX", + "KESX": "Las Vegas, NV", + "KEVX": "Eglin AFB, FL", + "KEWX": "Austin, TX", + "KEYX": "Edwards AFB, CA", + "KFCX": "Roanoke, VA", + "KFDR": "Altus AFB, OK", + "KFDX": "Cannon AFB, NM", + "KFFC": "Atlanta, GA", + "KFSD": "Sioux Falls, SD", + "KFSX": "Flagstaff, AZ", + "KFTG": "Denver, CO", + "KFWS": "Dallas/Fort Worth, TX", + "KGGW": "Glasgow, MT", + "KGJX": "Grand Junction, CO", + "KGLD": "Goodland, KS", + "KGRB": "Green Bay, WI", + "KGRK": "Fort Hood, TX", + "KGRR": "Grand Rapids, MI", + "KGSP": "Greer, SC", + "KGWX": "Columbus AFB, MS", + "KGYX": "Portland, ME", + "KHDC": "Hammond, LA", + "KHDX": "Holloman AFB, NM", + "KHGX": "Houston, TX", + "KHNX": "San Joaquin Valley, CA", + "KHPX": "Fort Campbell, KY", + "KHTX": "Huntsville, AL", + "KICT": "Wichita, KS", + "KICX": "Cedar City, UT", + "KILN": "Cincinnati, OH", + "KILX": "Lincoln, IL", + "KIND": "Indianapolis, IN", + "KINX": "Tulsa, OK", + "KIWA": "Phoenix, AZ", + "KIWX": "Northern Indiana, IN", + "KJAX": "Jacksonville, FL", + "KJGX": "Macon, GA", + "KJKL": "Jackson, KY", + "KLBB": "Lubbock, TX", + "KLCH": "Lake Charles, LA", + "KLGX": "Langley Hill, WA", + "KLNX": "North Platte, NE", + "KLOT": "Chicago, IL", + "KLRX": "Elko, NV", + "KLSX": "St Louis, MO", + "KLTX": "Wilmington, NC", + "KLVX": "Louisville, KY", + "KLWX": "Sterling, VA", + "KLZK": "Little Rock, AR", + "KMAF": "Midland, TX", + "KMAX": "Medford, OR", + "KMBX": "Minot, ND", + "KMHX": "Morehead City, NC", + "KMKX": "Milwaukee, WI", + "KMLB": "Melbourne, FL", + "KMOB": "Mobile, AL", + "KMPX": "Minneapolis, MN", + "KMQT": "Marquette, MI", + "KMRX": "Knoxville, TN", + "KMSX": "Missoula, MT", + "KMTX": "Salt Lake City, UT", + "KMUX": "San Francisco, CA", + "KMVX": "Fargo, ND", + "KMXX": "Maxwell AFB, AL", + "KNKX": "San Diego, CA", + "KNQA": "Memphis, TN", + "KOAX": "Omaha, NE", + "KOHX": "Nashville, TN", + "KOKX": "Brookhaven, NY", + "KOTX": "Spokane, WA", + "KPAH": "Paducah, KY", + "KPBZ": "Pittsburgh, PA", + "KPDT": "Pendleton, OR", + "KPOE": "Fort Polk, LA", + "KPUX": "Pueblo, CO", + "KRAX": "Raleigh, NC", + "KRGX": "Reno, NV", + "KRIW": "Riverton, WY", + "KRLX": "Charleston, WV", + "KRTX": "Portland, OR", + "KSFX": "Pocatello, ID", + "KSGF": "Springfield, MO", + "KSHV": "Shreveport, LA", + "KSJT": "San Angelo, TX", + "KSOX": "Santa Ana, CA", + "KSRX": "Fort Smith, AR", + "KTBW": "Tampa, FL", + "KTFX": "Great Falls, MT", + "KTLH": "Tallahassee, FL", + "KTLX": "Oklahoma City, OK", + "KTWX": "Topeka, KS", + "KTYX": "Fort Drum, NY", + "KUDX": "Rapid City, SD", + "KUEX": "Grand Island, NE", + "KVAX": "Moody AFB, GA", + "KVBX": "Vandenberg AFB, CA", + "KVNX": "Vance AFB, OK", + "KVTX": "Los Angeles, CA", + "KVWX": "Evansville, IN", + "KYUX": "Yuma, AZ", + } + + @discord.app_commands.command( + name="radar", + description="Get a radar animation loop for a NEXRAD site", + ) + @discord.app_commands.describe( + site="4-letter NEXRAD site ID (e.g. KTLX, KFWS)", + product="Radar product to display", + frames="Number of frames (default 6, max 20)", + zoom="View range — tighter zoom shows more storm-scale detail (default Regional)", + show_rotation="Overlay mesocyclone/TVS rotation detection markers (Vrot, ΔV) and list findings (default on)", + ) + @discord.app_commands.choices( + product=[ + Choice(name="Reflectivity", value="reflectivity"), + Choice(name="Velocity", value="velocity"), + Choice(name="Spectrum Width", value="spectrum-width"), + Choice(name="Differential Reflectivity (ZDR)", value="zdr"), + Choice(name="Correlation Coefficient (CC)", value="cc"), + Choice(name="Differential Phase (PHIDP)", value="phidp"), + Choice(name="Specific KDP", value="kdp"), + Choice(name="PTDS (Probability of Debris Signature)", value="ptds"), + ], + zoom=[ + Choice(name="Storm-Scale (~75km) — couplets/TDS", value=75.0), + Choice(name="Regional (~150km)", value=150.0), + Choice(name="Wide (~300km)", value=300.0), + Choice(name="Full Range (~460km)", value=460.0), + ], + ) + async def radar_slash( + self, + interaction: discord.Interaction, + site: str, + product: Choice[str] = None, + frames: int = 6, + zoom: Choice[float] = None, + show_rotation: bool = True, + ): + await interaction.response.defer(thinking=True) + + site = site.upper().strip() + product_value = product.value if product else "reflectivity" + frames = max(2, min(frames, 20)) + range_km = zoom.value if zoom else 150.0 + + all_sites = {**self.RADAR_SITES, **self.TDWR_SITES} + if site not in all_sites: + suggestions = difflib.get_close_matches(site, list(all_sites), n=3, cutoff=0.5) + if suggestions: + msg = "`{}` not recognized. Did you mean?\n{}".format( + site, + "\n".join(" `{}` — {}".format(s, all_sites[s]) for s in suggestions), + ) + else: + msg = "`{}` is not a recognized radar site.".format(site) + await interaction.followup.send(msg, ephemeral=True) + return + + self.RADAR_GIF_CACHE.mkdir(parents=True, exist_ok=True) + rot_suffix = "_rot" if show_rotation else "" + # Unique per invocation (interaction.id) — out_path is never reused as a cache (every + # call regenerates), so a shared filename only creates a collision risk between + # concurrent requests, not a cache hit. + out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km{}_{}.gif".format( + site, product_value, frames, range_km, rot_suffix, interaction.id + ) + + try: + await _run_radar_cli(site, product_value, frames, out_path, range_km, show_rotation) + except Exception as e: + logger.exception("[RADAR] Failed to generate for {}: {}".format(site, e)) + await interaction.followup.send( + "Failed to generate radar loop for `{}`.".format(site), ephemeral=True + ) + return + + if not out_path.exists(): + await interaction.followup.send( + "No radar data available for `{}`.".format(site), ephemeral=True + ) + return + + site_name = self.RADAR_SITES.get(site) or self.TDWR_SITES.get(site) or site + product_label = product.name if product else "Reflectivity" + zoom_label = zoom.name if zoom else "Regional (~150km)" + embed = discord.Embed( + title="{} Loop — {} ({})".format(product_label, site, site_name), + description="{} frames · {}".format(frames, zoom_label), + color=discord.Color.blue(), + ) + if product_value in ("tds", "ptds"): + embed.set_footer( + text="NEXRAD Level II Archive · ⚠️ PTDS is experimental — do not rely on it for safety decisions" + ) + else: + embed.set_footer(text="NEXRAD Level II Archive") + + if show_rotation: + rotation_field = _format_rotation_field(out_path.with_suffix(".rotation.json")) + embed.add_field( + name="Rotation & Debris Signature (PTDS)", value=rotation_field, inline=False + ) + + file_size_mb = out_path.stat().st_size / (1024 * 1024) + if file_size_mb > 25: + await interaction.followup.send( + "File too large ({:.1f} MB). Try fewer frames.".format(file_size_mb), ephemeral=True + ) + return + + try: + await interaction.followup.send(embed=embed, file=discord.File(str(out_path))) + except discord.HTTPException: + await interaction.followup.send( + "Generated but file too large to send. Try fewer frames.", ephemeral=True + ) + + @radar_slash.autocomplete("site") + async def radar_site_autocomplete(self, interaction: discord.Interaction, current: str): + current = current.lower().strip() + all_sites = {**self.RADAR_SITES, **self.TDWR_SITES} + if not current: + matches = list(all_sites.items())[:25] + else: + starts_with = [ + (c, n) + for c, n in all_sites.items() + if c.lower().startswith(current) or n.lower().startswith(current) + ] + contains = [ + (c, n) + for c, n in all_sites.items() + if (current in c.lower() or current in n.lower()) and (c, n) not in starts_with + ] + matches = (starts_with + contains)[:25] + return [Choice(name="{} — {}".format(code, name), value=code) for code, name in matches] + @tasks.loop(hours=1) async def periodic_cleanup(self): await cleanup_old_files(OUTPUT_DIR, CLEANUP_AGE_THRESHOLD) + await cleanup_old_files(self.RADAR_GIF_CACHE, CLEANUP_AGE_THRESHOLD) + + +RADAR_GIF_BIN = next( + ( + p + for p in [ + Path(__file__).parent.parent.parent / "target/release/radar_gif", + Path(__file__).parent.parent.parent / "target/debug/radar_gif", + Path("/usr/local/bin/radar_gif"), + ] + if p.exists() + ), + None, +) + + +async def _run_radar_cli( + site: str, + product: str, + frames: int, + out_path: Path, + range_km: float = 150.0, + rotation: bool = False, +): + if RADAR_GIF_BIN is None: + raise RuntimeError( + "radar_gif binary not found (build with: cargo build --release -p radar_gif)" + ) + cmd = [ + str(RADAR_GIF_BIN), + "--site", + site, + "--product", + product, + "--frames", + str(frames), + "--range-km", + str(range_km), + "--output", + str(out_path), + ] + if rotation: + cmd.append("--rotation") + proc = await asyncio.create_subprocess_exec( + *cmd, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + try: + stdout, stderr = await asyncio.wait_for(proc.communicate(), timeout=180) + except asyncio.TimeoutError: + proc.kill() + await proc.wait() + raise RuntimeError("Radar generation timed out after 180s") + except asyncio.CancelledError: + proc.kill() + await proc.wait() + raise + if proc.returncode != 0: + stderr_text = stderr.decode() if stderr else "unknown error" + logger.warning("[RADAR] CLI failed (exit {}): {}".format(proc.returncode, stderr_text)) + raise RuntimeError("radar_gif exited with code {}".format(proc.returncode)) + + +_ROTATION_DISPLAY = { + "tvs": ("🌪️", "TVS"), + "mesocyclone": ("🔴", "Mesocyclone"), + "moderate_circulation": ("🟠", "Moderate Circulation"), + "weak_circulation": ("🟡", "Weak Circulation"), +} +_ROTATION_RANK_ORDER = { + "tvs": 0, + "mesocyclone": 1, + "moderate_circulation": 2, + "weak_circulation": 3, +} +_COMPASS_POINTS = [ + "N", + "NNE", + "NE", + "ENE", + "E", + "ESE", + "SE", + "SSE", + "S", + "SSW", + "SW", + "WSW", + "W", + "WNW", + "NW", + "NNW", +] + + +def _bearing_to_compass(deg: float) -> str: + idx = round(deg / 22.5) % 16 + return _COMPASS_POINTS[idx] + + +def _fmt_z(iso_time: str) -> str: + try: + dt = datetime.fromisoformat(iso_time) + except ValueError: + return iso_time + return dt.strftime("%H:%MZ") + + +def _format_site_line(s: dict) -> str: + emoji, label = _ROTATION_DISPLAY.get(s["strength"], ("⚪", s["strength"])) + bearing = _bearing_to_compass(s["azimuth_deg"]) + return "{} **{}** — Vrot {:.0f} m/s, ΔV {:.0f} m/s · {} @ {:.0f}km · {} tilts deep".format( + emoji, label, s["vrot_mps"], s["gtg_dv_mps"], bearing, s["range_km"], s["depth_tilts"] + ) + + +def _format_rotation_field(sidecar_path: Path) -> str: + if not sidecar_path.exists(): + return "No rotation data (detection may have failed or found nothing)." + try: + data = json.loads(sidecar_path.read_text()) + except (OSError, json.JSONDecodeError) as e: + logger.warning("[RADAR] Failed to read rotation sidecar {}: {}".format(sidecar_path, e)) + return "No rotation data available." + + current_time = data.get("volume_time") + sites = data.get("sites", []) + peak_vrot = data.get("peak_vrot") + peak_dv = data.get("peak_dv") + + lines = [] + if sites: + lines.append( + "**Current ({}):**".format(_fmt_z(current_time)) if current_time else "**Current:**" + ) + for s in sorted(sites, key=lambda s: _ROTATION_RANK_ORDER.get(s["strength"], 9))[:5]: + lines.append(_format_site_line(s)) + else: + lines.append("No rotation in the most recent frame.") + + # Only show a peak line if it's meaningfully distinct from the current listing + # (i.e. the strongest rotation in the loop happened on an earlier frame). + if peak_vrot and peak_vrot.get("time") != current_time: + emoji, label = _ROTATION_DISPLAY.get(peak_vrot["strength"], ("⚪", peak_vrot["strength"])) + lines.append( + "\n**Peak this loop:** {} {:.0f} m/s Vrot @ {} ({})".format( + emoji, peak_vrot["vrot_mps"], _fmt_z(peak_vrot["time"]), label + ) + ) + if peak_dv and peak_dv.get("time") != peak_vrot.get("time"): + lines.append( + "**Peak ΔV:** {:.0f} m/s gate-to-gate @ {}".format( + peak_dv["gtg_dv_mps"], _fmt_z(peak_dv["time"]) + ) + ) + + tds_lines = _format_tds_timeline(data.get("tds_timeline", [])) + if tds_lines: + lines.append("") + lines.extend(tds_lines) + + return "\n".join(lines) + + +def _tds_marker(score: float) -> str: + if score >= 50: + return "🔴" + if score >= 25: + return "🟠" + return "⚪" + + +def _format_tds_timeline(scans: list) -> list: + """PTDS (probability of tornadic debris signature) sampled at each scan's + strongest couplet — reflectivity+CC+ZDR based, independent of the Vrot/ΔV + numbers above. Scores are 0-100; shown per-scan so a rising trend is visible.""" + if not scans: + return [] + peak = max(scans, key=lambda s: s["tds_score"]) + lines = ["**PTDS (debris signature) by scan:**"] + lines.append( + "Peak: {} {:.0f}% @ {}".format( + _tds_marker(peak["tds_score"]), peak["tds_score"], _fmt_z(peak["time"]) + ) + ) + for s in scans[-8:]: + lines.append( + "{} {} — {:.0f}%".format(_tds_marker(s["tds_score"]), _fmt_z(s["time"]), s["tds_score"]) + ) + lines.append( + "-# ⚠️ PTDS is experimental and unvalidated — a low score does NOT rule out a tornado. " + "Use official NWS warnings for safety decisions, not this number." + ) + return lines async def setup(bot: commands.Bot): diff --git a/crates/radar_gif/Cargo.toml b/crates/radar_gif/Cargo.toml new file mode 100644 index 00000000..4ea2eddd --- /dev/null +++ b/crates/radar_gif/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "radar_gif" +version = "0.1.0" +edition = "2021" + +[dependencies] +radar_core = { git = "https://github.com/FahrenheitResearch/bowecho" } +color_tables = { git = "https://github.com/FahrenheitResearch/bowecho" } +nexrad_io = { git = "https://github.com/FahrenheitResearch/bowecho" } +data_source = { git = "https://github.com/FahrenheitResearch/bowecho" } +render2d = { git = "https://github.com/FahrenheitResearch/bowecho" } +product_engine = { git = "https://github.com/FahrenheitResearch/bowecho" } +image = "0.25" +imageproc = "0.25" +ab_glyph = "0.2" +chrono = "0.4" +clap = { version = "4", features = ["derive"] } +gif = "0.14" +serde = { version = "1", features = ["derive"] } +serde_json = "1" +quick-xml = { version = "0.39", features = ["serialize"] } +reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] } diff --git a/crates/radar_gif/assets/fonts/DejaVuSans.ttf b/crates/radar_gif/assets/fonts/DejaVuSans.ttf new file mode 100644 index 00000000..fb0bd945 Binary files /dev/null and b/crates/radar_gif/assets/fonts/DejaVuSans.ttf differ diff --git a/crates/radar_gif/assets/geo/nexrad_sites.csv b/crates/radar_gif/assets/geo/nexrad_sites.csv new file mode 100644 index 00000000..6618e12f --- /dev/null +++ b/crates/radar_gif/assets/geo/nexrad_sites.csv @@ -0,0 +1,188 @@ +KABR,45.4558,-98.413 +KABX,35.1497,-106.8239 +KAKQ,36.9839,-77.0075 +KAMA,35.2333,-101.7093 +KAMX,25.6105,-80.413 +KAPX,44.9063,-84.7195 +KARX,43.8228,-91.1911 +KATX,48.1946,-122.4957 +KBBX,39.4961,-121.6316 +KBGM,42.1997,-75.9847 +KBHX,40.4983,-124.2922 +KBIS,46.7708,-100.7603 +KBLX,45.8538,-108.6068 +KBMX,33.1719,-86.7697 +KBOX,41.9558,-71.1369 +KBRO,25.9155,-97.4186 +KBUF,42.9486,-78.7369 +KBYX,24.5969,-81.7033 +KCAE,33.9486,-81.1186 +KCBW,46.0392,-67.8064 +KCBX,43.4902,-116.236 +KCCX,40.9231,-78.0039 +KCLE,41.413,-81.86 +KCLX,32.6555,-81.0422 +KCRP,27.7839,-97.5108 +KCXX,44.5111,-73.1664 +KCYS,41.1519,-104.8061 +KDAX,38.5011,-121.6778 +KDDC,37.7608,-99.9689 +KDFX,29.2725,-100.2803 +KDGX,32.28,-89.9844 +KDIX,39.9469,-74.4107 +KDLH,46.8369,-92.2097 +KDMX,41.7311,-93.7228 +KDOX,38.8255,-75.44 +KDTX,42.7,-83.4717 +KDVN,41.6117,-90.5808 +KDYX,32.5383,-99.2542 +KEAX,38.8102,-94.2645 +KEMX,31.8936,-110.6303 +KENX,42.5866,-74.0641 +KEOX,31.4606,-85.4594 +KEPZ,31.873,-106.698 +KESX,35.7011,-114.8914 +KEVX,30.565,-85.9217 +KEWX,29.704,-98.0286 +KEYX,35.0978,-117.5607 +KFCX,37.0242,-80.2742 +KFDR,34.3622,-98.9767 +KFDX,34.6342,-103.6189 +KFFC,33.3633,-84.5658 +KFSD,43.5878,-96.7289 +KFSX,34.5743,-111.1984 +KFTG,39.7866,-104.5458 +KFWS,32.5728,-97.3031 +KGGW,48.2064,-106.6247 +KGJX,39.0622,-108.2138 +KGLD,39.3669,-101.7003 +KGRB,44.4986,-88.1111 +KGRK,30.7217,-97.3828 +KGRR,42.8939,-85.5449 +KGSP,34.8833,-82.2198 +KGWX,33.8969,-88.3292 +KGYX,43.8913,-70.2564 +KHDC,30.5196,-90.4074 +KHDX,33.077,-106.12 +KHGX,29.4719,-95.0789 +KHNX,36.3142,-119.6321 +KHPX,36.7367,-87.285 +KHTX,34.9305,-86.0836 +KICT,37.6544,-97.443 +KICX,37.591,-112.8622 +KILN,39.4203,-83.8217 +KILX,40.1505,-89.3368 +KIND,39.7075,-86.2803 +KINX,36.175,-95.5641 +KIWA,33.2892,-111.67 +KIWX,41.3586,-85.7 +KJAX,30.4846,-81.7019 +KJGX,32.675,-83.3511 +KJKL,37.5908,-83.3131 +KLBB,33.6541,-101.8142 +KLCH,30.1253,-93.2159 +KLGX,47.1169,-124.1066 +KLNX,41.9579,-100.5762 +KLOT,41.6044,-88.0844 +KLRX,40.7397,-116.8028 +KLSX,38.6989,-90.6828 +KLTX,33.9892,-78.4292 +KLVX,37.9753,-85.9439 +KLWX,38.9761,-77.4875 +KLZK,34.8364,-92.2619 +KMAF,31.9435,-102.1892 +KMAX,42.0811,-122.7173 +KMBX,48.3925,-100.8644 +KMHX,34.7758,-76.8764 +KMKX,42.9678,-88.5506 +KMLB,28.1131,-80.6544 +KMOB,30.6794,-88.2397 +KMPX,44.8489,-93.5655 +KMQT,46.5311,-87.5483 +KMRX,36.1683,-83.4019 +KMSX,47.0411,-113.9861 +KMTX,41.2628,-112.4478 +KMUX,37.1552,-121.8984 +KMVX,47.5281,-97.325 +KMXX,32.5366,-85.7897 +KNKX,32.9189,-117.0419 +KNQA,35.3447,-89.8733 +KOAX,41.3203,-96.3668 +KOHX,36.2472,-86.5625 +KOKX,40.8655,-72.8639 +KOTX,47.6805,-117.6258 +KPAH,37.0683,-88.7719 +KPBZ,40.5317,-80.2179 +KPDT,45.6906,-118.8529 +KPOE,31.1553,-92.9758 +KPUX,38.4594,-104.1814 +KRAX,35.6653,-78.49 +KRGX,39.754,-119.462 +KRIW,43.0661,-108.4773 +KRLX,38.3111,-81.7228 +KRTX,45.715,-122.965 +KSFX,43.1056,-112.6861 +KSGF,37.2353,-93.4003 +KSHV,32.4508,-93.8412 +KSJT,31.3711,-100.4922 +KSOX,33.8177,-117.636 +KSRX,35.2904,-94.3619 +KTBW,27.7053,-82.4019 +KTFX,47.4597,-111.3853 +KTLH,30.3975,-84.3289 +KTLX,35.3331,-97.2777 +KTWX,38.9969,-96.2325 +KTYX,43.7558,-75.68 +KUDX,44.1247,-102.83 +KUEX,40.3208,-98.4419 +KVAX,30.8903,-83.0018 +KVBX,34.8385,-120.3979 +KVNX,36.7408,-98.1275 +KVTX,34.4117,-119.1786 +KVWX,38.2602,-87.7245 +KYUX,32.4953,-114.6567 +TATL,33.647,-84.262 +TBNA,35.98,-86.662 +TBOS,42.158,-70.933 +TBWI,39.09,-76.63 +TCLT,35.337,-80.885 +TCMH,40.006,-82.715 +TCVG,38.898,-84.58 +TDAL,32.926,-96.968 +TDAY,40.022,-84.123 +TDCA,38.759,-76.962 +TDEN,39.728,-104.526 +TDFW,33.065,-96.918 +TDTW,42.111,-83.515 +TEWR,40.593,-74.27 +TFLL,26.143,-80.344 +THOU,29.516,-95.242 +TIAD,39.084,-77.529 +TIAH,30.065,-95.567 +TICH,37.507,-97.437 +TIDS,39.637,-86.436 +TJFK,40.589,-73.881 +TJUA,18.116,-66.078 +TLAS,36.144,-115.007 +TLVE,41.29,-82.008 +TMCI,39.498,-94.742 +TMCO,28.344,-81.326 +TMDW,41.651,-87.73 +TMEM,34.896,-89.993 +TMIA,25.758,-80.491 +TMKE,42.819,-88.046 +TMSP,44.871,-92.933 +TMSY,30.022,-90.403 +TOKC,35.276,-97.51 +TORD,41.797,-87.858 +TPBI,26.688,-80.273 +TPHL,39.949,-75.069 +TPHX,33.421,-112.163 +TPIT,40.501,-80.486 +TRDU,36.002,-78.697 +TSDF,38.046,-85.61 +TSJU,18.474,-66.179 +TSLC,40.967,-111.93 +TSTL,38.805,-90.489 +TTPA,27.86,-82.518 +TTUL,36.071,-95.827 diff --git a/crates/radar_gif/assets/geo/us_states_110m.json b/crates/radar_gif/assets/geo/us_states_110m.json new file mode 100644 index 00000000..bc76054d --- /dev/null +++ b/crates/radar_gif/assets/geo/us_states_110m.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"Minnesota"},"geometry":{"type":"Polygon","coordinates":[[[-89.957656,47.286907],[-90.131754,47.292747],[-90.305852,47.298018],[-90.47995,47.303857],[-90.654048,47.309128],[-90.857782,47.212829],[-91.060974,47.117047],[-91.264708,47.021265],[-91.468442,46.924966],[-91.592259,46.87626],[-91.716618,46.827607],[-91.840978,46.778385],[-91.964794,46.729706],[-92.011898,46.711723],[-92.274879,46.656145],[-92.264828,46.095223],[-92.296583,46.096282],[-92.5437,45.985695],[-92.756968,45.889912],[-92.899828,45.705763],[-92.689221,45.518436],[-92.765417,45.267082],[-92.766477,44.996143],[-92.796656,44.776027],[-92.505072,44.58392],[-92.385492,44.574928],[-92.062153,44.432585],[-91.949989,44.364838],[-91.879606,44.257428],[-91.627709,44.085449],[-91.28959,43.937293],[-91.257292,43.854739],[-91.254657,43.613979],[-91.228199,43.501247],[-92.540005,43.519773],[-94.001027,43.513417],[-95.359936,43.500187],[-96.45266,43.501789],[-96.439431,44.435763],[-96.560612,45.393018],[-96.735769,45.470817],[-96.834704,45.625329],[-96.780728,45.760799],[-96.556891,45.872446],[-96.539451,46.017967],[-96.538908,46.19948],[-96.601359,46.351357],[-96.685488,46.513285],[-96.733651,46.716477],[-96.74582,46.944525],[-96.779694,46.999044],[-96.820415,47.292204],[-96.824653,47.426614],[-96.844238,47.546194],[-96.893977,47.748869],[-97.015158,47.954205],[-97.131042,48.137295],[-97.148509,48.318782],[-97.161221,48.514584],[-97.127348,48.642122],[-97.120475,48.758523],[-97.214138,48.902442],[-97.228943,49.000885],[-95.158837,48.999826],[-95.156202,49.384014],[-94.81754,49.389285],[-94.640264,48.840017],[-94.32912,48.670673],[-93.63061,48.609281],[-92.609846,48.450015],[-91.639879,48.13993],[-90.830264,48.270103],[-89.599952,48.010274],[-89.599409,48.010274],[-89.490032,48.013406],[-89.522695,47.960535],[-89.613698,47.819252],[-89.728006,47.641976],[-89.842831,47.464726],[-89.957656,47.286907]]]}},{"type":"Feature","properties":{"name":"Montana"},"geometry":{"type":"Polygon","coordinates":[[[-116.048234,49.000369],[-113.059502,49.001402],[-110.070769,49.003004],[-107.082037,49.00458],[-104.092762,49.00564],[-104.077414,47.171565],[-104.026616,45.956601],[-104.077957,45.04061],[-105.745891,45.051178],[-107.546634,45.045881],[-109.102379,45.057018],[-111.071406,45.049602],[-111.067194,44.541597],[-111.085178,44.506147],[-111.194189,44.561156],[-111.291548,44.701406],[-111.400016,44.728924],[-111.542385,44.530486],[-111.771492,44.498214],[-112.336135,44.56064],[-112.362593,44.462222],[-112.690144,44.498731],[-112.87481,44.360083],[-113.052086,44.619912],[-113.174844,44.765433],[-113.378578,44.789773],[-113.439427,44.862792],[-113.502937,45.124223],[-113.680213,45.249073],[-113.794496,45.564997],[-113.914101,45.702585],[-114.035799,45.730103],[-114.137937,45.589336],[-114.335315,45.470274],[-114.513651,45.569234],[-114.523702,45.825369],[-114.407275,45.889912],[-114.49143,46.14708],[-114.394046,46.410087],[-114.284517,46.631805],[-114.58561,46.641339],[-114.84332,46.786318],[-115.12165,47.095369],[-115.288332,47.250398],[-115.519067,47.345121],[-115.704792,47.50493],[-115.704276,47.684842],[-115.9678,47.950484],[-116.048234,49.000369]]]}},{"type":"Feature","properties":{"name":"North Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-97.228943,49.000885],[-97.214138,48.902442],[-97.120475,48.758523],[-97.127348,48.642122],[-97.161221,48.514584],[-97.148509,48.318782],[-97.131042,48.137295],[-97.015158,47.954205],[-96.893977,47.748869],[-96.844238,47.546194],[-96.824653,47.426614],[-96.820415,47.292204],[-96.779694,46.999044],[-96.74582,46.944525],[-96.733651,46.716477],[-96.685488,46.513285],[-96.601359,46.351357],[-96.538908,46.19948],[-96.539451,46.017967],[-98.441789,45.963448],[-100.066858,45.965567],[-102.116862,45.961355],[-104.026616,45.956601],[-104.077414,47.171565],[-104.092762,49.00564],[-100.629899,49.003004],[-97.228943,49.000885]]]}},{"type":"Feature","properties":{"name":"Hawaii"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244]]],[[[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533]]]]}},{"type":"Feature","properties":{"name":"Idaho"},"geometry":{"type":"Polygon","coordinates":[[[-116.048234,49.000369],[-115.9678,47.950484],[-115.704276,47.684842],[-115.704792,47.50493],[-115.519067,47.345121],[-115.288332,47.250398],[-115.12165,47.095369],[-114.84332,46.786318],[-114.58561,46.641339],[-114.284517,46.631805],[-114.394046,46.410087],[-114.49143,46.14708],[-114.407275,45.889912],[-114.523702,45.825369],[-114.513651,45.569234],[-114.335315,45.470274],[-114.137937,45.589336],[-114.035799,45.730103],[-113.914101,45.702585],[-113.794496,45.564997],[-113.680213,45.249073],[-113.502937,45.124223],[-113.439427,44.862792],[-113.378578,44.789773],[-113.174844,44.765433],[-113.052086,44.619912],[-112.87481,44.360083],[-112.690144,44.498731],[-112.362593,44.462222],[-112.336135,44.56064],[-111.771492,44.498214],[-111.542385,44.530486],[-111.400016,44.728924],[-111.291548,44.701406],[-111.194189,44.561156],[-111.085178,44.506147],[-111.049728,44.488163],[-111.050245,42.001597],[-114.034223,41.993122],[-117.028252,42.000021],[-117.013963,43.797069],[-116.926656,44.081211],[-117.007607,44.21141],[-117.194391,44.279132],[-117.192299,44.438942],[-117.051532,44.665956],[-116.836145,44.863851],[-116.693285,45.186648],[-116.558875,45.444358],[-116.457796,45.574531],[-116.511255,45.726408],[-116.678997,45.807359],[-116.915003,45.999983],[-116.906528,46.177776],[-116.998073,46.33017],[-117.02665,47.722927],[-117.03143,48.999309],[-116.048234,49.000369]]]}},{"type":"Feature","properties":{"name":"Washington"},"geometry":{"type":"Polygon","coordinates":[[[-117.03143,48.999309],[-117.02665,47.722927],[-116.998073,46.33017],[-116.906528,46.177776],[-116.915003,45.999983],[-118.978236,45.992568],[-119.337,45.888336],[-119.59205,45.932235],[-119.787309,45.850768],[-120.158268,45.740671],[-120.609636,45.7539],[-120.837193,45.672949],[-121.046741,45.637499],[-121.203889,45.689899],[-121.561077,45.732764],[-121.788091,45.700983],[-122.174915,45.59515],[-122.420456,45.591998],[-122.651708,45.630083],[-122.725786,45.770333],[-122.752244,45.938075],[-122.937969,46.129097],[-123.228494,46.186251],[-123.471373,46.277253],[-123.776704,46.282033],[-123.998676,46.283069],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.587138,47.095885],[-122.340021,47.359952],[-122.499831,48.18016],[-122.84,49],[-120.002696,49.000885],[-117.03143,48.999309]]]}},{"type":"Feature","properties":{"name":"Arizona"},"geometry":{"type":"Polygon","coordinates":[[[-109.045225,36.999912],[-109.043673,31.341899],[-111.023786,31.334651],[-113.305016,32.038975],[-114.814743,32.525276],[-114.72139,32.72083],[-114.589848,32.716298],[-114.479777,32.916337],[-114.655993,33.0539],[-114.691443,33.203684],[-114.743301,33.379875],[-114.548558,33.609525],[-114.469183,34.067275],[-114.165972,34.272585],[-114.354901,34.464667],[-114.484531,34.653053],[-114.567084,34.82821],[-114.62212,34.96368],[-114.642222,35.053106],[-114.580856,35.249425],[-114.630052,35.445227],[-114.650697,35.63891],[-114.65018,35.854272],[-114.739606,35.991318],[-114.671341,36.114618],[-114.460734,36.114618],[-114.269169,36.043692],[-114.13264,36.004004],[-114.066495,36.156424],[-114.023629,36.189755],[-114.030528,36.994099],[-112.417603,37.009421],[-110.496221,37.007328],[-109.045225,36.999912]]]}},{"type":"Feature","properties":{"name":"California"},"geometry":{"type":"Polygon","coordinates":[[[-114.642222,35.053106],[-114.62212,34.96368],[-114.567084,34.82821],[-114.484531,34.653053],[-114.354901,34.464667],[-114.165972,34.272585],[-114.469183,34.067275],[-114.548558,33.609525],[-114.743301,33.379875],[-114.691443,33.203684],[-114.655993,33.0539],[-114.479777,32.916337],[-114.589848,32.716298],[-114.72139,32.72083],[-115.99108,32.612583],[-117.127729,32.535327],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.367816,34.447226],[-120.622865,34.608611],[-120.744589,35.156821],[-121.714556,36.161721],[-122.547451,37.551817],[-122.512,37.783611],[-122.953317,38.113798],[-123.726965,38.951473],[-123.86507,39.766927],[-124.397958,40.313018],[-124.178875,41.142244],[-124.213809,41.999478],[-119.998976,41.992605],[-120.000035,38.995398],[-118.11462,37.644421],[-116.32075,36.322047],[-114.642222,35.053106]]]}},{"type":"Feature","properties":{"name":"Colorado"},"geometry":{"type":"Polygon","coordinates":[[[-102.050174,40.000815],[-102.040123,38.459875],[-102.041182,36.99198],[-103.003216,36.995158],[-104.200198,36.996192],[-105.899861,36.997277],[-107.479971,36.999912],[-109.045225,36.999912],[-109.053183,41.001994],[-108.050944,41.002536],[-107.049739,41.002536],[-105.046864,41.003596],[-104.045142,41.004112],[-102.048055,41.004112],[-102.050174,40.033086],[-102.050174,40.000815]]]}},{"type":"Feature","properties":{"name":"Nevada"},"geometry":{"type":"Polygon","coordinates":[[[-117.028252,42.000021],[-114.034223,41.993122],[-114.030528,36.994099],[-114.023629,36.189755],[-114.066495,36.156424],[-114.13264,36.004004],[-114.269169,36.043692],[-114.460734,36.114618],[-114.671341,36.114618],[-114.739606,35.991318],[-114.65018,35.854272],[-114.650697,35.63891],[-114.630052,35.445227],[-114.580856,35.249425],[-114.642222,35.053106],[-116.32075,36.322047],[-118.11462,37.644421],[-120.000035,38.995398],[-119.998976,41.992605],[-117.028252,41.997359],[-117.028252,42.000021]]]}},{"type":"Feature","properties":{"name":"New Mexico"},"geometry":{"type":"Polygon","coordinates":[[[-109.043673,31.341899],[-109.045225,36.999912],[-107.479971,36.999912],[-105.899861,36.997277],[-104.200198,36.996192],[-103.003216,36.995158],[-103.001614,36.499323],[-103.001614,33.879948],[-103.001614,31.999287],[-103.929775,31.999287],[-105.730001,31.999287],[-106.630127,31.999287],[-106.619533,31.914099],[-106.507344,31.754289],[-108.24,31.754854],[-108.241966,31.342067],[-109.043673,31.341899]]]}},{"type":"Feature","properties":{"name":"Oregon"},"geometry":{"type":"Polygon","coordinates":[[[-116.915003,45.999983],[-116.678997,45.807359],[-116.511255,45.726408],[-116.457796,45.574531],[-116.558875,45.444358],[-116.693285,45.186648],[-116.836145,44.863851],[-117.051532,44.665956],[-117.192299,44.438942],[-117.194391,44.279132],[-117.007607,44.21141],[-116.926656,44.081211],[-117.013963,43.797069],[-117.028252,42.000021],[-117.028252,41.997359],[-119.998976,41.992605],[-124.213809,41.999478],[-124.53284,42.76599],[-124.14214,43.70838],[-123.89893,45.52341],[-123.998676,46.283069],[-123.776704,46.282033],[-123.471373,46.277253],[-123.228494,46.186251],[-122.937969,46.129097],[-122.752244,45.938075],[-122.725786,45.770333],[-122.651708,45.630083],[-122.420456,45.591998],[-122.174915,45.59515],[-121.788091,45.700983],[-121.561077,45.732764],[-121.203889,45.689899],[-121.046741,45.637499],[-120.837193,45.672949],[-120.609636,45.7539],[-120.158268,45.740671],[-119.787309,45.850768],[-119.59205,45.932235],[-119.337,45.888336],[-118.978236,45.992568],[-116.915003,45.999983]]]}},{"type":"Feature","properties":{"name":"Utah"},"geometry":{"type":"Polygon","coordinates":[[[-114.034223,41.993122],[-111.050245,42.001597],[-111.054482,41.027935],[-109.053183,41.001994],[-109.045225,36.999912],[-110.496221,37.007328],[-112.417603,37.009421],[-114.030528,36.994099],[-114.034223,41.993122]]]}},{"type":"Feature","properties":{"name":"Wyoming"},"geometry":{"type":"Polygon","coordinates":[[[-111.085178,44.506147],[-111.067194,44.541597],[-111.071406,45.049602],[-109.102379,45.057018],[-107.546634,45.045881],[-105.745891,45.051178],[-104.077957,45.04061],[-104.052558,43.00014],[-104.045142,41.004112],[-105.046864,41.003596],[-107.049739,41.002536],[-108.050944,41.002536],[-109.053183,41.001994],[-111.054482,41.027935],[-111.050245,42.001597],[-111.049728,44.488163],[-111.085178,44.506147]]]}},{"type":"Feature","properties":{"name":"Arkansas"},"geometry":{"type":"Polygon","coordinates":[[[-89.662919,36.023073],[-89.673513,35.940003],[-89.775109,35.799236],[-89.950266,35.701878],[-89.988894,35.536229],[-90.147102,35.404997],[-90.134932,35.113955],[-90.24924,35.020834],[-90.268283,34.941459],[-90.446618,34.866838],[-90.450313,34.72186],[-90.584207,34.454099],[-90.699549,34.397461],[-90.876308,34.261475],[-90.982141,34.055105],[-91.200681,33.706393],[-91.223444,33.469327],[-91.108077,33.206836],[-91.156239,33.010001],[-92.001304,33.043875],[-93.094028,33.010518],[-94.059757,33.01212],[-94.002086,33.579914],[-94.233338,33.583609],[-94.427538,33.57038],[-94.479912,33.635983],[-94.451361,34.51071],[-94.430174,35.483312],[-94.628611,36.540586],[-93.412587,36.526298],[-92.307177,36.523662],[-91.251479,36.523146],[-90.112194,36.461754],[-90.029099,36.337937],[-90.141805,36.230502],[-90.253995,36.12255],[-90.315386,36.023073],[-89.662919,36.023073]]]}},{"type":"Feature","properties":{"name":"Iowa"},"geometry":{"type":"Polygon","coordinates":[[[-96.45266,43.501789],[-95.359936,43.500187],[-94.001027,43.513417],[-92.540005,43.519773],[-91.228199,43.501247],[-91.21391,43.446754],[-91.083737,43.288004],[-91.173163,43.212324],[-91.169985,43.002233],[-91.129238,42.912833],[-91.064694,42.754083],[-90.738177,42.658275],[-90.640818,42.505364],[-90.582605,42.429168],[-90.464602,42.37837],[-90.416982,42.270418],[-90.259808,42.189983],[-90.156636,42.103735],[-90.21007,41.834914],[-90.395278,41.608417],[-90.461966,41.536457],[-90.690557,41.478786],[-91.033999,41.429565],[-91.123425,41.257585],[-90.999065,41.179812],[-90.956742,41.024757],[-91.087432,40.851719],[-91.15412,40.699842],[-91.410229,40.551143],[-91.430331,40.368596],[-91.567403,40.452208],[-91.758425,40.61411],[-92.851665,40.592432],[-94.002086,40.585017],[-94.898491,40.58344],[-95.796499,40.583957],[-95.862102,40.764928],[-95.834067,40.943806],[-95.855746,41.116302],[-95.958427,41.404708],[-96.025089,41.524287],[-96.097049,41.556559],[-96.104464,41.787811],[-96.167432,41.953434],[-96.348945,42.141821],[-96.346827,42.224374],[-96.410311,42.38948],[-96.455296,42.488957],[-96.453719,42.580502],[-96.615648,42.691632],[-96.535213,42.855679],[-96.483356,43.016005],[-96.459533,43.1245],[-96.58707,43.257308],[-96.586011,43.501247],[-96.45266,43.501789]]]}},{"type":"Feature","properties":{"name":"Kansas"},"geometry":{"type":"Polygon","coordinates":[[[-102.041182,36.99198],[-102.040123,38.459875],[-102.050174,40.000815],[-102.048055,40.000815],[-100.300229,40.000815],[-99.000076,40.000815],[-96.699777,40.001357],[-95.322884,40.001357],[-95.085302,39.868006],[-94.955103,39.870125],[-94.926552,39.725121],[-95.067292,39.539912],[-94.991096,39.444673],[-94.867796,39.234582],[-94.604814,39.139859],[-94.615382,38.068839],[-94.622798,36.999912],[-95.50016,36.998853],[-97.299844,36.997277],[-99.10007,36.995158],[-100.100215,36.994099],[-101.099792,36.993039],[-102.041182,36.99198]]]}},{"type":"Feature","properties":{"name":"Missouri"},"geometry":{"type":"Polygon","coordinates":[[[-89.662919,36.023073],[-90.315386,36.023073],[-90.253995,36.12255],[-90.141805,36.230502],[-90.029099,36.337937],[-90.112194,36.461754],[-91.251479,36.523146],[-92.307177,36.523662],[-93.412587,36.526298],[-94.628611,36.540586],[-94.617501,36.999912],[-94.622798,36.999912],[-94.615382,38.068839],[-94.604814,39.139859],[-94.867796,39.234582],[-94.991096,39.444673],[-95.067292,39.539912],[-94.926552,39.725121],[-94.955103,39.870125],[-95.085302,39.868006],[-95.322884,40.001357],[-95.45254,40.215143],[-95.608112,40.343171],[-95.776371,40.501404],[-95.796499,40.583957],[-94.898491,40.58344],[-94.002086,40.585017],[-92.851665,40.592432],[-91.758425,40.61411],[-91.567403,40.452208],[-91.430331,40.368596],[-91.517638,40.119877],[-91.428212,39.820903],[-91.262589,39.61505],[-91.071567,39.44519],[-90.841375,39.310779],[-90.749287,39.265278],[-90.665701,39.074773],[-90.64981,38.907548],[-90.535528,38.865768],[-90.346599,38.930311],[-90.156094,38.769443],[-90.212731,38.584777],[-90.305335,38.439256],[-90.369879,38.263556],[-90.228079,38.113281],[-90.030158,37.971998],[-89.916909,37.968277],[-89.654987,37.748678],[-89.553908,37.719042],[-89.479287,37.477222],[-89.516339,37.326921],[-89.388285,37.081406],[-89.280333,37.107348],[-89.103057,36.952293],[-89.13427,36.851756],[-89.115227,36.694582],[-89.273977,36.611512],[-89.498356,36.506196],[-89.524272,36.409354],[-89.585121,36.267011],[-89.662919,36.023073]]]}},{"type":"Feature","properties":{"name":"Nebraska"},"geometry":{"type":"Polygon","coordinates":[[[-102.050174,40.000815],[-102.050174,40.033086],[-102.048055,41.004112],[-104.045142,41.004112],[-104.052558,43.00014],[-102.099912,43.00014],[-100.599745,43.00014],[-98.594183,43.00014],[-98.335956,42.873662],[-97.968201,42.794287],[-97.881927,42.839789],[-97.644344,42.836094],[-97.287157,42.846145],[-97.028387,42.717548],[-96.75427,42.633961],[-96.708768,42.550866],[-96.623037,42.502729],[-96.455296,42.488957],[-96.410311,42.38948],[-96.346827,42.224374],[-96.348945,42.141821],[-96.167432,41.953434],[-96.104464,41.787811],[-96.097049,41.556559],[-96.025089,41.524287],[-95.958427,41.404708],[-95.855746,41.116302],[-95.834067,40.943806],[-95.862102,40.764928],[-95.796499,40.583957],[-95.776371,40.501404],[-95.608112,40.343171],[-95.45254,40.215143],[-95.322884,40.001357],[-96.699777,40.001357],[-99.000076,40.000815],[-100.300229,40.000815],[-102.048055,40.000815],[-102.050174,40.000815]]]}},{"type":"Feature","properties":{"name":"Oklahoma"},"geometry":{"type":"Polygon","coordinates":[[[-103.003216,36.995158],[-102.041182,36.99198],[-101.099792,36.993039],[-100.100215,36.994099],[-99.10007,36.995158],[-97.299844,36.997277],[-95.50016,36.998853],[-94.622798,36.999912],[-94.617501,36.999912],[-94.628611,36.540586],[-94.430174,35.483312],[-94.451361,34.51071],[-94.479912,33.635983],[-94.910144,33.831785],[-95.190592,33.938161],[-95.418124,33.870414],[-95.769498,33.881007],[-95.977469,33.879431],[-96.148906,33.797937],[-96.316131,33.756131],[-96.462711,33.805327],[-96.796618,33.751351],[-96.947953,33.918059],[-97.104067,33.773598],[-97.376583,33.838142],[-97.657031,33.993713],[-97.95709,33.893694],[-98.088323,34.13448],[-98.553979,34.110657],[-98.851893,34.164633],[-99.187403,34.235559],[-99.336076,34.442963],[-99.599083,34.3763],[-99.761528,34.457794],[-100.000195,34.565229],[-100.000195,35.519848],[-100.000195,36.499323],[-101.000832,36.499323],[-102.001495,36.499323],[-103.001614,36.499323],[-103.003216,36.995158]]]}},{"type":"Feature","properties":{"name":"South Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-96.539451,46.017967],[-96.556891,45.872446],[-96.780728,45.760799],[-96.834704,45.625329],[-96.735769,45.470817],[-96.560612,45.393018],[-96.439431,44.435763],[-96.45266,43.501789],[-96.586011,43.501247],[-96.58707,43.257308],[-96.459533,43.1245],[-96.483356,43.016005],[-96.535213,42.855679],[-96.615648,42.691632],[-96.453719,42.580502],[-96.455296,42.488957],[-96.623037,42.502729],[-96.708768,42.550866],[-96.75427,42.633961],[-97.028387,42.717548],[-97.287157,42.846145],[-97.644344,42.836094],[-97.881927,42.839789],[-97.968201,42.794287],[-98.335956,42.873662],[-98.594183,43.00014],[-100.599745,43.00014],[-102.099912,43.00014],[-104.052558,43.00014],[-104.077957,45.04061],[-104.026616,45.956601],[-102.116862,45.961355],[-100.066858,45.965567],[-98.441789,45.963448],[-96.539451,46.017967]]]}},{"type":"Feature","properties":{"name":"Louisiana"},"geometry":{"type":"Polygon","coordinates":[[[-94.059757,33.01212],[-93.094028,33.010518],[-92.001304,33.043875],[-91.156239,33.010001],[-91.084797,32.952847],[-91.175799,32.808385],[-91.03082,32.602532],[-91.072084,32.478716],[-90.942971,32.306736],[-91.081618,32.204598],[-91.128179,32.015695],[-91.32132,31.85958],[-91.411288,31.650032],[-91.50229,31.408729],[-91.624531,31.297082],[-91.583784,31.04733],[-90.701667,31.015575],[-89.759219,31.013456],[-89.787796,30.847291],[-89.853941,30.683244],[-89.790457,30.556791],[-89.658682,30.440881],[-89.623232,30.275258],[-89.604706,30.176298],[-89.593929,30.160378],[-89.593831,30.159994],[-89.593702,30.160043],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.408387,29.159771],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-93.918474,29.821772],[-93.816878,29.968352],[-93.66712,30.100644],[-93.664484,30.30014],[-93.737503,30.366803],[-93.650195,30.605471],[-93.586168,30.71394],[-93.489844,31.079602],[-93.578236,31.216131],[-93.69412,31.443662],[-93.779309,31.675431],[-93.834861,31.829944],[-93.998908,31.94265],[-94.059757,33.01212]]]}},{"type":"Feature","properties":{"name":"Texas"},"geometry":{"type":"Polygon","coordinates":[[[-106.507344,31.754289],[-106.619533,31.914099],[-106.630127,31.999287],[-105.730001,31.999287],[-103.929775,31.999287],[-103.001614,31.999287],[-103.001614,33.879948],[-103.001614,36.499323],[-102.001495,36.499323],[-101.000832,36.499323],[-100.000195,36.499323],[-100.000195,35.519848],[-100.000195,34.565229],[-99.761528,34.457794],[-99.599083,34.3763],[-99.336076,34.442963],[-99.187403,34.235559],[-98.851893,34.164633],[-98.553979,34.110657],[-98.088323,34.13448],[-97.95709,33.893694],[-97.657031,33.993713],[-97.376583,33.838142],[-97.104067,33.773598],[-96.947953,33.918059],[-96.796618,33.751351],[-96.462711,33.805327],[-96.316131,33.756131],[-96.148906,33.797937],[-95.977469,33.879431],[-95.769498,33.881007],[-95.418124,33.870414],[-95.190592,33.938161],[-94.910144,33.831785],[-94.479912,33.635983],[-94.427538,33.57038],[-94.233338,33.583609],[-94.002086,33.579914],[-94.059757,33.01212],[-93.998908,31.94265],[-93.834861,31.829944],[-93.779309,31.675431],[-93.69412,31.443662],[-93.578236,31.216131],[-93.489844,31.079602],[-93.586168,30.71394],[-93.650195,30.605471],[-93.737503,30.366803],[-93.664484,30.30014],[-93.66712,30.100644],[-93.816878,29.968352],[-93.918474,29.821772],[-93.84842,29.71363],[-94.690003,29.479932],[-95.60018,28.738556],[-96.593943,28.307291],[-97.140034,27.829981],[-97.370227,27.38019],[-97.379761,26.690154],[-97.330023,26.210209],[-97.140034,25.869946],[-97.530036,25.839793],[-98.240174,26.059934],[-99.020178,26.370019],[-99.300109,26.839912],[-99.520225,27.539999],[-100.110266,28.109912],[-100.455801,28.696233],[-100.95745,29.380972],[-101.66229,29.779423],[-102.479863,29.759863],[-103.110109,28.969808],[-103.939826,29.269842],[-104.456823,29.571994],[-104.705541,30.121805],[-105.03733,30.644099],[-105.631583,31.083839],[-106.142766,31.399737],[-106.507344,31.754289]]]}},{"type":"Feature","properties":{"name":"Connecticut"},"geometry":{"type":"Polygon","coordinates":[[[-73.497937,42.054513],[-72.732222,42.035987],[-71.800909,42.01325],[-71.792951,41.466617],[-71.853826,41.320036],[-72.295142,41.269755],[-72.876166,41.220559],[-73.647887,40.953239],[-73.648269,40.954623],[-73.647887,40.954769],[-73.656687,40.98507],[-73.69268,41.10731],[-73.475174,41.204669],[-73.553489,41.289857],[-73.497937,42.054513]]]}},{"type":"Feature","properties":{"name":"Massachusetts"},"geometry":{"type":"Polygon","coordinates":[[[-71.800909,42.01325],[-72.732222,42.035987],[-73.497937,42.054513],[-73.282033,42.743489],[-72.45707,42.727082],[-71.248979,42.718091],[-71.145781,42.816508],[-70.933598,42.884256],[-70.815052,42.865187],[-70.825103,42.334961],[-70.494916,41.804735],[-70.080058,41.779879],[-70.184832,42.144999],[-69.884799,41.922764],[-69.965207,41.636994],[-70.639895,41.475066],[-71.120382,41.494651],[-71.1479,41.647587],[-71.305074,41.762412],[-71.379152,42.02436],[-71.800909,42.01325]]]}},{"type":"Feature","properties":{"name":"New Hampshire"},"geometry":{"type":"Polygon","coordinates":[[[-70.815052,42.865187],[-70.933598,42.884256],[-71.145781,42.816508],[-71.248979,42.718091],[-72.45707,42.727082],[-72.537505,42.830797],[-72.458647,42.960453],[-72.434307,43.222918],[-72.403611,43.285369],[-72.369763,43.521892],[-72.260209,43.721388],[-72.178199,43.808696],[-72.059136,44.045761],[-72.036373,44.20663],[-72.003041,44.304014],[-71.809901,44.352151],[-71.585522,44.468035],[-71.546377,44.592395],[-71.620455,44.735797],[-71.503511,45.007796],[-71.505087,45.008312],[-71.405093,45.254912],[-71.08482,45.30524],[-70.944165,43.466339],[-70.98176,43.367896],[-70.797611,43.219739],[-70.751025,43.080032],[-70.645734,43.090083],[-70.815052,42.865187]]]}},{"type":"Feature","properties":{"name":"Rhode Island"},"geometry":{"type":"Polygon","coordinates":[[[-71.853826,41.320036],[-71.792951,41.466617],[-71.800909,42.01325],[-71.379152,42.02436],[-71.305074,41.762412],[-71.1479,41.647587],[-71.120382,41.494651],[-71.853826,41.320036]]]}},{"type":"Feature","properties":{"name":"Vermont"},"geometry":{"type":"Polygon","coordinates":[[[-72.45707,42.727082],[-73.282033,42.743489],[-73.23971,43.567935],[-73.383112,43.575351],[-73.401638,43.613436],[-73.338128,43.75844],[-73.429673,44.019846],[-73.329136,44.226732],[-73.384172,44.379152],[-73.407969,44.676007],[-73.368281,44.804604],[-73.347662,45.007253],[-71.505087,45.008312],[-71.503511,45.007796],[-71.620455,44.735797],[-71.546377,44.592395],[-71.585522,44.468035],[-71.809901,44.352151],[-72.003041,44.304014],[-72.036373,44.20663],[-72.059136,44.045761],[-72.178199,43.808696],[-72.260209,43.721388],[-72.369763,43.521892],[-72.403611,43.285369],[-72.434307,43.222918],[-72.458647,42.960453],[-72.537505,42.830797],[-72.45707,42.727082]]]}},{"type":"Feature","properties":{"name":"Alabama"},"geometry":{"type":"Polygon","coordinates":[[[-88.166964,34.999673],[-86.909677,34.99913],[-85.625388,34.985901],[-85.365559,33.744478],[-85.129553,32.750714],[-84.986151,32.437969],[-84.898843,32.259117],[-85.063924,32.083417],[-85.119502,31.7654],[-85.065526,31.577013],[-85.090382,31.40028],[-85.1179,31.236233],[-85.054415,31.108696],[-85.005193,30.990693],[-87.045663,30.984879],[-87.617153,30.927725],[-87.633043,30.851528],[-87.404969,30.608649],[-87.457886,30.411271],[-87.530388,30.274199],[-88.417802,30.384812],[-88.449531,31.91198],[-88.27334,33.510048],[-88.095522,34.805989],[-88.166964,34.999673]]]}},{"type":"Feature","properties":{"name":"Florida"},"geometry":{"type":"Polygon","coordinates":[[[-87.530388,30.274199],[-87.457886,30.411271],[-87.404969,30.608649],[-87.633043,30.851528],[-87.617153,30.927725],[-87.045663,30.984879],[-85.005193,30.990693],[-84.853316,30.721355],[-83.8479,30.675311],[-82.226009,30.525553],[-82.151931,30.350938],[-82.022817,30.440364],[-82.020156,30.788018],[-81.899517,30.821892],[-81.701597,30.74833],[-81.490473,30.72983],[-81.31371,30.03552],[-80.979832,29.179899],[-80.535585,28.47213],[-80.53004,28.040072],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.679799,25.079916],[-81.171913,25.201098],[-81.330121,25.639753],[-81.710072,25.869946],[-82.239781,26.729842],[-82.70515,27.49504],[-82.85526,27.88624],[-82.649885,28.55017],[-82.93,29.1],[-83.70959,29.93656],[-84.099797,30.09005],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.40007,30.40016],[-87.530388,30.274199]]]}},{"type":"Feature","properties":{"name":"Georgia"},"geometry":{"type":"Polygon","coordinates":[[[-85.005193,30.990693],[-85.054415,31.108696],[-85.1179,31.236233],[-85.090382,31.40028],[-85.065526,31.577013],[-85.119502,31.7654],[-85.063924,32.083417],[-84.898843,32.259117],[-84.986151,32.437969],[-85.129553,32.750714],[-85.365559,33.744478],[-85.625388,34.985901],[-84.854376,34.976909],[-84.320972,34.98696],[-83.076371,34.979028],[-83.185925,34.895958],[-83.346251,34.706512],[-83.076371,34.540347],[-82.902815,34.479498],[-82.716548,34.163057],[-82.597485,33.985781],[-82.249289,33.748716],[-82.180508,33.624356],[-81.943442,33.461369],[-81.827015,33.223244],[-81.507397,33.021628],[-81.435954,32.793037],[-81.376707,32.68245],[-81.411098,32.608888],[-81.22483,32.49936],[-81.126412,32.312033],[-81.127988,32.121528],[-81.036443,32.084476],[-80.865007,32.033161],[-81.33629,31.44049],[-81.490473,30.72983],[-81.701597,30.74833],[-81.899517,30.821892],[-82.020156,30.788018],[-82.022817,30.440364],[-82.151931,30.350938],[-82.226009,30.525553],[-83.8479,30.675311],[-84.853316,30.721355],[-85.005193,30.990693]]]}},{"type":"Feature","properties":{"name":"Mississippi"},"geometry":{"type":"Polygon","coordinates":[[[-91.156239,33.010001],[-91.108077,33.206836],[-91.223444,33.469327],[-91.200681,33.706393],[-90.982141,34.055105],[-90.876308,34.261475],[-90.699549,34.397461],[-90.584207,34.454099],[-90.450313,34.72186],[-90.446618,34.866838],[-90.268283,34.941459],[-90.24924,35.020834],[-89.263926,35.021351],[-88.166964,34.999673],[-88.095522,34.805989],[-88.27334,33.510048],[-88.449531,31.91198],[-88.417802,30.384812],[-89.18049,30.31598],[-89.593702,30.160043],[-89.593831,30.159994],[-89.593929,30.160378],[-89.604706,30.176298],[-89.623232,30.275258],[-89.658682,30.440881],[-89.790457,30.556791],[-89.853941,30.683244],[-89.787796,30.847291],[-89.759219,31.013456],[-90.701667,31.015575],[-91.583784,31.04733],[-91.624531,31.297082],[-91.50229,31.408729],[-91.411288,31.650032],[-91.32132,31.85958],[-91.128179,32.015695],[-91.081618,32.204598],[-90.942971,32.306736],[-91.072084,32.478716],[-91.03082,32.602532],[-91.175799,32.808385],[-91.084797,32.952847],[-91.156239,33.010001]]]}},{"type":"Feature","properties":{"name":"South Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-80.865007,32.033161],[-81.036443,32.084476],[-81.127988,32.121528],[-81.126412,32.312033],[-81.22483,32.49936],[-81.411098,32.608888],[-81.376707,32.68245],[-81.435954,32.793037],[-81.507397,33.021628],[-81.827015,33.223244],[-81.943442,33.461369],[-82.180508,33.624356],[-82.249289,33.748716],[-82.597485,33.985781],[-82.716548,34.163057],[-82.902815,34.479498],[-83.076371,34.540347],[-83.346251,34.706512],[-83.185925,34.895958],[-83.076371,34.979028],[-82.976377,35.008664],[-82.436616,35.180101],[-81.51427,35.171652],[-81.045978,35.125608],[-81.03802,35.037242],[-80.937483,35.103387],[-80.780852,34.934044],[-80.783513,34.817643],[-79.67278,34.807566],[-78.554114,33.861422],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.865007,32.033161]]]}},{"type":"Feature","properties":{"name":"Illinois"},"geometry":{"type":"Polygon","coordinates":[[[-91.430331,40.368596],[-91.410229,40.551143],[-91.15412,40.699842],[-91.087432,40.851719],[-90.956742,41.024757],[-90.999065,41.179812],[-91.123425,41.257585],[-91.033999,41.429565],[-90.690557,41.478786],[-90.461966,41.536457],[-90.395278,41.608417],[-90.21007,41.834914],[-90.156636,42.103735],[-90.259808,42.189983],[-90.416982,42.270418],[-90.464602,42.37837],[-90.582605,42.429168],[-90.640818,42.505364],[-89.620054,42.505364],[-88.576552,42.503246],[-87.806599,42.494254],[-87.806599,42.49689],[-87.489641,42.495313],[-87.039307,42.492652],[-87.084808,42.309562],[-87.130335,42.127015],[-87.175836,41.9439],[-87.221337,41.760836],[-87.371638,41.760836],[-87.520854,41.760836],[-87.521371,41.708436],[-87.526151,41.708436],[-87.52721,40.550083],[-87.528269,39.392273],[-87.642035,39.113944],[-87.559999,39.040382],[-87.507082,38.869462],[-87.51504,38.735052],[-87.598653,38.674203],[-87.671129,38.50858],[-87.878558,38.290557],[-88.018808,38.021736],[-88.05108,37.819604],[-88.044207,37.744983],[-88.15743,37.605819],[-88.071725,37.511612],[-88.247399,37.438594],[-88.473871,37.354981],[-88.435242,37.136442],[-88.566475,37.053888],[-88.807778,37.146493],[-89.073963,37.200469],[-89.141685,37.103627],[-89.103057,36.952293],[-89.280333,37.107348],[-89.388285,37.081406],[-89.516339,37.326921],[-89.479287,37.477222],[-89.553908,37.719042],[-89.654987,37.748678],[-89.916909,37.968277],[-90.030158,37.971998],[-90.228079,38.113281],[-90.369879,38.263556],[-90.305335,38.439256],[-90.212731,38.584777],[-90.156094,38.769443],[-90.346599,38.930311],[-90.535528,38.865768],[-90.64981,38.907548],[-90.665701,39.074773],[-90.749287,39.265278],[-90.841375,39.310779],[-91.071567,39.44519],[-91.262589,39.61505],[-91.428212,39.820903],[-91.517638,40.119877],[-91.430331,40.368596]]]}},{"type":"Feature","properties":{"name":"Indiana"},"geometry":{"type":"Polygon","coordinates":[[[-88.05108,37.819604],[-88.018808,38.021736],[-87.878558,38.290557],[-87.671129,38.50858],[-87.598653,38.674203],[-87.51504,38.735052],[-87.507082,38.869462],[-87.559999,39.040382],[-87.642035,39.113944],[-87.528269,39.392273],[-87.52721,40.550083],[-87.526151,41.708436],[-87.521371,41.708436],[-87.520854,41.760836],[-87.371638,41.760836],[-87.221337,41.760836],[-86.918126,41.760836],[-86.824462,41.760836],[-86.824462,41.756056],[-85.748146,41.751302],[-84.807299,41.756056],[-84.806756,41.677741],[-84.809934,40.77286],[-84.817866,39.799742],[-84.82368,39.106528],[-84.881377,39.059425],[-84.799883,38.855174],[-84.843265,38.781096],[-85.01155,38.779494],[-85.167638,38.691127],[-85.404187,38.72712],[-85.425891,38.535038],[-85.566632,38.461994],[-85.698407,38.290015],[-85.83969,38.258802],[-86.059832,37.960887],[-86.262507,38.046619],[-86.325475,38.169376],[-86.499573,37.969879],[-86.61016,37.858749],[-86.825522,37.976235],[-87.055714,37.88097],[-87.131394,37.783611],[-87.43936,37.936005],[-87.653662,37.826477],[-87.911373,37.90425],[-87.921424,37.793662],[-88.05108,37.819604]]]}},{"type":"Feature","properties":{"name":"Kentucky"},"geometry":{"type":"Polygon","coordinates":[[[-89.498356,36.506196],[-89.273977,36.611512],[-89.115227,36.694582],[-89.13427,36.851756],[-89.103057,36.952293],[-89.141685,37.103627],[-89.073963,37.200469],[-88.807778,37.146493],[-88.566475,37.053888],[-88.435242,37.136442],[-88.473871,37.354981],[-88.247399,37.438594],[-88.071725,37.511612],[-88.15743,37.605819],[-88.044207,37.744983],[-88.05108,37.819604],[-87.921424,37.793662],[-87.911373,37.90425],[-87.653662,37.826477],[-87.43936,37.936005],[-87.131394,37.783611],[-87.055714,37.88097],[-86.825522,37.976235],[-86.61016,37.858749],[-86.499573,37.969879],[-86.325475,38.169376],[-86.262507,38.046619],[-86.059832,37.960887],[-85.83969,38.258802],[-85.698407,38.290015],[-85.566632,38.461994],[-85.425891,38.535038],[-85.404187,38.72712],[-85.167638,38.691127],[-85.01155,38.779494],[-84.843265,38.781096],[-84.799883,38.855174],[-84.881377,39.059425],[-84.82368,39.106528],[-84.481324,39.083248],[-84.30459,38.986923],[-84.038948,38.760994],[-83.826738,38.690068],[-83.672742,38.609117],[-83.434617,38.637151],[-83.258943,38.57948],[-83.044641,38.634515],[-82.855195,38.65144],[-82.775278,38.511216],[-82.58901,38.415433],[-82.569967,38.320194],[-82.580561,38.113281],[-82.461499,37.957167],[-82.413336,37.805315],[-82.267299,37.675659],[-82.167279,37.554478],[-81.972536,37.535952],[-82.07539,37.459358],[-82.372589,37.238039],[-82.684792,37.121096],[-82.684792,37.121094],[-82.684792,37.121094],[-82.709132,37.040143],[-82.815508,36.934828],[-83.073353,36.822609],[-83.089083,36.815763],[-83.099483,36.804438],[-83.178509,36.718382],[-83.330592,36.672661],[-83.384362,36.656497],[-83.673285,36.599859],[-84.350091,36.567045],[-85.231149,36.60991],[-85.519012,36.597741],[-86.092621,36.625775],[-86.677882,36.633733],[-87.216583,36.639004],[-87.842049,36.61097],[-87.874346,36.656497],[-88.072784,36.654378],[-88.069606,36.497204],[-89.498356,36.506196]]]}},{"type":"Feature","properties":{"name":"North Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-83.076371,34.979028],[-84.320972,34.98696],[-84.298751,35.198627],[-84.087084,35.261595],[-84.01776,35.369004],[-83.87596,35.490211],[-83.673285,35.51667],[-83.438338,35.562687],[-83.209722,35.648961],[-83.110787,35.737328],[-82.920282,35.81722],[-82.925579,35.889722],[-82.674225,36.025192],[-82.593248,35.937342],[-82.22389,36.125728],[-82.051394,36.106143],[-81.897399,36.27391],[-81.693664,36.317293],[-81.704775,36.460152],[-81.679376,36.585571],[-82.069901,36.570483],[-81.679375,36.585573],[-79.992397,36.542189],[-77.999548,36.537436],[-76.941216,36.545885],[-75.993247,36.550562],[-75.868077,36.55118],[-75.868077,36.55118],[-75.72731,35.550518],[-76.36337,34.808625],[-77.397635,34.51201],[-78.05496,33.92547],[-78.554114,33.861422],[-79.67278,34.807566],[-80.783513,34.817643],[-80.780852,34.934044],[-80.937483,35.103387],[-81.03802,35.037242],[-81.045978,35.125608],[-81.51427,35.171652],[-82.436616,35.180101],[-82.976377,35.008664],[-83.076371,34.979028]]]}},{"type":"Feature","properties":{"name":"Ohio"},"geometry":{"type":"Polygon","coordinates":[[[-84.82368,39.106528],[-84.817866,39.799742],[-84.809934,40.77286],[-84.806756,41.677741],[-84.295056,41.685156],[-83.839967,41.685156],[-83.462678,41.694148],[-83.142,41.975681],[-83.121898,41.949739],[-83.02981,41.832796],[-82.866306,41.752878],[-82.690089,41.675105],[-82.439278,41.675105],[-82.213323,41.77882],[-81.974138,41.88889],[-81.76087,41.986791],[-81.507397,42.103735],[-81.277747,42.209026],[-81.027969,42.247137],[-80.682434,42.299511],[-80.520506,42.324394],[-80.516268,42.32491],[-80.516268,42.324394],[-80.51893,40.641111],[-80.657552,40.59083],[-80.615229,40.463835],[-80.661789,40.233643],[-80.764987,39.973297],[-80.861829,39.757393],[-80.878753,39.654221],[-81.150752,39.426147],[-81.266094,39.377442],[-81.401047,39.349407],[-81.522228,39.371628],[-81.745005,39.199649],[-81.785752,39.019221],[-81.816964,38.921836],[-81.905874,38.882149],[-81.91856,38.993796],[-82.05403,39.018161],[-82.194797,38.801198],[-82.210661,38.57948],[-82.340834,38.440832],[-82.58901,38.415433],[-82.775278,38.511216],[-82.855195,38.65144],[-83.044641,38.634515],[-83.258943,38.57948],[-83.434617,38.637151],[-83.672742,38.609117],[-83.826738,38.690068],[-84.038948,38.760994],[-84.30459,38.986923],[-84.481324,39.083248],[-84.82368,39.106528]]]}},{"type":"Feature","properties":{"name":"Tennessee"},"geometry":{"type":"Polygon","coordinates":[[[-90.24924,35.020834],[-90.134932,35.113955],[-90.147102,35.404997],[-89.988894,35.536229],[-89.950266,35.701878],[-89.775109,35.799236],[-89.673513,35.940003],[-89.662919,36.023073],[-89.585121,36.267011],[-89.524272,36.409354],[-89.498356,36.506196],[-88.069606,36.497204],[-88.072784,36.654378],[-87.874346,36.656497],[-87.842049,36.61097],[-87.216583,36.639004],[-86.677882,36.633733],[-86.092621,36.625775],[-85.519012,36.597741],[-85.231149,36.60991],[-84.350091,36.567045],[-83.673285,36.599859],[-83.384362,36.656497],[-83.330592,36.672661],[-83.384361,36.656496],[-83.673284,36.599859],[-82.186322,36.565985],[-82.069901,36.570483],[-81.679376,36.585571],[-81.704775,36.460152],[-81.693664,36.317293],[-81.897399,36.27391],[-82.051394,36.106143],[-82.22389,36.125728],[-82.593248,35.937342],[-82.674225,36.025192],[-82.925579,35.889722],[-82.920282,35.81722],[-83.110787,35.737328],[-83.209722,35.648961],[-83.438338,35.562687],[-83.673285,35.51667],[-83.87596,35.490211],[-84.01776,35.369004],[-84.087084,35.261595],[-84.298751,35.198627],[-84.320972,34.98696],[-84.854376,34.976909],[-85.625388,34.985901],[-86.909677,34.99913],[-88.166964,34.999673],[-89.263926,35.021351],[-90.24924,35.020834]]]}},{"type":"Feature","properties":{"name":"Virginia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.330592,36.672661],[-83.178509,36.718382],[-83.099483,36.804438],[-83.089083,36.815763],[-83.073353,36.822609],[-82.815508,36.934828],[-82.709132,37.040143],[-82.684792,37.121094],[-82.684792,37.121094],[-82.684792,37.121096],[-82.372589,37.238039],[-82.07539,37.459358],[-81.972536,37.535952],[-81.928094,37.366092],[-81.838742,37.294355],[-81.815388,37.275606],[-81.663511,37.195173],[-81.433434,37.283199],[-81.34813,37.315836],[-81.348129,37.315836],[-81.348129,37.315836],[-81.228008,37.245455],[-80.915318,37.315532],[-80.85493,37.329065],[-80.84167,37.383765],[-80.833252,37.418493],[-80.720003,37.383043],[-80.602941,37.452077],[-80.596186,37.45606],[-80.596186,37.45606],[-80.596186,37.45606],[-80.456995,37.441774],[-80.298245,37.519029],[-80.285779,37.571673],[-80.276568,37.610574],[-80.292975,37.728059],[-80.292974,37.728059],[-80.292974,37.72806],[-80.157505,37.901098],[-79.964363,38.03179],[-79.915142,38.179427],[-79.818919,38.279203],[-79.743679,38.357221],[-79.647924,38.574726],[-79.647923,38.574726],[-79.647923,38.574728],[-79.515089,38.497446],[-79.36639,38.426027],[-79.222988,38.464632],[-79.174826,38.555658],[-79.076408,38.680017],[-79.007355,38.768127],[-78.965278,38.821817],[-78.965277,38.821816],[-78.965277,38.821817],[-78.892801,38.780039],[-78.744619,38.909151],[-78.629936,38.985707],[-78.548843,39.03984],[-78.51355,39.068071],[-78.424484,39.139318],[-78.362314,39.349171],[-78.345626,39.405502],[-78.345626,39.405502],[-78.345625,39.405504],[-77.881075,39.159017],[-77.834985,39.134562],[-77.722796,39.322432],[-77.69583,39.316201],[-77.576216,39.288561],[-77.443407,39.213423],[-77.443408,39.213421],[-77.443407,39.213421],[-77.500882,39.12948],[-77.516968,39.105986],[-77.305819,39.045679],[-77.119551,38.934008],[-77.11955,38.934007],[-77.03648,38.848276],[-77.041235,38.789545],[-77.041235,38.789545],[-77.059217,38.708593],[-77.09807,38.687121],[-77.229622,38.614413],[-77.343387,38.391611],[-77.210579,38.337118],[-77.048107,38.380503],[-77.002253,38.269618],[-76.989895,38.239733],[-76.301619,37.917948],[-76.258739,36.966402],[-75.9718,36.897261],[-75.868076,36.55118],[-75.868077,36.55118],[-75.868077,36.55118],[-75.993247,36.550562],[-76.941216,36.545885],[-77.999548,36.537436],[-79.992397,36.542189],[-81.679375,36.585573],[-82.069901,36.570483],[-82.186322,36.565985],[-83.673284,36.599859],[-83.384361,36.656496],[-83.330592,36.672661]]],[[[-75.377541,38.01538],[-75.940035,37.216875],[-76.031063,37.256563],[-75.72205,37.93705],[-75.72205,37.937052],[-75.60985,38.000032],[-75.377539,38.015383],[-75.377541,38.01538]]]]}},{"type":"Feature","properties":{"name":"Wisconsin"},"geometry":{"type":"Polygon","coordinates":[[[-91.228199,43.501247],[-91.254657,43.613979],[-91.257292,43.854739],[-91.28959,43.937293],[-91.627709,44.085449],[-91.879606,44.257428],[-91.949989,44.364838],[-92.062153,44.432585],[-92.385492,44.574928],[-92.505072,44.58392],[-92.796656,44.776027],[-92.766477,44.996143],[-92.765417,45.267082],[-92.689221,45.518436],[-92.899828,45.705763],[-92.756968,45.889912],[-92.5437,45.985695],[-92.296583,46.096282],[-92.264828,46.095223],[-92.274879,46.656145],[-92.011898,46.711723],[-91.964794,46.729706],[-91.840978,46.778385],[-91.716618,46.827607],[-91.592259,46.87626],[-91.468442,46.924966],[-91.264708,47.021265],[-91.060974,47.117047],[-90.857782,47.212829],[-90.654048,47.309128],[-90.47995,47.303857],[-90.305852,47.298018],[-90.131754,47.292747],[-89.957656,47.286907],[-90.01481,47.1996],[-90.071448,47.11175],[-90.128059,47.0239],[-90.185213,46.936076],[-90.241825,46.848226],[-90.298979,46.760919],[-90.35559,46.673069],[-90.395278,46.611677],[-90.410626,46.584185],[-90.39688,46.576253],[-90.334971,46.596872],[-90.333912,46.593694],[-90.176738,46.560879],[-90.096304,46.380994],[-89.22106,46.202116],[-88.644274,46.022204],[-88.361707,46.020628],[-88.166964,46.007916],[-88.111929,45.843352],[-87.875406,45.779842],[-87.787013,45.639618],[-87.847888,45.559183],[-87.893389,45.396713],[-87.673248,45.387747],[-87.747326,45.226878],[-87.613975,45.108875],[-87.612915,45.110451],[-87.459462,45.068128],[-87.419775,45.184012],[-87.244617,45.289846],[-87.115504,45.452291],[-86.942465,45.452291],[-86.774207,45.452291],[-86.481563,45.323177],[-86.2646,45.226878],[-86.401672,45.133214],[-86.536082,45.04167],[-86.714934,44.84641],[-86.822344,44.591335],[-86.918668,44.361685],[-87.032434,44.091288],[-87.083232,43.89019],[-87.141962,43.657878],[-87.14514,43.571088],[-87.155191,43.326632],[-87.113928,43.030294],[-87.079537,42.782118],[-87.039307,42.492652],[-87.489641,42.495313],[-87.806599,42.49689],[-87.806599,42.494254],[-88.576552,42.503246],[-89.620054,42.505364],[-90.640818,42.505364],[-90.738177,42.658275],[-91.064694,42.754083],[-91.129238,42.912833],[-91.169985,43.002233],[-91.173163,43.212324],[-91.083737,43.288004],[-91.21391,43.446754],[-91.228199,43.501247]]]}},{"type":"Feature","properties":{"name":"West Virginia"},"geometry":{"type":"Polygon","coordinates":[[[-81.972536,37.535952],[-82.167279,37.554478],[-82.267299,37.675659],[-82.413336,37.805315],[-82.461499,37.957167],[-82.580561,38.113281],[-82.569967,38.320194],[-82.58901,38.415433],[-82.340834,38.440832],[-82.210661,38.57948],[-82.194797,38.801198],[-82.05403,39.018161],[-81.91856,38.993796],[-81.905874,38.882149],[-81.816964,38.921836],[-81.785752,39.019221],[-81.745005,39.199649],[-81.522228,39.371628],[-81.401047,39.349407],[-81.266094,39.377442],[-81.150752,39.426147],[-80.878753,39.654221],[-80.861829,39.757393],[-80.764987,39.973297],[-80.661789,40.233643],[-80.615229,40.463835],[-80.657552,40.59083],[-80.51893,40.641111],[-80.51893,39.720883],[-79.477521,39.720883],[-79.485995,39.213421],[-79.332516,39.302847],[-79.16108,39.418214],[-78.963159,39.457902],[-78.829291,39.56265],[-78.534012,39.522446],[-78.425001,39.596524],[-78.232403,39.672204],[-77.923352,39.592829],[-77.801654,39.449944],[-77.722796,39.322432],[-77.834985,39.134562],[-77.881075,39.159017],[-78.345625,39.405504],[-78.345626,39.405502],[-78.345626,39.405502],[-78.362314,39.349171],[-78.424484,39.139318],[-78.51355,39.068071],[-78.548843,39.03984],[-78.629936,38.985707],[-78.744619,38.909151],[-78.892801,38.780039],[-78.965277,38.821817],[-78.965277,38.821816],[-78.965278,38.821817],[-79.007355,38.768127],[-79.076408,38.680017],[-79.174826,38.555658],[-79.222988,38.464632],[-79.36639,38.426027],[-79.515089,38.497446],[-79.647923,38.574728],[-79.647923,38.574726],[-79.647924,38.574726],[-79.743679,38.357221],[-79.818919,38.279203],[-79.915142,38.179427],[-79.964363,38.03179],[-80.157505,37.901098],[-80.292974,37.72806],[-80.292974,37.728059],[-80.292975,37.728059],[-80.276568,37.610574],[-80.285779,37.571673],[-80.298245,37.519029],[-80.456995,37.441774],[-80.596186,37.45606],[-80.596186,37.45606],[-80.596186,37.45606],[-80.602941,37.452077],[-80.720003,37.383043],[-80.833252,37.418493],[-80.84167,37.383765],[-80.85493,37.329065],[-80.915318,37.315532],[-81.228008,37.245455],[-81.348129,37.315836],[-81.348129,37.315836],[-81.34813,37.315836],[-81.433434,37.283199],[-81.663511,37.195173],[-81.815388,37.275606],[-81.838742,37.294355],[-81.928094,37.366092],[-81.972536,37.535952]]]}},{"type":"Feature","properties":{"name":"Delaware"},"geometry":{"type":"Polygon","coordinates":[[[-75.048385,38.448765],[-75.714624,38.449307],[-75.787642,39.723545],[-75.710903,39.802377],[-75.62096,39.847361],[-75.405573,39.795504],[-75.554272,39.691247],[-75.527813,39.498649],[-75.319867,38.959948],[-75.071835,38.782032],[-75.048385,38.448765]]]}},{"type":"Feature","properties":{"name":"District of Columbia"},"geometry":{"type":"Polygon","coordinates":[[[-77.041235,38.789545],[-77.041235,38.789545],[-77.03648,38.848276],[-77.11955,38.934007],[-77.0386,38.982169],[-76.911579,38.878454],[-77.041235,38.789545]]]}},{"type":"Feature","properties":{"name":"Maryland"},"geometry":{"type":"Polygon","coordinates":[[[-75.377541,38.01538],[-75.377539,38.015383],[-75.60985,38.000032],[-75.72205,37.937052],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989895,38.239733],[-77.002253,38.269618],[-77.048107,38.380503],[-77.210579,38.337118],[-77.343387,38.391611],[-77.229622,38.614413],[-77.09807,38.687121],[-77.059217,38.708593],[-77.041235,38.789545],[-76.911579,38.878454],[-77.0386,38.982169],[-77.11955,38.934007],[-77.119551,38.934008],[-77.305819,39.045679],[-77.516968,39.105986],[-77.500882,39.12948],[-77.443407,39.213421],[-77.443408,39.213421],[-77.443407,39.213423],[-77.576216,39.288561],[-77.69583,39.316201],[-77.722796,39.322432],[-77.801654,39.449944],[-77.923352,39.592829],[-78.232403,39.672204],[-78.425001,39.596524],[-78.534012,39.522446],[-78.829291,39.56265],[-78.963159,39.457902],[-79.16108,39.418214],[-79.332516,39.302847],[-79.485995,39.213421],[-79.477521,39.720883],[-78.549903,39.719824],[-78.232919,39.7214],[-77.523299,39.725663],[-76.668183,39.720883],[-75.787642,39.723545],[-75.714624,38.449307],[-75.048385,38.448765],[-75.05673,38.40412],[-75.377538,38.01538],[-75.377541,38.01538]]]}},{"type":"Feature","properties":{"name":"New Jersey"},"geometry":{"type":"Polygon","coordinates":[[[-75.527813,39.498649],[-75.554272,39.691247],[-75.405573,39.795504],[-75.200805,39.887049],[-75.12882,39.9495],[-74.891754,40.081791],[-74.763183,40.190777],[-75.078022,40.449547],[-75.095488,40.55538],[-75.203957,40.586619],[-75.199203,40.747461],[-75.082259,40.869702],[-75.135718,40.999875],[-74.975909,41.087725],[-74.801268,41.311561],[-74.679028,41.355486],[-73.912796,40.960187],[-73.952325,40.75075],[-74.256754,40.47337],[-73.96244,40.42763],[-74.178438,39.709256],[-74.906042,38.939303],[-74.980663,39.196497],[-75.200262,39.248354],[-75.527813,39.498649]]]}},{"type":"Feature","properties":{"name":"New York"},"geometry":{"type":"Polygon","coordinates":[[[-73.497937,42.054513],[-73.553489,41.289857],[-73.475174,41.204669],[-73.69268,41.10731],[-73.656687,40.98507],[-73.647887,40.954769],[-73.648269,40.954623],[-73.71,40.931102],[-72.241166,41.11948],[-71.944828,40.930034],[-73.345001,40.630001],[-73.98212,40.627882],[-73.952325,40.75075],[-73.912796,40.960187],[-74.679028,41.355486],[-74.840439,41.426386],[-75.010816,41.49571],[-75.075386,41.641231],[-75.048928,41.751302],[-75.16799,41.841787],[-75.385471,41.998961],[-76.743837,42.000537],[-78.200648,42.000021],[-79.760087,42.000021],[-79.760087,42.500068],[-79.77304,42.546122],[-79.773257,42.546894],[-78.939362,42.863611],[-78.919777,42.965207],[-79.01,43.27],[-79.171674,43.466339],[-79.00233,43.527188],[-78.845699,43.583283],[-78.72028,43.625089],[-76.820034,43.628784],[-76.69676,43.784899],[-76.586147,43.924063],[-76.5,44.018459],[-76.375,44.09631],[-75.318265,44.816231],[-74.866898,45.00038],[-73.347662,45.007253],[-73.368281,44.804604],[-73.407969,44.676007],[-73.384172,44.379152],[-73.329136,44.226732],[-73.429673,44.019846],[-73.338128,43.75844],[-73.401638,43.613436],[-73.383112,43.575351],[-73.23971,43.567935],[-73.282033,42.743489],[-73.497937,42.054513]]]}},{"type":"Feature","properties":{"name":"Pennsylvania"},"geometry":{"type":"Polygon","coordinates":[[[-80.51893,40.641111],[-80.516268,42.324394],[-80.516268,42.32491],[-80.247448,42.3662],[-79.77304,42.546122],[-79.760087,42.500068],[-79.760087,42.000021],[-78.200648,42.000021],[-76.743837,42.000537],[-75.385471,41.998961],[-75.16799,41.841787],[-75.048928,41.751302],[-75.075386,41.641231],[-75.010816,41.49571],[-74.840439,41.426386],[-74.679028,41.355486],[-74.801268,41.311561],[-74.975909,41.087725],[-75.135718,40.999875],[-75.082259,40.869702],[-75.199203,40.747461],[-75.203957,40.586619],[-75.095488,40.55538],[-75.078022,40.449547],[-74.763183,40.190777],[-74.891754,40.081791],[-75.12882,39.9495],[-75.200805,39.887049],[-75.405573,39.795504],[-75.62096,39.847361],[-75.710903,39.802377],[-75.787642,39.723545],[-76.668183,39.720883],[-77.523299,39.725663],[-78.232919,39.7214],[-78.549903,39.719824],[-79.477521,39.720883],[-80.51893,39.720883],[-80.51893,40.641111]]]}},{"type":"Feature","properties":{"name":"Maine"},"geometry":{"type":"Polygon","coordinates":[[[-70.645734,43.090083],[-70.751025,43.080032],[-70.797611,43.219739],[-70.98176,43.367896],[-70.944165,43.466339],[-71.08482,45.30524],[-70.660023,45.460223],[-70.304954,45.914795],[-70.00014,46.693171],[-69.237086,47.447776],[-68.904781,47.184795],[-68.234305,47.354629],[-67.790353,47.066249],[-67.791412,45.702585],[-67.137344,45.137452],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645734,43.090083]]]}},{"type":"Feature","properties":{"name":"Michigan"},"geometry":{"type":"Polygon","coordinates":[[[-89.957656,47.286907],[-89.842831,47.464726],[-89.728006,47.641976],[-89.613698,47.819252],[-89.522695,47.960535],[-89.490032,48.013406],[-89.488885,48.015263],[-89.272917,48.019808],[-89.18561,48.047326],[-88.378114,48.302918],[-87.494396,47.961595],[-87.208108,47.848372],[-86.921846,47.735123],[-86.672068,47.636162],[-86.495335,47.566838],[-86.428647,47.539838],[-86.234447,47.459946],[-86.040247,47.380054],[-85.846563,47.300136],[-85.652363,47.220219],[-85.458163,47.13981],[-85.263963,47.059893],[-85.07028,46.980001],[-84.87608,46.900083],[-84.826858,46.766732],[-84.779238,46.637102],[-84.543749,46.538684],[-84.543232,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.128374,46.483649],[-84.115144,46.370917],[-84.091851,46.275419],[-83.890765,46.116927],[-83.763228,46.108969],[-83.669048,46.122741],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-83.397049,45.729044],[-83.179052,45.632719],[-82.919223,45.51792],[-82.760473,45.44751],[-82.550925,45.347517],[-82.515475,45.204114],[-82.485296,45.083993],[-82.446667,44.915708],[-82.407523,44.743729],[-82.368352,44.572809],[-82.326546,44.391296],[-82.281044,44.192342],[-82.24084,44.015608],[-82.196373,43.822442],[-82.137642,43.571088],[-82.190559,43.474272],[-82.417031,43.017607],[-82.429743,42.980038],[-82.90018,42.430227],[-83.119779,42.079912],[-83.128771,42.068802],[-83.142,41.975681],[-83.462678,41.694148],[-83.839967,41.685156],[-84.295056,41.685156],[-84.806756,41.677741],[-84.807299,41.756056],[-85.748146,41.751302],[-86.824462,41.756056],[-86.824462,41.760836],[-86.918126,41.760836],[-87.221337,41.760836],[-87.175836,41.9439],[-87.130335,42.127015],[-87.084808,42.309562],[-87.039307,42.492652],[-87.079537,42.782118],[-87.113928,43.030294],[-87.155191,43.326632],[-87.14514,43.571088],[-87.141962,43.657878],[-87.083232,43.89019],[-87.032434,44.091288],[-86.918668,44.361685],[-86.822344,44.591335],[-86.714934,44.84641],[-86.536082,45.04167],[-86.401672,45.133214],[-86.2646,45.226878],[-86.481563,45.323177],[-86.774207,45.452291],[-86.942465,45.452291],[-87.115504,45.452291],[-87.244617,45.289846],[-87.419775,45.184012],[-87.459462,45.068128],[-87.612915,45.110451],[-87.613975,45.108875],[-87.747326,45.226878],[-87.673248,45.387747],[-87.893389,45.396713],[-87.847888,45.559183],[-87.787013,45.639618],[-87.875406,45.779842],[-88.111929,45.843352],[-88.166964,46.007916],[-88.361707,46.020628],[-88.644274,46.022204],[-89.22106,46.202116],[-90.096304,46.380994],[-90.176738,46.560879],[-90.333912,46.593694],[-90.334971,46.596872],[-90.39688,46.576253],[-90.410626,46.584185],[-90.395278,46.611677],[-90.35559,46.673069],[-90.298979,46.760919],[-90.241825,46.848226],[-90.185213,46.936076],[-90.128059,47.0239],[-90.071448,47.11175],[-90.01481,47.1996],[-89.957656,47.286907]]]}},{"type":"Feature","properties":{"name":"Alaska"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968]]],[[[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987],[-166.19277,59.754441],[-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]],[[[-140.985988,69.711998],[-140.985988,69.711998],[-140.992499,66.000029],[-140.99777,60.306397],[-140.012998,60.276838],[-139.039,60.000007],[-138.340878,59.562101],[-137.452508,58.904984],[-136.479725,59.463864],[-135.475833,59.787772],[-134.944987,59.270543],[-134.2711,58.86111],[-133.355549,58.410285],[-132.730421,57.692887],[-131.707822,56.552104],[-130.00777,55.915812],[-129.979994,55.284998],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998]]]]}}]} \ No newline at end of file diff --git a/crates/radar_gif/assets/geo/us_states_50m.json b/crates/radar_gif/assets/geo/us_states_50m.json new file mode 100644 index 00000000..e62bf36b --- /dev/null +++ b/crates/radar_gif/assets/geo/us_states_50m.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"Alaska"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-139.056519,60.001582],[-139.043445,59.993243],[-138.868754,59.945749],[-138.705456,59.901331],[-138.632257,59.778285],[-138.453636,59.683385],[-138.317625,59.611117],[-138.187451,59.541947],[-138.001134,59.442938],[-137.870572,59.373581],[-137.696626,59.281131],[-137.593299,59.226254],[-137.543696,59.119445],[-137.484161,58.991235],[-137.520877,58.915374],[-137.438579,58.903125],[-137.277558,58.988214],[-137.126199,59.040948],[-136.93931,59.106108],[-136.81327,59.150031],[-136.578739,59.152251],[-136.466728,59.279945],[-136.466344,59.459088],[-136.347845,59.456034],[-136.277983,59.480324],[-136.247133,59.532905],[-136.321829,59.604832],[-136.097164,59.638374],[-135.934644,59.662642],[-135.70259,59.728758],[-135.475937,59.793281],[-135.367854,59.743304],[-135.260781,59.695008],[-135.05103,59.578663],[-135.03666,59.550703],[-135.050843,59.496057],[-135.071311,59.441433],[-134.94377,59.288272],[-134.907241,59.271211],[-134.802409,59.249974],[-134.677225,59.199283],[-134.621981,59.155305],[-134.440756,59.085333],[-134.410214,59.056241],[-134.393059,59.009165],[-134.363527,58.968724],[-134.329651,58.939709],[-134.296994,58.898499],[-134.218519,58.849896],[-134.069204,58.795535],[-133.965745,58.757863],[-133.820742,58.705052],[-133.673926,58.597144],[-133.546392,58.503486],[-133.401103,58.410882],[-133.422576,58.337065],[-133.275299,58.222851],[-133.120424,58.077744],[-133.001409,57.948973],[-132.916842,57.87698],[-132.815532,57.772697],[-132.691507,57.645113],[-132.550481,57.499907],[-132.44248,57.406732],[-132.301663,57.276324],[-132.232158,57.19853],[-132.279415,57.145345],[-132.337989,57.07946],[-132.157017,57.048193],[-132.03152,57.02655],[-132.062913,56.95337],[-132.104282,56.856789],[-131.962509,56.818699],[-131.866159,56.792838],[-131.886,56.742114],[-131.833085,56.684809],[-131.824274,56.589986],[-131.651519,56.596083],[-131.575115,56.598819],[-131.471893,56.55673],[-131.3358,56.501228],[-131.199404,56.449218],[-131.082922,56.404822],[-130.930217,56.378598],[-130.741681,56.340827],[-130.649072,56.26367],[-130.477097,56.230568],[-130.413146,56.122518],[-130.214705,56.082835],[-130.097866,56.10929],[-130.055958,56.065235],[-130.022884,56.014511],[-130.014073,55.950538],[-130.025081,55.888212],[-130.07464,55.836027],[-130.111977,55.779799],[-130.137065,55.719385],[-130.146518,55.654489],[-130.140421,55.585034],[-130.120426,55.524411],[-130.059474,55.412307],[-130.039264,55.343598],[-130.036551,55.297917],[-130.171842,55.137],[-130.218506,55.060261],[-130.21409,55.025895],[-130.312533,54.945948],[-130.493242,54.834173],[-130.575331,54.769683],[-130.615794,54.79092],[-130.849605,54.807608],[-130.934612,54.950397],[-130.9797,55.061184],[-131.047859,55.157665],[-131.045898,55.179583],[-130.983935,55.243963],[-130.750388,55.296983],[-130.748218,55.318022],[-130.835059,55.332073],[-130.855961,55.355123],[-130.879812,55.459504],[-130.873401,55.55113],[-130.879653,55.611829],[-130.918566,55.735975],[-130.977014,55.811945],[-131.127675,55.960151],[-131.140364,55.997515],[-131.074012,56.044383],[-131.032769,56.088098],[-131.287586,56.012083],[-131.635265,55.932246],[-131.784201,55.876534],[-131.815463,55.85421],[-131.826158,55.835357],[-131.799055,55.782821],[-131.803295,55.765946],[-131.833601,55.734898],[-131.869411,55.64715],[-131.945013,55.554129],[-131.983411,55.535013],[-132.119009,55.569785],[-132.15544,55.599558],[-132.223423,55.721044],[-132.207532,55.753388],[-132.157972,55.780656],[-132.090692,55.839543],[-132.005735,55.93007],[-131.843835,56.160091],[-131.738026,56.161223],[-131.551346,56.206805],[-131.844247,56.229645],[-131.887912,56.241632],[-131.927292,56.272998],[-131.962328,56.323699],[-132.021934,56.38007],[-132.133275,56.399835],[-132.182027,56.420643],[-132.255591,56.48911],[-132.304991,56.51986],[-132.332018,56.557895],[-132.336671,56.603104],[-132.357654,56.6259],[-132.434443,56.634118],[-132.475939,56.649664],[-132.487128,56.766405],[-132.63952,56.79643],[-132.701944,56.82227],[-132.8022,56.895153],[-132.829869,56.930639],[-132.838812,56.960192],[-132.814263,57.0407],[-132.824601,57.055795],[-132.913409,57.047479],[-133.465851,57.172174],[-133.436655,57.336859],[-133.538948,57.554157],[-133.648713,57.642301],[-133.626954,57.676534],[-133.603389,57.694672],[-133.554219,57.695079],[-133.342348,57.631105],[-133.142825,57.555146],[-133.117062,57.566198],[-133.435726,57.727049],[-133.515465,57.775125],[-133.535202,57.832957],[-133.536444,57.863862],[-133.51112,57.880111],[-133.212045,57.865697],[-133.194318,57.877705],[-133.497404,57.92466],[-133.559361,57.924451],[-133.62574,57.856984],[-133.65726,57.840988],[-133.722321,57.844251],[-133.744129,57.854611],[-133.821363,57.936361],[-133.894482,57.993259],[-134.031092,58.072163],[-134.056723,58.128391],[-134.063337,58.211074],[-134.045248,58.289263],[-133.933627,58.467857],[-133.888517,58.498751],[-133.876734,58.518186],[-133.911149,58.515241],[-133.943861,58.498289],[-134.036157,58.415354],[-134.13121,58.279332],[-134.208829,58.232959],[-134.257641,58.244198],[-134.331458,58.299591],[-134.485454,58.367211],[-134.663608,58.384702],[-134.776135,58.45385],[-134.942507,58.646286],[-134.964776,58.742175],[-134.986123,58.765642],[-135.076452,58.796777],[-135.131851,58.842865],[-135.217374,59.076599],[-135.330313,59.239076],[-135.358449,59.324912],[-135.348946,59.410067],[-135.363668,59.419427],[-135.402532,59.35307],[-135.412733,59.318452],[-135.4841,59.308685],[-135.416951,59.241503],[-135.400153,59.207907],[-135.433744,59.210698],[-135.502315,59.202304],[-135.386146,59.087552],[-135.33406,58.909607],[-135.257012,58.77776],[-135.207091,58.670885],[-135.184558,58.589762],[-135.151928,58.512187],[-135.062038,58.340888],[-135.049711,58.306776],[-135.060484,58.278925],[-135.090251,58.245845],[-135.141535,58.233398],[-135.30254,58.255931],[-135.363151,58.298272],[-135.449943,58.376132],[-135.571793,58.412047],[-135.873455,58.394216],[-135.897537,58.400203],[-135.896351,58.463825],[-135.861727,58.57705],[-135.889556,58.622731],[-136.04549,58.78913],[-136.043112,58.821628],[-135.826379,58.897961],[-135.931694,58.90374],[-136.016602,58.873978],[-136.049368,58.893204],[-136.100631,58.999859],[-136.133699,59.039553],[-136.150031,59.048078],[-136.159484,58.946795],[-136.123521,58.893457],[-136.118407,58.862607],[-136.124191,58.819617],[-136.146828,58.788812],[-136.186308,58.77019],[-136.225842,58.765455],[-136.299011,58.7869],[-136.380249,58.827286],[-136.451149,58.846336],[-136.477605,58.862508],[-136.511168,58.907102],[-136.566209,58.940896],[-136.830969,58.983819],[-136.988996,59.034488],[-137.002125,59.021151],[-136.952824,58.966944],[-136.948072,58.934908],[-136.987909,58.925141],[-137.059018,58.873714],[-137.038402,58.866639],[-136.963057,58.883536],[-136.879078,58.881525],[-136.740123,58.850203],[-136.613928,58.809279],[-136.568198,58.78634],[-136.549334,58.752381],[-136.533525,58.740241],[-136.410116,58.700658],[-136.404172,58.679773],[-136.483757,58.617667],[-136.31989,58.624489],[-136.2246,58.602264],[-136.102905,58.506298],[-136.061486,58.452707],[-136.055982,58.384163],[-136.081251,58.36419],[-136.129618,58.350391],[-136.462388,58.327968],[-136.582612,58.245208],[-136.607419,58.243989],[-136.698913,58.266467],[-136.864999,58.332407],[-137.071937,58.395194],[-137.544004,58.581181],[-137.556923,58.589959],[-137.564625,58.625885],[-137.597073,58.644221],[-137.661101,58.659931],[-137.749986,58.707063],[-137.863695,58.78556],[-137.934007,58.846875],[-137.96088,58.891007],[-138.026919,58.941467],[-138.240704,59.046837],[-138.352479,59.087299],[-138.451337,59.110085],[-138.53717,59.115095],[-138.560321,59.129157],[-138.520685,59.152251],[-138.514898,59.165896],[-138.704215,59.18755],[-138.884333,59.2369],[-139.340971,59.375658],[-139.576823,59.462439],[-139.714463,59.503967],[-139.773272,59.527302],[-139.799109,59.546264],[-139.766063,59.566084],[-139.674104,59.586804],[-139.611628,59.610315],[-139.513056,59.698117],[-139.505588,59.72633],[-139.558503,59.790205],[-139.582173,59.848311],[-139.581138,59.880534],[-139.569149,59.912362],[-139.554112,59.933324],[-139.512306,59.953549],[-139.483005,59.963778],[-139.446882,59.956856],[-139.330974,59.877019],[-139.314643,59.847927],[-139.320018,59.738734],[-139.286713,59.610941],[-139.276248,59.620345],[-139.265602,59.662609],[-139.25873,59.743326],[-139.245706,59.782086],[-139.2208,59.819868],[-139.178863,59.839863],[-139.048304,59.828239],[-138.988074,59.835007],[-139.242504,59.892784],[-139.402492,60.000988],[-139.431433,60.012249],[-139.51892,60.017116],[-139.611653,59.973446],[-139.850193,59.830711],[-139.91688,59.805673],[-140.216733,59.726638],[-140.419848,59.710719],[-140.648386,59.723177],[-140.843154,59.748863],[-141.331911,59.873767],[-141.408288,59.902804],[-141.294626,59.980005],[-141.289949,60.004141],[-141.32956,60.082815],[-141.362167,60.105293],[-141.408727,60.117674],[-141.421697,60.108841],[-141.422164,60.085506],[-141.409708,60.042275],[-141.447073,60.019434],[-141.530192,59.994792],[-141.670158,59.969875],[-142.104113,60.033442],[-142.548606,60.086045],[-142.945635,60.096954],[-143.506119,60.055041],[-143.805068,60.012898],[-143.979501,60.008789],[-144.147215,60.016391],[-144.160937,60.045824],[-144.084299,60.063028],[-144.088537,60.084342],[-144.185484,60.150743],[-144.332632,60.191008],[-144.529985,60.205235],[-144.642949,60.224648],[-144.671576,60.249246],[-144.741392,60.272702],[-144.85242,60.295081],[-144.901331,60.335182],[-144.862469,60.459206],[-144.824437,60.533617],[-144.786557,60.584626],[-144.691138,60.669111],[-144.724415,60.66286],[-144.86309,60.600897],[-144.984014,60.536923],[-145.096022,60.45368],[-145.162709,60.415382],[-145.248287,60.380138],[-145.381766,60.388564],[-145.56315,60.440705],[-145.718439,60.467578],[-145.847732,60.469226],[-145.898892,60.478169],[-145.810628,60.524674],[-145.759833,60.561983],[-145.690223,60.62198],[-145.674928,60.651126],[-146.149032,60.660695],[-146.16642,60.692292],[-146.167093,60.71555],[-146.182337,60.734743],[-146.251042,60.749058],[-146.347187,60.738127],[-146.502989,60.700796],[-146.570478,60.729162],[-146.546399,60.745125],[-146.495524,60.756804],[-146.391989,60.810868],[-146.53193,60.838872],[-146.603552,60.870963],[-146.638434,60.897319],[-146.636056,60.992527],[-146.599109,61.053534],[-146.284889,61.112651],[-146.384392,61.135854],[-146.582728,61.127845],[-146.715896,61.077539],[-146.874028,61.004908],[-146.980169,60.977805],[-147.034326,60.996174],[-147.105952,61.002535],[-147.19504,60.996844],[-147.254907,60.978299],[-147.285603,60.946768],[-147.321081,60.92551],[-147.361387,60.914502],[-147.390558,60.918039],[-147.433424,60.950284],[-147.523289,60.970334],[-147.567265,60.994933],[-147.592588,60.979431],[-147.623284,60.933025],[-147.655686,60.909514],[-147.807613,60.885377],[-147.891123,60.88987],[-147.990755,60.948274],[-148.00512,60.968576],[-147.971169,61.019069],[-147.751855,61.218955],[-147.773791,61.217812],[-147.844821,61.186391],[-147.986363,61.106499],[-148.049408,61.08268],[-148.157928,61.079681],[-148.208674,61.088261],[-148.270014,61.081801],[-148.34187,61.060411],[-148.388792,61.036944],[-148.410754,61.011467],[-148.395846,61.007127],[-148.287378,61.036252],[-148.225882,61.044052],[-148.208674,61.029924],[-148.29314,60.939693],[-148.344427,60.853549],[-148.393313,60.831895],[-148.471061,60.83551],[-148.556147,60.826985],[-148.557386,60.802902],[-148.398688,60.734018],[-148.341277,60.724328],[-148.267896,60.699708],[-148.256734,60.675318],[-148.284252,60.609323],[-148.305,60.58333],[-148.338434,60.569839],[-148.467779,60.572069],[-148.509587,60.565246],[-148.596635,60.523795],[-148.640121,60.48943],[-148.624282,60.486441],[-148.549143,60.514808],[-148.439824,60.530002],[-148.29637,60.532068],[-148.189476,60.547108],[-148.119196,60.575167],[-148.050699,60.567213],[-147.984012,60.523333],[-147.964088,60.484892],[-147.990961,60.451867],[-148.045997,60.428302],[-148.129196,60.414217],[-148.1817,60.393057],[-148.203557,60.364922],[-148.215857,60.32314],[-148.218647,60.267692],[-148.197617,60.167772],[-148.213764,60.154259],[-148.245003,60.146821],[-148.291357,60.145481],[-148.333111,60.122014],[-148.430703,59.989134],[-148.465092,59.974687],[-148.506071,59.988947],[-148.542401,59.987398],[-148.574077,59.970084],[-148.643582,59.956856],[-148.750863,59.94776],[-148.842745,59.95122],[-149.004258,59.979983],[-149.070121,60.000241],[-149.121589,60.033519],[-149.266595,59.998275],[-149.304937,60.013645],[-149.395269,60.105732],[-149.414852,60.100261],[-149.432216,60.001043],[-149.45971,59.966261],[-149.54916,59.894333],[-149.598047,59.770462],[-149.612878,59.766848],[-149.629621,59.784668],[-149.684657,59.895311],[-149.713854,59.919602],[-149.794779,59.855826],[-149.803667,59.832733],[-149.782455,59.750335],[-149.801291,59.737954],[-149.965001,59.782295],[-150.00531,59.784415],[-150.015953,59.776977],[-149.960142,59.713048],[-149.966525,59.690053],[-150.198062,59.566545],[-150.258471,59.570962],[-150.296505,59.583266],[-150.338157,59.581322],[-150.48533,59.535278],[-150.526001,59.537299],[-150.581554,59.564578],[-150.607391,59.563392],[-150.621162,59.535069],[-150.622893,59.479621],[-150.677464,59.426964],[-150.852776,59.341853],[-150.899311,59.302686],[-150.934503,59.249095],[-150.960755,59.243986],[-151.06359,59.278396],[-151.182756,59.300775],[-151.199241,59.289668],[-151.163016,59.25695],[-151.170715,59.2369],[-151.222287,59.229408],[-151.287505,59.232297],[-151.366362,59.245579],[-151.477003,59.23055],[-151.619369,59.187297],[-151.7382,59.188527],[-151.903849,59.259763],[-151.949505,59.265069],[-151.964051,59.285119],[-151.931702,59.342732],[-151.884626,59.386347],[-151.84995,59.406353],[-151.692596,59.462186],[-151.512711,59.482697],[-151.39959,59.516316],[-151.262132,59.585617],[-151.189422,59.637681],[-151.046484,59.771803],[-151.057339,59.782163],[-151.08943,59.789425],[-151.403672,59.662247],[-151.450105,59.650415],[-151.512607,59.651294],[-151.763831,59.700029],[-151.816928,59.720903],[-151.853205,59.782086],[-151.783469,59.921151],[-151.734506,59.988332],[-151.611876,60.092043],[-151.451473,60.202653],[-151.395973,60.27446],[-151.312672,60.466435],[-151.317528,60.553568],[-151.355046,60.65986],[-151.356466,60.722966],[-151.321791,60.742906],[-150.953779,60.841201],[-150.779472,60.914809],[-150.44125,61.023563],[-150.349138,61.022629],[-150.281492,60.985221],[-150.202789,60.95525],[-150.113053,60.932816],[-149.997556,60.935145],[-149.856275,60.96227],[-149.632464,60.951987],[-149.172826,60.880422],[-149.075081,60.876412],[-149.07131,60.885531],[-149.142235,60.935683],[-149.459114,60.964753],[-149.59249,60.993823],[-149.967739,61.121748],[-150.053265,61.171098],[-150.018537,61.194246],[-149.92676,61.213264],[-149.89529,61.23171],[-149.882008,61.263702],[-149.829196,61.307527],[-149.7369,61.363337],[-149.595978,61.41728],[-149.329071,61.497381],[-149.433535,61.500798],[-149.625436,61.48601],[-149.695251,61.470717],[-149.823744,61.413358],[-149.873688,61.372994],[-149.945209,61.294244],[-149.975699,61.279358],[-150.108919,61.26791],[-150.471792,61.259978],[-150.533208,61.300243],[-150.567239,61.306801],[-150.61225,61.301143],[-150.945484,61.198224],[-151.064985,61.145731],[-151.150148,61.085833],[-151.281872,61.041954],[-151.46013,61.014104],[-151.593507,60.97964],[-151.733962,60.910722],[-151.781659,60.857944],[-151.784425,60.833137],[-151.750474,60.75487],[-151.785123,60.740225],[-151.866177,60.734073],[-151.996219,60.68224],[-152.270726,60.528112],[-152.306589,60.472225],[-152.305064,60.452999],[-152.260314,60.409438],[-152.291526,60.381126],[-152.368834,60.336346],[-152.540916,60.265418],[-152.653932,60.238447],[-152.727313,60.237074],[-152.797903,60.247181],[-152.923372,60.292862],[-153.02502,60.295653],[-153.031274,60.289237],[-152.892937,60.24038],[-152.752375,60.177495],[-152.664759,60.125266],[-152.630109,60.08377],[-152.628559,60.041088],[-152.660107,59.99722],[-152.759456,59.920887],[-152.856919,59.898101],[-153.10605,59.875052],[-153.186355,59.856859],[-153.211211,59.842708],[-153.040085,59.810507],[-153.024633,59.793995],[-153.048147,59.730055],[-153.093622,59.709126],[-153.236172,59.670937],[-153.363993,59.659874],[-153.383474,59.667213],[-153.359625,59.717497],[-153.366448,59.729846],[-153.414403,59.740129],[-153.482615,59.720958],[-153.652529,59.647009],[-153.670717,59.634814],[-153.609378,59.615017],[-153.62227,59.598482],[-153.714333,59.545254],[-153.752598,59.509856],[-153.814146,59.473733],[-154.088316,59.363298],[-154.067488,59.336381],[-154.138803,59.240152],[-154.178335,59.15559],[-154.129811,59.119852],[-153.89954,59.078049],[-153.787919,59.06792],[-153.656377,59.038674],[-153.418279,58.959968],[-153.338955,58.908552],[-153.32707,58.884316],[-153.334409,58.857883],[-153.362932,58.822199],[-153.437606,58.754842],[-153.617337,58.654713],[-153.698573,58.626346],[-153.82151,58.604121],[-153.861948,58.58785],[-154.019896,58.492972],[-154.062451,58.441754],[-154.055733,58.39716],[-154.085888,58.365838],[-154.289028,58.304348],[-154.28179,58.293449],[-154.20805,58.288791],[-154.235129,58.234639],[-154.247013,58.159427],[-154.282282,58.146782],[-154.409226,58.147309],[-154.570585,58.118053],[-154.581953,58.109791],[-154.584925,58.055683],[-155.006863,58.016044],[-155.099261,57.913311],[-155.147373,57.881814],[-155.312736,57.807117],[-155.41397,57.777037],[-155.529623,57.758898],[-155.59024,57.733608],[-155.595846,57.701077],[-155.628687,57.673073],[-155.72894,57.626612],[-155.77798,57.56822],[-155.813688,57.559024],[-156.00019,57.544962],[-156.037343,57.526516],[-156.055379,57.447579],[-156.089898,57.445074],[-156.155992,57.463443],[-156.242188,57.449205],[-156.435872,57.359963],[-156.478402,57.327872],[-156.4737,57.310711],[-156.443573,57.29366],[-156.397631,57.240585],[-156.400498,57.204825],[-156.475145,57.105201],[-156.50132,57.089798],[-156.59204,57.065101],[-156.628987,57.009982],[-156.71265,57.016058],[-156.779881,57.005621],[-156.823859,56.968828],[-156.87171,56.947635],[-156.923439,56.942076],[-156.988448,56.912929],[-157.066687,56.860195],[-157.139137,56.826555],[-157.205774,56.812064],[-157.270577,56.808493],[-157.333567,56.815887],[-157.390232,56.809812],[-157.440566,56.790333],[-157.489658,56.759736],[-157.528726,56.673186],[-157.578387,56.634448],[-157.609753,56.627702],[-157.673885,56.633448],[-157.770724,56.651685],[-157.86909,56.645225],[-158.027868,56.59215],[-158.078303,56.552028],[-157.978259,56.543162],[-157.928702,56.531693],[-157.929993,56.520476],[-157.982186,56.509577],[-158.070964,56.510346],[-158.124374,56.501052],[-158.189383,56.478156],[-158.3525,56.453503],[-158.414408,56.435837],[-158.537397,56.335422],[-158.552152,56.312713],[-158.536364,56.30767],[-158.467323,56.318272],[-158.38614,56.301573],[-158.343974,56.280336],[-158.316997,56.254134],[-158.291416,56.203652],[-158.275656,56.196258],[-158.431849,56.111455],[-158.47611,56.075496],[-158.504688,56.062104],[-158.523343,56.072442],[-158.542668,56.166826],[-158.55445,56.182855],[-158.591167,56.184525],[-158.626746,56.154708],[-158.704881,56.04312],[-158.789863,55.986914],[-159.429435,55.84274],[-159.52323,55.810001],[-159.541314,55.748488],[-159.567621,55.695205],[-159.610072,55.652808],[-159.659653,55.625903],[-159.670274,55.64503],[-159.665339,55.794894],[-159.678489,55.824656],[-159.743034,55.843773],[-159.771379,55.841114],[-159.810421,55.83272],[-159.87437,55.800289],[-159.913542,55.792203],[-159.962299,55.794894],[-160.045652,55.762924],[-160.243804,55.660532],[-160.373204,55.635109],[-160.407413,55.613818],[-160.462682,55.557799],[-160.499319,55.537287],[-160.553501,55.535496],[-160.625231,55.552371],[-160.682898,55.540429],[-160.726514,55.499659],[-160.770827,55.483542],[-160.896736,55.513612],[-160.952184,55.493045],[-161.024221,55.440443],[-161.099516,55.405715],[-161.178013,55.388873],[-161.381926,55.371295],[-161.46386,55.382512],[-161.480526,55.397805],[-161.476701,55.464887],[-161.44381,55.513304],[-161.413346,55.536144],[-161.372728,55.556304],[-161.3133,55.558622],[-161.202092,55.543538],[-161.214702,55.559765],[-161.255113,55.57898],[-161.357458,55.612192],[-161.45877,55.629133],[-161.516958,55.61841],[-161.598761,55.592834],[-161.654313,55.563358],[-161.683563,55.529948],[-161.720382,55.420722],[-161.741569,55.391136],[-161.980339,55.198644],[-162.073977,55.139318],[-162.166582,55.143768],[-162.211489,55.121334],[-162.274637,55.073225],[-162.332928,55.05023],[-162.386361,55.052351],[-162.42791,55.061502],[-162.457495,55.077696],[-162.452378,55.092813],[-162.412536,55.106865],[-162.426824,55.145416],[-162.495244,55.208466],[-162.541882,55.242722],[-162.630378,55.246655],[-162.64415,55.218002],[-162.614307,55.071467],[-162.618906,55.038453],[-162.674354,54.996595],[-162.819566,54.94998],[-162.865041,54.954528],[-162.995885,55.046462],[-163.119624,55.064699],[-163.127815,55.034783],[-163.10022,54.973644],[-163.131123,54.916548],[-163.220575,54.863375],[-163.288632,54.837579],[-163.335296,54.839183],[-163.33788,54.876393],[-163.296333,54.949255],[-163.285687,55.009976],[-163.305944,55.058547],[-163.303644,55.095867],[-163.278813,55.121828],[-163.114483,55.193942],[-163.045339,55.20472],[-163.008235,55.186867],[-162.961986,55.183813],[-162.906588,55.195546],[-162.871604,55.218596],[-162.857133,55.253005],[-162.786235,55.297093],[-162.658981,55.350783],[-162.513356,55.450001],[-162.349362,55.594746],[-162.157124,55.71944],[-161.936622,55.824195],[-161.697334,55.907208],[-161.21563,56.021411],[-161.178606,56.014467],[-161.222582,55.977432],[-161.192507,55.954306],[-161.145145,55.95134],[-160.968644,55.96961],[-160.898647,55.993637],[-160.877823,55.970489],[-160.902369,55.941287],[-161.008409,55.911734],[-161.005385,55.887158],[-160.851313,55.771889],[-160.802841,55.754432],[-160.762584,55.756596],[-160.745506,55.771483],[-160.758399,55.854627],[-160.706334,55.870436],[-160.599726,55.874315],[-160.530248,55.86346],[-160.497899,55.837884],[-160.436919,55.816691],[-160.347315,55.799926],[-160.291708,55.805068],[-160.270109,55.832204],[-160.308506,55.864471],[-160.479865,55.935454],[-160.527458,55.965062],[-160.539059,56.006293],[-160.514719,56.059116],[-160.460848,56.137503],[-160.377492,56.241478],[-160.302046,56.31413],[-160.149289,56.396352],[-160.046246,56.437023],[-159.785073,56.561608],[-159.283089,56.688577],[-159.159039,56.770074],[-158.990393,56.860041],[-158.918021,56.882156],[-158.918021,56.84744],[-158.894895,56.816425],[-158.782087,56.79576],[-158.708836,56.788575],[-158.675168,56.794881],[-158.665918,56.827928],[-158.681032,56.887738],[-158.684803,56.944229],[-158.677234,56.99737],[-158.660801,57.039415],[-158.585613,57.114089],[-158.473734,57.19909],[-158.320925,57.297901],[-158.224498,57.342648],[-158.133548,57.366423],[-158.045696,57.409467],[-157.894337,57.511376],[-157.845761,57.528065],[-157.737188,57.54817],[-157.697396,57.539282],[-157.674039,57.513695],[-157.645541,57.497808],[-157.535287,57.483471],[-157.46191,57.506202],[-157.473896,57.518199],[-157.53348,57.525889],[-157.571616,57.540677],[-157.607583,57.601442],[-157.68068,57.638082],[-157.697215,57.679423],[-157.683987,57.743913],[-157.621173,57.895228],[-157.610865,58.050827],[-157.55503,58.13997],[-157.442683,58.172182],[-157.193706,58.194177],[-157.339385,58.23453],[-157.393591,58.234815],[-157.488392,58.253701],[-157.524438,58.350754],[-157.523609,58.421341],[-157.460899,58.503013],[-157.228846,58.640914],[-156.974649,58.736341],[-157.009042,58.744163],[-157.040485,58.772541],[-156.923233,58.963692],[-156.808899,59.134277],[-156.963361,58.988851],[-157.142032,58.877647],[-157.66572,58.748503],[-158.021927,58.640189],[-158.190935,58.61425],[-158.302578,58.641793],[-158.389628,58.745669],[-158.439314,58.782616],[-158.503188,58.850357],[-158.476266,58.938369],[-158.425622,58.999288],[-158.314493,59.009318],[-158.189226,58.979941],[-158.080528,58.977436],[-158.220595,59.037487],[-158.422807,59.089826],[-158.514427,59.07283],[-158.584476,58.987796],[-158.678266,58.929371],[-158.760587,58.950124],[-158.809473,58.973866],[-158.77555,58.902553],[-158.837741,58.793953],[-158.861381,58.718763],[-158.772112,58.520328],[-158.788624,58.440952],[-158.950705,58.404554],[-159.082687,58.469769],[-159.358227,58.721279],[-159.454214,58.792899],[-159.670274,58.911134],[-159.741433,58.894292],[-159.832202,58.835965],[-159.920208,58.81987],[-160.152596,58.905915],[-160.260809,58.971547],[-160.363124,59.051176],[-160.519913,59.007308],[-160.656649,58.955057],[-160.817079,58.871704],[-160.924278,58.872429],[-161.215916,58.800963],[-161.246845,58.799458],[-161.287875,58.760961],[-161.328106,58.743702],[-161.361334,58.669544],[-161.755444,58.612031],[-162.14493,58.644221],[-162.008684,58.685002],[-161.856471,58.717093],[-161.724387,58.794294],[-161.780534,58.897412],[-161.790274,58.94997],[-161.788672,59.016394],[-161.644391,59.109679],[-161.79446,59.10947],[-161.89076,59.076082],[-161.981037,59.146153],[-162.02331,59.283977],[-161.920137,59.365473],[-161.872232,59.42826],[-161.831693,59.514503],[-161.828695,59.588617],[-161.908638,59.714135],[-162.138135,59.980037],[-162.242495,60.178319],[-162.421347,60.283974],[-162.287789,60.456877],[-162.138883,60.614333],[-161.946595,60.684821],[-161.961995,60.695335],[-162.068267,60.694874],[-162.13803,60.685547],[-162.199913,60.634306],[-162.265025,60.595217],[-162.468708,60.394683],[-162.599683,60.296993],[-162.684974,60.268956],[-162.547721,60.231053],[-162.526948,60.199116],[-162.500488,60.126562],[-162.535654,60.038408],[-162.570743,59.989727],[-162.73262,59.99365],[-162.877856,59.922755],[-163.219386,59.845598],[-163.680391,59.801521],[-163.906889,59.806794],[-164.142844,59.896761],[-164.141113,59.948902],[-164.131527,59.994221],[-164.470498,60.149304],[-164.66227,60.303816],[-164.799961,60.307221],[-164.919747,60.348464],[-165.061134,60.412536],[-165.048732,60.464238],[-165.02651,60.500647],[-165.113275,60.526069],[-165.224509,60.523564],[-165.353829,60.541219],[-165.015995,60.740017],[-164.8998,60.873127],[-164.805155,60.892046],[-164.682372,60.871534],[-164.512924,60.81903],[-164.370065,60.795904],[-164.318517,60.771273],[-164.265652,60.724669],[-164.321412,60.646633],[-164.372339,60.591855],[-164.309681,60.60672],[-164.131836,60.69149],[-163.99957,60.766054],[-163.936138,60.758309],[-163.894925,60.74518],[-163.82139,60.668287],[-163.73,60.589976],[-163.528695,60.664563],[-163.420949,60.75743],[-163.511875,60.798145],[-163.62303,60.822227],[-163.906527,60.853802],[-163.837306,60.880422],[-163.655432,60.877478],[-163.586909,60.902977],[-163.65892,60.938221],[-163.749017,60.969719],[-163.99461,60.864712],[-164.44156,60.869985],[-164.75397,60.931322],[-165.065604,60.920676],[-165.114825,60.932816],[-165.175468,60.965687],[-164.999923,61.043668],[-164.875564,61.086767],[-164.868975,61.11175],[-164.941193,61.11487],[-165.077076,61.094205],[-165.137718,61.130119],[-165.12777,61.192445],[-165.150043,61.186864],[-165.203761,61.152828],[-165.279803,61.169648],[-165.344889,61.197707],[-165.310809,61.227634],[-165.243939,61.268767],[-165.273653,61.274864],[-165.333676,61.26613],[-165.392043,61.212308],[-165.37928,61.168769],[-165.380778,61.106301],[-165.480463,61.094875],[-165.565883,61.102368],[-165.627585,61.16521],[-165.69138,61.299924],[-165.863953,61.335684],[-165.906276,61.4038],[-165.797109,61.491185],[-165.845324,61.53624],[-165.961311,61.550874],[-166.09399,61.506742],[-166.15272,61.545963],[-166.163521,61.589007],[-166.168094,61.650816],[-166.131172,61.65732],[-166.100502,61.64507],[-165.834575,61.679392],[-165.808918,61.69608],[-166.019938,61.748276],[-166.078823,61.803098],[-165.991387,61.834189],[-165.833852,61.836793],[-165.612805,61.869301],[-165.705798,61.92743],[-165.725253,61.959367],[-165.743934,62.011695],[-165.70727,62.100443],[-165.447648,62.303899],[-165.194511,62.473528],[-165.115601,62.512672],[-164.999716,62.53381],[-164.891867,62.517583],[-164.779214,62.481152],[-164.757871,62.496731],[-164.796111,62.511639],[-164.844402,62.58104],[-164.687978,62.608275],[-164.596305,62.686695],[-164.589432,62.709349],[-164.688986,62.676764],[-164.792701,62.623205],[-164.818668,62.677049],[-164.84541,62.800975],[-164.799651,62.918067],[-164.764072,62.970626],[-164.677462,63.020471],[-164.428123,63.040444],[-164.38425,63.030468],[-164.375077,63.053979],[-164.525197,63.127621],[-164.463289,63.185211],[-164.409055,63.215061],[-164.1076,63.26172],[-163.942856,63.247196],[-163.736228,63.192813],[-163.616312,63.125171],[-163.633753,63.09041],[-163.663571,63.070316],[-163.725737,63.047783],[-163.748991,63.030337],[-163.737855,63.016417],[-163.649359,63.05677],[-163.504356,63.105868],[-163.423172,63.084521],[-163.358835,63.045761],[-163.287857,63.046432],[-163.062237,63.07972],[-162.947723,63.115008],[-162.807757,63.206579],[-162.621489,63.265807],[-162.3598,63.452585],[-162.282803,63.529193],[-162.193298,63.540981],[-162.112476,63.534181],[-162.056227,63.471317],[-161.973984,63.452948],[-161.505433,63.468164],[-161.266016,63.496981],[-161.099722,63.557933],[-160.926709,63.660556],[-160.826508,63.729342],[-160.778553,63.818946],[-160.840461,63.934907],[-160.90397,64.03118],[-160.987532,64.251269],[-161.220102,64.396564],[-161.385674,64.439938],[-161.490706,64.433763],[-161.414612,64.526367],[-161.193048,64.516424],[-161.048795,64.534464],[-160.931952,64.579112],[-160.893714,64.612906],[-160.836017,64.681944],[-160.855911,64.755608],[-160.886969,64.795554],[-160.967482,64.839554],[-161.063239,64.904],[-161.130184,64.925445],[-161.186901,64.92405],[-161.466366,64.794862],[-161.634005,64.792478],[-161.759371,64.816252],[-161.868331,64.742666],[-162.172266,64.678066],[-162.334633,64.612851],[-162.635726,64.450847],[-162.71107,64.377513],[-162.807008,64.374206],[-162.876435,64.516424],[-163.203883,64.652018],[-163.302843,64.605897],[-163.248299,64.563292],[-163.174092,64.532959],[-163.051748,64.519731],[-163.104508,64.478598],[-163.144352,64.423821],[-163.267057,64.475182],[-163.486191,64.549812],[-163.713103,64.588253],[-164.303971,64.583913],[-164.691828,64.507438],[-164.727484,64.523302],[-164.764924,64.529652],[-164.82952,64.511382],[-164.85727,64.480301],[-164.899491,64.460669],[-164.978761,64.453659],[-165.138158,64.465217],[-165.446174,64.512854],[-166.142774,64.582782],[-166.325114,64.625716],[-166.481383,64.728087],[-166.478101,64.797543],[-166.408674,64.826953],[-166.415237,64.926533],[-166.550862,64.952988],[-166.826943,65.096074],[-166.92841,65.157059],[-166.906396,65.163827],[-166.856786,65.147292],[-166.762529,65.134911],[-166.531018,65.15473],[-166.451643,65.247334],[-166.279665,65.273789],[-166.121482,65.260715],[-166.157037,65.28583],[-166.197395,65.305572],[-166.609385,65.352759],[-166.665377,65.33829],[-167.403988,65.422104],[-167.987234,65.567783],[-168.035009,65.595611],[-168.088364,65.65775],[-168.009687,65.719142],[-167.930571,65.748157],[-167.926979,65.714341],[-167.91437,65.681184],[-167.58005,65.758308],[-167.405306,65.859338],[-167.074215,65.877059],[-166.997217,65.904942],[-166.894458,65.959182],[-166.747671,66.05183],[-166.540113,66.100642],[-166.398726,66.144433],[-166.214577,66.170273],[-166.057404,66.127229],[-166.008931,66.12134],[-165.723677,66.112551],[-165.629911,66.131206],[-165.589991,66.145115],[-165.560225,66.167076],[-165.840259,66.245057],[-165.811863,66.288464],[-165.776154,66.31905],[-165.449404,66.409896],[-165.198309,66.439922],[-165.06395,66.437834],[-164.674129,66.555004],[-164.460499,66.588446],[-164.058276,66.61077],[-163.727675,66.61645],[-163.638223,66.574669],[-163.815706,66.58348],[-163.89397,66.575889],[-163.838237,66.561573],[-163.775477,66.531108],[-163.793718,66.492634],[-163.902859,66.378376],[-163.89397,66.286915],[-163.964973,66.257296],[-164.033754,66.215548],[-163.695378,66.083822],[-163.171456,66.07545],[-162.886486,66.099225],[-162.721768,66.059795],[-162.586866,66.050852],[-162.214279,66.071056],[-161.933676,66.042898],[-161.816319,66.053642],[-161.556852,66.250528],[-161.455411,66.281411],[-161.345081,66.247167],[-161.201084,66.219371],[-161.109231,66.23952],[-161.034301,66.188807],[-161.069542,66.294639],[-161.120291,66.334321],[-161.544424,66.407029],[-161.828153,66.370829],[-161.916907,66.411841],[-161.88758,66.493074],[-162.191179,66.693135],[-162.317735,66.733707],[-162.467442,66.735641],[-162.543639,66.805118],[-162.607433,66.894393],[-162.478319,66.930802],[-162.361609,66.947314],[-162.253553,66.918629],[-162.131416,66.80135],[-162.01765,66.784112],[-162.050723,66.667273],[-161.909596,66.559607],[-161.591036,66.45951],[-161.335935,66.496359],[-161.155791,66.495293],[-161.048122,66.474232],[-160.784494,66.384375],[-160.650549,66.373103],[-160.231711,66.420289],[-160.227322,66.50852],[-160.262564,66.57245],[-160.360878,66.612528],[-160.643781,66.60498],[-160.864024,66.670865],[-161.051456,66.652782],[-161.39805,66.55185],[-161.571734,66.591599],[-161.680901,66.64552],[-161.856679,66.70032],[-161.878745,66.803932],[-161.731311,66.922793],[-161.622196,66.979318],[-161.719943,67.02056],[-161.965431,67.049553],[-162.391529,67.01989],[-162.41158,67.060298],[-162.409409,67.103968],[-162.583119,67.018495],[-162.761403,67.036424],[-163.001698,67.027284],[-163.531822,67.102573],[-163.72057,67.195539],[-163.799789,67.270983],[-163.942701,67.477591],[-164.12517,67.606725],[-165.386023,68.045585],[-165.959581,68.155887],[-166.235946,68.277956],[-166.409114,68.307971],[-166.574479,68.320254],[-166.7863,68.359596],[-166.643905,68.408024],[-166.5459,68.424349],[-166.647859,68.373812],[-166.570396,68.361068],[-166.447044,68.390248],[-166.380537,68.425129],[-166.282945,68.573236],[-166.182047,68.797192],[-166.209075,68.885358],[-165.509479,68.867582],[-165.043951,68.882457],[-164.889698,68.902463],[-164.302368,68.936488],[-164.150182,68.961163],[-163.867925,69.036661],[-163.535671,69.17009],[-163.250547,69.345377],[-163.205201,69.392509],[-163.187113,69.380468],[-163.161456,69.38796],[-163.131018,69.454362],[-163.093554,69.610708],[-162.952116,69.758123],[-162.350395,70.094117],[-162.071162,70.227184],[-161.977963,70.287653],[-161.880967,70.331752],[-161.812599,70.289839],[-161.779939,70.277369],[-161.761077,70.257649],[-161.818386,70.24842],[-161.911947,70.205486],[-162.042378,70.176647],[-162.073874,70.161969],[-161.997393,70.165232],[-161.768156,70.196543],[-161.638991,70.234523],[-160.996266,70.304594],[-160.647656,70.420565],[-160.634119,70.446394],[-160.117146,70.591194],[-160.045625,70.585613],[-159.96315,70.568145],[-160.106396,70.472574],[-160.005552,70.447537],[-160.09508,70.333279],[-159.907546,70.331466],[-159.865688,70.278842],[-159.855224,70.324182],[-159.857522,70.389243],[-159.842641,70.453008],[-159.814994,70.497096],[-159.683296,70.477167],[-159.386753,70.524529],[-159.746214,70.53045],[-159.961832,70.634063],[-160.081594,70.634865],[-159.680895,70.786794],[-159.314507,70.878519],[-159.231722,70.876762],[-159.191723,70.859656],[-159.183171,70.831959],[-159.262212,70.813843],[-159.339855,70.781257],[-159.304147,70.752528],[-159.251154,70.748452],[-159.075065,70.772062],[-158.996285,70.801593],[-158.620934,70.799033],[-158.510835,70.820127],[-158.484377,70.841056],[-157.998465,70.845286],[-157.909374,70.860117],[-157.605622,70.941251],[-157.324734,71.039623],[-157.19531,71.09328],[-156.973358,71.230016],[-156.783292,71.31895],[-156.470237,71.407687],[-156.395255,71.396679],[-156.496695,71.379078],[-156.567232,71.341538],[-156.469979,71.291561],[-155.811156,71.188422],[-155.645584,71.182786],[-155.579438,71.121086],[-155.634578,71.061585],[-155.804333,70.995436],[-156.146588,70.927815],[-156.041943,70.902239],[-155.973523,70.841979],[-155.872237,70.83464],[-155.708036,70.857283],[-155.579386,70.894329],[-155.313382,71.014991],[-155.229718,71.082228],[-155.166855,71.099224],[-154.943818,71.083052],[-154.817522,71.048478],[-154.673681,70.987086],[-154.726314,70.92776],[-154.785222,70.894307],[-154.59862,70.847977],[-154.392198,70.838309],[-154.195235,70.80111],[-153.918223,70.877333],[-153.701363,70.893604],[-153.497704,70.891077],[-153.232915,70.932572],[-152.784906,70.876036],[-152.670829,70.890714],[-152.49123,70.880947],[-152.300414,70.846791],[-152.232925,70.81036],[-152.437255,70.733258],[-152.470584,70.653618],[-152.399192,70.620472],[-152.269666,70.61476],[-152.253363,70.568254],[-152.172929,70.556653],[-151.769025,70.560136],[-151.799927,70.53802],[-151.819617,70.511301],[-151.944674,70.452107],[-151.22482,70.418752],[-151.12803,70.451613],[-150.979075,70.464686],[-150.662633,70.509906],[-150.543519,70.490142],[-150.403218,70.443922],[-150.273637,70.434309],[-150.15251,70.443713],[-149.870098,70.509653],[-149.544046,70.512905],[-149.410617,70.491405],[-149.269437,70.500765],[-148.844785,70.425212],[-148.688359,70.416324],[-148.479199,70.317931],[-148.371146,70.314987],[-148.248774,70.356735],[-148.142734,70.355449],[-148.039073,70.315503],[-147.869521,70.303253],[-147.790587,70.240159],[-147.705347,70.217208],[-147.062929,70.170396],[-146.744886,70.191742],[-146.281247,70.186161],[-146.057669,70.156234],[-145.823136,70.160057],[-145.440084,70.050919],[-145.236815,70.033945],[-145.197385,70.008699],[-144.619177,69.982134],[-144.416891,70.039032],[-144.064096,70.054127],[-143.746415,70.101973],[-143.566426,70.101478],[-143.357032,70.089569],[-143.276442,70.095304],[-143.218332,70.116233],[-142.707872,70.033813],[-142.422128,69.939507],[-142.296994,69.869897],[-141.699201,69.770372],[-141.526369,69.714716],[-141.407901,69.653368],[-141.338629,69.646754],[-141.289666,69.664684],[-141.080816,69.659421],[-141.002137,69.650786],[-141.002137,69.358583],[-141.002137,69.066379],[-141.002137,68.774176],[-141.002137,68.481973],[-141.002137,68.189736],[-141.002137,67.897566],[-141.002137,67.605351],[-141.002137,67.313148],[-141.002137,67.020945],[-141.002137,66.728741],[-141.002137,66.436538],[-141.002137,66.144335],[-141.002137,65.852131],[-141.002137,65.559928],[-141.002137,65.267724],[-141.002137,64.975521],[-141.002137,64.683318],[-141.002137,64.391103],[-141.002137,64.098878],[-141.002137,63.806697],[-141.002137,63.514471],[-141.002137,63.22229],[-141.002137,62.930086],[-141.002137,62.637883],[-141.002137,62.34568],[-141.002137,62.053476],[-141.002137,61.761273],[-141.002137,61.469069],[-141.002137,61.176855],[-141.002137,60.884652],[-141.002137,60.592448],[-141.002137,60.300245],[-140.762745,60.259112],[-140.525421,60.218342],[-140.452818,60.299729],[-140.196916,60.237491],[-139.973284,60.183153],[-139.830659,60.252883],[-139.676302,60.328337],[-139.467993,60.333709],[-139.234777,60.33973],[-139.079258,60.343707],[-139.079258,60.279448],[-139.13698,60.172705],[-139.185169,60.083573],[-139.056519,60.001582]]],[[[-166.109856,66.227457],[-166.148639,66.221821],[-166.146468,66.237169],[-166.032522,66.277709],[-165.822198,66.328092],[-165.829872,66.317139],[-165.942295,66.278181],[-166.109856,66.227457]]],[[[-171.463043,63.640023],[-171.447849,63.615677],[-171.343361,63.619632],[-171.196909,63.609118],[-171.034879,63.585498],[-170.874629,63.594001],[-170.672522,63.668829],[-170.551832,63.688462],[-170.430419,63.698855],[-170.299367,63.680606],[-170.171312,63.640924],[-170.121832,63.617512],[-170.082404,63.576665],[-170.056281,63.527182],[-170.017369,63.491729],[-169.777436,63.448015],[-169.62411,63.430547],[-169.587188,63.406596],[-169.554528,63.373495],[-169.427586,63.348325],[-169.295062,63.357531],[-169.221086,63.348589],[-168.996036,63.347292],[-168.716001,63.310609],[-168.761347,63.213764],[-168.852376,63.171236],[-169.109052,63.184925],[-169.36472,63.171126],[-169.470839,63.12126],[-169.559283,63.05822],[-169.571298,62.996773],[-169.622872,62.968561],[-169.676356,62.956102],[-169.719815,62.990105],[-169.777797,63.09375],[-169.818596,63.122347],[-169.863426,63.140387],[-169.988482,63.173126],[-170.1154,63.193868],[-170.189607,63.196351],[-170.243091,63.232287],[-170.272702,63.284275],[-170.323526,63.311125],[-170.424165,63.349259],[-170.527104,63.379284],[-170.848377,63.444367],[-170.95403,63.452948],[-171.061232,63.445895],[-171.176006,63.416209],[-171.287292,63.372154],[-171.401186,63.339239],[-171.519137,63.331999],[-171.631818,63.351203],[-171.737858,63.394215],[-171.790982,63.424713],[-171.819404,63.47726],[-171.81793,63.529819],[-171.80354,63.58051],[-171.746385,63.703084],[-171.646468,63.726991],[-171.463043,63.640023]]],[[[-147.930706,60.826161],[-148.057417,60.817943],[-148.115425,60.830599],[-148.123797,60.844354],[-148.099687,60.894836],[-148.101678,60.916128],[-148.03773,60.924137],[-147.964399,60.900164],[-147.94311,60.875379],[-147.930706,60.826161]]],[[[-172.742214,60.457393],[-172.526053,60.391761],[-172.387508,60.398485],[-172.277541,60.343652],[-172.232066,60.299135],[-172.397172,60.331128],[-172.635736,60.328853],[-172.958378,60.462766],[-173.07403,60.493209],[-173.047649,60.568289],[-172.923884,60.60684],[-172.860219,60.505689],[-172.742214,60.457393]]],[[[-152.020741,60.361746],[-152.069034,60.358077],[-152.004514,60.407395],[-151.959736,60.503745],[-151.899405,60.490363],[-151.887287,60.472686],[-151.986892,60.373985],[-152.020741,60.361746]]],[[[-147.658268,60.450472],[-147.658682,60.424138],[-147.690048,60.398902],[-147.659973,60.352496],[-147.712013,60.272757],[-147.732115,60.222066],[-147.759916,60.190228],[-147.787821,60.177934],[-147.815831,60.185163],[-147.82167,60.20273],[-147.805287,60.230636],[-147.871356,60.229757],[-147.891433,60.299421],[-147.854898,60.321438],[-147.841695,60.351255],[-147.837611,60.371305],[-147.794539,60.459876],[-147.779139,60.466073],[-147.774179,60.44499],[-147.760226,60.438794],[-147.737281,60.447418],[-147.702968,60.486804],[-147.688576,60.491396],[-147.658268,60.450472]]],[[[-146.393928,60.449648],[-146.371681,60.422149],[-146.179546,60.428763],[-146.124255,60.423907],[-146.102238,60.411196],[-146.128284,60.392541],[-146.202389,60.367998],[-146.419172,60.32503],[-146.595335,60.26844],[-146.618332,60.273691],[-146.650448,60.335643],[-146.683006,60.360714],[-146.702874,60.395595],[-146.702564,60.408559],[-146.67024,60.432641],[-146.605928,60.46783],[-146.560299,60.480542],[-146.393928,60.449648]]],[[[-145.118528,60.337093],[-145.150462,60.312649],[-145.237641,60.321328],[-145.284254,60.336829],[-145.128138,60.401121],[-145.10243,60.388256],[-145.118528,60.337093]]],[[[-166.135435,60.383554],[-166.043632,60.33394],[-165.994926,60.33115],[-165.840931,60.346245],[-165.784449,60.335599],[-165.729697,60.314198],[-165.695824,60.281535],[-165.689364,60.224132],[-165.714401,60.172869],[-165.706934,60.100568],[-165.712335,60.069356],[-165.630583,60.028377],[-165.605028,59.97283],[-165.5918,59.913142],[-165.769307,59.893191],[-165.946739,59.890037],[-166.099831,59.84963],[-166.131198,59.819758],[-166.106677,59.77545],[-166.148716,59.764134],[-166.187551,59.773824],[-166.261603,59.814902],[-166.342968,59.834436],[-166.627654,59.86467],[-166.985047,59.983883],[-167.138863,60.008536],[-167.295106,60.095713],[-167.436415,60.206663],[-167.344354,60.224461],[-167.251724,60.233536],[-166.836323,60.217002],[-166.784387,60.296422],[-166.730954,60.316263],[-166.598973,60.338741],[-166.475699,60.382774],[-166.420379,60.381687],[-166.363871,60.364735],[-166.246953,60.391146],[-166.184942,60.396782],[-166.135435,60.383554]]],[[[-147.735886,59.813254],[-147.846318,59.798829],[-147.872468,59.828393],[-147.814331,59.90198],[-147.768081,59.943728],[-147.733664,59.953604],[-147.606695,60.03665],[-147.465825,60.097009],[-147.33653,60.185372],[-147.205246,60.311308],[-147.180881,60.358253],[-147.120006,60.363087],[-147.019857,60.332237],[-146.957873,60.288874],[-146.986734,60.254355],[-147.318471,60.0753],[-147.346349,60.051943],[-147.376529,59.991167],[-147.403813,59.969952],[-147.447583,59.960273],[-147.479416,59.933708],[-147.499312,59.890191],[-147.540214,59.867504],[-147.60207,59.865593],[-147.644936,59.853607],[-147.668759,59.831546],[-147.735886,59.813254]]],[[[-148.021761,60.065324],[-148.07416,60.034705],[-148.271873,60.053261],[-148.230688,60.113543],[-148.079588,60.151655],[-147.914197,60.092351],[-148.021761,60.065324]]],[[[-144.565641,59.818418],[-144.613596,59.812628],[-144.541559,59.878205],[-144.444926,59.950704],[-144.353973,59.996187],[-144.235738,60.015205],[-144.248968,59.982125],[-144.403246,59.921096],[-144.565641,59.818418]]],[[[-160.918983,58.577094],[-160.992388,58.561054],[-161.07024,58.56914],[-161.131503,58.668204],[-161.08458,58.67128],[-160.986241,58.736418],[-160.768605,58.789229],[-160.715145,58.795228],[-160.918983,58.577094]]],[[[-152.486089,58.485007],[-152.515518,58.478602],[-152.588613,58.509243],[-152.636621,58.541696],[-152.604892,58.566405],[-152.463169,58.618491],[-152.395526,58.61937],[-152.367928,58.611097],[-152.356846,58.59498],[-152.36227,58.570843],[-152.392812,58.540872],[-152.486089,58.485007]]],[[[-152.416944,58.360213],[-152.380771,58.352094],[-152.343022,58.411629],[-152.316279,58.413486],[-152.197939,58.363103],[-152.125232,58.374265],[-152.07854,58.312357],[-152.036633,58.306677],[-151.997771,58.314213],[-151.974387,58.309852],[-151.9825,58.244351],[-152.068905,58.177917],[-152.109107,58.161152],[-152.165461,58.178258],[-152.186544,58.184663],[-152.22357,58.214018],[-152.251684,58.251119],[-152.268375,58.25169],[-152.334365,58.208075],[-152.332659,58.18653],[-152.305221,58.154077],[-152.30925,58.133873],[-152.381134,58.12426],[-152.451619,58.12927],[-152.537661,58.101002],[-152.558228,58.118624],[-152.571354,58.168238],[-152.598226,58.162602],[-152.638766,58.101826],[-152.683052,58.06333],[-152.763875,58.031392],[-152.781522,58.015946],[-152.840716,58.013792],[-152.928437,57.99372],[-152.982569,57.997049],[-153.305468,58.063066],[-153.381329,58.087203],[-153.115817,58.238518],[-152.976134,58.297009],[-152.895365,58.293856],[-152.814542,58.275618],[-152.771857,58.278563],[-152.768707,58.34559],[-152.843922,58.395611],[-152.841104,58.416386],[-152.674655,58.450598],[-152.61228,58.445687],[-152.543577,58.428186],[-152.478464,58.399687],[-152.416944,58.360213]]],[[[-134.680274,58.161668],[-134.426127,58.138828],[-134.240096,58.143991],[-134.070159,57.994544],[-133.965515,57.873782],[-133.904123,57.789188],[-133.869291,57.707515],[-133.822731,57.628678],[-133.826917,57.61757],[-133.925024,57.670799],[-133.99554,57.778487],[-134.031658,57.820609],[-134.067237,57.839626],[-134.104728,57.879364],[-134.17754,57.982174],[-134.180281,58.011134],[-134.212603,58.037951],[-134.24994,58.049168],[-134.292314,58.04473],[-134.306887,58.034392],[-134.3004,57.963442],[-134.267095,57.884527],[-134.083695,57.71224],[-133.961142,57.614187],[-133.937016,57.581579],[-133.920866,57.491964],[-133.973754,57.45138],[-133.908825,57.368719],[-133.911149,57.352547],[-133.925305,57.33676],[-134.100026,57.30012],[-134.260146,57.146795],[-134.435301,57.056982],[-134.516018,57.042568],[-134.554777,57.057553],[-134.591521,57.091962],[-134.613093,57.137962],[-134.619531,57.195531],[-134.575888,57.231752],[-134.4892,57.420168],[-134.486772,57.482021],[-134.594801,57.567802],[-134.659889,57.638082],[-134.695133,57.736014],[-134.754091,57.995017],[-134.78148,58.077854],[-134.820108,58.146892],[-134.869981,58.202076],[-134.907653,58.262775],[-134.933125,58.328946],[-134.923489,58.354654],[-134.836983,58.320157],[-134.733195,58.225026],[-134.680274,58.161668]]],[[[-134.312727,58.228905],[-134.319857,58.204097],[-134.45623,58.206525],[-134.593999,58.24311],[-134.661597,58.290911],[-134.647974,58.312412],[-134.519973,58.332539],[-134.398898,58.287187],[-134.312727,58.228905]]],[[[-135.730369,58.244252],[-135.587481,58.146782],[-135.586295,58.124414],[-135.615386,58.057485],[-135.693104,58.038522],[-135.671142,58.011914],[-135.613244,57.991864],[-135.572029,58.008552],[-135.421187,58.102375],[-135.374731,58.122139],[-135.346617,58.124106],[-135.162854,58.095838],[-135.002091,58.05108],[-134.95468,58.015319],[-134.927983,57.952763],[-134.970643,57.817247],[-135.102578,57.793659],[-135.164771,57.796109],[-135.231222,57.815797],[-135.338476,57.768665],[-135.249542,57.732553],[-134.978839,57.724357],[-134.896617,57.648002],[-134.873106,57.589204],[-134.931499,57.481142],[-135.084851,57.511014],[-135.220219,57.573647],[-135.497844,57.662274],[-135.564223,57.666427],[-135.608564,57.650749],[-135.62066,57.596949],[-135.617814,57.480373],[-135.691945,57.419904],[-135.910765,57.446568],[-135.996656,57.534887],[-136.076598,57.674567],[-136.378233,57.839989],[-136.459906,57.873079],[-136.56861,57.972176],[-136.525098,58.050564],[-136.512283,58.095992],[-136.454379,58.108],[-136.369527,58.143035],[-136.321983,58.218874],[-136.245683,58.157482],[-136.143725,58.098475],[-136.142357,58.153923],[-136.094374,58.198154],[-135.994382,58.196528],[-135.947404,58.2058],[-135.881728,58.247142],[-135.787059,58.268488],[-135.730369,58.244252]]],[[[-152.898051,57.823916],[-152.890817,57.768984],[-152.850148,57.775697],[-152.696254,57.832287],[-152.616027,57.848876],[-152.511563,57.851458],[-152.428779,57.825673],[-152.411931,57.805931],[-152.419166,57.78231],[-152.485416,57.73441],[-152.482625,57.703297],[-152.411492,57.646091],[-152.236515,57.614912],[-152.215276,57.597696],[-152.216234,57.576998],[-152.336664,57.48223],[-152.380875,57.460114],[-152.412189,57.454786],[-152.630935,57.471815],[-152.831131,57.502873],[-152.912161,57.508168],[-152.940788,57.498094],[-152.997453,57.468947],[-152.956858,57.460367],[-152.781366,57.453391],[-152.71951,57.410863],[-152.692536,57.379595],[-152.679047,57.345131],[-152.714058,57.33097],[-152.789092,57.320632],[-152.879034,57.320819],[-152.990295,57.281982],[-153.051607,57.237641],[-153.274361,57.226347],[-153.443704,57.167208],[-153.503544,57.138006],[-153.524423,57.103081],[-153.588295,57.077702],[-153.732576,57.052335],[-153.646533,57.029593],[-153.633045,57.010367],[-153.631444,56.983703],[-153.643328,56.960764],[-153.757251,56.858338],[-153.972715,56.774205],[-154.027364,56.777984],[-154.050797,56.788476],[-154.070021,56.804538],[-154.070847,56.820666],[-153.79319,56.989493],[-153.804198,56.997788],[-153.879724,57.0035],[-153.999381,57.049951],[-154.083767,57.02009],[-154.102991,57.021221],[-154.08046,57.061036],[-154.025424,57.108475],[-154.035037,57.121834],[-154.065319,57.133667],[-154.134876,57.140753],[-154.243758,57.143027],[-154.324426,57.131788],[-154.376825,57.107036],[-154.381115,57.096511],[-154.269543,57.099466],[-154.23921,57.086854],[-154.209135,57.063343],[-154.19084,57.036152],[-154.184331,57.005302],[-154.207712,56.963807],[-154.260941,56.911776],[-154.338947,56.920916],[-154.498781,57.036569],[-154.569319,57.205913],[-154.705951,57.335365],[-154.712205,57.366269],[-154.673214,57.446107],[-154.535316,57.559431],[-154.387083,57.590467],[-154.281431,57.638082],[-154.179343,57.652452],[-154.116169,57.65121],[-154.029844,57.630699],[-153.995039,57.587281],[-154.015864,57.566879],[-154.007907,57.556179],[-153.947342,57.530075],[-153.881869,57.439032],[-153.80544,57.358205],[-153.754589,57.325367],[-153.687718,57.30513],[-153.756913,57.366829],[-153.797815,57.443261],[-153.818357,57.595609],[-153.838149,57.635863],[-153.799444,57.646662],[-153.690149,57.640719],[-153.693146,57.663405],[-153.808488,57.714722],[-153.879438,57.757196],[-153.906105,57.790792],[-153.904424,57.819884],[-153.841535,57.862829],[-153.805827,57.875068],[-153.769006,57.880396],[-153.695626,57.871245],[-153.662656,57.857808],[-153.56858,57.761074],[-153.524473,57.731026],[-153.487938,57.730949],[-153.454039,57.747022],[-153.422723,57.779157],[-153.390426,57.798383],[-153.357145,57.804689],[-153.252396,57.790473],[-153.217465,57.795747],[-153.200307,57.820037],[-153.20103,57.863291],[-153.175192,57.878847],[-153.168837,57.910653],[-153.225938,57.957597],[-153.160465,57.971967],[-152.943268,57.93602],[-152.850406,57.896777],[-152.898051,57.823916]]],[[[-153.240641,57.850085],[-153.268571,57.822366],[-153.294979,57.829464],[-153.350842,57.86195],[-153.465045,57.909389],[-153.517084,57.941887],[-153.520081,57.955741],[-153.481066,57.971033],[-153.346966,57.93279],[-153.290044,57.897908],[-153.240641,57.850085]]],[[[-134.969764,57.351438],[-134.884889,57.241695],[-134.823184,57.156562],[-134.768516,57.054191],[-134.676835,56.842265],[-134.634099,56.76212],[-134.620717,56.718295],[-134.610566,56.603422],[-134.624332,56.578714],[-134.651721,56.556027],[-134.657098,56.523244],[-134.631698,56.43565],[-134.630045,56.302452],[-134.654022,56.22747],[-134.6819,56.216154],[-134.750296,56.240753],[-134.806469,56.28127],[-134.847991,56.323491],[-134.950153,56.45681],[-134.980541,56.518926],[-134.982398,56.56363],[-134.966644,56.596127],[-134.933179,56.616342],[-134.875122,56.670439],[-134.883444,56.679074],[-134.927598,56.666978],[-135.017796,56.660156],[-135.09715,56.702849],[-135.159031,56.725371],[-135.146578,56.802319],[-135.163112,56.824127],[-135.284808,56.800352],[-135.330599,56.821853],[-135.340651,56.850769],[-135.338377,56.894],[-135.315147,56.931826],[-135.199598,57.027319],[-135.211254,57.044941],[-135.267373,57.048874],[-135.341371,57.08158],[-135.375297,57.188444],[-135.454931,57.249429],[-135.501953,57.243848],[-135.608927,57.071451],[-135.66187,57.033724],[-135.812327,57.009543],[-135.781654,57.05752],[-135.767701,57.100389],[-135.821138,57.230412],[-135.822737,57.280433],[-135.787136,57.317281],[-135.680887,57.332574],[-135.624505,57.354382],[-135.580582,57.390011],[-135.56965,57.424683],[-135.48728,57.516485],[-135.44868,57.534371],[-135.346282,57.533129],[-135.130659,57.431638],[-135.065235,57.416707],[-134.969764,57.351438]]],[[[-170.160565,57.183951],[-170.263995,57.136776],[-170.357994,57.154211],[-170.385874,57.188554],[-170.386622,57.203023],[-170.116174,57.241783],[-170.160565,57.183951]]],[[[-153.007088,57.124833],[-153.134213,57.092589],[-153.156821,57.093929],[-153.235422,57.028615],[-153.295391,57.000424],[-153.374586,57.051917],[-153.35433,57.131909],[-153.285212,57.185039],[-152.935465,57.167307],[-152.908414,57.152431],[-152.907741,57.139742],[-152.933425,57.129228],[-153.007088,57.124833]]],[[[-133.366221,57.0035],[-133.299716,56.972178],[-133.263538,57.004973],[-133.195999,57.003468],[-133.070788,56.974277],[-132.996218,56.93043],[-132.954152,56.880278],[-132.950587,56.850461],[-132.963325,56.782576],[-132.953998,56.713077],[-132.959167,56.677053],[-132.975855,56.647236],[-133.004123,56.623725],[-133.034923,56.620726],[-133.132383,56.68326],[-133.244004,56.795859],[-133.328961,56.83007],[-133.3324,56.818491],[-133.309065,56.786246],[-133.239719,56.725689],[-133.227261,56.689259],[-133.178481,56.644808],[-133.156619,56.611124],[-133.144221,56.566882],[-133.144737,56.528232],[-133.158173,56.495152],[-133.180805,56.47397],[-133.212665,56.464621],[-133.382756,56.473894],[-133.484198,56.451745],[-133.602795,56.464094],[-133.631349,56.484045],[-133.649279,56.516806],[-133.65832,56.596292],[-133.688165,56.710023],[-133.68098,56.797518],[-133.757543,56.876685],[-133.823066,56.924377],[-133.917296,56.96707],[-133.979467,57.009598],[-133.962362,57.043447],[-133.865984,57.068715],[-133.707726,57.062827],[-133.366221,57.0035]]],[[[-133.989597,56.844957],[-133.924788,56.77571],[-133.830872,56.781291],[-133.778132,56.728886],[-133.738367,56.650444],[-133.767283,56.600115],[-133.809009,56.611322],[-133.855261,56.582175],[-133.883579,56.485495],[-133.870455,56.388651],[-133.884611,56.292125],[-133.93851,56.193676],[-133.9497,56.127714],[-133.970783,56.107917],[-133.994013,56.101127],[-134.024039,56.119002],[-134.067468,56.13301],[-134.122427,56.077408],[-134.189581,56.076968],[-134.245056,56.203267],[-134.195469,56.413513],[-134.084398,56.456348],[-134.150491,56.513499],[-134.290249,56.58001],[-134.278389,56.617111],[-134.384401,56.72403],[-134.390603,56.749486],[-134.373679,56.838651],[-134.274434,56.918181],[-134.143279,56.932342],[-134.051812,56.898284],[-134.000599,56.869193],[-133.989597,56.844957]]],[[[-132.746878,56.525694],[-132.757628,56.511016],[-132.884702,56.512467],[-132.930795,56.524453],[-132.948027,56.567244],[-132.936249,56.606828],[-132.906531,56.637425],[-132.870645,56.696389],[-132.842531,56.794771],[-132.655878,56.68471],[-132.598673,56.635711],[-132.567977,56.575825],[-132.634224,56.553446],[-132.714479,56.542547],[-132.746878,56.525694]]],[[[-169.755214,56.635041],[-169.623904,56.615145],[-169.550498,56.62812],[-169.485696,56.617738],[-169.474327,56.594062],[-169.586878,56.542437],[-169.632611,56.5457],[-169.766169,56.607938],[-169.755214,56.635041]]],[[[-154.208643,56.514895],[-154.257788,56.512675],[-154.332124,56.539031],[-154.322204,56.570606],[-154.216757,56.60874],[-154.110382,56.602928],[-154.102268,56.581658],[-154.107176,56.557785],[-154.115963,56.543887],[-154.149809,56.529572],[-154.208643,56.514895]]],[[[-154.6828,56.435782],[-154.75122,56.412139],[-154.773931,56.42028],[-154.777161,56.439913],[-154.760934,56.471125],[-154.729362,56.502128],[-154.623734,56.561301],[-154.517541,56.600522],[-154.463356,56.598204],[-154.444882,56.573188],[-154.511182,56.521431],[-154.6828,56.435782]]],[[[-132.112346,56.109389],[-132.132935,55.943254],[-132.172623,55.952636],[-132.210295,55.952966],[-132.28732,55.9294],[-132.36858,55.939738],[-132.406588,55.958184],[-132.420595,55.979531],[-132.406049,56.028881],[-132.451159,56.056369],[-132.602963,56.0664],[-132.659905,56.078177],[-132.691381,56.130065],[-132.699027,56.19817],[-132.675203,56.223625],[-132.598722,56.241632],[-132.539011,56.324183],[-132.505964,56.335268],[-132.379847,56.498778],[-132.316494,56.487484],[-132.20562,56.387926],[-132.066896,56.244213],[-132.112346,56.109389]]],[[[-132.779897,56.247268],[-132.830956,56.244169],[-132.891442,56.259407],[-133.035028,56.340904],[-133.037664,56.364832],[-133.017092,56.392012],[-132.935497,56.44177],[-132.902038,56.453767],[-132.70608,56.448493],[-132.643343,56.435156],[-132.62911,56.411909],[-132.632263,56.388288],[-132.65283,56.36436],[-132.657581,56.3393],[-132.646573,56.313207],[-132.669392,56.287313],[-132.779897,56.247268]]],[[[-133.566107,56.339201],[-133.376636,56.317756],[-133.203003,56.319843],[-133.143704,56.278579],[-133.104478,56.235095],[-133.081741,56.194193],[-133.075435,56.15585],[-133.080115,56.128714],[-133.101226,56.099776],[-133.096622,56.090042],[-132.757573,55.99501],[-132.597612,55.895035],[-132.533765,55.842487],[-132.496972,55.798091],[-132.430153,55.686987],[-132.288869,55.558106],[-132.214766,55.51883],[-132.1727,55.480598],[-132.196342,55.479147],[-132.295873,55.50747],[-132.51126,55.593922],[-132.528854,55.590461],[-132.548339,55.543692],[-132.581748,55.502658],[-132.63128,55.473182],[-132.591592,55.464371],[-132.417854,55.482916],[-132.272021,55.39864],[-132.215283,55.383544],[-132.160247,55.322977],[-132.15839,55.299829],[-132.190426,55.255004],[-132.214871,55.236789],[-132.206708,55.224429],[-132.165981,55.218024],[-132.005092,55.230637],[-131.976434,55.208598],[-132.000385,55.03385],[-131.977599,54.969459],[-131.977934,54.940213],[-131.996561,54.901398],[-131.997209,54.868615],[-131.98274,54.83492],[-131.980878,54.804818],[-132.021703,54.72632],[-132.064748,54.713126],[-132.134308,54.712554],[-132.18924,54.734846],[-132.266314,54.802335],[-132.341323,54.907243],[-132.370212,54.922228],[-132.468627,54.937939],[-132.48648,54.950397],[-132.549371,54.952595],[-132.593866,54.995738],[-132.588488,55.052351],[-132.626962,55.110051],[-132.622183,55.135967],[-132.665332,55.146767],[-132.701741,55.13054],[-132.68285,55.07395],[-132.704141,55.030081],[-132.782303,55.048472],[-132.912607,55.188493],[-133.060582,55.300916],[-133.118535,55.327657],[-133.103005,55.360242],[-133.03004,55.377546],[-132.970818,55.376151],[-132.958909,55.395563],[-133.082466,55.504108],[-133.078407,55.534903],[-133.033402,55.589681],[-133.089624,55.612576],[-133.243773,55.595416],[-133.298265,55.606885],[-133.342809,55.65082],[-133.369012,55.688953],[-133.502726,55.695875],[-133.553264,55.691173],[-133.640495,55.748796],[-133.680183,55.785172],[-133.664418,55.803826],[-133.584064,55.836544],[-133.537141,55.83194],[-133.446965,55.797004],[-133.411721,55.798355],[-133.322139,55.84463],[-133.308472,55.886455],[-133.241527,55.92082],[-133.252172,55.957075],[-133.289224,56.018697],[-133.371231,56.035913],[-133.538613,55.999273],[-133.68421,55.942792],[-133.742531,55.964853],[-133.755187,55.999471],[-133.599203,56.093635],[-133.530862,56.145666],[-133.54409,56.176516],[-133.594424,56.216363],[-133.59861,56.316251],[-133.566107,56.339201]]],[[[-130.979134,55.489167],[-131.013911,55.379282],[-131.08274,55.266804],[-131.18788,55.206291],[-131.261878,55.219782],[-131.316321,55.268518],[-131.366836,55.265826],[-131.42068,55.2759],[-131.450936,55.316286],[-131.422361,55.368427],[-131.44758,55.408791],[-131.474502,55.37347],[-131.521837,55.341071],[-131.641285,55.29895],[-131.723661,55.218332],[-131.76252,55.165828],[-131.810991,55.223111],[-131.842,55.358693],[-131.846082,55.416251],[-131.759471,55.503076],[-131.647564,55.58555],[-131.62496,55.831688],[-131.269217,55.955394],[-131.23617,55.948989],[-131.120671,55.856638],[-130.997789,55.727658],[-130.965956,55.669518],[-130.965022,55.568027],[-130.979134,55.489167]]],[[[-155.566002,55.821196],[-155.60489,55.789566],[-155.680622,55.79184],[-155.723202,55.802178],[-155.737361,55.829798],[-155.620626,55.913074],[-155.593959,55.924335],[-155.573239,55.921083],[-155.563936,55.886663],[-155.566002,55.821196]]],[[[-133.305088,55.543747],[-133.283203,55.515633],[-133.281704,55.497857],[-133.426476,55.431445],[-133.429085,55.417701],[-133.463088,55.376667],[-133.493476,55.361682],[-133.547375,55.317242],[-133.650185,55.269287],[-133.634991,55.413306],[-133.737131,55.496923],[-133.634238,55.539243],[-133.5667,55.527202],[-133.454771,55.522291],[-133.345578,55.559095],[-133.305088,55.543747]]],[[[-160.684914,55.314814],[-160.669722,55.314243],[-160.638821,55.321944],[-160.573966,55.378271],[-160.552778,55.380754],[-160.552468,55.363362],[-160.583164,55.307629],[-160.531177,55.233196],[-160.482677,55.197403],[-160.487539,55.184846],[-160.609081,55.159006],[-160.701789,55.177617],[-160.750623,55.171212],[-160.79509,55.145218],[-160.825476,55.174002],[-160.846534,55.311353],[-160.839662,55.33538],[-160.789199,55.383083],[-160.723932,55.404627],[-160.695664,55.398321],[-160.672175,55.379381],[-160.666336,55.359407],[-160.684914,55.314814]]],[[[-160.329278,55.337709],[-160.343308,55.258795],[-160.480741,55.30898],[-160.517482,55.333831],[-160.492939,55.352332],[-160.3623,55.356979],[-160.329278,55.337709]]],[[[-132.862273,54.894422],[-132.837724,54.880942],[-132.812895,54.890445],[-132.772306,54.926052],[-132.700653,54.91902],[-132.648875,54.907067],[-132.617223,54.892412],[-132.634016,54.840479],[-132.646963,54.756137],[-132.676648,54.726221],[-132.705822,54.684155],[-132.807286,54.709116],[-132.889585,54.762652],[-133.008929,54.854838],[-133.075413,54.92135],[-133.080555,54.949442],[-133.122698,54.969821],[-133.204629,55.084497],[-133.251162,55.175134],[-133.324852,55.185516],[-133.417972,55.210718],[-133.45381,55.260344],[-133.429036,55.303806],[-133.296563,55.325723],[-133.097402,55.21374],[-133.067064,55.166191],[-132.995751,55.110589],[-132.982189,55.033026],[-132.946016,55.002582],[-132.862273,54.894422]]],[[[-159.872975,55.128749],[-159.933954,55.106843],[-159.953073,55.078959],[-159.999427,55.067204],[-160.038418,55.044495],[-160.169597,54.941685],[-160.227061,54.92269],[-160.163577,55.010438],[-160.153604,55.038343],[-160.152415,55.056899],[-160.172077,55.123048],[-160.133735,55.120147],[-160.10221,55.133891],[-160.038753,55.192547],[-159.981651,55.197766],[-159.920466,55.267529],[-159.887367,55.273011],[-159.871063,55.263552],[-159.898243,55.221276],[-159.839411,55.182374],[-159.854111,55.144702],[-159.872975,55.128749]]],[[[-131.339727,55.079838],[-131.237461,54.949518],[-131.232034,54.903782],[-131.329521,54.887764],[-131.406183,54.894301],[-131.44569,54.909341],[-131.456105,54.930545],[-131.431326,54.996485],[-131.481736,55.035245],[-131.54003,55.048472],[-131.59222,55.025687],[-131.595115,55.090748],[-131.555993,55.137407],[-131.577828,55.20082],[-131.578477,55.248775],[-131.565452,55.264123],[-131.512663,55.262728],[-131.404634,55.213322],[-131.339727,55.079838]]],[[[-159.515117,55.151876],[-159.520385,55.072148],[-159.534986,55.059634],[-159.561496,55.080926],[-159.617718,55.057316],[-159.648491,55.074576],[-159.635417,55.102316],[-159.639655,55.12397],[-159.597954,55.125706],[-159.588031,55.165312],[-159.595268,55.182011],[-159.574751,55.217717],[-159.545088,55.225978],[-159.515117,55.151876]]],[[[-159.361998,54.972403],[-159.394476,54.967338],[-159.421349,54.978138],[-159.458477,55.034937],[-159.461916,55.05881],[-159.390422,55.040881],[-159.363187,54.999506],[-159.361998,54.972403]]],[[[-163.476037,54.980731],[-163.378962,54.815518],[-163.336898,54.783218],[-163.274525,54.765596],[-163.187089,54.747766],[-163.13505,54.723277],[-163.089265,54.686066],[-163.083271,54.669016],[-163.358085,54.735681],[-163.53084,54.63832],[-163.583033,54.625663],[-164.073313,54.621005],[-164.171266,54.603021],[-164.234621,54.571347],[-164.346682,54.482413],[-164.403499,54.447839],[-164.463495,54.427327],[-164.590801,54.404333],[-164.743788,54.407475],[-164.823423,54.419077],[-164.866184,54.461374],[-164.903935,54.544782],[-164.903701,54.567985],[-164.887656,54.607833],[-164.751488,54.662918],[-164.706194,54.691988],[-164.529796,54.880832],[-164.478637,54.906826],[-164.424299,54.913187],[-164.273689,54.900058],[-164.145066,54.955143],[-163.867977,55.039123],[-163.807153,55.049099],[-163.607476,55.050856],[-163.553009,55.037827],[-163.510893,55.014294],[-163.476037,54.980731]]],[[[-162.29815,54.847038],[-162.321921,54.842391],[-162.390754,54.872977],[-162.415766,54.895872],[-162.433904,54.931534],[-162.293654,54.982851],[-162.264612,54.983521],[-162.23836,54.954737],[-162.233761,54.93205],[-162.27257,54.867198],[-162.29815,54.847038]]],[[[-162.554413,54.401356],[-162.641127,54.379526],[-162.73311,54.402311],[-162.81171,54.444378],[-162.820548,54.494553],[-162.64539,54.462055],[-162.60795,54.446652],[-162.554413,54.401356]]],[[[-165.561155,54.136695],[-165.604821,54.129147],[-165.615364,54.13954],[-165.620532,54.183541],[-165.654147,54.253304],[-165.590352,54.278649],[-165.550613,54.284538],[-165.533767,54.273892],[-165.487671,54.221883],[-165.44173,54.208007],[-165.407857,54.196845],[-165.467595,54.180926],[-165.561155,54.136695]]],[[[-165.841552,54.070656],[-165.879379,54.053034],[-165.909841,54.049156],[-165.932889,54.059153],[-166.036423,54.047189],[-166.056654,54.054319],[-166.102827,54.113953],[-166.105825,54.144814],[-166.087738,54.169149],[-166.04128,54.191242],[-165.966402,54.211028],[-165.892866,54.206974],[-165.76445,54.152098],[-165.704247,54.119897],[-165.692878,54.099924],[-165.737914,54.081093],[-165.841552,54.070656]]],[[[-166.615355,53.90095],[-166.572178,53.853456],[-166.497481,53.883537],[-166.442755,53.924802],[-166.400044,53.978096],[-166.37232,53.998981],[-166.33563,53.970922],[-166.230881,53.932602],[-166.31899,53.87377],[-166.488747,53.785506],[-166.545617,53.726487],[-166.549209,53.700955],[-166.384723,53.720522],[-166.338782,53.717654],[-166.309455,53.697494],[-166.354517,53.673522],[-166.444177,53.651813],[-166.522001,53.609648],[-166.702196,53.536677],[-166.770409,53.47601],[-166.850999,53.452862],[-166.960733,53.44738],[-167.153642,53.407851],[-167.270792,53.370596],[-167.300455,53.350491],[-167.337274,53.340977],[-167.381302,53.342021],[-167.428793,53.325684],[-167.479823,53.291989],[-167.522482,53.276235],[-167.592194,53.272719],[-167.628625,53.259437],[-167.669424,53.259953],[-167.780864,53.300262],[-167.808769,53.323773],[-167.710094,53.370904],[-167.638702,53.386559],[-167.530182,53.39369],[-167.423521,53.43725],[-167.204078,53.494973],[-167.136097,53.526448],[-167.092353,53.635949],[-167.042408,53.654604],[-167.015743,53.698373],[-166.894149,53.697132],[-166.838339,53.648045],[-166.818727,53.641376],[-166.808986,53.646133],[-166.803663,53.68541],[-166.741263,53.712952],[-166.777256,53.733156],[-166.889601,53.758578],[-166.972929,53.770565],[-167.027266,53.769125],[-167.071501,53.783386],[-167.105608,53.813356],[-167.121164,53.843118],[-167.118166,53.872628],[-167.090468,53.905652],[-167.038067,53.942182],[-166.978097,53.962935],[-166.848673,53.977899],[-166.734055,54.002178],[-166.673284,54.005958],[-166.627394,53.995674],[-166.615355,53.90095]]],[[[-166.209746,53.723279],[-166.223828,53.720412],[-166.249433,53.745142],[-166.250751,53.767774],[-166.234369,53.784188],[-166.187732,53.822475],[-166.154555,53.836142],[-166.113731,53.843074],[-166.102672,53.832791],[-166.138639,53.787418],[-166.183753,53.756898],[-166.209746,53.723279]]],[[[-167.964367,53.345119],[-168.27068,53.238046],[-168.370131,53.159758],[-168.445991,53.084413],[-168.505627,53.043171],[-168.549035,53.036096],[-168.597404,53.016089],[-168.698534,52.963432],[-168.741013,52.956873],[-169.065928,52.833936],[-169.088898,52.832024],[-169.07311,52.86416],[-168.973867,52.909687],[-168.909167,52.951182],[-168.836097,53.019737],[-168.795867,53.044929],[-168.783024,53.079349],[-168.777806,53.148793],[-168.759615,53.175051],[-168.689827,53.227247],[-168.639029,53.255767],[-168.572186,53.265633],[-168.436638,53.25691],[-168.380414,53.283442],[-168.362973,53.303569],[-168.397262,53.321916],[-168.405323,53.353798],[-168.396433,53.408785],[-168.357212,53.457564],[-168.287707,53.500147],[-168.193061,53.533326],[-168.073276,53.55699],[-167.98571,53.558177],[-167.828097,53.507947],[-167.804688,53.484953],[-167.843108,53.43457],[-167.865148,53.387306],[-167.964367,53.345119]]],[[[-169.691962,52.847372],[-169.708084,52.807107],[-169.722762,52.792331],[-169.877326,52.813754],[-169.980549,52.806031],[-169.991841,52.829849],[-169.982564,52.851042],[-169.820637,52.883386],[-169.754904,52.883649],[-169.710979,52.866752],[-169.691962,52.847372]]],[[[-170.733397,52.581492],[-170.797347,52.549764],[-170.81608,52.561541],[-170.827035,52.600718],[-170.791172,52.63126],[-170.682083,52.697563],[-170.608057,52.685082],[-170.58462,52.667581],[-170.586636,52.642422],[-170.614025,52.609606],[-170.649268,52.593116],[-170.692263,52.592962],[-170.733397,52.581492]]],[[[-174.677394,52.03501],[-175.213873,51.99391],[-175.295548,52.022145],[-175.214158,52.038218],[-175.117652,52.047106],[-174.915933,52.094183],[-174.667757,52.134953],[-174.474254,52.184051],[-174.306151,52.216142],[-174.258815,52.269063],[-174.406507,52.29598],[-174.435548,52.317216],[-174.36545,52.341924],[-174.306874,52.377938],[-174.168898,52.420191],[-174.045624,52.367248],[-174.018339,52.331795],[-174.030096,52.289783],[-174.0549,52.246014],[-174.163214,52.223371],[-174.179389,52.200333],[-174.120633,52.135217],[-174.343539,52.07778],[-174.677394,52.03501]]],[[[-172.46479,52.272293],[-172.539127,52.257483],[-172.619846,52.272831],[-172.582199,52.325643],[-172.543675,52.353812],[-172.470398,52.388012],[-172.383115,52.372928],[-172.31361,52.329576],[-172.46479,52.272293]]],[[[-173.553303,52.136304],[-173.357242,52.095633],[-173.113304,52.10039],[-173.024317,52.090513],[-173.022896,52.079142],[-173.178881,52.062509],[-173.232212,52.06798],[-173.36843,52.045612],[-173.461009,52.041547],[-173.672572,52.062663],[-173.835792,52.048194],[-173.878942,52.053665],[-173.930205,52.072144],[-173.989581,52.103587],[-173.9925,52.123329],[-173.938913,52.131283],[-173.794115,52.104312],[-173.779,52.118375],[-173.656837,52.143742],[-173.553303,52.136304]]],[[[-176.02155,52.002436],[-176.045089,51.973003],[-176.142861,52.004314],[-176.177535,52.029847],[-176.184511,52.056049],[-176.155676,52.099401],[-176.077412,52.099972],[-176.031214,52.082295],[-175.988063,52.049479],[-175.975274,52.028946],[-176.02155,52.002436]]],[[[-176.593298,51.8667],[-176.587924,51.833191],[-176.473383,51.837377],[-176.437467,51.820096],[-176.437338,51.75431],[-176.452351,51.73571],[-176.469766,51.731161],[-176.511003,51.74563],[-176.557538,51.712034],[-176.770961,51.629944],[-176.837107,51.675867],[-176.961622,51.603676],[-176.874418,51.790488],[-176.773623,51.818744],[-176.736416,51.839937],[-176.745123,51.89466],[-176.698356,51.986055],[-176.596812,51.981793],[-176.54989,51.944065],[-176.551595,51.919566],[-176.593298,51.8667]]],[[[-177.1482,51.716736],[-177.176983,51.703718],[-177.2299,51.693533],[-177.382371,51.704849],[-177.474665,51.70129],[-177.577605,51.694214],[-177.654887,51.676592],[-177.670235,51.701081],[-177.667625,51.721186],[-177.3347,51.776216],[-177.257288,51.804957],[-177.209747,51.841277],[-177.16639,51.909437],[-177.131508,51.929805],[-177.110037,51.928773],[-177.063037,51.9019],[-177.079522,51.866546],[-177.121379,51.835773],[-177.135125,51.806912],[-177.1482,51.716736]]],[[[-177.879034,51.64972],[-177.901254,51.616387],[-177.925362,51.617365],[-178.058894,51.672604],[-178.078479,51.691259],[-178.000034,51.717461],[-177.977245,51.737775],[-177.986365,51.764285],[-178.045122,51.801078],[-178.153487,51.848254],[-178.194518,51.882212],[-178.168241,51.903032],[-178.116616,51.915853],[-177.953809,51.918434],[-177.865856,51.860405],[-177.799607,51.840036],[-177.6445,51.826292],[-177.724961,51.801672],[-177.770642,51.777897],[-177.826969,51.685887],[-177.879034,51.64972]]],[[[-176.008967,51.812372],[-176.093355,51.790488],[-176.204433,51.834817],[-176.193659,51.886288],[-176.071625,51.843299],[-176.008967,51.812372]]],[[[-176.286702,51.791982],[-176.349644,51.733282],[-176.396101,51.759836],[-176.413722,51.840585],[-176.378582,51.861119],[-176.280217,51.802836],[-176.286702,51.791982]]]]}},{"type":"Feature","properties":{"name":"Alabama"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.513252,30.368125],[-87.622269,30.264765],[-88.005934,30.230916],[-87.985016,30.254383],[-87.903981,30.259085],[-87.790294,30.291792],[-87.813289,30.346877],[-87.857113,30.40739],[-87.897631,30.414135],[-87.924284,30.449643],[-87.922998,30.56155],[-87.948871,30.626919],[-88.011317,30.694177],[-88.032422,30.681224],[-88.078367,30.566197],[-88.116555,30.415322],[-88.135441,30.366598],[-88.249215,30.363181],[-88.349927,30.373464],[-88.399585,30.370805],[-88.412758,30.576579],[-88.423261,30.764303],[-88.433742,30.952015],[-88.444234,31.139706],[-88.454726,31.327385],[-88.465217,31.515108],[-88.475709,31.702821],[-88.48619,31.890511],[-88.461779,32.075246],[-88.437367,32.25997],[-88.412977,32.444684],[-88.388555,32.62943],[-88.364132,32.814176],[-88.339743,32.998889],[-88.315331,33.183613],[-88.290908,33.368348],[-88.266519,33.553094],[-88.242096,33.737807],[-88.217684,33.922532],[-88.193295,34.107278],[-88.168883,34.292013],[-88.144461,34.476737],[-88.12006,34.66145],[-88.095648,34.846196],[-88.089474,34.893064],[-88.088211,34.909082],[-88.084772,34.933109],[-88.173267,34.999005],[-88.19079,35.012046],[-88.203139,35.024197],[-88.190427,35.024999],[-88.029994,35.023494],[-87.869594,35.021966],[-87.70916,35.02045],[-87.548738,35.018945],[-87.388305,35.017451],[-87.227871,35.015946],[-87.067449,35.014452],[-86.907015,35.012925],[-86.746582,35.011409],[-86.58616,35.009903],[-86.425726,35.008409],[-86.265293,35.006904],[-86.104871,35.00541],[-85.944437,35.003861],[-85.784037,35.002356],[-85.623604,35.000862],[-85.59717,34.873069],[-85.57077,34.745265],[-85.544359,34.617472],[-85.517948,34.489679],[-85.491548,34.36193],[-85.465115,34.234137],[-85.438682,34.106344],[-85.412271,33.978551],[-85.38587,33.850747],[-85.359459,33.722954],[-85.333059,33.595161],[-85.306626,33.46739],[-85.280193,33.339619],[-85.253782,33.211826],[-85.227382,33.084022],[-85.200971,32.956229],[-85.176317,32.898221],[-85.156531,32.804277],[-85.015038,32.526158],[-84.973905,32.409286],[-84.985968,32.360946],[-84.9685,32.319813],[-84.921533,32.285887],[-84.929696,32.246556],[-84.992977,32.201831],[-85.034627,32.147372],[-85.064564,32.051043],[-85.06441,32.050527],[-85.124132,31.880536],[-85.124824,31.77677],[-85.067201,31.635387],[-85.067047,31.635178],[-85.054885,31.572677],[-85.092601,31.295711],[-85.067443,31.117579],[-85.007282,31.001673],[-85.330005,31.001102],[-85.653399,31.001058],[-85.976792,31.001003],[-86.300175,31.000948],[-86.623568,31.000893],[-86.94694,31.000849],[-87.2703,31.000794],[-87.593694,31.000739],[-87.607438,30.929328],[-87.601055,30.860598],[-87.566195,30.795636],[-87.421659,30.671589],[-87.408278,30.641465],[-87.43381,30.545938],[-87.429382,30.477856],[-87.444807,30.442557],[-87.480106,30.411707],[-87.489511,30.377683]]],[[[-88.071336,30.25234],[-88.159314,30.230916],[-88.289722,30.232938],[-88.316254,30.240453],[-88.263937,30.254713],[-88.10937,30.27373],[-88.071336,30.25234]]]]}},{"type":"Feature","properties":{"name":"Arkansas"},"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.70932,35.98305],[-89.689171,35.943599],[-89.688908,35.920956],[-89.703772,35.906904],[-89.738214,35.898741],[-89.763593,35.888766],[-89.768932,35.8721],[-89.769943,35.864299],[-89.768108,35.845249],[-89.763593,35.828044],[-89.779655,35.805742],[-89.894561,35.750503],[-89.943505,35.679136],[-89.92652,35.591652],[-89.967345,35.50331],[-90.066024,35.414112],[-90.107882,35.314203],[-90.092919,35.203592],[-90.14227,35.114296],[-90.255956,35.046389],[-90.29376,35.004476],[-90.293705,35.001114],[-90.293419,34.970067],[-90.282104,34.945304],[-90.31994,34.899161],[-90.41595,34.851623],[-90.467575,34.805261],[-90.47476,34.760052],[-90.497216,34.738091],[-90.53925,34.72817],[-90.563848,34.661164],[-90.584008,34.503708],[-90.635424,34.413873],[-90.718107,34.391703],[-90.762338,34.356426],[-90.768117,34.308108],[-90.817215,34.25222],[-90.90972,34.188763],[-90.940251,34.128558],[-90.908786,34.071561],[-90.914729,34.048622],[-90.943107,34.029681],[-91.043148,34.002864],[-91.060353,33.989296],[-91.070175,33.9742],[-91.05007,33.945163],[-91.038183,33.901394],[-91.052707,33.827599],[-91.077151,33.796694],[-91.100299,33.767449],[-91.184125,33.71567],[-91.207482,33.675669],[-91.17037,33.647456],[-91.172721,33.616683],[-91.214579,33.583406],[-91.202714,33.546975],[-91.192958,33.52253],[-91.15433,33.500206],[-91.141015,33.438507],[-91.168459,33.35946],[-91.163339,33.294454],[-91.117306,33.240819],[-91.106781,33.217923],[-91.152858,33.040571],[-91.149958,33.015918],[-91.346173,33.015193],[-91.525855,33.014984],[-91.705536,33.014786],[-91.885207,33.014544],[-92.064899,33.014314],[-92.244569,33.014105],[-92.424251,33.013907],[-92.603927,33.013699],[-92.783608,33.01349],[-92.963284,33.013281],[-93.142965,33.013072],[-93.322619,33.012842],[-93.502273,33.012611],[-93.681949,33.012402],[-93.861631,33.012193],[-94.041307,33.011996],[-94.042806,33.147589],[-94.044306,33.283215],[-94.045805,33.418841],[-94.047327,33.554435],[-94.098798,33.57733],[-94.191534,33.589009],[-94.238456,33.581208],[-94.294679,33.58746],[-94.33256,33.565036],[-94.357674,33.560972],[-94.377955,33.566113],[-94.390122,33.585603],[-94.432008,33.599731],[-94.484149,33.648434],[-94.481331,33.75711],[-94.47854,33.865787],[-94.475728,33.974464],[-94.47291,34.083141],[-94.470092,34.191817],[-94.467279,34.300494],[-94.464461,34.409171],[-94.461643,34.517837],[-94.458831,34.626514],[-94.456013,34.73519],[-94.453195,34.843867],[-94.450377,34.952544],[-94.447564,35.061221],[-94.444746,35.169897],[-94.441956,35.278574],[-94.439138,35.387251],[-94.461539,35.526459],[-94.483968,35.665655],[-94.506369,35.804841],[-94.52877,35.94406],[-94.551177,36.083279],[-94.573578,36.222465],[-94.595979,36.361661],[-94.61838,36.500869],[-94.339871,36.500869],[-94.061357,36.500869],[-93.782848,36.500869],[-93.504339,36.500869],[-93.22583,36.500869],[-92.947321,36.500869],[-92.668806,36.500869],[-92.390298,36.500869],[-92.111789,36.500869],[-91.833285,36.500869],[-91.55476,36.500869],[-91.276256,36.500869],[-90.997753,36.500869],[-90.719239,36.500869],[-90.440746,36.500869],[-90.162243,36.500869],[-90.118078,36.422537],[-90.074473,36.371835],[-90.067057,36.334272],[-90.075659,36.296721],[-90.149279,36.215928],[-90.216164,36.178409],[-90.25255,36.137738],[-90.303043,36.099374],[-90.381068,35.99274],[-90.21679,35.994938],[-90.052489,35.997135],[-89.888178,35.999332],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"name":"Arizona"},"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.274774,31.327473],[-109.628215,31.326825],[-109.981651,31.326155],[-110.335092,31.325528],[-110.688533,31.324858],[-111.041974,31.32421],[-111.51621,31.47224],[-111.990473,31.620237],[-112.464731,31.768244],[-112.938967,31.916274],[-113.413203,32.064293],[-113.887461,32.212301],[-114.361724,32.360298],[-114.835955,32.508327],[-114.787999,32.564808],[-114.724773,32.715343],[-114.72095,32.724483],[-114.7209,32.724483],[-114.582176,32.734723],[-114.516467,32.772757],[-114.477531,32.842004],[-114.469,32.912306],[-114.490863,32.983618],[-114.550546,33.036792],[-114.648088,33.07175],[-114.704388,33.169781],[-114.719428,33.330863],[-114.701702,33.417809],[-114.651159,33.430619],[-114.60261,33.469895],[-114.556001,33.535626],[-114.521559,33.607608],[-114.499257,33.685875],[-114.495098,33.784653],[-114.509051,33.903921],[-114.418282,34.051149],[-114.32932,34.142027],[-114.163514,34.253363],[-114.125612,34.286509],[-114.125018,34.314084],[-114.125068,34.317182],[-114.15879,34.355217],[-114.308028,34.43289],[-114.371024,34.488492],[-114.376913,34.5397],[-114.378879,34.540633],[-114.398001,34.589698],[-114.557473,34.794571],[-114.610933,34.907401],[-114.610543,34.991117],[-114.610521,34.99761],[-114.590987,35.352776],[-114.648528,35.475922],[-114.662063,35.545355],[-114.645166,35.630543],[-114.650126,35.683508],[-114.677076,35.729805],[-114.68369,35.813597],[-114.687101,35.917341],[-114.732321,35.983666],[-114.741362,36.013516],[-114.715759,36.084982],[-114.669144,36.12172],[-114.592975,36.14756],[-114.505277,36.156426],[-114.406087,36.148307],[-114.331545,36.116293],[-114.281573,36.060328],[-114.232146,36.031698],[-114.183207,36.030303],[-114.119437,36.076665],[-114.061924,36.175212],[-114.042879,36.181771],[-114.041171,36.61249],[-114.04027,37.004153],[-113.72817,37.003944],[-113.41607,37.003735],[-113.103971,37.003527],[-112.791871,37.003318],[-112.479772,37.00312],[-112.167672,37.002911],[-111.855572,37.002703],[-111.543473,37.002494],[-111.231373,37.002285],[-110.919268,37.002087],[-110.607168,37.001879],[-110.295069,37.00167],[-109.982969,37.001461],[-109.67087,37.001252],[-109.35877,37.001055],[-109.04667,37.000846],[-109.046698,36.646339],[-109.046747,36.291843],[-109.046802,35.937336],[-109.046852,35.582819],[-109.046906,35.22829],[-109.046956,34.873794],[-109.047005,34.519287],[-109.04706,34.164791],[-109.04711,33.810284],[-109.047165,33.455788],[-109.047214,33.101293],[-109.047264,32.746764],[-109.047318,32.392235],[-109.047368,32.037739],[-109.047423,31.683232],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"name":"California"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-114.610543,34.991117],[-114.610933,34.907401],[-114.557473,34.794571],[-114.398001,34.589698],[-114.378879,34.540633],[-114.376913,34.5397],[-114.371024,34.488492],[-114.308028,34.43289],[-114.15879,34.355217],[-114.125068,34.317182],[-114.125018,34.314084],[-114.125612,34.286509],[-114.163514,34.253363],[-114.32932,34.142027],[-114.418282,34.051149],[-114.509051,33.903921],[-114.495098,33.784653],[-114.499257,33.685875],[-114.521559,33.607608],[-114.556001,33.535626],[-114.60261,33.469895],[-114.651159,33.430619],[-114.701702,33.417809],[-114.719428,33.330863],[-114.704388,33.169781],[-114.648088,33.07175],[-114.550546,33.036792],[-114.490863,32.983618],[-114.469,32.912306],[-114.477531,32.842004],[-114.516467,32.772757],[-114.582176,32.734723],[-114.7209,32.724483],[-114.72095,32.724483],[-114.724773,32.715343],[-114.839058,32.704719],[-115.125214,32.683307],[-115.411374,32.661883],[-115.697508,32.64046],[-115.983663,32.619048],[-116.269824,32.597624],[-116.555958,32.576201],[-116.842113,32.554789],[-117.128274,32.533365],[-117.130466,32.53977],[-117.137393,32.649172],[-117.183744,32.687877],[-117.243482,32.664026],[-117.27069,32.806266],[-117.255759,32.87337],[-117.262966,32.938871],[-117.318826,33.100051],[-117.467422,33.295487],[-117.788514,33.538472],[-117.952095,33.619606],[-118.080514,33.722152],[-118.161901,33.750705],[-118.264403,33.758616],[-118.294171,33.712308],[-118.410439,33.743938],[-118.392949,33.858295],[-118.506196,34.01741],[-118.598854,34.035032],[-118.832045,34.024463],[-119.143732,34.112024],[-119.235842,34.164121],[-119.267647,34.257439],[-119.413688,34.338573],[-119.606054,34.418004],[-119.713203,34.399657],[-119.853301,34.411962],[-120.052977,34.469266],[-120.169559,34.476451],[-120.396471,34.459554],[-120.481192,34.471639],[-120.559821,34.543885],[-120.644696,34.579986],[-120.626716,34.668943],[-120.63762,34.749352],[-120.624904,34.811985],[-120.663015,34.949292],[-120.63361,35.076459],[-120.659088,35.122403],[-120.707043,35.157648],[-120.857374,35.20969],[-120.88489,35.274949],[-120.860291,35.365443],[-120.899589,35.425121],[-121.02284,35.480777],[-121.137949,35.607131],[-121.283831,35.676323],[-121.343855,35.792229],[-121.433745,35.86386],[-121.465012,35.927394],[-121.664353,36.154042],[-121.877411,36.331064],[-121.910178,36.432919],[-121.918648,36.572346],[-121.835141,36.657457],[-121.790004,36.732285],[-121.794525,36.800961],[-121.807445,36.851234],[-121.880669,36.938938],[-122.164215,36.990969],[-122.3949,37.207521],[-122.408468,37.373173],[-122.499237,37.542615],[-122.500451,37.652764],[-122.514223,37.771987],[-122.445624,37.798003],[-122.384101,37.788544],[-122.390275,37.741083],[-122.369708,37.655862],[-122.297594,37.591866],[-122.228661,37.563906],[-122.166,37.501669],[-122.11905,37.482827],[-122.070529,37.478279],[-122.096544,37.518203],[-122.124142,37.543812],[-122.15804,37.62644],[-122.222201,37.732041],[-122.29599,37.790356],[-122.333432,37.896605],[-122.365473,37.921204],[-122.385446,37.960579],[-122.314233,38.007347],[-122.217031,38.040647],[-122.086728,38.049612],[-121.716857,38.034066],[-121.638101,38.061268],[-121.573013,38.052402],[-121.525343,38.055918],[-121.625725,38.083933],[-121.682206,38.074781],[-121.748635,38.080461],[-121.880773,38.075012],[-121.934155,38.086823],[-121.993119,38.120133],[-122.031511,38.123517],[-122.153778,38.065531],[-122.208297,38.072529],[-122.337129,38.135887],[-122.393351,38.144808],[-122.483889,38.108839],[-122.494892,37.95358],[-122.46691,37.838213],[-122.521325,37.826403],[-122.584189,37.874072],[-122.680698,37.90234],[-122.760382,37.945648],[-122.872932,38.026046],[-122.932,38.055457],[-122.998791,37.988616],[-123.001455,38.019279],[-122.96815,38.097007],[-122.977604,38.227327],[-122.87681,38.123363],[-122.908154,38.196587],[-122.986547,38.277095],[-123.046181,38.305055],[-123.121162,38.449283],[-123.289731,38.535867],[-123.424786,38.675624],[-123.701125,38.907293],[-123.719522,39.110968],[-123.820294,39.3684],[-123.777788,39.514957],[-123.783501,39.618723],[-123.832928,39.775509],[-123.884476,39.860796],[-124.108515,40.09453],[-124.324034,40.251964],[-124.356537,40.371078],[-124.371654,40.491202],[-124.324522,40.598088],[-124.283675,40.710534],[-124.253908,40.740307],[-124.242334,40.727903],[-124.250601,40.70392],[-124.220009,40.696482],[-124.208435,40.746096],[-124.190242,40.771727],[-124.222487,40.775034],[-124.21918,40.790745],[-124.199904,40.822056],[-124.133091,40.969778],[-124.140013,41.155886],[-124.068519,41.384171],[-124.071903,41.459516],[-124.117688,41.621751],[-124.163243,41.719002],[-124.244608,41.787941],[-124.208743,41.888554],[-124.211665,41.984618],[-124.228409,42.000768],[-123.955656,42.000559],[-123.692007,42.000559],[-123.428351,42.000559],[-123.164701,42.000559],[-122.901046,42.000559],[-122.63739,42.000559],[-122.37374,42.000559],[-122.110063,42.000559],[-121.84638,42.000559],[-121.58273,42.000559],[-121.319075,42.000559],[-121.05542,42.000559],[-120.79177,42.000559],[-120.528114,42.000559],[-120.264464,42.000559],[-120.000809,42.000559],[-120.000759,41.813056],[-120.000704,41.625519],[-120.000655,41.438015],[-120.000628,41.250501],[-120.0006,41.062975],[-120.000551,40.87546],[-120.000501,40.687957],[-120.000446,40.50042],[-120.000397,40.312883],[-120.000342,40.12538],[-120.000293,39.937876],[-120.000243,39.750339],[-120.000188,39.562803],[-120.000139,39.375299],[-120.000084,39.187784],[-120.000062,39.000259],[-119.765839,38.836782],[-119.531616,38.673295],[-119.297387,38.509796],[-119.063164,38.34632],[-118.828941,38.182843],[-118.594718,38.019333],[-118.360495,37.855857],[-118.126272,37.69238],[-117.942949,37.554579],[-117.759603,37.416788],[-117.576253,37.278965],[-117.392935,37.141174],[-117.209611,37.003373],[-117.02626,36.865549],[-116.842915,36.727759],[-116.659592,36.589968],[-116.405681,36.391786],[-116.151743,36.193625],[-115.897827,35.995476],[-115.643917,35.797294],[-115.390006,35.599122],[-115.136096,35.400962],[-114.88218,35.202812],[-114.610543,34.991117]]],[[[-119.882393,34.07968],[-119.678865,34.028462],[-119.569129,34.052961],[-119.549287,34.028154],[-119.562207,34.00661],[-119.809581,33.967795],[-119.885518,33.994931],[-119.892418,34.032164],[-119.918049,34.067848],[-119.882393,34.07968]]],[[[-120.306602,34.024869],[-120.359705,34.022265],[-120.441558,34.032933],[-120.412928,34.056323],[-120.367736,34.073297],[-120.353322,34.060586],[-120.306602,34.024869]]],[[[-120.043573,33.918862],[-120.113902,33.904855],[-120.167131,33.918082],[-120.251907,34.013839],[-120.071841,34.026506],[-119.994404,33.984934],[-119.983939,33.973332],[-120.043573,33.918862]]],[[[-118.347965,33.385762],[-118.297478,33.312131],[-118.370234,33.321217],[-118.446304,33.317086],[-118.469353,33.357142],[-118.49204,33.412821],[-118.507333,33.427004],[-118.559425,33.43197],[-118.563325,33.437079],[-118.569422,33.464182],[-118.554849,33.47708],[-118.391707,33.415095],[-118.347965,33.385762]]],[[[-119.438029,33.217198],[-119.482496,33.215342],[-119.543679,33.224614],[-119.575177,33.278326],[-119.525128,33.282051],[-119.478799,33.274635],[-119.442055,33.232447],[-119.438029,33.217198]]],[[[-118.350393,32.827612],[-118.408582,32.818515],[-118.473204,32.838928],[-118.52891,32.935608],[-118.59017,33.011161],[-118.557101,33.032661],[-118.507492,32.959898],[-118.383182,32.849464],[-118.350393,32.827612]]]]}},{"type":"Feature","properties":{"name":"Colorado"},"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.046648,37.250851],[-109.046648,37.500834],[-109.046621,37.750828],[-109.046593,38.000833],[-109.046593,38.250848],[-109.046566,38.500853],[-109.046544,38.750869],[-109.046544,39.000819],[-109.046516,39.250835],[-109.046489,39.50084],[-109.046489,39.750856],[-109.046467,40.000872],[-109.04644,40.250877],[-109.04644,40.500859],[-109.046412,40.750842],[-109.04639,41.000858],[-108.732351,41.000858],[-108.418313,41.000858],[-108.104274,41.000858],[-107.790213,41.000858],[-107.476147,41.000858],[-107.162108,41.000858],[-106.84807,41.000858],[-106.534037,41.000858],[-106.219998,41.000858],[-105.905932,41.000858],[-105.591871,41.000858],[-105.277832,41.000858],[-104.963794,41.000858],[-104.649755,41.000858],[-104.335722,41.000858],[-104.021655,41.000858],[-103.772084,41.000836],[-103.522486,41.000803],[-103.272915,41.000781],[-103.023344,41.000748],[-102.773746,41.000726],[-102.524175,41.000704],[-102.274604,41.00065],[-102.025006,41.000628],[-102.024956,40.875691],[-102.024879,40.750744],[-102.024802,40.625818],[-102.024747,40.500892],[-102.024698,40.375934],[-102.024621,40.251008],[-102.024544,40.126083],[-102.024489,40.001124],[-102.02377,39.813588],[-102.023045,39.626084],[-102.022319,39.43858],[-102.021572,39.251044],[-102.02082,39.063529],[-102.0201,38.876025],[-102.019375,38.688489],[-102.01865,38.500985],[-102.017925,38.31347],[-102.017178,38.125945],[-102.016431,37.93843],[-102.015706,37.750927],[-102.014981,37.56339],[-102.014261,37.375853],[-102.013536,37.188372],[-102.012783,37.000846],[-102.2598,37.000846],[-102.506811,37.000846],[-102.753828,37.000846],[-103.000839,37.000846],[-103.378724,37.000846],[-103.756583,37.000846],[-104.134441,37.000846],[-104.512299,37.000846],[-104.890158,37.000846],[-105.268016,37.000846],[-105.645874,37.000846],[-106.023755,37.000846],[-106.40164,37.000846],[-106.779499,37.000846],[-107.157357,37.000846],[-107.535215,37.000846],[-107.913073,37.000846],[-108.290932,37.000846],[-108.66879,37.000846],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"name":"Connecticut"},"geometry":{"type":"Polygon","coordinates":[[[-71.800836,42.011963],[-71.800319,41.95824],[-71.799561,41.883027],[-71.798968,41.828502],[-71.798199,41.753114],[-71.79732,41.667586],[-71.796518,41.588858],[-71.795793,41.519951],[-71.799232,41.47917],[-71.804527,41.416746],[-71.829873,41.392741],[-71.842353,41.335513],[-71.929947,41.341039],[-72.07389,41.326109],[-72.265272,41.291666],[-72.371059,41.312156],[-72.479417,41.27578],[-72.847152,41.265849],[-72.924715,41.285151],[-73.023724,41.216476],[-73.182268,41.175838],[-73.582994,41.021886],[-73.630466,40.99186],[-73.682113,41.054702],[-73.723015,41.104514],[-73.641881,41.143406],[-73.579797,41.173146],[-73.521756,41.200919],[-73.484139,41.218959],[-73.51445,41.257455],[-73.544729,41.295951],[-73.53672,41.390906],[-73.528689,41.485839],[-73.520647,41.580794],[-73.512638,41.675748],[-73.504629,41.770703],[-73.496619,41.865658],[-73.48861,41.960613],[-73.480568,42.055568],[-73.396468,42.052887],[-73.312346,42.050195],[-73.228234,42.047515],[-73.144134,42.044823],[-73.060034,42.042132],[-72.975922,42.039451],[-72.8918,42.036759],[-72.8077,42.034079],[-72.806458,42.00803],[-72.763326,42.011238],[-72.757624,42.034079],[-72.638115,42.03265],[-72.518638,42.031233],[-72.39914,42.029816],[-72.279642,42.028388],[-72.160133,42.02697],[-72.040634,42.025553],[-71.921136,42.024125],[-71.801638,42.022708],[-71.800836,42.011963]]]}},{"type":"Feature","properties":{"name":"District of Columbia"},"geometry":{"type":"Polygon","coordinates":[[[-77.030361,38.889253],[-77.053048,38.915302],[-77.101827,38.935967],[-77.122053,38.943536],[-77.042116,39.011783],[-76.988789,38.952347],[-76.931242,38.88822],[-77.019737,38.806526],[-77.030361,38.889253]]]}},{"type":"Feature","properties":{"name":"Delaware"},"geometry":{"type":"Polygon","coordinates":[[[-75.037661,38.45559],[-75.144657,38.454865],[-75.366273,38.454919],[-75.587856,38.454996],[-75.688601,38.455018],[-75.690908,38.455018],[-75.693226,38.455018],[-75.695533,38.455018],[-75.697829,38.455018],[-75.700125,38.455018],[-75.702433,38.45504],[-75.704729,38.455073],[-75.707025,38.455073],[-75.716748,38.613485],[-75.72646,38.771897],[-75.736172,38.930309],[-75.745883,39.088721],[-75.755606,39.247144],[-75.765318,39.405555],[-75.77503,39.563945],[-75.78472,39.722357],[-75.709145,39.802898],[-75.676823,39.827233],[-75.634581,39.839482],[-75.510446,39.843438],[-75.421029,39.815422],[-75.464403,39.780936],[-75.50213,39.717391],[-75.587603,39.640784],[-75.581583,39.589467],[-75.567268,39.552992],[-75.573882,39.476945],[-75.519807,39.40282],[-75.412657,39.281377],[-75.392168,39.092753],[-75.310407,38.966564],[-75.185064,38.819391],[-75.088692,38.777533],[-75.08399,38.72281],[-75.128485,38.632448],[-75.187108,38.591128],[-75.110863,38.599379],[-75.072883,38.578735],[-75.035881,38.503336],[-75.037661,38.45559]]]}},{"type":"Feature","properties":{"name":"Florida"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.480106,30.411707],[-87.444807,30.442557],[-87.429382,30.477856],[-87.43381,30.545938],[-87.408278,30.641465],[-87.421659,30.671589],[-87.566195,30.795636],[-87.601055,30.860598],[-87.607438,30.929328],[-87.593694,31.000739],[-87.2703,31.000794],[-86.94694,31.000849],[-86.623568,31.000893],[-86.300175,31.000948],[-85.976792,31.001003],[-85.653399,31.001058],[-85.330005,31.001102],[-85.007282,31.001673],[-84.966335,30.922638],[-84.886882,30.75926],[-84.883938,30.72094],[-84.790378,30.715128],[-84.630978,30.705779],[-84.471555,30.696451],[-84.312166,30.687124],[-84.152765,30.677763],[-83.993342,30.668414],[-83.833942,30.659087],[-83.674552,30.649759],[-83.515129,30.640399],[-83.355707,30.63105],[-83.196306,30.621722],[-83.036916,30.612395],[-82.877494,30.603045],[-82.718093,30.593685],[-82.558704,30.584358],[-82.399281,30.57503],[-82.23988,30.565681],[-82.238924,30.532612],[-82.212733,30.480746],[-82.20624,30.421606],[-82.194232,30.393437],[-82.162624,30.375716],[-82.112274,30.371355],[-82.061759,30.404599],[-82.029822,30.477702],[-82.021835,30.559869],[-82.04116,30.65322],[-82.038193,30.73197],[-82.012947,30.778069],[-81.983053,30.789494],[-81.957081,30.81429],[-81.935592,30.819509],[-81.880452,30.806336],[-81.673359,30.740243],[-81.503939,30.731432],[-81.457192,30.640761],[-81.385726,30.269984],[-81.337101,30.141213],[-81.249507,29.793792],[-81.104531,29.456963],[-80.900021,29.049853],[-80.5643,28.556402],[-80.524123,28.48609],[-80.567816,28.426456],[-80.581153,28.36468],[-80.584977,28.271604],[-80.572859,28.180868],[-80.533165,28.07007],[-80.456887,27.900672],[-80.499547,27.934466],[-80.610015,28.177605],[-80.62288,28.320361],[-80.606938,28.522883],[-80.632877,28.518027],[-80.653883,28.452186],[-80.665484,28.374908],[-80.693489,28.344959],[-80.731754,28.46292],[-80.729051,28.516214],[-80.688457,28.57854],[-80.700267,28.600941],[-80.765943,28.632823],[-80.779896,28.682954],[-80.771008,28.732458],[-80.80868,28.758946],[-80.83819,28.75765],[-80.818425,28.635614],[-80.787213,28.560632],[-80.748607,28.381005],[-80.686359,28.272175],[-80.650115,28.180911],[-80.226108,27.20705],[-80.12577,27.083004],[-80.088647,26.99396],[-80.050041,26.807697],[-80.041307,26.568613],[-80.110587,26.131588],[-80.126374,25.833518],[-80.136295,25.842614],[-80.142909,25.874024],[-80.158927,25.878342],[-80.219077,25.741738],[-80.300826,25.618537],[-80.327754,25.427078],[-80.36692,25.331267],[-80.484639,25.22983],[-80.557632,25.232412],[-80.736544,25.156342],[-80.862217,25.176195],[-81.011971,25.133249],[-81.110497,25.13805],[-81.167395,25.228533],[-81.158683,25.268996],[-81.136029,25.309646],[-81.097654,25.319149],[-80.965367,25.224304],[-80.940406,25.264217],[-80.980353,25.311656],[-81.05685,25.338144],[-81.113309,25.367236],[-81.227128,25.583403],[-81.345077,25.731817],[-81.364929,25.831035],[-81.568242,25.891547],[-81.715503,25.983173],[-81.81149,26.146101],[-81.866576,26.434997],[-81.931483,26.467451],[-81.958949,26.489929],[-81.895514,26.597166],[-81.82864,26.687056],[-81.881561,26.664677],[-81.920552,26.631422],[-81.970188,26.552045],[-82.006388,26.539851],[-82.039611,26.552045],[-82.077876,26.704338],[-82.066923,26.891567],[-82.013254,26.961561],[-82.095685,26.963418],[-82.181103,26.936776],[-82.168623,26.874351],[-82.180664,26.840096],[-82.242858,26.848874],[-82.290066,26.870814],[-82.354039,26.935743],[-82.44137,27.059691],[-82.620458,27.401069],[-82.655361,27.449233],[-82.714589,27.499583],[-82.686705,27.515272],[-82.63585,27.524577],[-82.520845,27.678254],[-82.430515,27.771121],[-82.400544,27.83538],[-82.405763,27.862901],[-82.445709,27.902848],[-82.498136,27.867911],[-82.520614,27.877887],[-82.579611,27.958449],[-82.635937,27.981213],[-82.675203,27.963767],[-82.633817,27.897783],[-82.596551,27.873239],[-82.610977,27.777219],[-82.626006,27.745985],[-82.660887,27.718409],[-82.715336,27.733109],[-82.742856,27.709367],[-82.775299,27.734383],[-82.807555,27.776549],[-82.843513,27.846004],[-82.748536,28.236799],[-82.660635,28.485859],[-82.650604,28.769922],[-82.644023,28.81201],[-82.651483,28.887486],[-82.769333,29.051556],[-83.29047,29.451898],[-83.694371,29.92598],[-84.04422,30.103794],[-84.309683,30.064759],[-84.355616,30.029021],[-84.375337,29.982274],[-84.358693,29.929386],[-84.38283,29.907369],[-84.454065,29.91016],[-84.549976,29.897866],[-84.800552,29.773072],[-84.888926,29.77761],[-84.96917,29.745288],[-85.029298,29.721085],[-85.18604,29.707901],[-85.318942,29.680205],[-85.376356,29.69519],[-85.413798,29.76759],[-85.413798,29.842473],[-85.383442,29.785058],[-85.33641,29.740124],[-85.314888,29.758076],[-85.306857,29.797846],[-85.353626,29.87575],[-85.504281,29.975792],[-85.6758,30.121932],[-85.623472,30.117076],[-85.610277,30.148398],[-85.663418,30.189454],[-85.640973,30.236893],[-85.603532,30.286782],[-85.675899,30.279289],[-85.740806,30.244386],[-85.742948,30.201253],[-85.755791,30.166998],[-85.79075,30.171986],[-85.855657,30.214404],[-86.17515,30.332518],[-86.454434,30.399128],[-86.240079,30.429099],[-86.123833,30.405797],[-86.137709,30.441557],[-86.165691,30.464244],[-86.257394,30.493017],[-86.374179,30.482064],[-86.447952,30.49561],[-86.523373,30.467112],[-86.606078,30.424682],[-86.679642,30.402896],[-86.967605,30.372354],[-87.201152,30.339231],[-87.163722,30.374189],[-87.123776,30.396667],[-86.985798,30.430857],[-86.965155,30.501916],[-86.997576,30.570328],[-87.033908,30.553925],[-87.072019,30.500433],[-87.118788,30.538962],[-87.170588,30.538786],[-87.184651,30.453697],[-87.251074,30.396667],[-87.281045,30.339231],[-87.475767,30.294275],[-87.500728,30.30926],[-87.443731,30.363829],[-87.448301,30.394162],[-87.489511,30.377683]]],[[[-84.907888,29.642632],[-85.00827,29.606618],[-85.116738,29.632788],[-85.049326,29.637776],[-85.000547,29.627185],[-84.876984,29.678678],[-84.812186,29.717646],[-84.737172,29.732445],[-84.907888,29.642632]]],[[[-80.186755,27.27844],[-80.170506,27.204798],[-80.262462,27.37557],[-80.376072,27.643427],[-80.436892,27.850553],[-80.395759,27.794555],[-80.355505,27.678617],[-80.186755,27.27844]]],[[[-82.083765,26.552331],[-82.085215,26.493598],[-82.135598,26.59197],[-82.169139,26.700723],[-82.121129,26.665534],[-82.083765,26.552331]]],[[[-82.037183,26.45363],[-82.072844,26.427537],[-82.144958,26.446654],[-82.184388,26.480942],[-82.201384,26.548046],[-82.138597,26.476987],[-82.116064,26.460914],[-82.037183,26.45363]]],[[[-80.381828,25.142291],[-80.580582,24.954238],[-80.558566,25.001314],[-80.481046,25.10196],[-80.456019,25.149322],[-80.403669,25.179337],[-80.354934,25.233653],[-80.351286,25.296956],[-80.280491,25.341242],[-80.257057,25.347603],[-80.381828,25.142291]]],[[[-80.638304,24.903184],[-80.665144,24.898449],[-80.62567,24.941087],[-80.614607,24.937934],[-80.638304,24.903184]]],[[[-80.829401,24.803681],[-80.848363,24.803681],[-80.838882,24.817886],[-80.799408,24.846308],[-80.785192,24.835278],[-80.786774,24.82104],[-80.829401,24.803681]]],[[[-81.044194,24.716812],[-81.090007,24.693115],[-81.137369,24.710506],[-81.08525,24.734204],[-80.930486,24.759472],[-80.988922,24.727875],[-81.044194,24.716812]]],[[[-81.334794,24.650488],[-81.364797,24.629943],[-81.379036,24.636271],[-81.379036,24.666275],[-81.421662,24.7326],[-81.420091,24.749991],[-81.322313,24.685084],[-81.319841,24.667615],[-81.334794,24.650488]]],[[[-81.566693,24.599896],[-81.631501,24.590019],[-81.57925,24.629372],[-81.562298,24.689138],[-81.531636,24.642479],[-81.532229,24.614156],[-81.566693,24.599896]]],[[[-81.783838,24.54458],[-81.809216,24.542349],[-81.811413,24.557807],[-81.767688,24.576715],[-81.738651,24.575429],[-81.739761,24.5545],[-81.783838,24.54458]]]]}},{"type":"Feature","properties":{"name":"Georgia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-85.007282,31.001673],[-85.067443,31.117579],[-85.092601,31.295711],[-85.054885,31.572677],[-85.067047,31.635178],[-85.067201,31.635387],[-85.124824,31.77677],[-85.124132,31.880536],[-85.06441,32.050527],[-85.064564,32.051043],[-85.034627,32.147372],[-84.992977,32.201831],[-84.929696,32.246556],[-84.921533,32.285887],[-84.9685,32.319813],[-84.985968,32.360946],[-84.973905,32.409286],[-85.015038,32.526158],[-85.156531,32.804277],[-85.176317,32.898221],[-85.200971,32.956229],[-85.227382,33.084022],[-85.253782,33.211826],[-85.280193,33.339619],[-85.306626,33.46739],[-85.333059,33.595161],[-85.359459,33.722954],[-85.38587,33.850747],[-85.412271,33.978551],[-85.438682,34.106344],[-85.465115,34.234137],[-85.491548,34.36193],[-85.517948,34.489679],[-85.544359,34.617472],[-85.57077,34.745265],[-85.59717,34.873069],[-85.623604,35.000862],[-85.298892,34.997654],[-84.974158,34.994479],[-84.649424,34.991304],[-84.32469,34.988096],[-84.022225,34.991457],[-83.719772,34.994786],[-83.417307,34.998126],[-83.114821,35.001477],[-83.121357,35.000554],[-83.1704,34.932911],[-83.316716,34.805657],[-83.355575,34.708318],[-83.166522,34.599597],[-83.165896,34.598531],[-83.052781,34.51086],[-82.975679,34.476396],[-82.896819,34.465806],[-82.847732,34.436911],[-82.818607,34.366072],[-82.818585,34.366017],[-82.589268,34.017377],[-82.589344,34.017618],[-82.351897,33.837728],[-82.256623,33.749233],[-82.208361,33.663584],[-82.005718,33.522893],[-81.936394,33.447285],[-81.932845,33.38987],[-81.908741,33.349254],[-81.864093,33.325436],[-81.821279,33.274096],[-81.780322,33.195292],[-81.69932,33.126759],[-81.57824,33.068575],[-81.489778,32.935663],[-81.433813,32.728032],[-81.37697,32.607468],[-81.290332,32.557239],[-81.171504,32.380139],[-81.132953,32.27467],[-81.135018,32.181858],[-81.074813,32.109699],[-80.872346,32.029565],[-80.923432,31.944894],[-81.045535,31.892038],[-81.082877,31.894104],[-81.113287,31.878624],[-81.095511,31.840897],[-81.065046,31.813464],[-81.066134,31.787987],[-81.098401,31.75338],[-81.162121,31.743723],[-81.197904,31.704216],[-81.186588,31.666961],[-81.165527,31.646153],[-81.169922,31.610316],[-81.242399,31.574325],[-81.25935,31.538927],[-81.223414,31.528468],[-81.195685,31.538927],[-81.175426,31.531302],[-81.21891,31.472141],[-81.257933,31.436018],[-81.294979,31.371209],[-81.380947,31.353258],[-81.377739,31.332296],[-81.329136,31.313751],[-81.288464,31.263906],[-81.364874,31.171895],[-81.412621,31.179443],[-81.441767,31.199724],[-81.460345,31.127071],[-81.453215,31.088279],[-81.471376,31.009012],[-81.500599,30.913772],[-81.520397,30.874649],[-81.516233,30.80181],[-81.503939,30.731432],[-81.673359,30.740243],[-81.880452,30.806336],[-81.935592,30.819509],[-81.957081,30.81429],[-81.983053,30.789494],[-82.012947,30.778069],[-82.038193,30.73197],[-82.04116,30.65322],[-82.021835,30.559869],[-82.029822,30.477702],[-82.061759,30.404599],[-82.112274,30.371355],[-82.162624,30.375716],[-82.194232,30.393437],[-82.20624,30.421606],[-82.212733,30.480746],[-82.238924,30.532612],[-82.23988,30.565681],[-82.399281,30.57503],[-82.558704,30.584358],[-82.718093,30.593685],[-82.877494,30.603045],[-83.036916,30.612395],[-83.196306,30.621722],[-83.355707,30.63105],[-83.515129,30.640399],[-83.674552,30.649759],[-83.833942,30.659087],[-83.993342,30.668414],[-84.152765,30.677763],[-84.312166,30.687124],[-84.471555,30.696451],[-84.630978,30.705779],[-84.790378,30.715128],[-84.883938,30.72094],[-84.886882,30.75926],[-84.966335,30.922638],[-85.007282,31.001673]]],[[[-81.418982,30.971439],[-81.463498,30.727762],[-81.482725,30.814093],[-81.484636,30.897831],[-81.450941,30.947412],[-81.418982,30.971439]]]]}},{"type":"Feature","properties":{"name":"Hawaii"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-177.371467,28.2005],[-177.390485,28.196369],[-177.388831,28.208773],[-177.370641,28.221176],[-177.354104,28.217035],[-177.361546,28.207114],[-177.371467,28.2005]]],[[[-159.372773,21.93236],[-159.460674,21.876132],[-159.51186,21.900368],[-159.608858,21.90952],[-159.646373,21.95174],[-159.748022,21.989819],[-159.789182,22.041806],[-159.726626,22.1402],[-159.579222,22.223135],[-159.352052,22.219576],[-159.304792,22.154053],[-159.300658,22.105263],[-159.33019,22.050694],[-159.34373,21.973647],[-159.372773,21.93236]]],[[[-160.18001,21.841075],[-160.200241,21.796888],[-160.234711,21.803677],[-160.243445,21.843063],[-160.220912,21.89727],[-160.16386,21.944039],[-160.100636,22.015241],[-160.048728,22.00465],[-160.076711,21.95809],[-160.080042,21.907443],[-160.153395,21.878769],[-160.18001,21.841075]]],[[[-157.799355,21.456652],[-157.764989,21.450939],[-157.720885,21.457707],[-157.705537,21.378078],[-157.65417,21.333913],[-157.635411,21.307645],[-157.690887,21.279739],[-157.798786,21.268621],[-157.849326,21.290847],[-157.901753,21.34056],[-157.958442,21.326915],[-157.968311,21.366916],[-157.97844,21.378484],[-158.017274,21.36774],[-157.98097,21.316115],[-158.079157,21.312237],[-158.110345,21.318598],[-158.137835,21.377144],[-158.239093,21.489337],[-158.238681,21.533051],[-158.273124,21.585247],[-158.123108,21.600255],[-158.02035,21.691804],[-157.962496,21.701362],[-157.851496,21.553365],[-157.854338,21.511913],[-157.829584,21.471451],[-157.799355,21.456652]]],[[[-157.213602,21.215392],[-157.002296,21.18796],[-156.952353,21.199693],[-156.917213,21.177314],[-156.742209,21.163515],[-156.712161,21.155088],[-156.747894,21.103574],[-156.85985,21.056332],[-157.020874,21.097784],[-157.290314,21.112582],[-157.27949,21.152353],[-157.253807,21.180566],[-157.249931,21.229763],[-157.213602,21.215392]]],[[[-156.486826,20.932571],[-156.460833,20.914741],[-156.354405,20.941459],[-156.277537,20.951281],[-156.148346,20.885495],[-156.103516,20.84033],[-156.018636,20.792067],[-155.989854,20.757131],[-156.013574,20.714811],[-156.107133,20.644784],[-156.234748,20.628613],[-156.309963,20.598796],[-156.408793,20.605179],[-156.438223,20.617868],[-156.448868,20.706231],[-156.480056,20.801241],[-156.543823,20.790002],[-156.615449,20.821829],[-156.689681,20.901414],[-156.697769,20.949062],[-156.656867,21.024505],[-156.585423,21.034327],[-156.532301,20.992678],[-156.486826,20.932571]]],[[[-156.849595,20.772632],[-156.908866,20.744474],[-156.973411,20.757548],[-156.988448,20.825707],[-157.050565,20.912466],[-156.941784,20.930045],[-156.880549,20.90482],[-156.848276,20.877794],[-156.80939,20.831135],[-156.849595,20.772632]]],[[[-155.581325,19.012018],[-155.625611,18.963909],[-155.680751,18.967677],[-155.881306,19.070521],[-155.905594,19.125815],[-155.890738,19.382543],[-155.965824,19.590789],[-156.048686,19.749959],[-155.988407,19.831609],[-155.908877,19.894704],[-155.820302,20.01418],[-155.892754,20.167396],[-155.874278,20.259802],[-155.831621,20.27582],[-155.622073,20.163419],[-155.198789,19.994383],[-155.086083,19.875632],[-155.065929,19.748201],[-154.989035,19.731974],[-154.952577,19.644644],[-154.841343,19.568157],[-154.804188,19.524443],[-154.850283,19.454108],[-155.053476,19.319185],[-155.309611,19.260167],[-155.535229,19.109072],[-155.581325,19.012018]]]]}},{"type":"Feature","properties":{"name":"Iowa"},"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.529931,40.432316],[-91.545487,40.469318],[-91.616855,40.50688],[-91.627423,40.530753],[-91.682047,40.551869],[-91.73153,40.624653],[-91.983787,40.623203],[-92.236044,40.621764],[-92.488301,40.620314],[-92.740564,40.618864],[-92.992821,40.617413],[-93.245078,40.615974],[-93.497335,40.614524],[-93.749598,40.613074],[-94.001855,40.611635],[-94.254112,40.610184],[-94.506369,40.608734],[-94.758631,40.607284],[-95.010888,40.605845],[-95.263146,40.604395],[-95.51543,40.602944],[-95.765029,40.601868],[-95.826107,40.676179],[-95.859,40.745108],[-95.838148,40.777748],[-95.834017,40.88949],[-95.846597,41.080333],[-95.870887,41.187824],[-95.906906,41.21195],[-95.911169,41.245183],[-95.883626,41.287557],[-95.891943,41.316166],[-95.936025,41.330986],[-95.94972,41.367428],[-95.932977,41.425458],[-95.943567,41.460933],[-95.98158,41.473798],[-95.997367,41.493639],[-95.990957,41.52049],[-96.011397,41.537881],[-96.058627,41.54578],[-96.077771,41.611281],[-96.068806,41.734328],[-96.086637,41.821372],[-96.13123,41.872437],[-96.153763,41.920436],[-96.154203,41.965293],[-96.201384,42.036122],[-96.295333,42.132912],[-96.356104,42.260133],[-96.383751,42.417776],[-96.451004,42.505985],[-96.480953,42.511259],[-96.506326,42.593579],[-96.53361,42.630164],[-96.538702,42.658585],[-96.62177,42.729535],[-96.626835,42.757001],[-96.616084,42.791388],[-96.562576,42.85857],[-96.513274,42.969059],[-96.502112,43.043294],[-96.462688,43.099181],[-96.461293,43.129767],[-96.468137,43.17023],[-96.49028,43.205529],[-96.55539,43.231676],[-96.563454,43.242685],[-96.569942,43.283323],[-96.542526,43.309031],[-96.534956,43.338057],[-96.541647,43.373455],[-96.581285,43.434923],[-96.598622,43.497501],[-96.453619,43.501171],[-96.128418,43.501226],[-95.80319,43.50127],[-95.477967,43.501325],[-95.152766,43.50138],[-94.827565,43.501424],[-94.502342,43.501478],[-94.177114,43.501533],[-93.851913,43.501577],[-93.526712,43.501632],[-93.20149,43.501687],[-92.876261,43.501742],[-92.551066,43.501786],[-92.225838,43.501841],[-91.900609,43.501896],[-91.575414,43.50194],[-91.245253,43.502412],[-91.238277,43.440241],[-91.218688,43.395285],[-91.178357,43.358931],[-91.117196,43.331157],[-91.106968,43.278028],[-91.147585,43.199585],[-91.161328,43.102334],[-91.148156,42.986209],[-91.117592,42.881652],[-91.069582,42.788554],[-90.959949,42.72034],[-90.788749,42.676933],[-90.687873,42.610322],[-90.657331,42.520509],[-90.650585,42.512984],[-90.589633,42.444802],[-90.484735,42.383257],[-90.425036,42.325656],[-90.41049,42.272075],[-90.346571,42.214837],[-90.233214,42.154016],[-90.167516,42.100304],[-90.149433,42.053711],[-90.152443,41.98152],[-90.176613,41.883643],[-90.217768,41.81311],[-90.276006,41.770011],[-90.319237,41.709652],[-90.347527,41.632034],[-90.43667,41.560359],[-90.586732,41.494727],[-90.754065,41.449826],[-90.938756,41.42559],[-91.048114,41.369098],[-91.082106,41.280318],[-91.066505,41.205907],[-91.001334,41.145966],[-90.963827,41.082531],[-90.954005,41.01558],[-91.000126,40.904684],[-91.102134,40.749788],[-91.215128,40.649559],[-91.339043,40.603977],[-91.394184,40.536653],[-91.380539,40.447554],[-91.390778,40.397127],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"name":"Idaho"},"geometry":{"type":"Polygon","coordinates":[[[-117.039054,48.993083],[-116.717028,48.993083],[-116.290649,48.993083],[-116.048494,48.993083],[-116.048389,48.746637],[-116.048598,48.499313],[-116.048801,48.251989],[-116.04901,48.00472],[-115.941443,47.904107],[-115.862149,47.842408],[-115.811244,47.775951],[-115.733757,47.706342],[-115.718382,47.68148],[-115.690867,47.606652],[-115.710862,47.552599],[-115.66968,47.497854],[-115.676887,47.470564],[-115.708022,47.456798],[-115.714454,47.45225],[-115.713317,47.446746],[-115.702468,47.437594],[-115.593325,47.384915],[-115.485994,47.311636],[-115.349467,47.261176],[-115.306675,47.231172],[-115.126636,47.084593],[-115.033516,46.990934],[-114.935694,46.922819],[-114.886937,46.844871],[-114.786066,46.776756],[-114.760715,46.742292],[-114.753689,46.734568],[-114.740302,46.733634],[-114.678032,46.750169],[-114.661623,46.745544],[-114.630648,46.718572],[-114.624006,46.677615],[-114.60155,46.660334],[-114.562999,46.650435],[-114.518664,46.647743],[-114.380917,46.667639],[-114.350897,46.667639],[-114.336868,46.659224],[-114.330122,46.637647],[-114.332061,46.601392],[-114.345805,46.550591],[-114.387042,46.499955],[-114.38022,46.453033],[-114.41275,46.343631],[-114.444248,46.270714],[-114.446599,46.199325],[-114.485359,46.158214],[-114.463578,46.109765],[-114.478306,46.035585],[-114.464792,46.016414],[-114.415903,45.982159],[-114.396787,45.89095],[-114.405131,45.874251],[-114.492566,45.838732],[-114.522537,45.815133],[-114.533699,45.78201],[-114.495796,45.685846],[-114.532617,45.633024],[-114.537346,45.587398],[-114.529233,45.575719],[-114.448434,45.551253],[-114.350562,45.497145],[-114.319191,45.48573],[-114.297641,45.487565],[-114.256146,45.505648],[-114.210234,45.542442],[-114.116619,45.579103],[-114.006393,45.658457],[-114.000708,45.680628],[-113.991924,45.69302],[-113.977818,45.69235],[-113.942651,45.681507],[-113.872915,45.63354],[-113.812814,45.606986],[-113.802273,45.601098],[-113.796642,45.587661],[-113.799614,45.540189],[-113.76615,45.502517],[-113.756097,45.44084],[-113.721941,45.379273],[-113.697112,45.304983],[-113.606573,45.209105],[-113.557404,45.140419],[-113.503582,45.109284],[-113.471079,45.072853],[-113.447129,45.029084],[-113.438136,44.993971],[-113.469294,44.929976],[-113.460796,44.90362],[-113.432138,44.874165],[-113.338891,44.808072],[-113.320418,44.802534],[-113.234269,44.809873],[-113.18717,44.798579],[-113.140709,44.765489],[-113.09327,44.715336],[-113.062706,44.665073],[-113.05428,44.605187],[-113.006379,44.539137],[-112.999689,44.48036],[-112.970075,44.454499],[-112.910392,44.419331],[-112.853856,44.398325],[-112.831351,44.396623],[-112.815514,44.405972],[-112.810163,44.438162],[-112.787142,44.463079],[-112.715928,44.498037],[-112.648236,44.497104],[-112.392848,44.467957],[-112.375385,44.470022],[-112.36386,44.479558],[-112.320036,44.53315],[-112.285077,44.553947],[-112.23131,44.560692],[-112.074211,44.547619],[-111.89208,44.554925],[-111.797098,44.539895],[-111.659302,44.559605],[-111.499857,44.54485],[-111.47934,44.553716],[-111.474506,44.564615],[-111.488821,44.584544],[-111.491046,44.624226],[-111.459109,44.671017],[-111.4481,44.711117],[-111.41557,44.733551],[-111.372525,44.74624],[-111.337463,44.744812],[-111.304081,44.723312],[-111.265118,44.687552],[-111.197574,44.590586],[-111.160934,44.555836],[-111.11722,44.525349],[-111.051434,44.498883],[-111.051357,44.342768],[-111.05128,44.186652],[-111.051225,44.030547],[-111.051148,43.874398],[-111.051071,43.718261],[-111.051022,43.562145],[-111.050945,43.406029],[-111.050862,43.249892],[-111.050785,43.093754],[-111.050708,42.937638],[-111.050659,42.781522],[-111.050582,42.625385],[-111.050505,42.469247],[-111.05045,42.313131],[-111.050373,42.157016],[-111.050296,42.000878],[-111.237311,42.0009],[-111.424331,42.0009],[-111.611346,42.000922],[-111.798367,42.000955],[-111.985381,42.000955],[-112.172396,42.000977],[-112.359416,42.000999],[-112.546431,42.000999],[-112.733451,42.000999],[-112.920466,42.001032],[-113.107481,42.001054],[-113.294501,42.001054],[-113.481516,42.001054],[-113.668536,42.001076],[-113.855551,42.001109],[-114.042593,42.001109],[-114.414354,42.001054],[-114.786115,42.000977],[-115.157876,42.0009],[-115.529637,42.000845],[-115.901398,42.000768],[-116.273153,42.000691],[-116.644914,42.000636],[-117.016675,42.000559],[-117.017114,42.223779],[-117.017581,42.446967],[-117.018021,42.670165],[-117.01846,42.893352],[-117.0189,43.11654],[-117.019339,43.339727],[-117.0198,43.562925],[-117.02024,43.808437],[-117.020498,43.813194],[-116.957634,43.964135],[-116.943967,44.037677],[-116.960683,44.079118],[-116.949779,44.119009],[-116.91131,44.157406],[-116.91242,44.199473],[-116.95319,44.245308],[-117.028952,44.275542],[-117.139744,44.290264],[-117.197312,44.3438],[-117.201701,44.436206],[-117.118919,44.578314],[-116.948955,44.770114],[-116.855857,44.90574],[-116.839553,44.98516],[-116.737342,45.168841],[-116.549157,45.456737],[-116.477043,45.641088],[-116.520917,45.721914],[-116.616827,45.79917],[-116.764725,45.87291],[-116.869194,45.958483],[-116.896479,46.002099],[-116.930196,46.055954],[-116.947845,46.124322],[-116.92211,46.163642],[-116.942962,46.232108],[-117.010396,46.329623],[-117.038999,46.396552],[-117.032462,46.419755],[-117.025046,46.429159],[-117.025848,46.589461],[-117.026678,46.749751],[-117.027502,46.910053],[-117.028331,47.070354],[-117.029155,47.230656],[-117.029985,47.390957],[-117.030809,47.551259],[-117.031638,47.71156],[-117.032462,47.871862],[-117.033292,48.032163],[-117.034116,48.192454],[-117.034918,48.352756],[-117.03572,48.513057],[-117.036544,48.673359],[-117.037373,48.83366],[-117.039054,48.993083]]]}},{"type":"Feature","properties":{"name":"Illinois"},"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.390778,40.397127],[-91.380539,40.447554],[-91.394184,40.536653],[-91.339043,40.603977],[-91.215128,40.649559],[-91.102134,40.749788],[-91.000126,40.904684],[-90.954005,41.01558],[-90.963827,41.082531],[-91.001334,41.145966],[-91.066505,41.205907],[-91.082106,41.280318],[-91.048114,41.369098],[-90.938756,41.42559],[-90.754065,41.449826],[-90.586732,41.494727],[-90.43667,41.560359],[-90.347527,41.632034],[-90.319237,41.709652],[-90.276006,41.770011],[-90.217768,41.81311],[-90.176613,41.883643],[-90.152443,41.98152],[-90.149433,42.053711],[-90.167516,42.100304],[-90.233214,42.154016],[-90.346571,42.214837],[-90.41049,42.272075],[-90.425036,42.325656],[-90.484735,42.383257],[-90.589633,42.444802],[-90.650585,42.512984],[-90.191049,42.510303],[-89.740796,42.507798],[-89.290521,42.505315],[-88.840236,42.50281],[-88.38995,42.500305],[-87.939664,42.497822],[-87.489412,42.495318],[-87.039126,42.492802],[-87.084675,42.309791],[-87.130203,42.126781],[-87.17573,41.943749],[-87.221257,41.760728],[-87.371408,41.760761],[-87.521085,41.760761],[-87.522536,41.460988],[-87.524008,41.161237],[-87.52548,40.861486],[-87.52693,40.561713],[-87.528369,40.26194],[-87.529819,39.962189],[-87.53127,39.662438],[-87.532742,39.379144],[-87.532918,39.37486],[-87.579115,39.343977],[-87.611052,39.291353],[-87.602912,39.234147],[-87.614985,39.193289],[-87.647285,39.168745],[-87.631696,39.106705],[-87.568294,39.00718],[-87.530281,38.908897],[-87.51768,38.811821],[-87.529457,38.742289],[-87.583773,38.67937],[-87.635958,38.542612],[-87.680662,38.487988],[-87.735231,38.469905],[-87.784065,38.419104],[-87.827164,38.335564],[-87.872955,38.295024],[-87.921427,38.297507],[-87.957265,38.282214],[-87.980413,38.249189],[-87.97749,38.21444],[-87.948552,38.178009],[-87.958056,38.144292],[-88.006022,38.113278],[-88.005143,38.098402],[-87.990256,38.089305],[-87.996046,38.074419],[-88.026127,38.059587],[-88.044518,38.013291],[-88.042496,37.93665],[-88.059108,37.898363],[-88.091122,37.896649],[-88.095319,37.875566],[-88.041991,37.788851],[-88.073247,37.770922],[-88.128959,37.69951],[-88.140385,37.620651],[-88.107514,37.534353],[-88.190504,37.464557],[-88.389335,37.411262],[-88.494672,37.364285],[-88.506603,37.323591],[-88.492782,37.261551],[-88.453275,37.178143],[-88.446244,37.120421],[-88.471666,37.088385],[-88.613808,37.110083],[-88.872602,37.185537],[-89.046207,37.182977],[-89.134603,37.102469],[-89.165069,37.041561],[-89.154313,36.992112],[-89.224911,37.052679],[-89.272394,37.07998],[-89.281469,37.077794],[-89.291675,37.070653],[-89.295817,37.051636],[-89.293246,37.038177],[-89.285885,37.022698],[-89.290016,37.012777],[-89.300827,37.012052],[-89.35188,37.035519],[-89.413942,37.102415],[-89.486913,37.212739],[-89.502931,37.300509],[-89.461974,37.36568],[-89.461974,37.434125],[-89.502931,37.5058],[-89.523421,37.575947],[-89.523421,37.644524],[-89.623286,37.747257],[-89.822963,37.884092],[-89.969828,37.968533],[-90.063871,38.000525],[-90.173581,38.069047],[-90.299,38.173999],[-90.365775,38.254254],[-90.373993,38.309757],[-90.316601,38.457809],[-90.150751,38.780532],[-90.132195,38.818644],[-90.126768,38.832618],[-90.134206,38.84667],[-90.149916,38.859897],[-90.220075,38.897679],[-90.35435,38.93021],[-90.477968,38.948118],[-90.577075,38.909611],[-90.663527,38.987493],[-90.737223,39.181797],[-90.919376,39.386901],[-91.209899,39.602804],[-91.378737,39.749406],[-91.425868,39.826815],[-91.466814,39.942864],[-91.501652,40.097529],[-91.499784,40.226025],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"name":"Indiana"},"geometry":{"type":"Polygon","coordinates":[[[-88.041991,37.788851],[-88.095319,37.875566],[-88.091122,37.896649],[-88.059108,37.898363],[-88.042496,37.93665],[-88.044518,38.013291],[-88.026127,38.059587],[-87.996046,38.074419],[-87.990256,38.089305],[-88.005143,38.098402],[-88.006022,38.113278],[-87.958056,38.144292],[-87.948552,38.178009],[-87.97749,38.21444],[-87.980413,38.249189],[-87.957265,38.282214],[-87.921427,38.297507],[-87.872955,38.295024],[-87.827164,38.335564],[-87.784065,38.419104],[-87.735231,38.469905],[-87.680662,38.487988],[-87.635958,38.542612],[-87.583773,38.67937],[-87.529457,38.742289],[-87.51768,38.811821],[-87.530281,38.908897],[-87.568294,39.00718],[-87.631696,39.106705],[-87.647285,39.168745],[-87.614985,39.193289],[-87.602912,39.234147],[-87.611052,39.291353],[-87.579115,39.343977],[-87.532918,39.37486],[-87.532742,39.379144],[-87.53127,39.662438],[-87.529819,39.962189],[-87.528369,40.26194],[-87.52693,40.561713],[-87.52548,40.861486],[-87.524008,41.161237],[-87.522536,41.460988],[-87.521085,41.760761],[-87.371408,41.760761],[-87.221257,41.760728],[-86.918156,41.760607],[-86.615043,41.760497],[-86.31193,41.760376],[-86.008828,41.760244],[-85.705715,41.760112],[-85.402614,41.759981],[-85.099501,41.75986],[-84.796399,41.759728],[-84.796113,41.701434],[-84.799552,41.376052],[-84.802958,41.05067],[-84.806397,40.725321],[-84.809835,40.399939],[-84.813263,40.074557],[-84.816702,39.749197],[-84.82014,39.423826],[-84.821711,39.091984],[-84.837422,39.082678],[-84.860603,39.039711],[-84.835488,38.99604],[-84.836598,38.960565],[-84.863888,38.933231],[-84.854165,38.912896],[-84.807451,38.899536],[-84.78962,38.868379],[-84.800739,38.819391],[-84.901241,38.769568],[-85.093898,38.71356],[-85.135525,38.697256],[-85.16989,38.690378],[-85.186117,38.693663],[-85.18604,38.693663],[-85.211122,38.704122],[-85.24663,38.72704],[-85.306747,38.737191],[-85.405426,38.729962],[-85.444779,38.683095],[-85.424828,38.596588],[-85.458677,38.530209],[-85.546326,38.484011],[-85.608904,38.423026],[-85.646422,38.347297],[-85.706287,38.301353],[-85.788453,38.285214],[-85.854932,38.215033],[-85.905678,38.090909],[-85.961159,38.014016],[-86.021331,37.984353],[-86.103442,37.991868],[-86.207527,38.036571],[-86.267622,38.082582],[-86.28375,38.129867],[-86.3146,38.163771],[-86.342659,38.178734],[-86.361445,38.178987],[-86.362522,38.172109],[-86.354952,38.15886],[-86.365137,38.1446],[-86.429627,38.139689],[-86.457378,38.120155],[-86.448336,38.085966],[-86.462542,38.061763],[-86.499961,38.047502],[-86.519857,38.01484],[-86.522186,37.963732],[-86.548641,37.917062],[-86.599233,37.874797],[-86.673128,37.889036],[-86.770335,37.959777],[-86.86908,37.976135],[-86.96944,37.938046],[-87.044268,37.886443],[-87.093563,37.821283],[-87.141035,37.805243],[-87.209403,37.854846],[-87.372385,37.923478],[-87.457288,37.938101],[-87.518449,37.921566],[-87.561449,37.929059],[-87.576171,37.947758],[-87.587388,37.95569],[-87.599407,37.946472],[-87.600802,37.886729],[-87.615392,37.848936],[-87.643253,37.833038],[-87.664567,37.845541],[-87.67942,37.886366],[-87.714456,37.899604],[-87.769651,37.885234],[-87.825253,37.891431],[-87.874428,37.915743],[-87.892116,37.912986],[-87.906002,37.901824],[-87.902069,37.85511],[-87.912484,37.81769],[-87.938115,37.793817],[-87.974546,37.788027],[-88.021776,37.800431],[-88.041991,37.788851]]]}},{"type":"Feature","properties":{"name":"Kansas"},"geometry":{"type":"Polygon","coordinates":[[[-102.012783,37.000846],[-102.013536,37.188372],[-102.014261,37.375853],[-102.014981,37.56339],[-102.015706,37.750927],[-102.016431,37.93843],[-102.017178,38.125945],[-102.017925,38.31347],[-102.01865,38.500985],[-102.019375,38.688489],[-102.0201,38.876025],[-102.02082,39.063529],[-102.021572,39.251044],[-102.022319,39.43858],[-102.023045,39.626084],[-102.02377,39.813588],[-102.024489,40.001124],[-101.814892,40.001124],[-101.605289,40.001124],[-101.395692,40.001124],[-101.18609,40.001124],[-100.976492,40.001124],[-100.766895,40.001124],[-100.557293,40.001124],[-100.347695,40.001124],[-100.138093,40.001124],[-99.928495,40.001124],[-99.718893,40.001124],[-99.509296,40.001124],[-99.299693,40.001124],[-99.090096,40.001124],[-98.880499,40.001124],[-98.670896,40.001124],[-98.461299,40.001124],[-98.251696,40.001124],[-98.042099,40.001124],[-97.832496,40.001124],[-97.622899,40.001124],[-97.413296,40.001124],[-97.203699,40.001124],[-96.994102,40.001124],[-96.784499,40.001124],[-96.574902,40.001124],[-96.3653,40.001124],[-96.155702,40.001124],[-95.9461,40.001124],[-95.736503,40.001124],[-95.526905,40.001124],[-95.34668,40.001487],[-95.116203,39.87209],[-95.055537,39.870794],[-94.984016,39.891162],[-94.929936,39.861499],[-94.893296,39.781815],[-94.898597,39.741144],[-94.945827,39.739485],[-95.004764,39.691552],[-95.075356,39.597377],[-95.057937,39.508959],[-94.952518,39.426375],[-94.882294,39.343131],[-94.847203,39.259152],[-94.777852,39.193992],[-94.622384,39.124404],[-94.624527,39.086062],[-94.624115,38.955764],[-94.62373,38.825433],[-94.62334,38.695103],[-94.622928,38.564783],[-94.622511,38.434452],[-94.622099,38.304121],[-94.621687,38.17379],[-94.621297,38.04347],[-94.620912,37.91314],[-94.6205,37.782809],[-94.620083,37.652478],[-94.619671,37.522158],[-94.619259,37.391827],[-94.618869,37.261497],[-94.618484,37.131166],[-94.618067,37.000846],[-94.849164,37.000846],[-95.08024,37.000846],[-95.31131,37.000846],[-95.542407,37.000846],[-95.773504,37.000846],[-96.004574,37.000846],[-96.235644,37.000846],[-96.466742,37.000846],[-96.697839,37.000846],[-96.928909,37.000846],[-97.159979,37.000846],[-97.391077,37.000846],[-97.622174,37.000846],[-97.853244,37.000846],[-98.084319,37.000846],[-98.315417,37.000846],[-98.546514,37.000846],[-98.777584,37.000846],[-99.008654,37.000846],[-99.239752,37.000846],[-99.470849,37.000846],[-99.701919,37.000846],[-99.932989,37.000846],[-100.164086,37.000846],[-100.395184,37.000846],[-100.626254,37.000846],[-100.857329,37.000846],[-101.088421,37.000846],[-101.319518,37.000846],[-101.550616,37.000846],[-101.781713,37.000846],[-102.012783,37.000846]]]}},{"type":"Feature","properties":{"name":"Kentucky"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-89.154313,36.992112],[-89.165069,37.041561],[-89.134603,37.102469],[-89.046207,37.182977],[-88.872602,37.185537],[-88.613808,37.110083],[-88.471666,37.088385],[-88.446244,37.120421],[-88.453275,37.178143],[-88.492782,37.261551],[-88.506603,37.323591],[-88.494672,37.364285],[-88.389335,37.411262],[-88.190504,37.464557],[-88.107514,37.534353],[-88.140385,37.620651],[-88.128959,37.69951],[-88.073247,37.770922],[-88.041991,37.788851],[-88.021776,37.800431],[-87.974546,37.788027],[-87.938115,37.793817],[-87.912484,37.81769],[-87.902069,37.85511],[-87.906002,37.901824],[-87.892116,37.912986],[-87.874428,37.915743],[-87.825253,37.891431],[-87.769651,37.885234],[-87.714456,37.899604],[-87.67942,37.886366],[-87.664567,37.845541],[-87.643253,37.833038],[-87.615392,37.848936],[-87.600802,37.886729],[-87.599407,37.946472],[-87.587388,37.95569],[-87.576171,37.947758],[-87.561449,37.929059],[-87.518449,37.921566],[-87.457288,37.938101],[-87.372385,37.923478],[-87.209403,37.854846],[-87.141035,37.805243],[-87.093563,37.821283],[-87.044268,37.886443],[-86.96944,37.938046],[-86.86908,37.976135],[-86.770335,37.959777],[-86.673128,37.889036],[-86.599233,37.874797],[-86.548641,37.917062],[-86.522186,37.963732],[-86.519857,38.01484],[-86.499961,38.047502],[-86.462542,38.061763],[-86.448336,38.085966],[-86.457378,38.120155],[-86.429627,38.139689],[-86.365137,38.1446],[-86.354952,38.15886],[-86.362522,38.172109],[-86.361445,38.178987],[-86.342659,38.178734],[-86.3146,38.163771],[-86.28375,38.129867],[-86.267622,38.082582],[-86.207527,38.036571],[-86.103442,37.991868],[-86.021331,37.984353],[-85.961159,38.014016],[-85.905678,38.090909],[-85.854932,38.215033],[-85.788453,38.285214],[-85.706287,38.301353],[-85.646422,38.347297],[-85.608904,38.423026],[-85.546326,38.484011],[-85.458677,38.530209],[-85.424828,38.596588],[-85.444779,38.683095],[-85.405426,38.729962],[-85.306747,38.737191],[-85.24663,38.72704],[-85.211122,38.704122],[-85.18604,38.693663],[-85.186117,38.693663],[-85.16989,38.690378],[-85.135525,38.697256],[-85.093898,38.71356],[-84.901241,38.769568],[-84.800739,38.819391],[-84.78962,38.868379],[-84.807451,38.899536],[-84.854165,38.912896],[-84.863888,38.933231],[-84.836598,38.960565],[-84.835488,38.99604],[-84.860603,39.039711],[-84.837422,39.082678],[-84.821711,39.091984],[-84.765901,39.124998],[-84.706948,39.128909],[-84.660542,39.094467],[-84.594547,39.085776],[-84.508865,39.102838],[-84.43006,39.090896],[-84.358022,39.049917],[-84.290435,38.974705],[-84.227285,38.865204],[-84.113236,38.798385],[-83.948386,38.774226],[-83.828086,38.731226],[-83.752269,38.669373],[-83.689878,38.649531],[-83.616313,38.682776],[-83.538387,38.69986],[-83.460582,38.679502],[-83.35697,38.627405],[-83.203469,38.638907],[-83.000068,38.713999],[-82.880438,38.710253],[-82.844623,38.627668],[-82.758226,38.541162],[-82.621282,38.450679],[-82.612778,38.448218],[-82.589498,38.420345],[-82.578413,38.272085],[-82.585389,38.24273],[-82.619546,38.182008],[-82.617711,38.149873],[-82.588773,38.099742],[-82.482195,37.983551],[-82.47189,37.938408],[-82.4299,37.894177],[-82.393876,37.828314],[-82.280244,37.687184],[-82.103463,37.570575],[-81.965277,37.539725],[-82.343207,37.296927],[-82.516505,37.208839],[-82.681586,37.13812],[-82.69489,37.126156],[-82.731892,37.048076],[-82.832021,36.979269],[-82.894501,36.906374],[-83.043816,36.845554],[-83.150218,36.762333],[-83.41689,36.681012],[-83.566183,36.652623],[-83.667521,36.60503],[-83.675376,36.602723],[-83.683231,36.600449],[-83.691086,36.598175],[-83.698942,36.595901],[-83.706797,36.593638],[-83.714652,36.591363],[-83.722507,36.589089],[-83.730385,36.586815],[-84.07752,36.596582],[-84.424688,36.606316],[-84.771845,36.616061],[-85.11898,36.625828],[-85.466126,36.635594],[-85.813283,36.645339],[-86.160451,36.655073],[-86.507586,36.66484],[-86.84046,36.659622],[-87.173357,36.654403],[-87.506254,36.649185],[-87.839151,36.643966],[-87.868715,36.675046],[-87.956298,36.681968],[-88.091122,36.6928],[-88.096297,36.693009],[-88.056713,36.59032],[-88.05601,36.500946],[-88.059108,36.499683],[-88.215509,36.499737],[-88.388214,36.499759],[-88.560919,36.499792],[-88.733646,36.499836],[-88.906373,36.499891],[-89.079079,36.499913],[-89.251784,36.499946],[-89.450329,36.500023],[-89.397462,36.587793],[-89.351309,36.611205],[-89.330534,36.615907],[-89.280128,36.600043],[-89.256123,36.594407],[-89.203048,36.62552],[-89.156334,36.715718],[-89.129517,36.811057],[-89.122486,36.911593],[-89.154313,36.992112]]],[[[-89.487221,36.503066],[-89.557313,36.501078],[-89.560038,36.513097],[-89.55549,36.540771],[-89.549645,36.553065],[-89.535582,36.555284],[-89.51952,36.554823],[-89.496834,36.528829],[-89.487221,36.503066]]]]}},{"type":"Feature","properties":{"name":"Louisiana"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.041307,33.011996],[-93.861631,33.012193],[-93.681949,33.012402],[-93.502273,33.012611],[-93.322619,33.012842],[-93.142965,33.013072],[-92.963284,33.013281],[-92.783608,33.01349],[-92.603927,33.013699],[-92.424251,33.013907],[-92.244569,33.014105],[-92.064899,33.014314],[-91.885207,33.014544],[-91.705536,33.014786],[-91.525855,33.014984],[-91.346173,33.015193],[-91.149958,33.015918],[-91.144179,32.966875],[-91.096081,32.937684],[-91.093378,32.885027],[-91.13606,32.808847],[-91.135587,32.755783],[-91.092082,32.725857],[-91.094356,32.69426],[-91.142421,32.661026],[-91.14965,32.625013],[-91.11612,32.586231],[-91.100816,32.541374],[-91.103815,32.490497],[-91.059276,32.423755],[-90.990019,32.381051],[-90.9447,32.330711],[-90.940437,32.303092],[-90.937647,32.277329],[-90.947721,32.240074],[-91.004597,32.185582],[-91.048158,32.145921],[-91.074591,32.131321],[-91.088698,32.10414],[-91.092543,32.045847],[-91.156527,31.970689],[-91.286496,31.883974],[-91.37253,31.773716],[-91.414706,31.639979],[-91.459091,31.554978],[-91.505728,31.518701],[-91.529008,31.448751],[-91.528953,31.345194],[-91.558693,31.287911],[-91.61825,31.276958],[-91.630807,31.217599],[-91.596365,31.109911],[-91.611043,31.0649],[-91.652615,31.029557],[-91.656449,31.001805],[-91.417123,31.001256],[-91.176885,31.001234],[-90.936614,31.001212],[-90.696343,31.001212],[-90.456105,31.001212],[-90.215834,31.001157],[-89.975563,31.001157],[-89.735314,31.001157],[-89.764933,30.886075],[-89.835366,30.730816],[-89.838124,30.690431],[-89.819733,30.639861],[-89.819997,30.611208],[-89.794003,30.568933],[-89.736632,30.526613],[-89.685766,30.462684],[-89.640777,30.348921],[-89.628988,30.296186],[-89.591657,30.223017],[-89.572486,30.209164],[-89.545075,30.200693],[-89.520861,30.192629],[-89.588482,30.165965],[-89.954249,30.268742],[-90.045216,30.351404],[-90.125966,30.369102],[-90.225282,30.379287],[-90.332003,30.277586],[-90.413061,30.140301],[-90.284982,30.065089],[-90.175338,30.029098],[-89.994196,30.059255],[-89.894044,30.125865],[-89.81224,30.12369],[-89.773118,30.137236],[-89.737434,30.171986],[-89.66755,30.14452],[-89.665067,30.117054],[-89.714704,30.078294],[-89.77726,30.045709],[-89.815185,30.007268],[-89.743817,29.929858],[-89.63168,29.903831],[-89.589514,29.915049],[-89.563389,30.002093],[-89.49445,30.058167],[-89.400736,30.04605],[-89.414052,30.010882],[-89.400912,29.977682],[-89.357846,29.921014],[-89.362811,29.839781],[-89.354462,29.820226],[-89.455415,29.784388],[-89.530661,29.772215],[-89.590888,29.725271],[-89.559313,29.698036],[-89.62065,29.674129],[-89.662123,29.683687],[-89.682942,29.674854],[-89.689215,29.646048],[-89.720878,29.619308],[-89.674801,29.538668],[-89.580341,29.486054],[-89.513676,29.42007],[-89.245686,29.333202],[-89.180779,29.335706],[-89.116828,29.248211],[-89.065335,29.218142],[-89.015753,29.202871],[-89.021378,29.142721],[-89.109511,29.098665],[-89.13334,29.04614],[-89.15551,29.016631],[-89.195248,29.053984],[-89.236095,29.08112],[-89.330556,28.998701],[-89.376149,28.981331],[-89.353539,29.070244],[-89.389223,29.105016],[-89.443144,29.194137],[-89.521762,29.249277],[-89.577155,29.267514],[-89.620265,29.302396],[-89.672472,29.316502],[-89.716967,29.31291],[-89.792377,29.333202],[-89.797354,29.380641],[-89.818283,29.416137],[-89.877246,29.458017],[-90.159068,29.537141],[-90.160792,29.504402],[-90.141259,29.479748],[-90.100807,29.463324],[-90.052335,29.431408],[-90.052797,29.336838],[-90.073748,29.29676],[-90.082713,29.239763],[-90.101367,29.181788],[-90.135864,29.136074],[-90.212802,29.104939],[-90.246706,29.131009],[-90.301615,29.255814],[-90.379201,29.295112],[-90.502511,29.299759],[-90.586249,29.271546],[-90.677501,29.15062],[-90.751022,29.130888],[-91.002763,29.19351],[-91.290132,29.288993],[-91.282716,29.320743],[-91.237497,29.330971],[-91.15076,29.317898],[-91.155385,29.350692],[-91.243979,29.457325],[-91.260238,29.505456],[-91.248845,29.564189],[-91.277729,29.562871],[-91.330924,29.513575],[-91.514198,29.555378],[-91.56479,29.605322],[-91.672467,29.74609],[-91.824386,29.750693],[-91.893172,29.836013],[-92.017328,29.800296],[-92.080214,29.760713],[-92.135475,29.699475],[-92.113986,29.667702],[-92.058878,29.617187],[-92.084037,29.59282],[-92.260824,29.55685],[-92.671317,29.597082],[-92.791332,29.634655],[-92.952408,29.714185],[-93.175705,29.778961],[-93.283189,29.789398],[-93.388455,29.776577],[-93.694842,29.769919],[-93.765901,29.752704],[-93.826463,29.725139],[-93.86574,29.755626],[-93.883878,29.810019],[-93.848321,29.81883],[-93.808814,29.850811],[-93.773081,29.914038],[-93.769049,29.952303],[-93.79401,29.977264],[-93.726933,30.077108],[-93.710629,30.112813],[-93.720967,30.282904],[-93.750394,30.344713],[-93.746626,30.380363],[-93.715205,30.473253],[-93.720215,30.558265],[-93.665206,30.660768],[-93.624721,30.714348],[-93.579194,30.823805],[-93.568675,30.894655],[-93.549196,30.947719],[-93.562654,31.004903],[-93.530591,31.04619],[-93.551443,31.104066],[-93.557749,31.180421],[-93.596992,31.209754],[-93.665882,31.322584],[-93.663657,31.372198],[-93.736057,31.477667],[-93.737578,31.513812],[-93.806902,31.568799],[-93.820652,31.603966],[-93.826798,31.75026],[-93.845585,31.792942],[-93.905065,31.876998],[-94.043301,31.999232],[-94.043064,32.125838],[-94.042806,32.252423],[-94.042548,32.379007],[-94.04229,32.505614],[-94.042032,32.63222],[-94.041801,32.758805],[-94.041565,32.885378],[-94.041307,33.011996]]],[[[-89.223955,30.084051],[-89.22044,30.037601],[-89.26945,30.060727],[-89.342003,30.062848],[-89.310055,30.078712],[-89.287643,30.094181],[-89.276481,30.110825],[-89.184679,30.168679],[-89.210673,30.126228],[-89.223955,30.084051]]],[[[-88.82747,29.80769],[-88.855661,29.775863],[-88.827986,29.928353],[-88.866867,30.056717],[-88.825888,30.000368],[-88.812583,29.933363],[-88.82747,29.80769]]],[[[-88.889301,29.712581],[-88.943584,29.660232],[-88.941101,29.680205],[-88.901155,29.732632],[-88.872656,29.752989],[-88.889301,29.712581]]],[[[-91.79369,29.500732],[-91.830846,29.486472],[-91.996234,29.57311],[-92.006649,29.610288],[-91.925032,29.643928],[-91.875231,29.640984],[-91.796503,29.59695],[-91.767675,29.584712],[-91.754315,29.566881],[-91.761885,29.538997],[-91.79369,29.500732]]]]}},{"type":"Feature","properties":{"name":"Massachusetts"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.800836,42.011963],[-71.801638,42.022708],[-71.921136,42.024125],[-72.040634,42.025553],[-72.160133,42.02697],[-72.279642,42.028388],[-72.39914,42.029816],[-72.518638,42.031233],[-72.638115,42.03265],[-72.757624,42.034079],[-72.763326,42.011238],[-72.806458,42.00803],[-72.8077,42.034079],[-72.8918,42.036759],[-72.975922,42.039451],[-73.060034,42.042132],[-73.144134,42.044823],[-73.228234,42.047515],[-73.312346,42.050195],[-73.396468,42.052887],[-73.480568,42.055568],[-73.507287,42.080012],[-73.475537,42.164047],[-73.443808,42.24807],[-73.412047,42.332094],[-73.380296,42.416117],[-73.348568,42.500141],[-73.316806,42.584175],[-73.285056,42.668198],[-73.253327,42.752222],[-73.155011,42.749486],[-73.056694,42.74674],[-72.95841,42.744004],[-72.860094,42.741268],[-72.761777,42.738533],[-72.663493,42.735786],[-72.565177,42.733051],[-72.46686,42.730315],[-72.324697,42.726854],[-72.182545,42.723361],[-72.040382,42.719878],[-71.898241,42.716406],[-71.75611,42.712924],[-71.613947,42.70943],[-71.471784,42.705969],[-71.329621,42.702487],[-71.242335,42.729535],[-71.139294,42.808131],[-71.076177,42.825083],[-70.974082,42.871676],[-70.923489,42.881564],[-70.806112,42.876763],[-70.829051,42.825347],[-70.800278,42.77403],[-70.781337,42.72124],[-70.735678,42.669286],[-70.696864,42.664584],[-70.65483,42.673955],[-70.62398,42.671758],[-70.604139,42.649719],[-70.61295,42.623264],[-70.661444,42.616651],[-70.75185,42.570343],[-70.831171,42.552567],[-70.870887,42.496636],[-70.930444,42.431981],[-71.046174,42.331116],[-70.996724,42.299981],[-70.817944,42.264967],[-70.73826,42.228866],[-70.617696,42.040429],[-70.645239,42.021565],[-70.656148,41.987046],[-70.548922,41.938629],[-70.514677,41.803311],[-70.426677,41.7573],[-70.295467,41.728955],[-70.135012,41.769857],[-70.001407,41.826184],[-70.006109,41.872327],[-70.090034,41.979707],[-70.110238,42.030145],[-70.172585,42.062808],[-70.196228,42.035111],[-70.236536,42.071026],[-70.241085,42.091229],[-70.203489,42.101018],[-70.159852,42.097118],[-70.108941,42.078309],[-69.977896,41.961261],[-69.941586,41.807859],[-69.933841,41.710421],[-69.94864,41.677144],[-69.986751,41.683966],[-70.059514,41.677352],[-70.40466,41.626892],[-70.481356,41.582453],[-70.657126,41.534234],[-70.668057,41.558294],[-70.655346,41.608106],[-70.666453,41.710114],[-70.701126,41.714849],[-70.974246,41.548527],[-71.079792,41.53809],[-71.16854,41.489409],[-71.188414,41.516403],[-71.204278,41.641131],[-71.148731,41.74572],[-71.178339,41.744072],[-71.233765,41.706554],[-71.267889,41.75084],[-71.304737,41.774658],[-71.340728,41.797916],[-71.339487,41.835171],[-71.33763,41.891443],[-71.379071,41.902407],[-71.383927,41.971731],[-71.387135,42.016863],[-71.462534,42.015962],[-71.524134,42.015237],[-71.623242,42.014028],[-71.725821,42.012864],[-71.800836,42.011963]]],[[[-70.509898,41.376338],[-70.785314,41.327449],[-70.829183,41.359002],[-70.760485,41.373602],[-70.673715,41.448529],[-70.615993,41.457208],[-70.525356,41.41479],[-70.509898,41.376338]]],[[[-69.97794,41.265596],[-70.055097,41.249468],[-70.233076,41.286338],[-70.086617,41.317561],[-70.0627,41.328482],[-70.043605,41.374426],[-70.041199,41.397476],[-69.985598,41.298621],[-69.97794,41.265596]]]]}},{"type":"Feature","properties":{"name":"Maryland"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.030361,38.889253],[-77.019737,38.806526],[-76.931242,38.88822],[-76.988789,38.952347],[-77.042116,39.011783],[-77.122053,38.943536],[-77.1903,38.969047],[-77.301086,39.053378],[-77.480921,39.112957],[-77.506454,39.14262],[-77.502938,39.175282],[-77.478856,39.220864],[-77.53415,39.265612],[-77.668821,39.309535],[-77.726642,39.346438],[-77.739045,39.354337],[-77.744835,39.400106],[-77.762358,39.429242],[-77.791703,39.441777],[-77.797438,39.461465],[-77.779585,39.488337],[-77.798141,39.517275],[-77.853072,39.548334],[-77.872167,39.575778],[-77.855423,39.599706],[-77.883252,39.610714],[-77.955707,39.608803],[-78.027195,39.631226],[-78.097782,39.677885],[-78.181135,39.68574],[-78.325364,39.639213],[-78.406761,39.627864],[-78.442698,39.601464],[-78.460265,39.556134],[-78.495542,39.533348],[-78.574962,39.532854],[-78.587497,39.534436],[-78.677673,39.54952],[-78.741669,39.577898],[-78.753402,39.589522],[-78.746459,39.613702],[-78.758214,39.624766],[-78.77777,39.626622],[-78.796172,39.612626],[-78.814794,39.570087],[-78.971481,39.453643],[-79.046748,39.476791],[-79.075345,39.475989],[-79.293556,39.311578],[-79.35977,39.285354],[-79.487981,39.210911],[-79.485344,39.33889],[-79.48274,39.466837],[-79.480126,39.594817],[-79.4775,39.722797],[-79.24671,39.722775],[-79.015898,39.722742],[-78.785086,39.72272],[-78.554297,39.722687],[-78.323507,39.722665],[-78.092695,39.722643],[-77.861883,39.72261],[-77.631094,39.722588],[-77.400304,39.722566],[-77.169492,39.722533],[-76.93868,39.722511],[-76.707901,39.722489],[-76.477112,39.722456],[-76.246322,39.722434],[-76.015532,39.722379],[-75.78472,39.722357],[-75.77503,39.563945],[-75.765318,39.405555],[-75.755606,39.247144],[-75.745883,39.088721],[-75.736172,38.930309],[-75.72646,38.771897],[-75.716748,38.613485],[-75.707025,38.455073],[-75.704729,38.455073],[-75.702433,38.45504],[-75.700125,38.455018],[-75.697829,38.455018],[-75.695533,38.455018],[-75.693226,38.455018],[-75.690908,38.455018],[-75.688601,38.455018],[-75.587856,38.454996],[-75.366273,38.454919],[-75.144657,38.454865],[-75.037661,38.45559],[-75.038748,38.426366],[-75.051251,38.383036],[-75.074355,38.365721],[-75.073399,38.410007],[-75.089747,38.42541],[-75.116751,38.406206],[-75.134242,38.384321],[-75.141482,38.298123],[-75.160005,38.255056],[-75.225428,38.24229],[-75.291786,38.129197],[-75.35354,38.065015],[-75.375963,38.024991],[-75.469424,38.014939],[-75.620002,37.999207],[-75.659256,37.953965],[-75.735161,37.973707],[-75.850814,37.971554],[-75.829039,38.03277],[-75.795344,38.086669],[-75.855626,38.140359],[-75.89131,38.147236],[-75.92807,38.169242],[-75.88497,38.213945],[-75.863921,38.26123],[-75.876764,38.318744],[-75.858702,38.362074],[-75.888827,38.355515],[-75.937276,38.30968],[-75.967401,38.291355],[-75.985715,38.331949],[-76.006677,38.322776],[-76.020311,38.294871],[-76.051216,38.279545],[-76.116485,38.317689],[-76.211671,38.361327],[-76.264647,38.436418],[-76.29487,38.494657],[-76.264175,38.599972],[-76.198388,38.618682],[-76.112948,38.601576],[-76.000942,38.60173],[-76.016927,38.625109],[-76.05695,38.621263],[-76.174987,38.706682],[-76.212967,38.758285],[-76.278314,38.772468],[-76.308098,38.722854],[-76.341178,38.709648],[-76.30032,38.818204],[-76.24697,38.822643],[-76.168132,38.852745],[-76.19105,38.915554],[-76.240818,38.943075],[-76.330664,38.908611],[-76.329598,38.952787],[-76.312756,39.009356],[-76.245003,39.009191],[-76.18571,38.990745],[-76.135195,39.082107],[-76.132943,39.122965],[-76.216845,39.063639],[-76.235698,39.191619],[-76.153125,39.315039],[-76.074364,39.368861],[-75.975981,39.367257],[-75.875984,39.375991],[-75.938716,39.398579],[-76.003106,39.410851],[-75.954734,39.459608],[-75.913447,39.468342],[-75.872929,39.510892],[-75.9704,39.504564],[-75.958919,39.58505],[-76.006314,39.568691],[-76.063004,39.561122],[-76.085064,39.526998],[-76.080725,39.470309],[-76.097259,39.433098],[-76.141369,39.403226],[-76.215813,39.379946],[-76.223042,39.420332],[-76.247662,39.438602],[-76.256814,39.352173],[-76.276369,39.322741],[-76.330818,39.403897],[-76.347198,39.387549],[-76.345045,39.364522],[-76.358976,39.324685],[-76.405689,39.303877],[-76.402778,39.252824],[-76.420883,39.224995],[-76.570407,39.269336],[-76.573923,39.254318],[-76.489383,39.158693],[-76.427607,39.126041],[-76.42006,39.073889],[-76.47308,39.030614],[-76.546248,39.067979],[-76.558553,39.06521],[-76.518783,39.001182],[-76.493778,38.945217],[-76.519508,38.898328],[-76.515553,38.840606],[-76.521112,38.7883],[-76.536877,38.742618],[-76.501314,38.532175],[-76.458501,38.47497],[-76.416412,38.420236],[-76.394088,38.368973],[-76.438736,38.361536],[-76.509895,38.403646],[-76.572429,38.435792],[-76.646894,38.538525],[-76.659188,38.579559],[-76.677326,38.611958],[-76.668548,38.537515],[-76.641983,38.454348],[-76.408766,38.268262],[-76.365721,38.196895],[-76.332905,38.140776],[-76.341178,38.087031],[-76.401943,38.125066],[-76.454425,38.173538],[-76.593589,38.228315],[-76.769161,38.262933],[-76.868115,38.390298],[-76.867752,38.337146],[-76.889747,38.29208],[-76.95026,38.347045],[-76.988393,38.393879],[-77.001181,38.445251],[-77.076712,38.441758],[-77.155902,38.397109],[-77.23252,38.407711],[-77.241584,38.494811],[-77.220919,38.540953],[-77.134929,38.650125],[-77.053894,38.705803],[-77.018188,38.777742],[-77.030361,38.889253]]],[[[-75.225791,38.040339],[-75.252476,38.03745],[-75.225999,38.072299],[-75.137395,38.240093],[-75.097888,38.298079],[-75.13623,38.180536],[-75.203203,38.072408],[-75.225791,38.040339]]]]}},{"type":"Feature","properties":{"name":"Maine"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-69.05366,47.294585],[-69.048574,47.273656],[-69.00309,47.236446],[-68.937183,47.211254],[-68.887415,47.202827],[-68.828715,47.203322],[-68.668546,47.253442],[-68.480383,47.285796],[-68.376902,47.316151],[-68.358017,47.344529],[-68.310886,47.354472],[-68.235497,47.345946],[-68.096795,47.274843],[-67.934835,47.167616],[-67.806789,47.082813],[-67.802856,46.935739],[-67.800351,46.779854],[-67.797692,46.61563],[-67.795836,46.498406],[-67.792518,46.337379],[-67.789914,46.209323],[-67.786475,46.042155],[-67.78464,45.952803],[-67.767051,45.926985],[-67.777609,45.891796],[-67.782289,45.874174],[-67.781125,45.860144],[-67.774105,45.842522],[-67.775258,45.81788],[-67.791694,45.795578],[-67.799911,45.76976],[-67.802241,45.727517],[-67.78464,45.70171],[-67.755318,45.686461],[-67.730665,45.686461],[-67.698991,45.67119],[-67.657935,45.644186],[-67.595742,45.62073],[-67.531197,45.612534],[-67.486625,45.618401],[-67.43265,45.603108],[-67.413863,45.56559],[-67.424432,45.530401],[-67.454919,45.513965],[-67.48779,45.501045],[-67.493657,45.474074],[-67.477221,45.445905],[-67.453754,45.421262],[-67.427947,45.377954],[-67.438516,45.340381],[-67.461972,45.308708],[-67.472541,45.275891],[-67.452601,45.247678],[-67.399778,45.21016],[-67.36694,45.173784],[-67.315294,45.153833],[-67.290662,45.167918],[-67.270722,45.186704],[-67.249584,45.200778],[-67.213231,45.192538],[-67.170988,45.182002],[-67.124835,45.169445],[-67.130372,45.139002],[-67.102258,45.08774],[-67.08045,44.98917],[-67.113936,44.94439],[-67.106729,44.885042],[-67.014015,44.867749],[-66.991461,44.849611],[-66.987022,44.827704],[-67.191247,44.675565],[-67.364073,44.696857],[-67.457786,44.656526],[-67.556004,44.644771],[-67.59907,44.576787],[-67.652991,44.562395],[-67.726786,44.566482],[-67.790485,44.585675],[-67.839056,44.576249],[-67.907017,44.45362],[-67.962696,44.464309],[-67.984888,44.420188],[-68.01398,44.400885],[-68.056618,44.384318],[-68.093719,44.438843],[-68.117285,44.490644],[-68.152034,44.502014],[-68.198265,44.515242],[-68.245748,44.514781],[-68.277432,44.507365],[-68.316752,44.473878],[-68.373749,44.445138],[-68.416849,44.469066],[-68.450599,44.507595],[-68.47946,44.445655],[-68.521417,44.380242],[-68.514473,44.303909],[-68.532535,44.258645],[-68.572349,44.27084],[-68.612032,44.310523],[-68.72329,44.342306],[-68.811917,44.339362],[-68.793889,44.381736],[-68.710118,44.442556],[-68.735881,44.454499],[-68.777014,44.44605],[-68.794943,44.454499],[-68.765511,44.509793],[-68.76272,44.570767],[-68.800217,44.549398],[-68.84737,44.485041],[-68.961474,44.433855],[-68.956168,44.348096],[-69.063559,44.172348],[-69.06836,44.097564],[-69.137244,44.037831],[-69.226058,43.986459],[-69.344545,44.000928],[-69.434952,43.956312],[-69.480875,43.905072],[-69.520733,43.897371],[-69.541541,43.962619],[-69.556702,43.982768],[-69.58998,43.886571],[-69.623939,43.880628],[-69.636749,43.948842],[-69.652877,43.993875],[-69.699129,43.955016],[-69.729847,43.851997],[-69.762015,43.860709],[-69.772276,43.89903],[-69.795292,43.910631],[-69.803258,43.866829],[-69.791601,43.805228],[-69.808344,43.772313],[-69.840336,43.789881],[-69.872526,43.819544],[-69.925601,43.797022],[-69.974326,43.78787],[-69.974534,43.818072],[-69.965229,43.855106],[-70.062359,43.834639],[-70.178814,43.76637],[-70.269243,43.671909],[-70.237877,43.656199],[-70.202578,43.626118],[-70.359682,43.480242],[-70.520698,43.348823],[-70.642327,43.134425],[-70.691162,43.109332],[-70.733096,43.070034],[-70.812835,43.163649],[-70.829029,43.23907],[-70.919699,43.328103],[-70.955635,43.389396],[-70.967545,43.458148],[-70.962436,43.532152],[-70.970104,43.643026],[-70.977751,43.753867],[-70.985408,43.864708],[-70.993077,43.975561],[-71.000756,44.086402],[-71.008403,44.197254],[-71.016049,44.308095],[-71.023718,44.418947],[-71.031397,44.529788],[-71.039044,44.64064],[-71.04669,44.751481],[-71.05437,44.862322],[-71.062038,44.973174],[-71.069685,45.084015],[-71.077331,45.194867],[-71.084549,45.294008],[-71.060225,45.309125],[-70.999877,45.337228],[-70.960184,45.333097],[-70.926236,45.290701],[-70.89799,45.262455],[-70.865053,45.270695],[-70.836829,45.310696],[-70.837818,45.366177],[-70.79919,45.404772],[-70.7533,45.410694],[-70.710948,45.409474],[-70.689788,45.428338],[-70.692139,45.455364],[-70.70741,45.498925],[-70.702214,45.551385],[-70.596383,45.643988],[-70.466568,45.706819],[-70.421096,45.73824],[-70.407868,45.801906],[-70.333458,45.868054],[-70.296247,45.906089],[-70.28715,45.939158],[-70.306431,45.979829],[-70.30452,46.057393],[-70.278878,46.149997],[-70.248292,46.250873],[-70.17966,46.341818],[-70.067215,46.441046],[-70.038222,46.571421],[-70.00768,46.708937],[-69.871724,46.842926],[-69.71752,46.994856],[-69.629772,47.081363],[-69.471492,47.238665],[-69.358882,47.350649],[-69.302149,47.401988],[-69.242878,47.462995],[-69.146286,47.444757],[-69.050222,47.426619],[-69.064284,47.338146],[-69.05366,47.294585]]],[[[-68.187256,44.332484],[-68.24544,44.313006],[-68.30926,44.321509],[-68.307974,44.268698],[-68.315104,44.249702],[-68.38579,44.276861],[-68.411707,44.294351],[-68.409488,44.364268],[-68.347042,44.430362],[-68.299438,44.456509],[-68.238046,44.438404],[-68.190893,44.364378],[-68.187256,44.332484]]],[[[-68.623194,44.196067],[-68.661174,44.17627],[-68.701713,44.182675],[-68.703032,44.232003],[-68.690793,44.248725],[-68.67673,44.256217],[-68.655955,44.242309],[-68.623194,44.196067]]]]}},{"type":"Feature","properties":{"name":"Michigan"},"geometry":{"type":"Polygon","coordinates":[[[-89.498383,47.997897],[-89.455646,47.996216],[-89.273174,48.019969],[-89.185635,48.047434],[-89.062599,48.093808],[-88.898705,48.155716],[-88.611764,48.264008],[-88.378195,48.303097],[-88.160665,48.225402],[-87.987466,48.156902],[-87.920493,48.130392],[-87.743888,48.06053],[-87.494246,47.961752],[-87.20803,47.848505],[-86.921825,47.735225],[-86.672172,47.636425],[-86.495567,47.566585],[-86.428572,47.540075],[-86.234498,47.46005],[-86.040403,47.380026],[-85.846329,47.300013],[-85.652256,47.219988],[-85.458193,47.139964],[-85.26412,47.059939],[-85.070046,46.979926],[-84.875973,46.899901],[-84.827062,46.766857],[-84.779414,46.637284],[-84.665782,46.543252],[-84.561753,46.457372],[-84.501581,46.461866],[-84.440497,46.498142],[-84.401715,46.515611],[-84.336709,46.5185],[-84.192173,46.549558],[-84.14948,46.542769],[-84.125222,46.527234],[-84.123179,46.502954],[-84.128145,46.483597],[-84.150469,46.444793],[-84.11517,46.370811],[-84.107776,46.288622],[-84.088407,46.226527],[-84.029202,46.146997],[-83.977786,46.084914],[-83.913043,46.072895],[-83.763201,46.109073],[-83.669301,46.12274],[-83.615951,46.116829],[-83.524764,46.058711],[-83.480149,46.023753],[-83.46947,45.994683],[-83.592693,45.817155],[-83.397312,45.729044],[-83.179288,45.632771],[-82.919352,45.517975],[-82.760424,45.447718],[-82.551079,45.347357],[-82.515242,45.20437],[-82.485062,45.083762],[-82.446588,44.915507],[-82.407389,44.743933],[-82.368278,44.572986],[-82.326804,44.391558],[-82.281222,44.192233],[-82.240792,44.015353],[-82.196605,43.822213],[-82.13785,43.570879],[-82.190376,43.47409],[-82.304766,43.263229],[-82.408191,43.072638],[-82.417233,43.017377],[-82.488347,42.739511],[-82.545322,42.624682],[-82.645133,42.558049],[-82.744197,42.493483],[-82.867749,42.385213],[-83.003683,42.331731],[-83.073138,42.30031],[-83.109525,42.250707],[-83.149669,42.14192],[-83.141946,41.975862],[-83.121665,41.95],[-83.30395,41.837808],[-83.464197,41.739447],[-83.797181,41.729955],[-84.130155,41.720452],[-84.463129,41.710938],[-84.796113,41.701434],[-84.796399,41.759728],[-85.099501,41.75986],[-85.402614,41.759981],[-85.705715,41.760112],[-86.008828,41.760244],[-86.31193,41.760376],[-86.615043,41.760497],[-86.918156,41.760607],[-87.221257,41.760728],[-87.17573,41.943749],[-87.130203,42.126781],[-87.084675,42.309791],[-87.039126,42.492802],[-87.079358,42.782149],[-87.113855,43.03055],[-87.15501,43.326763],[-87.145188,43.571264],[-87.141727,43.657803],[-87.083203,43.890142],[-87.03249,44.091466],[-86.918749,44.361587],[-86.822113,44.591125],[-86.7147,44.846205],[-86.535952,45.041487],[-86.401469,45.133366],[-86.264524,45.226903],[-86.481823,45.323001],[-86.77429,45.452365],[-86.942337,45.452365],[-87.115272,45.452365],[-87.244384,45.289789],[-87.419802,45.183859],[-87.45954,45.067997],[-87.653613,45.121797],[-87.694208,45.161073],[-87.71885,45.201272],[-87.720916,45.242768],[-87.66271,45.345193],[-87.657568,45.361804],[-87.664226,45.371286],[-87.696394,45.382832],[-87.768563,45.364364],[-87.84182,45.360794],[-87.86543,45.367825],[-87.874911,45.385392],[-87.874032,45.412814],[-87.859135,45.445498],[-87.815178,45.505824],[-87.814662,45.563239],[-87.794557,45.596033],[-87.814091,45.657029],[-87.809081,45.686044],[-87.839832,45.717981],[-87.922537,45.759971],[-88.116116,45.815804],[-88.096483,45.878415],[-88.104415,45.905155],[-88.151745,45.945409],[-88.35475,45.992288],[-88.492991,46.013524],[-88.62954,46.014041],[-88.727241,46.031114],[-88.837335,46.036618],[-88.907824,46.064765],[-88.978312,46.092901],[-89.0488,46.121059],[-89.119289,46.149195],[-89.244181,46.173255],[-89.369085,46.197337],[-89.493988,46.221364],[-89.618925,46.245446],[-89.743839,46.269473],[-89.868754,46.293555],[-89.993646,46.317582],[-90.11855,46.341664],[-90.14651,46.383676],[-90.174459,46.425721],[-90.20242,46.467754],[-90.23038,46.509766],[-90.28786,46.527388],[-90.318227,46.536639],[-90.34088,46.558446],[-90.39234,46.548965],[-90.412588,46.585275],[-90.355712,46.673012],[-90.298847,46.760716],[-90.242003,46.848463],[-90.185138,46.9362],[-90.128273,47.023948],[-90.07143,47.111674],[-90.014553,47.199389],[-89.957677,47.287137],[-89.842958,47.464489],[-89.728239,47.641797],[-89.61352,47.81915],[-89.498383,47.997897]]]}},{"type":"Feature","properties":{"name":"Minnesota"},"geometry":{"type":"Polygon","coordinates":[[[-97.225738,48.993182],[-97.103449,48.993182],[-96.677064,48.993182],[-96.250685,48.993182],[-95.8243,48.993182],[-95.39792,48.993182],[-95.162044,48.991764],[-95.158243,49.203097],[-95.155298,49.369672],[-94.93934,49.349413],[-94.874795,49.319036],[-94.854333,49.304589],[-94.860403,49.2586],[-94.842605,49.119173],[-94.803461,49.002948],[-94.712769,48.863422],[-94.71256,48.863016],[-94.705095,48.808523],[-94.675355,48.774444],[-94.620885,48.742605],[-94.414155,48.704109],[-94.055182,48.659021],[-93.851628,48.607287],[-93.803546,48.548949],[-93.70774,48.525461],[-93.564286,48.536908],[-93.463618,48.561276],[-93.377886,48.616537],[-93.257943,48.628864],[-93.155215,48.625348],[-93.051707,48.619877],[-92.996254,48.611813],[-92.836733,48.56778],[-92.732654,48.531822],[-92.583256,48.465102],[-92.500578,48.43534],[-92.46089,48.365884],[-92.414588,48.276587],[-92.34844,48.276587],[-92.298677,48.328882],[-92.171785,48.338396],[-92.005155,48.301834],[-91.8584,48.197574],[-91.647287,48.104607],[-91.518307,48.058311],[-91.38724,48.058542],[-91.220655,48.104607],[-91.043478,48.193695],[-90.916048,48.209153],[-90.840319,48.200518],[-90.797318,48.131062],[-90.744408,48.104607],[-90.607101,48.112594],[-90.320138,48.09918],[-90.091776,48.118099],[-90.039943,48.078152],[-89.993646,48.01531],[-89.901043,47.995469],[-89.77537,48.01531],[-89.550568,47.999908],[-89.498383,47.997897],[-89.61352,47.81915],[-89.728239,47.641797],[-89.842958,47.464489],[-89.957677,47.287137],[-90.131778,47.292619],[-90.305856,47.298123],[-90.479923,47.303627],[-90.654024,47.309098],[-90.8576,47.213089],[-91.061188,47.117068],[-91.264787,47.021114],[-91.468363,46.925093],[-91.59252,46.876259],[-91.716643,46.827425],[-91.840778,46.77859],[-91.964923,46.729778],[-92.093266,46.761902],[-92.125346,46.763012],[-92.194549,46.706971],[-92.224003,46.671023],[-92.291646,46.660718],[-92.291904,46.516643],[-92.29214,46.372547],[-92.292371,46.22845],[-92.292629,46.084375],[-92.325473,46.069588],[-92.367276,46.035981],[-92.424613,46.027807],[-92.693949,45.909012],[-92.738081,45.874668],[-92.786448,45.795501],[-92.874712,45.706094],[-92.89652,45.658578],[-92.892488,45.594759],[-92.757461,45.543244],[-92.707022,45.493761],[-92.682605,45.433095],[-92.685808,45.380536],[-92.753918,45.277572],[-92.76614,45.236461],[-92.759059,45.11058],[-92.79304,45.071359],[-92.765212,44.96945],[-92.763404,44.934261],[-92.784668,44.822563],[-92.799214,44.790032],[-92.7726,44.732002],[-92.769809,44.72585],[-92.643538,44.645342],[-92.537031,44.600792],[-92.441587,44.586576],[-92.366941,44.552266],[-92.313091,44.497796],[-92.240307,44.462145],[-92.148582,44.445248],[-92.055121,44.39982],[-91.912299,44.288869],[-91.840976,44.194156],[-91.716435,44.126458],[-91.514846,44.054212],[-91.382692,43.990799],[-91.319916,43.936284],[-91.278432,43.797428],[-91.245253,43.502412],[-91.575414,43.50194],[-91.900609,43.501896],[-92.225838,43.501841],[-92.551066,43.501786],[-92.876261,43.501742],[-93.20149,43.501687],[-93.526712,43.501632],[-93.851913,43.501577],[-94.177114,43.501533],[-94.502342,43.501478],[-94.827565,43.501424],[-95.152766,43.50138],[-95.477967,43.501325],[-95.80319,43.50127],[-96.128418,43.501226],[-96.453619,43.501171],[-96.453619,43.725698],[-96.453619,43.950215],[-96.453619,44.174721],[-96.453641,44.399259],[-96.453668,44.623787],[-96.453668,44.848292],[-96.453668,45.072809],[-96.453668,45.297337],[-96.529759,45.371549],[-96.696109,45.431776],[-96.737527,45.467845],[-96.81491,45.557427],[-96.845452,45.595868],[-96.85106,45.626004],[-96.813619,45.659182],[-96.662672,45.755653],[-96.614689,45.799972],[-96.591052,45.843269],[-96.556401,45.942773],[-96.57048,46.019237],[-96.560845,46.138241],[-96.591904,46.227538],[-96.598567,46.271857],[-96.61743,46.327096],[-96.730859,46.472775],[-96.758198,46.59034],[-96.786647,46.648216],[-96.795997,46.797091],[-96.792822,46.839026],[-96.770135,46.919666],[-96.818299,46.974136],[-96.825325,47.018861],[-96.847517,47.373335],[-96.862947,47.423927],[-96.858707,47.588338],[-96.94635,47.761526],[-96.988005,47.820336],[-97.009032,47.891549],[-97.007434,47.925607],[-97.078516,48.04337],[-97.125927,48.173393],[-97.121609,48.286047],[-97.136803,48.371213],[-97.131019,48.437427],[-97.143961,48.536755],[-97.12913,48.593367],[-97.128047,48.681115],[-97.225738,48.993182]]]}},{"type":"Feature","properties":{"name":"Missouri"},"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.888178,35.999332],[-90.052489,35.997135],[-90.21679,35.994938],[-90.381068,35.99274],[-90.303043,36.099374],[-90.25255,36.137738],[-90.216164,36.178409],[-90.149279,36.215928],[-90.075659,36.296721],[-90.067057,36.334272],[-90.074473,36.371835],[-90.118078,36.422537],[-90.162243,36.500869],[-90.440746,36.500869],[-90.719239,36.500869],[-90.997753,36.500869],[-91.276256,36.500869],[-91.55476,36.500869],[-91.833285,36.500869],[-92.111789,36.500869],[-92.390298,36.500869],[-92.668806,36.500869],[-92.947321,36.500869],[-93.22583,36.500869],[-93.504339,36.500869],[-93.782848,36.500869],[-94.061357,36.500869],[-94.339871,36.500869],[-94.61838,36.500869],[-94.618303,36.625883],[-94.618226,36.750863],[-94.618149,36.875832],[-94.618067,37.000846],[-94.618484,37.131166],[-94.618869,37.261497],[-94.619259,37.391827],[-94.619671,37.522158],[-94.620083,37.652478],[-94.6205,37.782809],[-94.620912,37.91314],[-94.621297,38.04347],[-94.621687,38.17379],[-94.622099,38.304121],[-94.622511,38.434452],[-94.622928,38.564783],[-94.62334,38.695103],[-94.62373,38.825433],[-94.624115,38.955764],[-94.624527,39.086062],[-94.622384,39.124404],[-94.777852,39.193992],[-94.847203,39.259152],[-94.882294,39.343131],[-94.952518,39.426375],[-95.057937,39.508959],[-95.075356,39.597377],[-95.004764,39.691552],[-94.945827,39.739485],[-94.898597,39.741144],[-94.893296,39.781815],[-94.929936,39.861499],[-94.984016,39.891162],[-95.055537,39.870794],[-95.116203,39.87209],[-95.34668,40.001487],[-95.362467,40.01032],[-95.434296,40.09598],[-95.463652,40.198065],[-95.52122,40.264577],[-95.607106,40.29547],[-95.66157,40.362761],[-95.684696,40.466362],[-95.739551,40.570853],[-95.765029,40.601868],[-95.51543,40.602944],[-95.263146,40.604395],[-95.010888,40.605845],[-94.758631,40.607284],[-94.506369,40.608734],[-94.254112,40.610184],[-94.001855,40.611635],[-93.749598,40.613074],[-93.497335,40.614524],[-93.245078,40.615974],[-92.992821,40.617413],[-92.740564,40.618864],[-92.488301,40.620314],[-92.236044,40.621764],[-91.983787,40.623203],[-91.73153,40.624653],[-91.682047,40.551869],[-91.627423,40.530753],[-91.616855,40.50688],[-91.545487,40.469318],[-91.529931,40.432316],[-91.441952,40.37945],[-91.499784,40.226025],[-91.501652,40.097529],[-91.466814,39.942864],[-91.425868,39.826815],[-91.378737,39.749406],[-91.209899,39.602804],[-90.919376,39.386901],[-90.737223,39.181797],[-90.663527,38.987493],[-90.577075,38.909611],[-90.477968,38.948118],[-90.35435,38.93021],[-90.220075,38.897679],[-90.149916,38.859897],[-90.134206,38.84667],[-90.126768,38.832618],[-90.132195,38.818644],[-90.150751,38.780532],[-90.316601,38.457809],[-90.373993,38.309757],[-90.365775,38.254254],[-90.299,38.173999],[-90.173581,38.069047],[-90.063871,38.000525],[-89.969828,37.968533],[-89.822963,37.884092],[-89.623286,37.747257],[-89.523421,37.644524],[-89.523421,37.575947],[-89.502931,37.5058],[-89.461974,37.434125],[-89.461974,37.36568],[-89.502931,37.300509],[-89.486913,37.212739],[-89.413942,37.102415],[-89.35188,37.035519],[-89.300827,37.012052],[-89.290016,37.012777],[-89.285885,37.022698],[-89.293246,37.038177],[-89.295817,37.051636],[-89.291675,37.070653],[-89.281469,37.077794],[-89.272394,37.07998],[-89.224911,37.052679],[-89.154313,36.992112],[-89.122486,36.911593],[-89.129517,36.811057],[-89.156334,36.715718],[-89.203048,36.62552],[-89.256123,36.594407],[-89.280128,36.600043],[-89.330534,36.615907],[-89.351309,36.611205],[-89.397462,36.587793],[-89.450329,36.500023],[-89.451823,36.497518],[-89.471488,36.488883],[-89.485386,36.498133],[-89.487221,36.503066],[-89.496834,36.528829],[-89.51952,36.554823],[-89.535582,36.555284],[-89.549645,36.553065],[-89.55549,36.540771],[-89.560038,36.513097],[-89.557313,36.501078],[-89.540603,36.426667],[-89.55527,36.372922],[-89.604093,36.351916],[-89.611707,36.321968],[-89.583549,36.287657],[-89.583549,36.272233],[-89.594623,36.259445],[-89.627988,36.255259],[-89.654081,36.247964],[-89.674549,36.220575],[-89.63413,36.167917],[-89.641886,36.104515],[-89.697697,36.030303],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"name":"Mississippi"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-88.173267,34.999005],[-88.084772,34.933109],[-88.088211,34.909082],[-88.089474,34.893064],[-88.095648,34.846196],[-88.12006,34.66145],[-88.144461,34.476737],[-88.168883,34.292013],[-88.193295,34.107278],[-88.217684,33.922532],[-88.242096,33.737807],[-88.266519,33.553094],[-88.290908,33.368348],[-88.315331,33.183613],[-88.339743,32.998889],[-88.364132,32.814176],[-88.388555,32.62943],[-88.412977,32.444684],[-88.437367,32.25997],[-88.461779,32.075246],[-88.48619,31.890511],[-88.475709,31.702821],[-88.465217,31.515108],[-88.454726,31.327385],[-88.444234,31.139706],[-88.433742,30.952015],[-88.423261,30.764303],[-88.412758,30.576579],[-88.399585,30.370805],[-88.692096,30.355359],[-88.819889,30.406489],[-88.872942,30.416333],[-88.905209,30.415146],[-89.054041,30.368246],[-89.223637,30.332364],[-89.263561,30.343625],[-89.320536,30.345328],[-89.443495,30.223138],[-89.520861,30.192629],[-89.545075,30.200693],[-89.572486,30.209164],[-89.591657,30.223017],[-89.628988,30.296186],[-89.640777,30.348921],[-89.685766,30.462684],[-89.736632,30.526613],[-89.794003,30.568933],[-89.819997,30.611208],[-89.819733,30.639861],[-89.838124,30.690431],[-89.835366,30.730816],[-89.764933,30.886075],[-89.735314,31.001157],[-89.975563,31.001157],[-90.215834,31.001157],[-90.456105,31.001212],[-90.696343,31.001212],[-90.936614,31.001212],[-91.176885,31.001234],[-91.417123,31.001256],[-91.656449,31.001805],[-91.652615,31.029557],[-91.611043,31.0649],[-91.596365,31.109911],[-91.630807,31.217599],[-91.61825,31.276958],[-91.558693,31.287911],[-91.528953,31.345194],[-91.529008,31.448751],[-91.505728,31.518701],[-91.459091,31.554978],[-91.414706,31.639979],[-91.37253,31.773716],[-91.286496,31.883974],[-91.156527,31.970689],[-91.092543,32.045847],[-91.088698,32.10414],[-91.074591,32.131321],[-91.048158,32.145921],[-91.004597,32.185582],[-90.947721,32.240074],[-90.937647,32.277329],[-90.940437,32.303092],[-90.9447,32.330711],[-90.990019,32.381051],[-91.059276,32.423755],[-91.103815,32.490497],[-91.100816,32.541374],[-91.11612,32.586231],[-91.14965,32.625013],[-91.142421,32.661026],[-91.094356,32.69426],[-91.092082,32.725857],[-91.135587,32.755783],[-91.13606,32.808847],[-91.093378,32.885027],[-91.096081,32.937684],[-91.144179,32.966875],[-91.149958,33.015918],[-91.152858,33.040571],[-91.106781,33.217923],[-91.117306,33.240819],[-91.163339,33.294454],[-91.168459,33.35946],[-91.141015,33.438507],[-91.15433,33.500206],[-91.192958,33.52253],[-91.202714,33.546975],[-91.214579,33.583406],[-91.172721,33.616683],[-91.17037,33.647456],[-91.207482,33.675669],[-91.184125,33.71567],[-91.100299,33.767449],[-91.077151,33.796694],[-91.052707,33.827599],[-91.038183,33.901394],[-91.05007,33.945163],[-91.070175,33.9742],[-91.060353,33.989296],[-91.043148,34.002864],[-90.943107,34.029681],[-90.914729,34.048622],[-90.908786,34.071561],[-90.940251,34.128558],[-90.90972,34.188763],[-90.817215,34.25222],[-90.768117,34.308108],[-90.762338,34.356426],[-90.718107,34.391703],[-90.635424,34.413873],[-90.584008,34.503708],[-90.563848,34.661164],[-90.53925,34.72817],[-90.497216,34.738091],[-90.47476,34.760052],[-90.467575,34.805261],[-90.41595,34.851623],[-90.31994,34.899161],[-90.282104,34.945304],[-90.293419,34.970067],[-90.293705,35.001114],[-90.038635,35.00084],[-89.772997,35.000554],[-89.507348,35.000268],[-89.241698,34.999983],[-88.97606,34.999697],[-88.710421,34.999412],[-88.444772,34.999126],[-88.173267,34.999005]]],[[[-88.558107,30.215909],[-88.570653,30.204802],[-88.659236,30.225599],[-88.713102,30.244924],[-88.722847,30.264249],[-88.573993,30.229159],[-88.558107,30.215909]]]]}},{"type":"Feature","properties":{"name":"Montana"},"geometry":{"type":"Polygon","coordinates":[[[-114.062517,48.993083],[-113.732356,48.993083],[-113.305971,48.993083],[-112.879592,48.993083],[-112.453207,48.993083],[-112.026827,48.993083],[-111.600442,48.993083],[-111.174063,48.993083],[-110.747678,48.993083],[-110.321299,48.993083],[-109.999432,48.993083],[-109.894914,48.993083],[-109.468534,48.993083],[-109.042149,48.993105],[-108.61577,48.993138],[-108.189385,48.993138],[-107.763006,48.993138],[-107.336621,48.993138],[-106.910241,48.993138],[-106.483856,48.993138],[-106.057477,48.993138],[-105.631092,48.993138],[-105.204707,48.993138],[-104.778328,48.993138],[-104.351943,48.993138],[-104.033927,48.993138],[-104.031911,48.803327],[-104.030516,48.612637],[-104.029121,48.421958],[-104.027725,48.231269],[-104.02633,48.040579],[-104.024962,47.8499],[-104.023595,47.659211],[-104.022199,47.468521],[-104.020804,47.277842],[-104.019409,47.087152],[-104.018013,46.896463],[-104.01664,46.705784],[-104.015272,46.515094],[-104.013877,46.324405],[-104.012482,46.133726],[-104.011087,45.943058],[-104.00951,45.710642],[-104.007934,45.47826],[-104.006357,45.245866],[-104.00478,45.013483],[-104.004962,45.010352],[-104.005143,45.007232],[-104.005302,45.004101],[-104.005478,45.00097],[-104.013416,45.001024],[-104.021348,45.001057],[-104.02928,45.001079],[-104.037212,45.001134],[-104.256395,45.001134],[-104.475556,45.001134],[-104.694738,45.001134],[-104.913927,45.001134],[-105.133087,45.001134],[-105.35227,45.001134],[-105.571458,45.001134],[-105.790619,45.001101],[-106.009802,45.001079],[-106.22899,45.001079],[-106.448151,45.001079],[-106.667334,45.001079],[-106.886522,45.001079],[-107.105677,45.001079],[-107.324865,45.001079],[-107.544048,45.001079],[-107.763209,45.001079],[-107.982397,45.001079],[-108.20158,45.001079],[-108.420741,45.001079],[-108.639929,45.001079],[-108.859112,45.001079],[-109.078272,45.001079],[-109.297455,45.001079],[-109.516643,45.001079],[-109.735804,45.001079],[-109.954987,45.001079],[-110.174175,45.001079],[-110.393336,45.001079],[-110.612519,45.001079],[-110.831707,45.001079],[-111.050862,45.001057],[-111.051022,44.875506],[-111.051148,44.749987],[-111.05128,44.624457],[-111.051434,44.498883],[-111.11722,44.525349],[-111.160934,44.555836],[-111.197574,44.590586],[-111.265118,44.687552],[-111.304081,44.723312],[-111.337463,44.744812],[-111.372525,44.74624],[-111.41557,44.733551],[-111.4481,44.711117],[-111.459109,44.671017],[-111.491046,44.624226],[-111.488821,44.584544],[-111.474506,44.564615],[-111.47934,44.553716],[-111.499857,44.54485],[-111.659302,44.559605],[-111.797098,44.539895],[-111.89208,44.554925],[-112.074211,44.547619],[-112.23131,44.560692],[-112.285077,44.553947],[-112.320036,44.53315],[-112.36386,44.479558],[-112.375385,44.470022],[-112.392848,44.467957],[-112.648236,44.497104],[-112.715928,44.498037],[-112.787142,44.463079],[-112.810163,44.438162],[-112.815514,44.405972],[-112.831351,44.396623],[-112.853856,44.398325],[-112.910392,44.419331],[-112.970075,44.454499],[-112.999689,44.48036],[-113.006379,44.539137],[-113.05428,44.605187],[-113.062706,44.665073],[-113.09327,44.715336],[-113.140709,44.765489],[-113.18717,44.798579],[-113.234269,44.809873],[-113.320418,44.802534],[-113.338891,44.808072],[-113.432138,44.874165],[-113.460796,44.90362],[-113.469294,44.929976],[-113.438136,44.993971],[-113.447129,45.029084],[-113.471079,45.072853],[-113.503582,45.109284],[-113.557404,45.140419],[-113.606573,45.209105],[-113.697112,45.304983],[-113.721941,45.379273],[-113.756097,45.44084],[-113.76615,45.502517],[-113.799614,45.540189],[-113.796642,45.587661],[-113.802273,45.601098],[-113.812814,45.606986],[-113.872915,45.63354],[-113.942651,45.681507],[-113.977818,45.69235],[-113.991924,45.69302],[-114.000708,45.680628],[-114.006393,45.658457],[-114.116619,45.579103],[-114.210234,45.542442],[-114.256146,45.505648],[-114.297641,45.487565],[-114.319191,45.48573],[-114.350562,45.497145],[-114.448434,45.551253],[-114.529233,45.575719],[-114.537346,45.587398],[-114.532617,45.633024],[-114.495796,45.685846],[-114.533699,45.78201],[-114.522537,45.815133],[-114.492566,45.838732],[-114.405131,45.874251],[-114.396787,45.89095],[-114.415903,45.982159],[-114.464792,46.016414],[-114.478306,46.035585],[-114.463578,46.109765],[-114.485359,46.158214],[-114.446599,46.199325],[-114.444248,46.270714],[-114.41275,46.343631],[-114.38022,46.453033],[-114.387042,46.499955],[-114.345805,46.550591],[-114.332061,46.601392],[-114.330122,46.637647],[-114.336868,46.659224],[-114.350897,46.667639],[-114.380917,46.667639],[-114.518664,46.647743],[-114.562999,46.650435],[-114.60155,46.660334],[-114.624006,46.677615],[-114.630648,46.718572],[-114.661623,46.745544],[-114.678032,46.750169],[-114.740302,46.733634],[-114.753689,46.734568],[-114.760715,46.742292],[-114.786066,46.776756],[-114.886937,46.844871],[-114.935694,46.922819],[-115.033516,46.990934],[-115.126636,47.084593],[-115.306675,47.231172],[-115.349467,47.261176],[-115.485994,47.311636],[-115.593325,47.384915],[-115.702468,47.437594],[-115.713317,47.446746],[-115.714454,47.45225],[-115.708022,47.456798],[-115.676887,47.470564],[-115.66968,47.497854],[-115.710862,47.552599],[-115.690867,47.606652],[-115.718382,47.68148],[-115.733757,47.706342],[-115.811244,47.775951],[-115.862149,47.842408],[-115.941443,47.904107],[-116.04901,48.00472],[-116.048801,48.251989],[-116.048598,48.499313],[-116.048389,48.746637],[-116.048494,48.993083],[-115.864264,48.993083],[-115.437884,48.993083],[-115.0115,48.993083],[-114.58512,48.993083],[-114.158735,48.993083],[-114.062517,48.993083]]]}},{"type":"Feature","properties":{"name":"North Carolina"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.114821,35.001477],[-83.417307,34.998126],[-83.719772,34.994786],[-84.022225,34.991457],[-84.32469,34.988096],[-84.286974,35.200846],[-84.261101,35.249581],[-84.232471,35.260589],[-84.128584,35.261413],[-84.062281,35.286012],[-84.003735,35.414069],[-83.871306,35.51489],[-83.811705,35.54029],[-83.722716,35.559901],[-83.511119,35.584082],[-83.284241,35.682058],[-83.120369,35.774618],[-82.990203,35.800447],[-82.949476,35.834526],[-82.920253,35.8789],[-82.901862,35.939171],[-82.887722,35.951728],[-82.812817,35.947444],[-82.75559,35.999871],[-82.700087,36.029841],[-82.644924,36.046793],[-82.611097,36.047364],[-82.598101,36.031599],[-82.588751,35.986951],[-82.576842,35.972273],[-82.553408,35.970987],[-82.52113,35.981216],[-82.478426,36.010055],[-82.368245,36.099549],[-82.294944,36.13397],[-82.182499,36.153789],[-82.100618,36.106526],[-82.051366,36.122862],[-81.908247,36.306411],[-81.851151,36.3397],[-81.80826,36.352718],[-81.734125,36.355454],[-81.733323,36.405914],[-81.707648,36.481962],[-81.704418,36.533993],[-81.65889,36.610579],[-81.641631,36.595077],[-81.27984,36.592264],[-80.918049,36.589452],[-80.556269,36.586628],[-80.194479,36.583816],[-79.832688,36.580992],[-79.470908,36.57818],[-79.109117,36.575389],[-78.747337,36.572577],[-78.385547,36.569753],[-78.023756,36.566963],[-77.661976,36.56415],[-77.300185,36.561338],[-76.938395,36.558514],[-76.576615,36.555702],[-76.214824,36.552889],[-75.966445,36.551362],[-75.992768,36.473799],[-75.978486,36.42915],[-75.924873,36.382997],[-75.866579,36.26786],[-75.820074,36.112832],[-75.883015,36.175696],[-75.950185,36.208973],[-76.054731,36.234528],[-76.147829,36.279286],[-76.141062,36.215104],[-76.150027,36.145758],[-76.221745,36.166885],[-76.27058,36.189912],[-76.227381,36.11604],[-76.321172,36.138155],[-76.383684,36.13353],[-76.424322,36.067975],[-76.478814,36.028193],[-76.559355,36.01535],[-76.67893,36.075314],[-76.717635,36.148076],[-76.733631,36.229155],[-76.740069,36.133299],[-76.718778,36.033511],[-76.726216,35.957595],[-76.611156,35.943642],[-76.503512,35.956046],[-76.358327,35.952893],[-76.263559,35.967109],[-76.206562,35.991213],[-76.069771,35.970306],[-76.060027,35.878658],[-76.075715,35.787527],[-76.08357,35.690539],[-76.045711,35.691155],[-76.001195,35.722191],[-75.978925,35.895951],[-75.85389,35.960155],[-75.81201,35.955738],[-75.772218,35.899873],[-75.758836,35.843238],[-75.744752,35.765466],[-75.773921,35.647001],[-75.965951,35.508397],[-76.10351,35.380297],[-76.173845,35.354149],[-76.275238,35.369058],[-76.390221,35.401247],[-76.446646,35.407762],[-76.489482,35.397018],[-76.51563,35.43647],[-76.532483,35.50843],[-76.577186,35.532303],[-76.611057,35.529667],[-76.634128,35.453213],[-76.741388,35.431482],[-76.887242,35.463111],[-77.039996,35.527392],[-76.974474,35.458409],[-76.595445,35.329704],[-76.552785,35.305622],[-76.512949,35.270433],[-76.565969,35.215194],[-76.607519,35.153],[-76.613408,35.104166],[-76.628031,35.07336],[-76.779137,34.990348],[-76.86104,35.004993],[-77.070274,35.154648],[-76.974957,35.025174],[-76.898657,34.970243],[-76.744969,34.940964],[-76.456754,34.989337],[-76.362206,34.936504],[-76.439802,34.842911],[-76.516871,34.777257],[-76.618,34.76994],[-76.707066,34.752142],[-76.733192,34.706999],[-76.796649,34.704165],[-76.895866,34.701473],[-77.049499,34.697364],[-77.133918,34.707933],[-77.251769,34.615637],[-77.29623,34.602948],[-77.358369,34.620262],[-77.384472,34.694365],[-77.412268,34.730796],[-77.412949,34.592126],[-77.402062,34.554795],[-77.379792,34.526626],[-77.517671,34.45138],[-77.649671,34.357513],[-77.696957,34.331959],[-77.750757,34.284993],[-77.860829,34.14918],[-77.888053,34.050149],[-77.927845,33.939736],[-77.932855,33.989471],[-77.926043,34.073165],[-77.953268,34.168977],[-77.97056,33.993426],[-78.013341,33.911809],[-78.405882,33.917566],[-78.564272,33.876664],[-78.708237,33.997821],[-78.843292,34.111947],[-78.978347,34.226073],[-79.11338,34.340232],[-79.248413,34.45438],[-79.383468,34.568506],[-79.518523,34.682643],[-79.653556,34.796791],[-79.794862,34.800768],[-79.936179,34.804745],[-80.077507,34.808733],[-80.218824,34.81271],[-80.36013,34.816687],[-80.501459,34.820664],[-80.642776,34.824641],[-80.784082,34.828629],[-80.789278,34.90717],[-80.79297,34.962772],[-80.881695,35.057914],[-80.933683,35.113669],[-81.045249,35.065615],[-81.051171,35.088972],[-81.046853,35.131083],[-81.05662,35.145508],[-81.087316,35.155714],[-81.245914,35.161471],[-81.404513,35.167206],[-81.5631,35.172941],[-81.721699,35.178675],[-81.880298,35.184421],[-82.038885,35.190156],[-82.197484,35.195891],[-82.356083,35.201626],[-82.392535,35.210931],[-82.463957,35.177961],[-82.651483,35.128039],[-82.743966,35.084061],[-82.777529,35.086643],[-82.936974,35.04417],[-83.09655,35.001642],[-83.114821,35.001477]]],[[[-75.889057,36.550505],[-75.857428,36.550582],[-75.757881,36.229232],[-75.558687,35.879361],[-75.534199,35.81908],[-75.580495,35.872001],[-75.728239,36.103713],[-75.809791,36.271046],[-75.889057,36.550505]]],[[[-75.635691,35.855895],[-75.650775,35.835592],[-75.717176,35.946125],[-75.648863,35.910387],[-75.636668,35.880658],[-75.635691,35.855895]]],[[[-75.54412,35.2401],[-75.678274,35.212843],[-75.690106,35.221566],[-75.536363,35.278618],[-75.487892,35.479514],[-75.481278,35.572118],[-75.504327,35.735386],[-75.503525,35.769158],[-75.478487,35.716478],[-75.456471,35.564164],[-75.464743,35.448642],[-75.509337,35.280332],[-75.54412,35.2401]]],[[[-75.781963,35.1902],[-75.963676,35.118844],[-75.984199,35.123074],[-75.86492,35.174127],[-75.781963,35.1902]]],[[[-76.503644,34.642949],[-76.528582,34.631501],[-76.437033,34.756328],[-76.25622,34.914718],[-76.207386,34.938899],[-76.357712,34.803668],[-76.503644,34.642949]]],[[[-76.546227,34.654858],[-76.568496,34.652562],[-76.607794,34.66357],[-76.661957,34.684653],[-76.673921,34.700155],[-76.622274,34.694552],[-76.546227,34.654858]]]]}},{"type":"Feature","properties":{"name":"North Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-101.367271,48.993138],[-100.940886,48.993138],[-100.514506,48.993138],[-100.088121,48.993138],[-99.661742,48.993138],[-99.235357,48.993138],[-98.808978,48.99316],[-98.382593,48.993182],[-97.956213,48.993182],[-97.529828,48.993182],[-97.225738,48.993182],[-97.128047,48.681115],[-97.12913,48.593367],[-97.143961,48.536755],[-97.131019,48.437427],[-97.136803,48.371213],[-97.121609,48.286047],[-97.125927,48.173393],[-97.078516,48.04337],[-97.007434,47.925607],[-97.009032,47.891549],[-96.988005,47.820336],[-96.94635,47.761526],[-96.858707,47.588338],[-96.862947,47.423927],[-96.847517,47.373335],[-96.825325,47.018861],[-96.818299,46.974136],[-96.770135,46.919666],[-96.792822,46.839026],[-96.795997,46.797091],[-96.786647,46.648216],[-96.758198,46.59034],[-96.730859,46.472775],[-96.61743,46.327096],[-96.598567,46.271857],[-96.591904,46.227538],[-96.560845,46.138241],[-96.57048,46.019237],[-96.556401,45.942773],[-96.789355,45.942773],[-97.022315,45.942805],[-97.255275,45.942827],[-97.488229,45.942827],[-97.721188,45.942827],[-97.954142,45.942827],[-98.187102,45.942827],[-98.420062,45.94286],[-98.653016,45.942882],[-98.885975,45.942882],[-99.118929,45.942882],[-99.351889,45.942882],[-99.584849,45.942882],[-99.817803,45.942904],[-100.050762,45.942937],[-100.283744,45.942937],[-100.516725,45.942937],[-100.749685,45.942937],[-100.982645,45.942937],[-101.215599,45.942959],[-101.448558,45.942981],[-101.681513,45.942981],[-101.914472,45.942981],[-102.147426,45.942981],[-102.380386,45.942981],[-102.613345,45.943014],[-102.8463,45.943036],[-103.079259,45.943036],[-103.312213,45.943036],[-103.545173,45.943036],[-103.778132,45.943036],[-104.011087,45.943058],[-104.012482,46.133726],[-104.013877,46.324405],[-104.015272,46.515094],[-104.01664,46.705784],[-104.018013,46.896463],[-104.019409,47.087152],[-104.020804,47.277842],[-104.022199,47.468521],[-104.023595,47.659211],[-104.024962,47.8499],[-104.02633,48.040579],[-104.027725,48.231269],[-104.029121,48.421958],[-104.030516,48.612637],[-104.031911,48.803327],[-104.033927,48.993138],[-103.925564,48.993138],[-103.499179,48.993138],[-103.072799,48.993138],[-102.646414,48.993138],[-102.220035,48.993138],[-101.79365,48.993138],[-101.367271,48.993138]]]}},{"type":"Feature","properties":{"name":"Nebraska"},"geometry":{"type":"Polygon","coordinates":[[[-102.024489,40.001124],[-102.024544,40.126083],[-102.024621,40.251008],[-102.024698,40.375934],[-102.024747,40.500892],[-102.024802,40.625818],[-102.024879,40.750744],[-102.024956,40.875691],[-102.025006,41.000628],[-102.274604,41.00065],[-102.524175,41.000704],[-102.773746,41.000726],[-103.023344,41.000748],[-103.272915,41.000781],[-103.522486,41.000803],[-103.772084,41.000836],[-104.021655,41.000858],[-104.022562,41.250918],[-104.023441,41.500978],[-104.024342,41.751049],[-104.025248,42.001131],[-104.026149,42.251223],[-104.027055,42.501283],[-104.027962,42.751343],[-104.028862,43.001403],[-103.682738,43.001403],[-103.33663,43.001381],[-102.990528,43.001359],[-102.644398,43.001359],[-102.298274,43.001359],[-101.952172,43.001326],[-101.606064,43.001304],[-101.25994,43.001304],[-100.91381,43.001304],[-100.567708,43.001282],[-100.221605,43.001249],[-99.875475,43.001249],[-99.529373,43.001249],[-99.183271,43.001249],[-98.837141,43.001249],[-98.441765,43.001095],[-98.143283,42.852263],[-97.964947,42.805868],[-97.880918,42.849583],[-97.698139,42.874643],[-97.416658,42.881004],[-97.23879,42.860536],[-97.164478,42.813196],[-97.019733,42.760176],[-96.804527,42.701421],[-96.675542,42.637601],[-96.632778,42.568673],[-96.55795,42.524794],[-96.480953,42.511259],[-96.451004,42.505985],[-96.383751,42.417776],[-96.356104,42.260133],[-96.295333,42.132912],[-96.201384,42.036122],[-96.154203,41.965293],[-96.153763,41.920436],[-96.13123,41.872437],[-96.086637,41.821372],[-96.068806,41.734328],[-96.077771,41.611281],[-96.058627,41.54578],[-96.011397,41.537881],[-95.990957,41.52049],[-95.997367,41.493639],[-95.98158,41.473798],[-95.943567,41.460933],[-95.932977,41.425458],[-95.94972,41.367428],[-95.936025,41.330986],[-95.891943,41.316166],[-95.883626,41.287557],[-95.911169,41.245183],[-95.906906,41.21195],[-95.870887,41.187824],[-95.846597,41.080333],[-95.834017,40.88949],[-95.838148,40.777748],[-95.859,40.745108],[-95.826107,40.676179],[-95.765029,40.601868],[-95.739551,40.570853],[-95.684696,40.466362],[-95.66157,40.362761],[-95.607106,40.29547],[-95.52122,40.264577],[-95.463652,40.198065],[-95.434296,40.09598],[-95.362467,40.01032],[-95.34668,40.001487],[-95.526905,40.001124],[-95.736503,40.001124],[-95.9461,40.001124],[-96.155702,40.001124],[-96.3653,40.001124],[-96.574902,40.001124],[-96.784499,40.001124],[-96.994102,40.001124],[-97.203699,40.001124],[-97.413296,40.001124],[-97.622899,40.001124],[-97.832496,40.001124],[-98.042099,40.001124],[-98.251696,40.001124],[-98.461299,40.001124],[-98.670896,40.001124],[-98.880499,40.001124],[-99.090096,40.001124],[-99.299693,40.001124],[-99.509296,40.001124],[-99.718893,40.001124],[-99.928495,40.001124],[-100.138093,40.001124],[-100.347695,40.001124],[-100.557293,40.001124],[-100.766895,40.001124],[-100.976492,40.001124],[-101.18609,40.001124],[-101.395692,40.001124],[-101.605289,40.001124],[-101.814892,40.001124],[-102.024489,40.001124]]]}},{"type":"Feature","properties":{"name":"New Hampshire"},"geometry":{"type":"Polygon","coordinates":[[[-71.51752,45.007561],[-71.419017,45.200338],[-71.327292,45.290108],[-71.201619,45.260335],[-71.134647,45.262818],[-71.084549,45.294008],[-71.077331,45.194867],[-71.069685,45.084015],[-71.062038,44.973174],[-71.05437,44.862322],[-71.04669,44.751481],[-71.039044,44.64064],[-71.031397,44.529788],[-71.023718,44.418947],[-71.016049,44.308095],[-71.008403,44.197254],[-71.000756,44.086402],[-70.993077,43.975561],[-70.985408,43.864708],[-70.977751,43.753867],[-70.970104,43.643026],[-70.962436,43.532152],[-70.967545,43.458148],[-70.955635,43.389396],[-70.919699,43.328103],[-70.829029,43.23907],[-70.812835,43.163649],[-70.733096,43.070034],[-70.777635,42.940582],[-70.806112,42.876763],[-70.923489,42.881564],[-70.974082,42.871676],[-71.076177,42.825083],[-71.139294,42.808131],[-71.242335,42.729535],[-71.329621,42.702487],[-71.471784,42.705969],[-71.613947,42.70943],[-71.75611,42.712924],[-71.898241,42.716406],[-72.040382,42.719878],[-72.182545,42.723361],[-72.324697,42.726854],[-72.46686,42.730315],[-72.483658,42.766174],[-72.539622,42.829632],[-72.552806,42.856449],[-72.549807,42.886684],[-72.519419,42.966675],[-72.496479,42.991669],[-72.473715,43.038537],[-72.438186,43.224645],[-72.407072,43.332036],[-72.384957,43.52923],[-72.362369,43.586645],[-72.337672,43.621988],[-72.296693,43.714954],[-72.222381,43.790869],[-72.173855,43.884088],[-72.114924,43.965431],[-72.106212,44.013079],[-72.062233,44.11635],[-72.031208,44.300734],[-72.001776,44.329496],[-71.867677,44.354918],[-71.825511,44.37409],[-71.683007,44.45028],[-71.638205,44.481679],[-71.609289,44.514055],[-71.5878,44.565263],[-71.571496,44.579193],[-71.568442,44.607637],[-71.618287,44.727761],[-71.62066,44.771894],[-71.510225,44.908344],[-71.533483,44.987973],[-71.51752,45.007561]]]}},{"type":"Feature","properties":{"name":"New Jersey"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-75.074168,39.98348],[-75.023532,40.01745],[-74.909297,40.079545],[-74.734889,40.154504],[-74.976379,40.405828],[-75.034046,40.420374],[-75.097448,40.543135],[-75.170518,40.576797],[-75.189019,40.595814],[-75.192282,40.689868],[-75.185691,40.743822],[-75.174737,40.775518],[-75.111797,40.802105],[-75.075564,40.856267],[-75.074926,40.884458],[-75.12275,40.971766],[-75.123036,40.999002],[-75.031541,41.05178],[-74.912296,41.155271],[-74.84139,41.268595],[-74.812485,41.30151],[-74.777779,41.325076],[-74.699051,41.357299],[-74.600064,41.311585],[-74.501056,41.265903],[-74.402047,41.220222],[-74.30306,41.174541],[-74.204073,41.12886],[-74.105053,41.083179],[-74.006045,41.037498],[-73.910079,40.992256],[-73.927218,40.914242],[-74.025501,40.756379],[-74.067337,40.71963],[-74.116248,40.687286],[-74.15314,40.673257],[-74.187143,40.647988],[-74.226705,40.608009],[-74.26419,40.528633],[-74.241515,40.456266],[-74.049836,40.429833],[-73.998453,40.452157],[-73.972251,40.400324],[-73.957595,40.328363],[-73.971987,40.250514],[-74.004001,40.171347],[-74.028347,40.073008],[-74.048913,39.923066],[-74.079917,39.78811],[-74.084004,39.829089],[-74.064591,39.993115],[-74.09599,39.975988],[-74.117644,39.938129],[-74.176135,39.726598],[-74.256577,39.613856],[-74.330603,39.535886],[-74.407024,39.548806],[-74.389874,39.486843],[-74.410858,39.454544],[-74.428831,39.387186],[-74.474359,39.34256],[-74.517172,39.346845],[-74.578696,39.316105],[-74.602987,39.292561],[-74.604799,39.247528],[-74.645932,39.207867],[-74.794478,39.001907],[-74.923436,38.941141],[-74.954308,38.949952],[-74.920327,39.047181],[-74.897025,39.145465],[-74.975291,39.188257],[-75.050218,39.210834],[-75.136109,39.207867],[-75.231031,39.284266],[-75.35343,39.339824],[-75.524245,39.490172],[-75.519257,39.531876],[-75.523553,39.601848],[-75.47161,39.712382],[-75.421908,39.789714],[-75.353177,39.829738],[-75.15383,39.870486],[-75.103831,39.931823],[-75.074168,39.98348]]],[[[-74.133222,39.680785],[-74.250501,39.529371],[-74.25316,39.558485],[-74.106767,39.746439],[-74.133222,39.680785]]]]}},{"type":"Feature","properties":{"name":"New Mexico"},"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.047423,31.683232],[-109.047368,32.037739],[-109.047318,32.392235],[-109.047264,32.746764],[-109.047214,33.101293],[-109.047165,33.455788],[-109.04711,33.810284],[-109.04706,34.164791],[-109.047005,34.519287],[-109.046956,34.873794],[-109.046906,35.22829],[-109.046852,35.582819],[-109.046802,35.937336],[-109.046747,36.291843],[-109.046698,36.646339],[-109.04667,37.000846],[-108.66879,37.000846],[-108.290932,37.000846],[-107.913073,37.000846],[-107.535215,37.000846],[-107.157357,37.000846],[-106.779499,37.000846],[-106.40164,37.000846],[-106.023755,37.000846],[-105.645874,37.000846],[-105.268016,37.000846],[-104.890158,37.000846],[-104.512299,37.000846],[-104.134441,37.000846],[-103.756583,37.000846],[-103.378724,37.000846],[-103.000839,37.000846],[-103.000712,36.875942],[-103.000553,36.751039],[-103.000427,36.626135],[-103.000295,36.501232],[-103.042153,36.500616],[-103.043625,36.219498],[-103.045103,35.93838],[-103.046547,35.657251],[-103.04802,35.376133],[-103.049492,35.095015],[-103.050942,34.813896],[-103.052414,34.532778],[-103.053886,34.251682],[-103.055358,33.970586],[-103.056831,33.689468],[-103.058303,33.408349],[-103.059775,33.127231],[-103.061247,32.846113],[-103.062719,32.564984],[-103.064169,32.283866],[-103.065642,32.002748],[-103.290405,32.002649],[-103.515202,32.002572],[-103.739993,32.002495],[-103.964785,32.002385],[-104.189576,32.002286],[-104.414373,32.002209],[-104.639164,32.002132],[-104.863928,32.002022],[-105.088697,32.001924],[-105.313488,32.001847],[-105.53828,32.00177],[-105.763076,32.00166],[-105.987868,32.001561],[-106.212659,32.001484],[-106.43745,32.001407],[-106.662219,32.001297],[-106.668262,32.000946],[-106.566281,31.819529],[-106.566358,31.819529],[-106.445382,31.768398],[-106.45321,31.770178],[-106.673047,31.771343],[-106.892877,31.772474],[-107.112708,31.773617],[-107.332539,31.774748],[-107.55237,31.775891],[-107.772201,31.777022],[-107.992032,31.778165],[-108.211841,31.77933],[-108.212484,31.666852],[-108.213154,31.554385],[-108.213802,31.441906],[-108.21445,31.329428],[-108.567892,31.32878],[-108.921333,31.32811],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"name":"Nevada"},"geometry":{"type":"Polygon","coordinates":[[[-114.04027,37.004153],[-114.041171,36.61249],[-114.042879,36.181771],[-114.061924,36.175212],[-114.119437,36.076665],[-114.183207,36.030303],[-114.232146,36.031698],[-114.281573,36.060328],[-114.331545,36.116293],[-114.406087,36.148307],[-114.505277,36.156426],[-114.592975,36.14756],[-114.669144,36.12172],[-114.715759,36.084982],[-114.741362,36.013516],[-114.732321,35.983666],[-114.687101,35.917341],[-114.68369,35.813597],[-114.677076,35.729805],[-114.650126,35.683508],[-114.645166,35.630543],[-114.662063,35.545355],[-114.648528,35.475922],[-114.590987,35.352776],[-114.610521,34.99761],[-114.610543,34.991117],[-114.88218,35.202812],[-115.136096,35.400962],[-115.390006,35.599122],[-115.643917,35.797294],[-115.897827,35.995476],[-116.151743,36.193625],[-116.405681,36.391786],[-116.659592,36.589968],[-116.842915,36.727759],[-117.02626,36.865549],[-117.209611,37.003373],[-117.392935,37.141174],[-117.576253,37.278965],[-117.759603,37.416788],[-117.942949,37.554579],[-118.126272,37.69238],[-118.360495,37.855857],[-118.594718,38.019333],[-118.828941,38.182843],[-119.063164,38.34632],[-119.297387,38.509796],[-119.531616,38.673295],[-119.765839,38.836782],[-120.000062,39.000259],[-120.000084,39.187784],[-120.000139,39.375299],[-120.000188,39.562803],[-120.000243,39.750339],[-120.000293,39.937876],[-120.000342,40.12538],[-120.000397,40.312883],[-120.000446,40.50042],[-120.000501,40.687957],[-120.000551,40.87546],[-120.0006,41.062975],[-120.000628,41.250501],[-120.000655,41.438015],[-120.000704,41.625519],[-120.000759,41.813056],[-120.000809,42.000559],[-119.627807,42.000559],[-119.254782,42.000559],[-118.881758,42.000559],[-118.508756,42.000559],[-118.135731,42.000559],[-117.762701,42.000559],[-117.389705,42.000559],[-117.016675,42.000559],[-116.644914,42.000636],[-116.273153,42.000691],[-115.901398,42.000768],[-115.529637,42.000845],[-115.157876,42.0009],[-114.786115,42.000977],[-114.414354,42.001054],[-114.042593,42.001109],[-114.042516,41.844938],[-114.042467,41.6888],[-114.04239,41.532662],[-114.042308,41.376492],[-114.042231,41.220321],[-114.042154,41.064183],[-114.042077,40.908046],[-114.042,40.751875],[-114.041923,40.595715],[-114.041846,40.439578],[-114.041791,40.283429],[-114.041714,40.127269],[-114.041637,39.971099],[-114.041588,39.814939],[-114.041511,39.658768],[-114.041429,39.502631],[-114.041352,39.346493],[-114.041275,39.190322],[-114.041226,39.034152],[-114.041149,38.877992],[-114.041072,38.721821],[-114.041017,38.565684],[-114.04094,38.409546],[-114.040863,38.253375],[-114.040786,38.097205],[-114.040709,37.941067],[-114.040632,37.784929],[-114.040555,37.628759],[-114.040473,37.472599],[-114.040396,37.316461],[-114.040347,37.160312],[-114.04027,37.004153]]]}},{"type":"Feature","properties":{"name":"New York"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-79.762024,42.538977],[-79.446233,42.651455],[-79.173739,42.74853],[-79.036695,42.80232],[-78.939236,42.863744],[-78.915077,42.90914],[-78.920867,42.93521],[-78.946003,42.961303],[-78.980753,42.980606],[-79.011679,42.997041],[-79.026181,43.017322],[-79.029071,43.061762],[-79.048011,43.087294],[-79.066051,43.106102],[-79.059228,43.278061],[-79.083047,43.33141],[-79.171849,43.466575],[-79.002484,43.527165],[-78.845566,43.583338],[-78.720432,43.624932],[-78.458254,43.631502],[-78.214786,43.630667],[-77.879242,43.629557],[-77.59652,43.628601],[-77.266721,43.627492],[-77.073351,43.626843],[-76.819962,43.628788],[-76.696498,43.784794],[-76.586118,43.924298],[-76.464609,44.057595],[-76.248541,44.214129],[-76.185787,44.242232],[-76.151158,44.303942],[-76.020234,44.36262],[-75.875929,44.41698],[-75.819316,44.468012],[-75.79196,44.497049],[-75.401253,44.772278],[-75.179384,44.899379],[-74.996143,44.97012],[-74.856639,45.003925],[-74.762464,44.999058],[-74.708873,45.00387],[-74.663236,45.003925],[-74.430391,45.004178],[-74.014262,45.004694],[-73.598133,45.005155],[-73.352182,45.005419],[-73.345052,44.938864],[-73.365805,44.860366],[-73.348568,44.775299],[-73.372078,44.597332],[-73.309753,44.45964],[-73.324639,44.36786],[-73.320915,44.268874],[-73.331825,44.244583],[-73.38112,44.187432],[-73.409751,44.131413],[-73.426131,44.074855],[-73.424945,44.038292],[-73.38301,43.875827],[-73.374968,43.804152],[-73.375847,43.762184],[-73.413365,43.627854],[-73.415925,43.589644],[-73.40495,43.578811],[-73.391436,43.578526],[-73.349238,43.620384],[-73.330484,43.62669],[-73.30616,43.616253],[-73.247098,43.553048],[-73.250328,43.439669],[-73.252657,43.357195],[-73.255239,43.265371],[-73.259084,43.127855],[-73.26193,43.027067],[-73.264544,42.93521],[-73.266555,42.864777],[-73.2802,42.813152],[-73.253327,42.752222],[-73.285056,42.668198],[-73.316806,42.584175],[-73.348568,42.500141],[-73.380296,42.416117],[-73.412047,42.332094],[-73.443808,42.24807],[-73.475537,42.164047],[-73.507287,42.080012],[-73.480568,42.055568],[-73.48861,41.960613],[-73.496619,41.865658],[-73.504629,41.770703],[-73.512638,41.675748],[-73.520647,41.580794],[-73.528689,41.485839],[-73.53672,41.390906],[-73.544729,41.295951],[-73.51445,41.257455],[-73.484139,41.218959],[-73.521756,41.200919],[-73.579797,41.173146],[-73.641881,41.143406],[-73.723015,41.104514],[-73.682113,41.054702],[-73.630466,40.99186],[-73.671412,40.965867],[-73.779001,40.878405],[-73.851247,40.831405],[-73.910672,40.816112],[-73.947213,40.776946],[-73.987082,40.751392],[-73.948586,40.838744],[-73.90675,40.912462],[-73.871967,41.055164],[-73.882251,41.170586],[-73.925328,41.218058],[-73.969954,41.249732],[-73.917649,41.135781],[-73.909233,40.996079],[-73.910079,40.992256],[-74.006045,41.037498],[-74.105053,41.083179],[-74.204073,41.12886],[-74.30306,41.174541],[-74.402047,41.220222],[-74.501056,41.265903],[-74.600064,41.311585],[-74.699051,41.357299],[-74.720365,41.394861],[-74.75662,41.423909],[-74.935367,41.474369],[-74.981257,41.507702],[-75.02273,41.552866],[-75.051361,41.608369],[-75.066192,41.666608],[-75.066906,41.713212],[-75.053679,41.765045],[-75.094768,41.799487],[-75.095537,41.83171],[-75.121893,41.853364],[-75.238864,41.892201],[-75.273977,41.94666],[-75.351342,41.998417],[-75.48921,41.998494],[-75.627055,41.998571],[-75.764901,41.998648],[-75.902779,41.998725],[-76.040647,41.998801],[-76.178525,41.998878],[-76.316393,41.998966],[-76.454238,41.999043],[-76.592094,41.99912],[-76.729962,41.999197],[-76.86784,41.999274],[-77.005708,41.999351],[-77.143575,41.999428],[-77.281432,41.999505],[-77.419277,41.999581],[-77.557145,41.999658],[-77.695023,41.999735],[-77.832868,41.999812],[-77.970714,41.999889],[-78.108581,41.999966],[-78.24646,42.000043],[-78.384327,42.00012],[-78.522206,42.000197],[-78.660051,42.000274],[-78.797897,42.000329],[-78.935775,42.000438],[-79.073642,42.000515],[-79.211521,42.000592],[-79.349388,42.000669],[-79.487234,42.000746],[-79.625079,42.000801],[-79.762958,42.0009],[-79.76298,42.135515],[-79.763002,42.270131],[-79.763035,42.404746],[-79.762024,42.538977]]],[[[-72.509783,40.986027],[-72.580887,40.921328],[-72.516573,40.914813],[-72.461334,40.933776],[-72.409017,40.972151],[-72.287442,41.024083],[-72.183852,41.046792],[-72.151245,41.051472],[-72.101894,41.01502],[-72.003951,41.044265],[-71.903206,41.060701],[-72.33899,40.894148],[-72.428078,40.875383],[-72.555542,40.82578],[-72.676106,40.790635],[-72.762843,40.777847],[-73.194287,40.654207],[-73.22852,40.651526],[-73.265522,40.663567],[-73.620897,40.599901],[-73.766729,40.592716],[-73.899565,40.570524],[-73.801325,40.621786],[-73.799183,40.640979],[-73.822672,40.655964],[-73.875175,40.651625],[-73.928997,40.598814],[-74.014911,40.581213],[-74.032038,40.638683],[-74.003364,40.683156],[-73.964571,40.725343],[-73.879262,40.791668],[-73.757193,40.833679],[-73.695208,40.870033],[-73.652241,40.838019],[-73.642837,40.881228],[-73.609768,40.906189],[-73.573798,40.919625],[-73.487391,40.919955],[-73.440864,40.926777],[-73.407246,40.941093],[-73.372705,40.943806],[-73.278156,40.924196],[-73.185838,40.929854],[-73.111296,40.95688],[-73.033776,40.965977],[-72.828783,40.972052],[-72.625118,40.991838],[-72.543676,41.027006],[-72.372575,41.125553],[-72.274138,41.153041],[-72.427386,41.03853],[-72.509783,40.986027]]],[[[-74.188132,40.522854],[-74.235879,40.518712],[-74.188154,40.614601],[-74.100483,40.658447],[-74.068755,40.649307],[-74.067414,40.615458],[-74.079708,40.586465],[-74.138518,40.541838],[-74.188132,40.522854]]]]}},{"type":"Feature","properties":{"name":"Ohio"},"geometry":{"type":"Polygon","coordinates":[[[-83.121665,41.95],[-83.029962,41.832974],[-82.8662,41.753004],[-82.690012,41.675177],[-82.439073,41.67487],[-82.213326,41.77869],[-81.974187,41.88874],[-81.76092,41.986815],[-81.507345,42.103479],[-81.277643,42.209179],[-81.028198,42.247158],[-80.682645,42.299772],[-80.520762,42.324392],[-80.520278,42.220473],[-80.520278,42.115619],[-80.520278,42.010766],[-80.520278,41.905923],[-80.520278,41.801069],[-80.520278,41.696238],[-80.520278,41.591417],[-80.520278,41.486564],[-80.520278,41.38171],[-80.520278,41.276857],[-80.520278,41.172014],[-80.520278,41.067183],[-80.520278,40.962362],[-80.520278,40.857509],[-80.520278,40.752655],[-80.519081,40.646956],[-80.637524,40.603263],[-80.659047,40.562976],[-80.623187,40.51156],[-80.604093,40.445203],[-80.601819,40.363893],[-80.668275,40.185244],[-80.803517,39.909136],[-80.872192,39.735508],[-80.874313,39.664294],[-80.963291,39.57113],[-81.139127,39.455994],[-81.262504,39.386538],[-81.333354,39.362819],[-81.392417,39.364829],[-81.439647,39.392559],[-81.492722,39.373618],[-81.551631,39.308041],[-81.606464,39.274137],[-81.657209,39.271973],[-81.700594,39.229467],[-81.736663,39.14663],[-81.770665,39.098828],[-81.802602,39.086062],[-81.804954,39.04405],[-81.777685,38.972793],[-81.780124,38.946975],[-81.795033,38.945942],[-81.809337,38.950029],[-81.843757,38.934319],[-81.88244,38.894219],[-81.896678,38.893549],[-81.907368,38.900239],[-81.91853,38.952347],[-81.949797,38.989327],[-82.001092,39.011102],[-82.072273,38.962949],[-82.163328,38.844912],[-82.203527,38.768228],[-82.18764,38.715208],[-82.180071,38.637589],[-82.202494,38.605839],[-82.252317,38.594083],[-82.290868,38.552017],[-82.318147,38.479672],[-82.387064,38.43399],[-82.497543,38.414973],[-82.612778,38.448218],[-82.621282,38.450679],[-82.758226,38.541162],[-82.844623,38.627668],[-82.880438,38.710253],[-83.000068,38.713999],[-83.203469,38.638907],[-83.35697,38.627405],[-83.460582,38.679502],[-83.538387,38.69986],[-83.616313,38.682776],[-83.689878,38.649531],[-83.752269,38.669373],[-83.828086,38.731226],[-83.948386,38.774226],[-84.113236,38.798385],[-84.227285,38.865204],[-84.290435,38.974705],[-84.358022,39.049917],[-84.43006,39.090896],[-84.508865,39.102838],[-84.594547,39.085776],[-84.660542,39.094467],[-84.706948,39.128909],[-84.765901,39.124998],[-84.821711,39.091984],[-84.82014,39.423826],[-84.816702,39.749197],[-84.813263,40.074557],[-84.809835,40.399939],[-84.806397,40.725321],[-84.802958,41.05067],[-84.799552,41.376052],[-84.796113,41.701434],[-84.463129,41.710938],[-84.130155,41.720452],[-83.797181,41.729955],[-83.464197,41.739447],[-83.30395,41.837808],[-83.121665,41.95]]]}},{"type":"Feature","properties":{"name":"Oklahoma"},"geometry":{"type":"Polygon","coordinates":[[[-94.61838,36.500869],[-94.595979,36.361661],[-94.573578,36.222465],[-94.551177,36.083279],[-94.52877,35.94406],[-94.506369,35.804841],[-94.483968,35.665655],[-94.461539,35.526459],[-94.439138,35.387251],[-94.441956,35.278574],[-94.444746,35.169897],[-94.447564,35.061221],[-94.450377,34.952544],[-94.453195,34.843867],[-94.456013,34.73519],[-94.458831,34.626514],[-94.461643,34.517837],[-94.464461,34.409171],[-94.467279,34.300494],[-94.470092,34.191817],[-94.47291,34.083141],[-94.475728,33.974464],[-94.47854,33.865787],[-94.481331,33.75711],[-94.484149,33.648434],[-94.709198,33.699289],[-94.765734,33.731611],[-94.869374,33.768196],[-94.962389,33.843408],[-95.146075,33.936616],[-95.21586,33.959039],[-95.238031,33.956479],[-95.276016,33.910622],[-95.373888,33.874269],[-95.427117,33.872785],[-95.523494,33.886562],[-95.541836,33.898164],[-95.555712,33.926091],[-95.594471,33.945163],[-95.622789,33.930255],[-95.763166,33.891473],[-95.783914,33.864502],[-95.863082,33.863304],[-95.941579,33.882838],[-96.139344,33.821963],[-96.207272,33.774062],[-96.278562,33.757627],[-96.315048,33.711122],[-96.336752,33.717713],[-96.41114,33.775205],[-96.487204,33.7923],[-96.59159,33.849275],[-96.595364,33.899405],[-96.606345,33.905635],[-96.625132,33.911446],[-96.648538,33.906382],[-96.694016,33.863799],[-96.720213,33.85279],[-96.746283,33.854186],[-96.847572,33.883179],[-96.889996,33.934617],[-96.911001,33.950437],[-96.934051,33.95348],[-96.977694,33.938033],[-97.002161,33.881597],[-97.02159,33.866512],[-97.063838,33.8568],[-97.061229,33.8285],[-97.09895,33.750442],[-97.119,33.734764],[-97.145071,33.737687],[-97.172383,33.75688],[-97.192488,33.784631],[-97.201013,33.808164],[-97.186182,33.870083],[-97.194762,33.890616],[-97.214938,33.897109],[-97.264679,33.867776],[-97.308163,33.869226],[-97.363611,33.840178],[-97.398492,33.831323],[-97.430171,33.838508],[-97.481565,33.885705],[-97.571247,33.91594],[-97.605925,33.971651],[-97.621789,33.987768],[-97.640933,33.991669],[-97.660362,33.990043],[-97.691937,33.972135],[-97.795291,33.899065],[-97.842422,33.875785],[-97.882858,33.871116],[-97.92159,33.878367],[-97.946238,33.897076],[-97.951072,33.971212],[-97.973962,33.993734],[-98.069383,34.040305],[-98.089587,34.084097],[-98.098635,34.145027],[-98.214079,34.135337],[-98.355978,34.141511],[-98.420419,34.088052],[-98.453674,34.078131],[-98.493851,34.088777],[-98.608395,34.161275],[-98.730118,34.146576],[-98.798953,34.154739],[-98.96884,34.208605],[-99.102291,34.213472],[-99.157508,34.223282],[-99.186578,34.235477],[-99.19991,34.318314],[-99.252875,34.388077],[-99.270316,34.407226],[-99.360387,34.456094],[-99.374938,34.457873],[-99.38465,34.446788],[-99.404986,34.392065],[-99.432298,34.38922],[-99.536168,34.404744],[-99.632029,34.388495],[-99.685615,34.415829],[-99.867027,34.543369],[-99.94069,34.576339],[-99.999341,34.586721],[-99.99955,34.706362],[-99.999731,34.825992],[-99.999912,34.945622],[-100.000115,35.065275],[-100.000324,35.184938],[-100.000505,35.304568],[-100.000687,35.424198],[-100.000895,35.543828],[-100.001099,35.663458],[-100.00128,35.783088],[-100.001461,35.902718],[-100.00167,36.022349],[-100.001873,36.141979],[-100.002054,36.261609],[-100.002236,36.381239],[-100.002444,36.500902],[-100.189822,36.500924],[-100.377177,36.500924],[-100.564527,36.500946],[-100.751904,36.500979],[-100.939287,36.500979],[-101.126637,36.501023],[-101.313992,36.501056],[-101.50137,36.501078],[-101.688747,36.501111],[-101.876102,36.501133],[-102.063452,36.501133],[-102.250835,36.501155],[-102.438212,36.501188],[-102.625562,36.501188],[-102.812918,36.50121],[-103.000295,36.501232],[-103.000427,36.626135],[-103.000553,36.751039],[-103.000712,36.875942],[-103.000839,37.000846],[-102.753828,37.000846],[-102.506811,37.000846],[-102.2598,37.000846],[-102.012783,37.000846],[-101.781713,37.000846],[-101.550616,37.000846],[-101.319518,37.000846],[-101.088421,37.000846],[-100.857329,37.000846],[-100.626254,37.000846],[-100.395184,37.000846],[-100.164086,37.000846],[-99.932989,37.000846],[-99.701919,37.000846],[-99.470849,37.000846],[-99.239752,37.000846],[-99.008654,37.000846],[-98.777584,37.000846],[-98.546514,37.000846],[-98.315417,37.000846],[-98.084319,37.000846],[-97.853244,37.000846],[-97.622174,37.000846],[-97.391077,37.000846],[-97.159979,37.000846],[-96.928909,37.000846],[-96.697839,37.000846],[-96.466742,37.000846],[-96.235644,37.000846],[-96.004574,37.000846],[-95.773504,37.000846],[-95.542407,37.000846],[-95.31131,37.000846],[-95.08024,37.000846],[-94.849164,37.000846],[-94.618067,37.000846],[-94.618149,36.875832],[-94.618226,36.750863],[-94.618303,36.625883],[-94.61838,36.500869]]]}},{"type":"Feature","properties":{"name":"Oregon"},"geometry":{"type":"Polygon","coordinates":[[[-120.000809,42.000559],[-120.264464,42.000559],[-120.528114,42.000559],[-120.79177,42.000559],[-121.05542,42.000559],[-121.319075,42.000559],[-121.58273,42.000559],[-121.84638,42.000559],[-122.110063,42.000559],[-122.37374,42.000559],[-122.63739,42.000559],[-122.901046,42.000559],[-123.164701,42.000559],[-123.428351,42.000559],[-123.692007,42.000559],[-123.955656,42.000559],[-124.228409,42.000768],[-124.355273,42.122881],[-124.409996,42.304342],[-124.420515,42.381005],[-124.406173,42.583681],[-124.443795,42.670209],[-124.539629,42.812866],[-124.498573,42.936858],[-124.454441,43.012367],[-124.346588,43.341649],[-124.320595,43.368203],[-124.275485,43.367379],[-124.196938,43.423344],[-124.23316,43.436363],[-124.287987,43.409699],[-124.239208,43.54003],[-124.184353,43.651552],[-124.148719,43.691729],[-124.130663,44.055662],[-124.099165,44.333781],[-124.047464,44.425506],[-124.065443,44.520076],[-124.044541,44.648231],[-124.059192,44.777727],[-123.948603,45.40085],[-123.9631,45.476084],[-123.929355,45.576961],[-123.961216,45.842995],[-123.947131,46.140592],[-123.975245,46.178341],[-123.989302,46.219397],[-123.962946,46.225451],[-123.911684,46.182198],[-123.67361,46.182604],[-123.521631,46.22266],[-123.466358,46.209433],[-123.402281,46.154962],[-123.321564,46.144009],[-123.220589,46.153622],[-123.120904,46.178781],[-123.042275,46.160027],[-122.941997,46.114862],[-122.843373,45.978094],[-122.74643,45.749688],[-122.725913,45.67375],[-122.649849,45.627443],[-122.560964,45.62507],[-122.202535,45.591067],[-122.149927,45.593759],[-122.149905,45.593858],[-122.085124,45.602647],[-121.882014,45.689461],[-121.662519,45.718135],[-121.402121,45.71184],[-121.242698,45.687033],[-121.184278,45.64378],[-121.045241,45.639044],[-120.715777,45.689823],[-120.351432,45.725166],[-120.156046,45.762168],[-119.934276,45.837875],[-119.429113,45.93417],[-119.177345,45.94508],[-119.049909,45.981488],[-119.01968,46.000341],[-119.002421,46.00055],[-118.736986,46.000813],[-118.47155,46.001044],[-118.206088,46.001275],[-117.940653,46.001538],[-117.675217,46.001791],[-117.409755,46.002022],[-117.14432,46.002253],[-116.896479,46.002099],[-116.869194,45.958483],[-116.764725,45.87291],[-116.616827,45.79917],[-116.520917,45.721914],[-116.477043,45.641088],[-116.549157,45.456737],[-116.737342,45.168841],[-116.839553,44.98516],[-116.855857,44.90574],[-116.948955,44.770114],[-117.118919,44.578314],[-117.201701,44.436206],[-117.197312,44.3438],[-117.139744,44.290264],[-117.028952,44.275542],[-116.95319,44.245308],[-116.91242,44.199473],[-116.91131,44.157406],[-116.949779,44.119009],[-116.960683,44.079118],[-116.943967,44.037677],[-116.957634,43.964135],[-117.020498,43.813194],[-117.02024,43.808437],[-117.0198,43.562925],[-117.019339,43.339727],[-117.0189,43.11654],[-117.01846,42.893352],[-117.018021,42.670165],[-117.017581,42.446967],[-117.017114,42.223779],[-117.016675,42.000559],[-117.389705,42.000559],[-117.762701,42.000559],[-118.135731,42.000559],[-118.508756,42.000559],[-118.881758,42.000559],[-119.254782,42.000559],[-119.627807,42.000559],[-120.000809,42.000559]]]}},{"type":"Feature","properties":{"name":"Pennsylvania"},"geometry":{"type":"Polygon","coordinates":[[[-80.520762,42.324392],[-80.247576,42.365997],[-80.035726,42.441463],[-79.762024,42.538977],[-79.763035,42.404746],[-79.763002,42.270131],[-79.76298,42.135515],[-79.762958,42.0009],[-79.625079,42.000801],[-79.487234,42.000746],[-79.349388,42.000669],[-79.211521,42.000592],[-79.073642,42.000515],[-78.935775,42.000438],[-78.797897,42.000329],[-78.660051,42.000274],[-78.522206,42.000197],[-78.384327,42.00012],[-78.24646,42.000043],[-78.108581,41.999966],[-77.970714,41.999889],[-77.832868,41.999812],[-77.695023,41.999735],[-77.557145,41.999658],[-77.419277,41.999581],[-77.281432,41.999505],[-77.143575,41.999428],[-77.005708,41.999351],[-76.86784,41.999274],[-76.729962,41.999197],[-76.592094,41.99912],[-76.454238,41.999043],[-76.316393,41.998966],[-76.178525,41.998878],[-76.040647,41.998801],[-75.902779,41.998725],[-75.764901,41.998648],[-75.627055,41.998571],[-75.48921,41.998494],[-75.351342,41.998417],[-75.273977,41.94666],[-75.238864,41.892201],[-75.121893,41.853364],[-75.095537,41.83171],[-75.094768,41.799487],[-75.053679,41.765045],[-75.066906,41.713212],[-75.066192,41.666608],[-75.051361,41.608369],[-75.02273,41.552866],[-74.981257,41.507702],[-74.935367,41.474369],[-74.75662,41.423909],[-74.720365,41.394861],[-74.699051,41.357299],[-74.777779,41.325076],[-74.812485,41.30151],[-74.84139,41.268595],[-74.912296,41.155271],[-75.031541,41.05178],[-75.123036,40.999002],[-75.12275,40.971766],[-75.074926,40.884458],[-75.075564,40.856267],[-75.111797,40.802105],[-75.174737,40.775518],[-75.185691,40.743822],[-75.192282,40.689868],[-75.189019,40.595814],[-75.170518,40.576797],[-75.097448,40.543135],[-75.034046,40.420374],[-74.976379,40.405828],[-74.734889,40.154504],[-74.909297,40.079545],[-75.023532,40.01745],[-75.074168,39.98348],[-75.172924,39.894777],[-75.320877,39.864696],[-75.400638,39.831572],[-75.421029,39.815422],[-75.510446,39.843438],[-75.634581,39.839482],[-75.676823,39.827233],[-75.709145,39.802898],[-75.78472,39.722357],[-76.015532,39.722379],[-76.246322,39.722434],[-76.477112,39.722456],[-76.707901,39.722489],[-76.93868,39.722511],[-77.169492,39.722533],[-77.400304,39.722566],[-77.631094,39.722588],[-77.861883,39.72261],[-78.092695,39.722643],[-78.323507,39.722665],[-78.554297,39.722687],[-78.785086,39.72272],[-79.015898,39.722742],[-79.24671,39.722775],[-79.4775,39.722797],[-79.607743,39.722742],[-79.737997,39.72272],[-79.868218,39.722687],[-79.998472,39.722643],[-80.128725,39.72261],[-80.258946,39.722588],[-80.3892,39.722533],[-80.519443,39.722511],[-80.519553,39.838186],[-80.519652,39.953839],[-80.519762,40.069492],[-80.519861,40.185145],[-80.51996,40.300798],[-80.520069,40.416473],[-80.520168,40.532149],[-80.519081,40.646956],[-80.520278,40.752655],[-80.520278,40.857509],[-80.520278,40.962362],[-80.520278,41.067183],[-80.520278,41.172014],[-80.520278,41.276857],[-80.520278,41.38171],[-80.520278,41.486564],[-80.520278,41.591417],[-80.520278,41.696238],[-80.520278,41.801069],[-80.520278,41.905923],[-80.520278,42.010766],[-80.520278,42.115619],[-80.520278,42.220473],[-80.520762,42.324392]]]}},{"type":"Feature","properties":{"name":"Rhode Island"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.842353,41.335513],[-71.829873,41.392741],[-71.804527,41.416746],[-71.799232,41.47917],[-71.795793,41.519951],[-71.796518,41.588858],[-71.79732,41.667586],[-71.798199,41.753114],[-71.798968,41.828502],[-71.799561,41.883027],[-71.800319,41.95824],[-71.800836,42.011963],[-71.725821,42.012864],[-71.623242,42.014028],[-71.524134,42.015237],[-71.462534,42.015962],[-71.387135,42.016863],[-71.383927,41.971731],[-71.379071,41.902407],[-71.33763,41.891443],[-71.339487,41.835171],[-71.340728,41.797916],[-71.304737,41.774658],[-71.267889,41.75084],[-71.233765,41.706554],[-71.271075,41.681231],[-71.310758,41.719881],[-71.330599,41.762255],[-71.359152,41.786238],[-71.390156,41.795335],[-71.363679,41.702731],[-71.426542,41.633297],[-71.443802,41.453693],[-71.52286,41.378975],[-71.769283,41.33091],[-71.842353,41.335513]]],[[[-71.241379,41.491969],[-71.290938,41.464602],[-71.346232,41.469403],[-71.318151,41.506306],[-71.307473,41.560491],[-71.280194,41.620048],[-71.264483,41.63823],[-71.232052,41.654303],[-71.241379,41.491969]]],[[[-71.36536,41.485267],[-71.393078,41.466745],[-71.403383,41.51504],[-71.383981,41.570532],[-71.364316,41.571807],[-71.354472,41.542297],[-71.36536,41.485267]]]]}},{"type":"Feature","properties":{"name":"South Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-80.872346,32.029565],[-81.074813,32.109699],[-81.135018,32.181858],[-81.132953,32.27467],[-81.171504,32.380139],[-81.290332,32.557239],[-81.37697,32.607468],[-81.433813,32.728032],[-81.489778,32.935663],[-81.57824,33.068575],[-81.69932,33.126759],[-81.780322,33.195292],[-81.821279,33.274096],[-81.864093,33.325436],[-81.908741,33.349254],[-81.932845,33.38987],[-81.936394,33.447285],[-82.005718,33.522893],[-82.208361,33.663584],[-82.256623,33.749233],[-82.351897,33.837728],[-82.589344,34.017618],[-82.589268,34.017377],[-82.818585,34.366017],[-82.818607,34.366072],[-82.847732,34.436911],[-82.896819,34.465806],[-82.975679,34.476396],[-83.052781,34.51086],[-83.165896,34.598531],[-83.166522,34.599597],[-83.355575,34.708318],[-83.316716,34.805657],[-83.1704,34.932911],[-83.121357,35.000554],[-83.114821,35.001477],[-83.09655,35.001642],[-82.936974,35.04417],[-82.777529,35.086643],[-82.743966,35.084061],[-82.651483,35.128039],[-82.463957,35.177961],[-82.392535,35.210931],[-82.356083,35.201626],[-82.197484,35.195891],[-82.038885,35.190156],[-81.880298,35.184421],[-81.721699,35.178675],[-81.5631,35.172941],[-81.404513,35.167206],[-81.245914,35.161471],[-81.087316,35.155714],[-81.05662,35.145508],[-81.046853,35.131083],[-81.051171,35.088972],[-81.045249,35.065615],[-80.933683,35.113669],[-80.881695,35.057914],[-80.79297,34.962772],[-80.789278,34.90717],[-80.784082,34.828629],[-80.642776,34.824641],[-80.501459,34.820664],[-80.36013,34.816687],[-80.218824,34.81271],[-80.077507,34.808733],[-79.936179,34.804745],[-79.794862,34.800768],[-79.653556,34.796791],[-79.518523,34.682643],[-79.383468,34.568506],[-79.248413,34.45438],[-79.11338,34.340232],[-78.978347,34.226073],[-78.843292,34.111947],[-78.708237,33.997821],[-78.564272,33.876664],[-78.577709,33.873225],[-78.841435,33.724097],[-78.920295,33.658695],[-79.138187,33.405921],[-79.193822,33.244148],[-79.23836,33.312153],[-79.22733,33.363163],[-79.226473,33.404889],[-79.281328,33.315438],[-79.229242,33.185129],[-79.276011,33.135394],[-79.419931,33.042527],[-79.498681,33.027311],[-79.587121,33.000877],[-79.614928,32.909263],[-79.735019,32.824789],[-79.804991,32.78738],[-79.933103,32.810034],[-79.89364,32.728702],[-79.940727,32.667157],[-80.021752,32.619894],[-80.122551,32.589099],[-80.180317,32.592889],[-80.229668,32.576509],[-80.268351,32.537342],[-80.362844,32.500725],[-80.460974,32.521346],[-80.572233,32.533695],[-80.634195,32.511733],[-80.530012,32.475379],[-80.474278,32.422777],[-80.485726,32.351827],[-80.513631,32.324405],[-80.579341,32.287326],[-80.608224,32.292809],[-80.625846,32.326273],[-80.647214,32.395926],[-80.677778,32.381128],[-80.683052,32.348641],[-80.709331,32.33704],[-80.802561,32.448045],[-80.797881,32.363396],[-80.765328,32.298313],[-80.73383,32.265321],[-80.702047,32.245908],[-80.694214,32.21574],[-80.758011,32.142175],[-80.790795,32.125838],[-80.849242,32.113929],[-80.882058,32.068611],[-80.872346,32.029565]]]}},{"type":"Feature","properties":{"name":"South Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-96.453619,43.501171],[-96.598622,43.497501],[-96.581285,43.434923],[-96.541647,43.373455],[-96.534956,43.338057],[-96.542526,43.309031],[-96.569942,43.283323],[-96.563454,43.242685],[-96.55539,43.231676],[-96.49028,43.205529],[-96.468137,43.17023],[-96.461293,43.129767],[-96.462688,43.099181],[-96.502112,43.043294],[-96.513274,42.969059],[-96.562576,42.85857],[-96.616084,42.791388],[-96.626835,42.757001],[-96.62177,42.729535],[-96.538702,42.658585],[-96.53361,42.630164],[-96.506326,42.593579],[-96.480953,42.511259],[-96.55795,42.524794],[-96.632778,42.568673],[-96.675542,42.637601],[-96.804527,42.701421],[-97.019733,42.760176],[-97.164478,42.813196],[-97.23879,42.860536],[-97.416658,42.881004],[-97.698139,42.874643],[-97.880918,42.849583],[-97.964947,42.805868],[-98.143283,42.852263],[-98.441765,43.001095],[-98.837141,43.001249],[-99.183271,43.001249],[-99.529373,43.001249],[-99.875475,43.001249],[-100.221605,43.001249],[-100.567708,43.001282],[-100.91381,43.001304],[-101.25994,43.001304],[-101.606064,43.001304],[-101.952172,43.001326],[-102.298274,43.001359],[-102.644398,43.001359],[-102.990528,43.001359],[-103.33663,43.001381],[-103.682738,43.001403],[-104.028862,43.001403],[-104.029895,43.251364],[-104.030955,43.501325],[-104.032016,43.751286],[-104.033048,44.001269],[-104.034081,44.251251],[-104.035119,44.501212],[-104.036152,44.751173],[-104.037212,45.001134],[-104.02928,45.001079],[-104.021348,45.001057],[-104.013416,45.001024],[-104.005478,45.00097],[-104.005302,45.004101],[-104.005143,45.007232],[-104.004962,45.010352],[-104.00478,45.013483],[-104.006357,45.245866],[-104.007934,45.47826],[-104.00951,45.710642],[-104.011087,45.943058],[-103.778132,45.943036],[-103.545173,45.943036],[-103.312213,45.943036],[-103.079259,45.943036],[-102.8463,45.943036],[-102.613345,45.943014],[-102.380386,45.942981],[-102.147426,45.942981],[-101.914472,45.942981],[-101.681513,45.942981],[-101.448558,45.942981],[-101.215599,45.942959],[-100.982645,45.942937],[-100.749685,45.942937],[-100.516725,45.942937],[-100.283744,45.942937],[-100.050762,45.942937],[-99.817803,45.942904],[-99.584849,45.942882],[-99.351889,45.942882],[-99.118929,45.942882],[-98.885975,45.942882],[-98.653016,45.942882],[-98.420062,45.94286],[-98.187102,45.942827],[-97.954142,45.942827],[-97.721188,45.942827],[-97.488229,45.942827],[-97.255275,45.942827],[-97.022315,45.942805],[-96.789355,45.942773],[-96.556401,45.942773],[-96.591052,45.843269],[-96.614689,45.799972],[-96.662672,45.755653],[-96.813619,45.659182],[-96.85106,45.626004],[-96.845452,45.595868],[-96.81491,45.557427],[-96.737527,45.467845],[-96.696109,45.431776],[-96.529759,45.371549],[-96.453668,45.297337],[-96.453668,45.072809],[-96.453668,44.848292],[-96.453668,44.623787],[-96.453641,44.399259],[-96.453619,44.174721],[-96.453619,43.950215],[-96.453619,43.725698],[-96.453619,43.501171]]]}},{"type":"Feature","properties":{"name":"Tennessee"},"geometry":{"type":"Polygon","coordinates":[[[-85.623604,35.000862],[-85.784037,35.002356],[-85.944437,35.003861],[-86.104871,35.00541],[-86.265293,35.006904],[-86.425726,35.008409],[-86.58616,35.009903],[-86.746582,35.011409],[-86.907015,35.012925],[-87.067449,35.014452],[-87.227871,35.015946],[-87.388305,35.017451],[-87.548738,35.018945],[-87.70916,35.02045],[-87.869594,35.021966],[-88.029994,35.023494],[-88.190427,35.024999],[-88.203139,35.024197],[-88.19079,35.012046],[-88.173267,34.999005],[-88.444772,34.999126],[-88.710421,34.999412],[-88.97606,34.999697],[-89.241698,34.999983],[-89.507348,35.000268],[-89.772997,35.000554],[-90.038635,35.00084],[-90.293705,35.001114],[-90.29376,35.004476],[-90.255956,35.046389],[-90.14227,35.114296],[-90.092919,35.203592],[-90.107882,35.314203],[-90.066024,35.414112],[-89.967345,35.50331],[-89.92652,35.591652],[-89.943505,35.679136],[-89.894561,35.750503],[-89.779655,35.805742],[-89.763593,35.828044],[-89.768108,35.845249],[-89.769943,35.864299],[-89.768932,35.8721],[-89.763593,35.888766],[-89.738214,35.898741],[-89.703772,35.906904],[-89.688908,35.920956],[-89.689171,35.943599],[-89.70932,35.98305],[-89.704772,36.001573],[-89.697697,36.030303],[-89.641886,36.104515],[-89.63413,36.167917],[-89.674549,36.220575],[-89.654081,36.247964],[-89.627988,36.255259],[-89.594623,36.259445],[-89.583549,36.272233],[-89.583549,36.287657],[-89.611707,36.321968],[-89.604093,36.351916],[-89.55527,36.372922],[-89.540603,36.426667],[-89.557313,36.501078],[-89.487221,36.503066],[-89.485386,36.498133],[-89.471488,36.488883],[-89.451823,36.497518],[-89.450329,36.500023],[-89.251784,36.499946],[-89.079079,36.499913],[-88.906373,36.499891],[-88.733646,36.499836],[-88.560919,36.499792],[-88.388214,36.499759],[-88.215509,36.499737],[-88.059108,36.499683],[-88.05601,36.500946],[-88.056713,36.59032],[-88.096297,36.693009],[-88.091122,36.6928],[-87.956298,36.681968],[-87.868715,36.675046],[-87.839151,36.643966],[-87.506254,36.649185],[-87.173357,36.654403],[-86.84046,36.659622],[-86.507586,36.66484],[-86.160451,36.655073],[-85.813283,36.645339],[-85.466126,36.635594],[-85.11898,36.625828],[-84.771845,36.616061],[-84.424688,36.606316],[-84.07752,36.596582],[-83.730385,36.586815],[-83.722507,36.589089],[-83.714652,36.591363],[-83.706797,36.593638],[-83.698942,36.595901],[-83.691086,36.598175],[-83.683231,36.600449],[-83.675376,36.602723],[-83.667521,36.60503],[-83.440763,36.604119],[-82.955837,36.60213],[-82.611779,36.600713],[-82.329386,36.599548],[-82.162185,36.598856],[-81.952511,36.598021],[-81.905336,36.618544],[-81.800713,36.615182],[-81.65889,36.610579],[-81.704418,36.533993],[-81.707648,36.481962],[-81.733323,36.405914],[-81.734125,36.355454],[-81.80826,36.352718],[-81.851151,36.3397],[-81.908247,36.306411],[-82.051366,36.122862],[-82.100618,36.106526],[-82.182499,36.153789],[-82.294944,36.13397],[-82.368245,36.099549],[-82.478426,36.010055],[-82.52113,35.981216],[-82.553408,35.970987],[-82.576842,35.972273],[-82.588751,35.986951],[-82.598101,36.031599],[-82.611097,36.047364],[-82.644924,36.046793],[-82.700087,36.029841],[-82.75559,35.999871],[-82.812817,35.947444],[-82.887722,35.951728],[-82.901862,35.939171],[-82.920253,35.8789],[-82.949476,35.834526],[-82.990203,35.800447],[-83.120369,35.774618],[-83.284241,35.682058],[-83.511119,35.584082],[-83.722716,35.559901],[-83.811705,35.54029],[-83.871306,35.51489],[-84.003735,35.414069],[-84.062281,35.286012],[-84.128584,35.261413],[-84.232471,35.260589],[-84.261101,35.249581],[-84.286974,35.200846],[-84.32469,34.988096],[-84.649424,34.991304],[-84.974158,34.994479],[-85.298892,34.997654],[-85.623604,35.000862]]]}},{"type":"Feature","properties":{"name":"Texas"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.484149,33.648434],[-94.432008,33.599731],[-94.390122,33.585603],[-94.377955,33.566113],[-94.357674,33.560972],[-94.33256,33.565036],[-94.294679,33.58746],[-94.238456,33.581208],[-94.191534,33.589009],[-94.098798,33.57733],[-94.047327,33.554435],[-94.045805,33.418841],[-94.044306,33.283215],[-94.042806,33.147589],[-94.041307,33.011996],[-94.041565,32.885378],[-94.041801,32.758805],[-94.042032,32.63222],[-94.04229,32.505614],[-94.042548,32.379007],[-94.042806,32.252423],[-94.043064,32.125838],[-94.043301,31.999232],[-93.905065,31.876998],[-93.845585,31.792942],[-93.826798,31.75026],[-93.820652,31.603966],[-93.806902,31.568799],[-93.737578,31.513812],[-93.736057,31.477667],[-93.663657,31.372198],[-93.665882,31.322584],[-93.596992,31.209754],[-93.557749,31.180421],[-93.551443,31.104066],[-93.530591,31.04619],[-93.562654,31.004903],[-93.549196,30.947719],[-93.568675,30.894655],[-93.579194,30.823805],[-93.624721,30.714348],[-93.665206,30.660768],[-93.720215,30.558265],[-93.715205,30.473253],[-93.746626,30.380363],[-93.750394,30.344713],[-93.720967,30.282904],[-93.710629,30.112813],[-93.726933,30.077108],[-93.79401,29.977264],[-93.841449,29.979747],[-93.946302,29.815007],[-93.886383,29.722634],[-93.890464,29.689356],[-94.099677,29.670383],[-94.574457,29.484527],[-94.759609,29.384255],[-94.750128,29.418027],[-94.526265,29.547962],[-94.605334,29.567804],[-94.732638,29.53535],[-94.778291,29.547863],[-94.724365,29.655299],[-94.741938,29.74999],[-94.832322,29.752605],[-94.889913,29.676953],[-94.929859,29.68015],[-94.982286,29.712603],[-95.022875,29.70232],[-94.992827,29.530934],[-94.935907,29.460478],[-94.888287,29.370555],[-95.018332,29.25945],[-95.139044,29.167835],[-95.152145,29.079231],[-95.273506,28.963863],[-95.387637,28.89844],[-95.655863,28.744598],[-95.732394,28.711705],[-95.853419,28.640349],[-96.020411,28.586834],[-96.180531,28.501877],[-96.234535,28.48899],[-96.132291,28.560896],[-96.011034,28.631944],[-96.115031,28.622232],[-96.27536,28.655125],[-96.37344,28.657037],[-96.374111,28.631098],[-96.448735,28.594481],[-96.526041,28.648303],[-96.559708,28.684448],[-96.575704,28.715715],[-96.608515,28.723307],[-96.64004,28.708761],[-96.524645,28.488704],[-96.475476,28.47919],[-96.42111,28.457339],[-96.488808,28.406065],[-96.561697,28.367163],[-96.676339,28.34129],[-96.773546,28.421622],[-96.794579,28.320855],[-96.806901,28.220188],[-96.839508,28.194403],[-96.8916,28.157555],[-96.919867,28.185339],[-96.933276,28.224275],[-96.966636,28.189547],[-97.01547,28.163454],[-97.096033,28.158258],[-97.156491,28.14436],[-97.155074,28.102656],[-97.141275,28.060765],[-97.034329,28.093845],[-97.073088,27.986091],[-97.171454,27.879567],[-97.251578,27.85442],[-97.37413,27.870031],[-97.404386,27.859309],[-97.431517,27.837215],[-97.288733,27.670608],[-97.380458,27.419361],[-97.439109,27.328285],[-97.47978,27.316573],[-97.523863,27.313969],[-97.682148,27.394917],[-97.768446,27.457495],[-97.692377,27.287141],[-97.485103,27.237406],[-97.474512,27.172938],[-97.475671,27.117885],[-97.516524,27.053209],[-97.554712,26.967351],[-97.526494,26.907508],[-97.49381,26.75961],[-97.465828,26.691759],[-97.435082,26.485853],[-97.402316,26.396534],[-97.213933,26.067867],[-97.150372,26.065307],[-97.140187,26.029733],[-97.146235,25.961464],[-97.281785,25.941623],[-97.33865,25.91118],[-97.349735,25.88478],[-97.358162,25.87052],[-97.375624,25.871805],[-97.440273,25.890822],[-97.587243,25.984206],[-97.801416,26.042049],[-98.082792,26.064428],[-98.275031,26.111197],[-98.378121,26.182356],[-98.48587,26.224576],[-98.598293,26.237858],[-98.691413,26.276453],[-98.76523,26.340405],[-98.873209,26.38123],[-99.015268,26.398962],[-99.107767,26.446917],[-99.172081,26.564141],[-99.172367,26.565921],[-99.22993,26.761928],[-99.302462,26.884711],[-99.443537,27.036674],[-99.456506,27.056615],[-99.456534,27.05667],[-99.45772,27.081707],[-99.440258,27.170125],[-99.455139,27.233714],[-99.499814,27.285515],[-99.51007,27.340326],[-99.485834,27.398048],[-99.484258,27.467393],[-99.505319,27.548341],[-99.595313,27.63588],[-99.754269,27.729934],[-99.889631,27.867296],[-100.001412,28.047845],[-100.111945,28.172957],[-100.221265,28.242622],[-100.296043,28.327678],[-100.336275,28.428137],[-100.348157,28.48643],[-100.331727,28.502547],[-100.398903,28.614223],[-100.549695,28.821338],[-100.636306,28.972806],[-100.65863,29.068541],[-100.754596,29.182513],[-100.924142,29.314701],[-101.016334,29.400658],[-101.038631,29.460291],[-101.038972,29.460401],[-101.303528,29.634084],[-101.380344,29.742552],[-101.44039,29.776841],[-101.509302,29.773116],[-101.544623,29.783531],[-101.546381,29.808075],[-101.568705,29.809239],[-101.611596,29.78697],[-101.752336,29.782476],[-101.990899,29.795704],[-102.163087,29.825257],[-102.268919,29.871169],[-102.343076,29.864973],[-102.385659,29.806657],[-102.476247,29.769084],[-102.614944,29.752341],[-102.73419,29.64395],[-102.834,29.443966],[-102.877825,29.315316],[-102.865679,29.258033],[-102.892008,29.216384],[-102.956811,29.190368],[-103.022828,29.132207],[-103.090009,29.041866],[-103.168298,28.998173],[-103.257699,29.001129],[-103.422933,29.070683],[-103.663979,29.206903],[-103.852905,29.29108],[-103.989746,29.323171],[-104.110617,29.386112],[-104.21552,29.479902],[-104.312205,29.542436],[-104.400623,29.573747],[-104.503977,29.677667],[-104.622212,29.854272],[-104.68133,29.990525],[-104.68133,30.134358],[-104.835896,30.447655],[-104.917854,30.583358],[-104.978834,30.645936],[-105.098151,30.720555],[-105.275816,30.80727],[-105.513994,30.980766],[-105.812707,31.241043],[-106.02409,31.397774],[-106.148065,31.450926],[-106.255703,31.544662],[-106.346967,31.678991],[-106.436027,31.764465],[-106.445382,31.768398],[-106.566358,31.819529],[-106.566281,31.819529],[-106.668262,32.000946],[-106.662219,32.001297],[-106.43745,32.001407],[-106.212659,32.001484],[-105.987868,32.001561],[-105.763076,32.00166],[-105.53828,32.00177],[-105.313488,32.001847],[-105.088697,32.001924],[-104.863928,32.002022],[-104.639164,32.002132],[-104.414373,32.002209],[-104.189576,32.002286],[-103.964785,32.002385],[-103.739993,32.002495],[-103.515202,32.002572],[-103.290405,32.002649],[-103.065642,32.002748],[-103.064169,32.283866],[-103.062719,32.564984],[-103.061247,32.846113],[-103.059775,33.127231],[-103.058303,33.408349],[-103.056831,33.689468],[-103.055358,33.970586],[-103.053886,34.251682],[-103.052414,34.532778],[-103.050942,34.813896],[-103.049492,35.095015],[-103.04802,35.376133],[-103.046547,35.657251],[-103.045103,35.93838],[-103.043625,36.219498],[-103.042153,36.500616],[-103.000295,36.501232],[-102.812918,36.50121],[-102.625562,36.501188],[-102.438212,36.501188],[-102.250835,36.501155],[-102.063452,36.501133],[-101.876102,36.501133],[-101.688747,36.501111],[-101.50137,36.501078],[-101.313992,36.501056],[-101.126637,36.501023],[-100.939287,36.500979],[-100.751904,36.500979],[-100.564527,36.500946],[-100.377177,36.500924],[-100.189822,36.500924],[-100.002444,36.500902],[-100.002236,36.381239],[-100.002054,36.261609],[-100.001873,36.141979],[-100.00167,36.022349],[-100.001461,35.902718],[-100.00128,35.783088],[-100.001099,35.663458],[-100.000895,35.543828],[-100.000687,35.424198],[-100.000505,35.304568],[-100.000324,35.184938],[-100.000115,35.065275],[-99.999912,34.945622],[-99.999731,34.825992],[-99.99955,34.706362],[-99.999341,34.586721],[-99.94069,34.576339],[-99.867027,34.543369],[-99.685615,34.415829],[-99.632029,34.388495],[-99.536168,34.404744],[-99.432298,34.38922],[-99.404986,34.392065],[-99.38465,34.446788],[-99.374938,34.457873],[-99.360387,34.456094],[-99.270316,34.407226],[-99.252875,34.388077],[-99.19991,34.318314],[-99.186578,34.235477],[-99.157508,34.223282],[-99.102291,34.213472],[-98.96884,34.208605],[-98.798953,34.154739],[-98.730118,34.146576],[-98.608395,34.161275],[-98.493851,34.088777],[-98.453674,34.078131],[-98.420419,34.088052],[-98.355978,34.141511],[-98.214079,34.135337],[-98.098635,34.145027],[-98.089587,34.084097],[-98.069383,34.040305],[-97.973962,33.993734],[-97.951072,33.971212],[-97.946238,33.897076],[-97.92159,33.878367],[-97.882858,33.871116],[-97.842422,33.875785],[-97.795291,33.899065],[-97.691937,33.972135],[-97.660362,33.990043],[-97.640933,33.991669],[-97.621789,33.987768],[-97.605925,33.971651],[-97.571247,33.91594],[-97.481565,33.885705],[-97.430171,33.838508],[-97.398492,33.831323],[-97.363611,33.840178],[-97.308163,33.869226],[-97.264679,33.867776],[-97.214938,33.897109],[-97.194762,33.890616],[-97.186182,33.870083],[-97.201013,33.808164],[-97.192488,33.784631],[-97.172383,33.75688],[-97.145071,33.737687],[-97.119,33.734764],[-97.09895,33.750442],[-97.061229,33.8285],[-97.063838,33.8568],[-97.02159,33.866512],[-97.002161,33.881597],[-96.977694,33.938033],[-96.934051,33.95348],[-96.911001,33.950437],[-96.889996,33.934617],[-96.847572,33.883179],[-96.746283,33.854186],[-96.720213,33.85279],[-96.694016,33.863799],[-96.648538,33.906382],[-96.625132,33.911446],[-96.606345,33.905635],[-96.595364,33.899405],[-96.59159,33.849275],[-96.487204,33.7923],[-96.41114,33.775205],[-96.336752,33.717713],[-96.315048,33.711122],[-96.278562,33.757627],[-96.207272,33.774062],[-96.139344,33.821963],[-95.941579,33.882838],[-95.863082,33.863304],[-95.783914,33.864502],[-95.763166,33.891473],[-95.622789,33.930255],[-95.594471,33.945163],[-95.555712,33.926091],[-95.541836,33.898164],[-95.523494,33.886562],[-95.427117,33.872785],[-95.373888,33.874269],[-95.276016,33.910622],[-95.238031,33.956479],[-95.21586,33.959039],[-95.146075,33.936616],[-94.962389,33.843408],[-94.869374,33.768196],[-94.765734,33.731611],[-94.709198,33.699289],[-94.484149,33.648434]]],[[[-95.039695,29.145918],[-95.089666,29.136305],[-94.87167,29.290146],[-94.825989,29.341309],[-94.767618,29.339035],[-94.864952,29.252892],[-95.039695,29.145918]]],[[[-96.7644,28.152567],[-96.801116,28.148414],[-96.755611,28.202434],[-96.68164,28.229702],[-96.519322,28.333468],[-96.453124,28.340598],[-96.418633,28.376325],[-96.403565,28.381577],[-96.413332,28.337807],[-96.543893,28.275592],[-96.7644,28.152567]]],[[[-97.014355,27.901628],[-97.036009,27.899178],[-96.987642,27.981026],[-96.978672,28.013842],[-96.899301,28.117454],[-96.857416,28.132912],[-96.839766,28.088802],[-96.92134,28.01604],[-97.014355,27.901628]]],[[[-97.353613,27.300061],[-97.384825,27.242525],[-97.376223,27.328252],[-97.29504,27.523072],[-97.130008,27.77913],[-97.060558,27.822021],[-97.250907,27.541189],[-97.353613,27.300061]]],[[[-97.170702,26.159383],[-97.184501,26.112933],[-97.267316,26.329759],[-97.402085,26.820507],[-97.407177,27.100208],[-97.38599,27.196503],[-97.351235,26.801468],[-97.202227,26.299788],[-97.170702,26.159383]]]]}},{"type":"Feature","properties":{"name":"Utah"},"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.35877,37.001055],[-109.67087,37.001252],[-109.982969,37.001461],[-110.295069,37.00167],[-110.607168,37.001879],[-110.919268,37.002087],[-111.231373,37.002285],[-111.543473,37.002494],[-111.855572,37.002703],[-112.167672,37.002911],[-112.479772,37.00312],[-112.791871,37.003318],[-113.103971,37.003527],[-113.41607,37.003735],[-113.72817,37.003944],[-114.04027,37.004153],[-114.040347,37.160312],[-114.040396,37.316461],[-114.040473,37.472599],[-114.040555,37.628759],[-114.040632,37.784929],[-114.040709,37.941067],[-114.040786,38.097205],[-114.040863,38.253375],[-114.04094,38.409546],[-114.041017,38.565684],[-114.041072,38.721821],[-114.041149,38.877992],[-114.041226,39.034152],[-114.041275,39.190322],[-114.041352,39.346493],[-114.041429,39.502631],[-114.041511,39.658768],[-114.041588,39.814939],[-114.041637,39.971099],[-114.041714,40.127269],[-114.041791,40.283429],[-114.041846,40.439578],[-114.041923,40.595715],[-114.042,40.751875],[-114.042077,40.908046],[-114.042154,41.064183],[-114.042231,41.220321],[-114.042308,41.376492],[-114.04239,41.532662],[-114.042467,41.6888],[-114.042516,41.844938],[-114.042593,42.001109],[-113.855551,42.001109],[-113.668536,42.001076],[-113.481516,42.001054],[-113.294501,42.001054],[-113.107481,42.001054],[-112.920466,42.001032],[-112.733451,42.000999],[-112.546431,42.000999],[-112.359416,42.000999],[-112.172396,42.000977],[-111.985381,42.000955],[-111.798367,42.000955],[-111.611346,42.000922],[-111.424331,42.0009],[-111.237311,42.0009],[-111.050296,42.000878],[-111.050247,41.875897],[-111.05022,41.750884],[-111.050192,41.625881],[-111.050143,41.500879],[-111.050088,41.375877],[-111.050066,41.250863],[-111.050038,41.125861],[-111.049989,41.000858],[-110.799539,41.000858],[-110.549089,41.000858],[-110.298639,41.000858],[-110.048189,41.000858],[-109.79774,41.000858],[-109.54729,41.000858],[-109.29684,41.000858],[-109.04639,41.000858],[-109.046412,40.750842],[-109.04644,40.500859],[-109.04644,40.250877],[-109.046467,40.000872],[-109.046489,39.750856],[-109.046489,39.50084],[-109.046516,39.250835],[-109.046544,39.000819],[-109.046544,38.750869],[-109.046566,38.500853],[-109.046593,38.250848],[-109.046593,38.000833],[-109.046621,37.750828],[-109.046648,37.500834],[-109.046648,37.250851],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"name":"Virginia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.122053,38.943536],[-77.101827,38.935967],[-77.053048,38.915302],[-77.030361,38.889253],[-77.045599,38.775797],[-77.091906,38.719547],[-77.164669,38.67658],[-77.260393,38.599994],[-77.283805,38.52922],[-77.313698,38.396626],[-77.273258,38.351769],[-77.231916,38.340035],[-77.109913,38.370138],[-77.046764,38.35668],[-76.906336,38.197048],[-76.644873,38.133954],[-76.549511,38.094502],[-76.471761,38.011171],[-76.354944,37.963215],[-76.264284,37.893551],[-76.261801,37.848079],[-76.293222,37.794333],[-76.305626,37.721571],[-76.344144,37.675681],[-76.436616,37.670419],[-76.492481,37.682218],[-76.792804,37.937991],[-76.828641,37.961512],[-76.939977,38.095458],[-77.070637,38.167209],[-77.1111,38.165682],[-76.925123,38.033022],[-76.849175,37.940243],[-76.715416,37.810176],[-76.619835,37.75509],[-76.549457,37.669144],[-76.484055,37.628868],[-76.305571,37.571509],[-76.367633,37.530288],[-76.268569,37.495154],[-76.254408,37.430631],[-76.263482,37.357023],[-76.400987,37.386147],[-76.405459,37.331908],[-76.393132,37.299949],[-76.45393,37.273538],[-76.538393,37.309353],[-76.757691,37.505437],[-76.755879,37.479213],[-76.738103,37.44877],[-76.610903,37.322581],[-76.497392,37.246874],[-76.401119,37.212695],[-76.326939,37.14926],[-76.300759,37.110885],[-76.283302,37.052679],[-76.338277,37.013118],[-76.400888,36.991332],[-76.462016,37.030784],[-76.506852,37.072312],[-76.602301,37.142844],[-76.630898,37.221704],[-76.703507,37.217672],[-77.006971,37.31767],[-77.25089,37.329194],[-77.22706,37.309067],[-77.196211,37.295708],[-77.001961,37.271055],[-76.925167,37.225011],[-76.765415,37.184142],[-76.671855,37.172947],[-76.633919,37.047428],[-76.504632,36.96102],[-76.487856,36.897025],[-76.399548,36.88984],[-76.244256,36.952627],[-76.144006,36.93061],[-75.999415,36.912659],[-75.966335,36.861957],[-75.941561,36.76553],[-75.890431,36.657018],[-75.857428,36.550582],[-75.889057,36.550505],[-75.966445,36.551362],[-76.214824,36.552889],[-76.576615,36.555702],[-76.938395,36.558514],[-77.300185,36.561338],[-77.661976,36.56415],[-78.023756,36.566963],[-78.385547,36.569753],[-78.747337,36.572577],[-79.109117,36.575389],[-79.470908,36.57818],[-79.832688,36.580992],[-80.194479,36.583816],[-80.556269,36.586628],[-80.918049,36.589452],[-81.27984,36.592264],[-81.641631,36.595077],[-81.65889,36.610579],[-81.800713,36.615182],[-81.905336,36.618544],[-81.952511,36.598021],[-82.162185,36.598856],[-82.329386,36.599548],[-82.611779,36.600713],[-82.955837,36.60213],[-83.440763,36.604119],[-83.667521,36.60503],[-83.566183,36.652623],[-83.41689,36.681012],[-83.150218,36.762333],[-83.043816,36.845554],[-82.894501,36.906374],[-82.832021,36.979269],[-82.731892,37.048076],[-82.69489,37.126156],[-82.681586,37.13812],[-82.516505,37.208839],[-82.343207,37.296927],[-81.965277,37.539725],[-81.957707,37.507634],[-81.971396,37.47306],[-81.939382,37.432598],[-81.913059,37.368965],[-81.87564,37.329612],[-81.829266,37.298597],[-81.752164,37.270769],[-81.660769,37.221759],[-81.589017,37.20807],[-81.564836,37.209795],[-81.485537,37.257003],[-81.419366,37.282272],[-81.350043,37.333688],[-81.227128,37.263276],[-81.178118,37.263331],[-81.057345,37.293719],[-80.94368,37.301904],[-80.915369,37.311363],[-80.873071,37.34062],[-80.871852,37.399419],[-80.862425,37.414569],[-80.843485,37.421721],[-80.821084,37.423094],[-80.77003,37.401594],[-80.719845,37.401023],[-80.507402,37.469061],[-80.491417,37.46392],[-80.464512,37.432729],[-80.371183,37.472599],[-80.316075,37.5097],[-80.291971,37.565895],[-80.245818,37.620782],[-80.255376,37.645271],[-80.285303,37.677054],[-80.245928,37.751025],[-80.188074,37.824227],[-79.971731,38.046151],[-79.902693,38.180745],[-79.812879,38.267042],[-79.783447,38.336036],[-79.715255,38.404042],[-79.668651,38.54426],[-79.639603,38.572451],[-79.597745,38.577131],[-79.555272,38.559377],[-79.524675,38.533461],[-79.504834,38.49135],[-79.395871,38.454392],[-79.304169,38.449899],[-79.240272,38.476519],[-79.20294,38.525814],[-79.152502,38.618319],[-79.104239,38.672932],[-79.073313,38.741948],[-79.041189,38.789673],[-78.991992,38.819699],[-78.868725,38.817941],[-78.805499,38.860183],[-78.756786,38.908215],[-78.727309,38.923882],[-78.692757,38.921652],[-78.581477,38.999017],[-78.435238,39.160758],[-78.403707,39.262645],[-78.365782,39.335847],[-78.35105,39.410928],[-78.322221,39.451852],[-78.193,39.370388],[-78.118348,39.323334],[-77.948598,39.216316],[-77.835791,39.145212],[-77.791758,39.226621],[-77.726642,39.346438],[-77.668821,39.309535],[-77.53415,39.265612],[-77.478856,39.220864],[-77.502938,39.175282],[-77.506454,39.14262],[-77.480921,39.112957],[-77.301086,39.053378],[-77.1903,38.969047],[-77.122053,38.943536]]],[[[-75.659256,37.953965],[-75.620002,37.999207],[-75.469424,38.014939],[-75.375963,38.024991],[-75.59636,37.631187],[-75.587109,37.558721],[-75.631549,37.535331],[-75.69884,37.516368],[-75.766867,37.473005],[-75.812054,37.425215],[-75.854,37.296642],[-75.934376,37.151897],[-75.984507,37.212201],[-75.997372,37.263826],[-75.975047,37.398441],[-75.888156,37.619156],[-75.792367,37.756354],[-75.719351,37.821382],[-75.659256,37.953965]]],[[[-75.252476,38.03745],[-75.225791,38.040339],[-75.225846,38.040262],[-75.33305,37.888278],[-75.378545,37.872051],[-75.252476,38.03745]]]]}},{"type":"Feature","properties":{"name":"Vermont"},"geometry":{"type":"Polygon","coordinates":[[[-73.352182,45.005419],[-73.182015,45.005628],[-72.765886,45.006111],[-72.349768,45.006605],[-71.933638,45.007067],[-71.51752,45.007561],[-71.533483,44.987973],[-71.510225,44.908344],[-71.62066,44.771894],[-71.618287,44.727761],[-71.568442,44.607637],[-71.571496,44.579193],[-71.5878,44.565263],[-71.609289,44.514055],[-71.638205,44.481679],[-71.683007,44.45028],[-71.825511,44.37409],[-71.867677,44.354918],[-72.001776,44.329496],[-72.031208,44.300734],[-72.062233,44.11635],[-72.106212,44.013079],[-72.114924,43.965431],[-72.173855,43.884088],[-72.222381,43.790869],[-72.296693,43.714954],[-72.337672,43.621988],[-72.362369,43.586645],[-72.384957,43.52923],[-72.407072,43.332036],[-72.438186,43.224645],[-72.473715,43.038537],[-72.496479,42.991669],[-72.519419,42.966675],[-72.549807,42.886684],[-72.552806,42.856449],[-72.539622,42.829632],[-72.483658,42.766174],[-72.46686,42.730315],[-72.565177,42.733051],[-72.663493,42.735786],[-72.761777,42.738533],[-72.860094,42.741268],[-72.95841,42.744004],[-73.056694,42.74674],[-73.155011,42.749486],[-73.253327,42.752222],[-73.2802,42.813152],[-73.266555,42.864777],[-73.264544,42.93521],[-73.26193,43.027067],[-73.259084,43.127855],[-73.255239,43.265371],[-73.252657,43.357195],[-73.250328,43.439669],[-73.247098,43.553048],[-73.30616,43.616253],[-73.330484,43.62669],[-73.349238,43.620384],[-73.391436,43.578526],[-73.40495,43.578811],[-73.415925,43.589644],[-73.413365,43.627854],[-73.375847,43.762184],[-73.374968,43.804152],[-73.38301,43.875827],[-73.424945,44.038292],[-73.426131,44.074855],[-73.409751,44.131413],[-73.38112,44.187432],[-73.331825,44.244583],[-73.320915,44.268874],[-73.324639,44.36786],[-73.309753,44.45964],[-73.372078,44.597332],[-73.348568,44.775299],[-73.365805,44.860366],[-73.345052,44.938864],[-73.352182,45.005419]]]}},{"type":"Feature","properties":{"name":"Washington"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.788777,48.993028],[-122.686384,48.993028],[-122.259999,48.993028],[-121.83362,48.993028],[-121.407235,48.993028],[-120.980855,48.993028],[-120.55447,48.993028],[-120.128091,48.993028],[-119.701706,48.993028],[-119.275321,48.993061],[-118.848942,48.993083],[-118.422557,48.993083],[-117.996177,48.993083],[-117.569793,48.993083],[-117.143413,48.993083],[-117.039054,48.993083],[-117.037373,48.83366],[-117.036544,48.673359],[-117.03572,48.513057],[-117.034918,48.352756],[-117.034116,48.192454],[-117.033292,48.032163],[-117.032462,47.871862],[-117.031638,47.71156],[-117.030809,47.551259],[-117.029985,47.390957],[-117.029155,47.230656],[-117.028331,47.070354],[-117.027502,46.910053],[-117.026678,46.749751],[-117.025848,46.589461],[-117.025046,46.429159],[-117.032462,46.419755],[-117.038999,46.396552],[-117.010396,46.329623],[-116.942962,46.232108],[-116.92211,46.163642],[-116.947845,46.124322],[-116.930196,46.055954],[-116.896479,46.002099],[-117.14432,46.002253],[-117.409755,46.002022],[-117.675217,46.001791],[-117.940653,46.001538],[-118.206088,46.001275],[-118.47155,46.001044],[-118.736986,46.000813],[-119.002421,46.00055],[-119.01968,46.000341],[-119.049909,45.981488],[-119.177345,45.94508],[-119.429113,45.93417],[-119.934276,45.837875],[-120.156046,45.762168],[-120.351432,45.725166],[-120.715777,45.689823],[-121.045241,45.639044],[-121.184278,45.64378],[-121.242698,45.687033],[-121.402121,45.71184],[-121.662519,45.718135],[-121.882014,45.689461],[-122.085124,45.602647],[-122.149905,45.593858],[-122.149927,45.593759],[-122.202535,45.591067],[-122.560964,45.62507],[-122.649849,45.627443],[-122.725913,45.67375],[-122.74643,45.749688],[-122.843373,45.978094],[-122.941997,46.114862],[-123.042275,46.160027],[-123.120904,46.178781],[-123.220589,46.153622],[-123.251334,46.167256],[-123.298696,46.170849],[-123.404736,46.221001],[-123.464859,46.271099],[-123.65033,46.267715],[-123.688365,46.299861],[-123.895715,46.26777],[-123.959743,46.30074],[-124.07276,46.279449],[-124.045135,46.372876],[-124.050172,46.490551],[-124.04436,46.605061],[-124.016405,46.521368],[-123.946126,46.432565],[-123.912381,46.533332],[-123.889151,46.660015],[-123.957727,46.708695],[-124.0717,46.744796],[-124.112547,46.862669],[-123.842876,46.963183],[-123.986017,46.984496],[-124.042218,47.029683],[-124.111695,47.035187],[-124.116787,47.000338],[-124.139238,46.954701],[-124.163551,47.015324],[-124.170505,47.086691],[-124.19885,47.20854],[-124.309279,47.404602],[-124.376021,47.658639],[-124.460044,47.784213],[-124.621071,47.904129],[-124.663083,47.974123],[-124.701661,48.15164],[-124.67998,48.285893],[-124.709978,48.380375],[-124.632618,48.375036],[-124.429041,48.300768],[-124.175515,48.242431],[-124.098775,48.200002],[-123.975761,48.168482],[-123.294433,48.119549],[-123.249911,48.124196],[-123.161883,48.154551],[-123.124392,48.150915],[-123.024219,48.081613],[-122.973885,48.073296],[-122.908901,48.076889],[-122.860891,48.090039],[-122.778598,48.137577],[-122.767512,48.12001],[-122.769089,48.075977],[-122.739739,48.013245],[-122.679485,47.931803],[-122.656644,47.881134],[-122.778444,47.738433],[-122.801773,47.735335],[-122.805366,47.783642],[-122.821384,47.793156],[-123.050647,47.551929],[-123.131034,47.437726],[-123.139043,47.386101],[-123.136356,47.355823],[-123.10421,47.348374],[-123.03091,47.360185],[-122.922156,47.407646],[-122.916883,47.417984],[-123.01822,47.401065],[-123.066775,47.399637],[-123.060133,47.453645],[-123.048636,47.47932],[-122.98246,47.559367],[-122.912906,47.607355],[-122.814051,47.65854],[-122.757152,47.70053],[-122.717876,47.762098],[-122.608145,47.835475],[-122.587913,47.855943],[-122.592665,47.916401],[-122.585716,47.927881],[-122.532801,47.919707],[-122.510811,47.815733],[-122.523913,47.769338],[-122.618428,47.712802],[-122.630183,47.692796],[-122.613621,47.615617],[-122.628272,47.608157],[-122.66429,47.617254],[-122.67548,47.612343],[-122.585821,47.528418],[-122.557448,47.463203],[-122.553548,47.40491],[-122.577888,47.29319],[-122.603904,47.274612],[-122.648657,47.281457],[-122.707697,47.316393],[-122.720876,47.305121],[-122.767798,47.218362],[-122.7833,47.225954],[-122.812551,47.328951],[-122.828465,47.336597],[-122.919519,47.289674],[-122.956186,47.244554],[-122.987629,47.172571],[-123.027575,47.138909],[-122.914147,47.131493],[-122.811958,47.146006],[-122.729868,47.111806],[-122.701935,47.110872],[-122.627058,47.144259],[-122.60414,47.167023],[-122.542177,47.275568],[-122.51107,47.294992],[-122.464872,47.295827],[-122.420119,47.312098],[-122.353817,47.371578],[-122.351131,47.39522],[-122.375262,47.528363],[-122.368341,47.603916],[-122.380744,47.627845],[-122.410506,47.652652],[-122.406787,47.676778],[-122.383634,47.716471],[-122.38198,47.752331],[-122.401827,47.784268],[-122.392884,47.820545],[-122.330306,47.898625],[-122.318474,47.933045],[-122.242014,48.010762],[-122.261268,48.042029],[-122.31749,48.080163],[-122.352965,48.113803],[-122.388649,48.166361],[-122.415802,48.183929],[-122.424695,48.17592],[-122.386633,48.08993],[-122.394774,48.084151],[-122.494019,48.130447],[-122.517013,48.159649],[-122.529159,48.199331],[-122.52032,48.229093],[-122.467042,48.258504],[-122.403376,48.269194],[-122.408545,48.293902],[-122.48841,48.374311],[-122.541661,48.41095],[-122.582591,48.428671],[-122.63778,48.433318],[-122.662483,48.446392],[-122.668993,48.465256],[-122.657265,48.490008],[-122.627964,48.497918],[-122.542694,48.487975],[-122.496754,48.505542],[-122.501094,48.537502],[-122.514816,48.555146],[-122.512723,48.669436],[-122.545122,48.762293],[-122.562024,48.777981],[-122.580163,48.779585],[-122.599438,48.767105],[-122.653024,48.763875],[-122.685944,48.794285],[-122.72248,48.85304],[-122.788777,48.993028]]],[[[-123.086435,48.993028],[-123.049202,48.993028],[-123.063259,48.977735],[-123.077316,48.980218],[-123.086435,48.993028]]],[[[-122.782141,48.672688],[-122.768831,48.650979],[-122.808958,48.629853],[-122.837611,48.626546],[-122.883089,48.660647],[-122.903034,48.664679],[-122.887016,48.61233],[-122.892542,48.594499],[-122.985668,48.6267],[-123.002851,48.652199],[-122.976676,48.679148],[-122.91802,48.706999],[-122.897711,48.710361],[-122.782141,48.672688]]],[[[-123.013134,48.500862],[-122.98675,48.468002],[-123.094444,48.489085],[-123.139922,48.507948],[-123.153435,48.52634],[-123.169585,48.586698],[-123.162141,48.606386],[-123.114186,48.613263],[-123.024164,48.538479],[-123.013134,48.500862]]],[[[-122.820923,48.431363],[-122.836578,48.421541],[-122.890037,48.43467],[-122.921612,48.456939],[-122.932285,48.484745],[-122.912235,48.537963],[-122.885517,48.551608],[-122.868905,48.548609],[-122.861902,48.501851],[-122.814616,48.452336],[-122.820923,48.431363]]],[[[-122.572769,48.15665],[-122.523836,48.02544],[-122.502852,48.080064],[-122.366737,47.985439],[-122.366583,47.938835],[-122.383145,47.923201],[-122.41144,47.917752],[-122.437588,47.931342],[-122.461615,47.963993],[-122.492261,47.981308],[-122.557525,47.99247],[-122.591347,48.029626],[-122.603184,48.055048],[-122.60631,48.12859],[-122.622663,48.151431],[-122.657265,48.156496],[-122.690388,48.173854],[-122.741519,48.22527],[-122.748704,48.239025],[-122.724517,48.280927],[-122.668993,48.350998],[-122.628634,48.384231],[-122.60352,48.380617],[-122.572461,48.359578],[-122.535564,48.321214],[-122.542436,48.294001],[-122.692146,48.24109],[-122.697002,48.228687],[-122.624394,48.213746],[-122.597625,48.200419],[-122.572769,48.15665]]],[[[-122.497271,47.594589],[-122.502649,47.57544],[-122.557838,47.598313],[-122.575922,47.619473],[-122.573752,47.666857],[-122.560113,47.697762],[-122.549774,47.703958],[-122.517216,47.690577],[-122.507867,47.682644],[-122.497271,47.594589]]],[[[-122.394126,47.395242],[-122.398723,47.372511],[-122.437121,47.354812],[-122.456962,47.359328],[-122.458203,47.386156],[-122.468542,47.390232],[-122.509932,47.357987],[-122.506834,47.421675],[-122.486471,47.48878],[-122.468591,47.489966],[-122.442081,47.446153],[-122.394126,47.395242]]],[[[-122.85309,47.204717],[-122.862627,47.185074],[-122.876733,47.186117],[-122.907973,47.226108],[-122.9119,47.25432],[-122.885105,47.274711],[-122.84919,47.216297],[-122.85309,47.204717]]]]}},{"type":"Feature","properties":{"name":"Wisconsin"},"geometry":{"type":"Polygon","coordinates":[[[-90.650585,42.512984],[-90.657331,42.520509],[-90.687873,42.610322],[-90.788749,42.676933],[-90.959949,42.72034],[-91.069582,42.788554],[-91.117592,42.881652],[-91.148156,42.986209],[-91.161328,43.102334],[-91.147585,43.199585],[-91.106968,43.278028],[-91.117196,43.331157],[-91.178357,43.358931],[-91.218688,43.395285],[-91.238277,43.440241],[-91.245253,43.502412],[-91.278432,43.797428],[-91.319916,43.936284],[-91.382692,43.990799],[-91.514846,44.054212],[-91.716435,44.126458],[-91.840976,44.194156],[-91.912299,44.288869],[-92.055121,44.39982],[-92.148582,44.445248],[-92.240307,44.462145],[-92.313091,44.497796],[-92.366941,44.552266],[-92.441587,44.586576],[-92.537031,44.600792],[-92.643538,44.645342],[-92.769809,44.72585],[-92.7726,44.732002],[-92.799214,44.790032],[-92.784668,44.822563],[-92.763404,44.934261],[-92.765212,44.96945],[-92.79304,45.071359],[-92.759059,45.11058],[-92.76614,45.236461],[-92.753918,45.277572],[-92.685808,45.380536],[-92.682605,45.433095],[-92.707022,45.493761],[-92.757461,45.543244],[-92.892488,45.594759],[-92.89652,45.658578],[-92.874712,45.706094],[-92.786448,45.795501],[-92.738081,45.874668],[-92.693949,45.909012],[-92.424613,46.027807],[-92.367276,46.035981],[-92.325473,46.069588],[-92.292629,46.084375],[-92.292371,46.22845],[-92.29214,46.372547],[-92.291904,46.516643],[-92.291646,46.660718],[-92.224003,46.671023],[-92.194549,46.706971],[-92.125346,46.763012],[-92.093266,46.761902],[-91.964923,46.729778],[-91.840778,46.77859],[-91.716643,46.827425],[-91.59252,46.876259],[-91.468363,46.925093],[-91.264787,47.021114],[-91.061188,47.117068],[-90.8576,47.213089],[-90.654024,47.309098],[-90.479923,47.303627],[-90.305856,47.298123],[-90.131778,47.292619],[-89.957677,47.287137],[-90.014553,47.199389],[-90.07143,47.111674],[-90.128273,47.023948],[-90.185138,46.9362],[-90.242003,46.848463],[-90.298847,46.760716],[-90.355712,46.673012],[-90.412588,46.585275],[-90.39234,46.548965],[-90.34088,46.558446],[-90.318227,46.536639],[-90.28786,46.527388],[-90.23038,46.509766],[-90.20242,46.467754],[-90.174459,46.425721],[-90.14651,46.383676],[-90.11855,46.341664],[-89.993646,46.317582],[-89.868754,46.293555],[-89.743839,46.269473],[-89.618925,46.245446],[-89.493988,46.221364],[-89.369085,46.197337],[-89.244181,46.173255],[-89.119289,46.149195],[-89.0488,46.121059],[-88.978312,46.092901],[-88.907824,46.064765],[-88.837335,46.036618],[-88.727241,46.031114],[-88.62954,46.014041],[-88.492991,46.013524],[-88.35475,45.992288],[-88.151745,45.945409],[-88.104415,45.905155],[-88.096483,45.878415],[-88.116116,45.815804],[-87.922537,45.759971],[-87.839832,45.717981],[-87.809081,45.686044],[-87.814091,45.657029],[-87.794557,45.596033],[-87.814662,45.563239],[-87.815178,45.505824],[-87.859135,45.445498],[-87.874032,45.412814],[-87.874911,45.385392],[-87.86543,45.367825],[-87.84182,45.360794],[-87.768563,45.364364],[-87.696394,45.382832],[-87.664226,45.371286],[-87.657568,45.361804],[-87.66271,45.345193],[-87.720916,45.242768],[-87.71885,45.201272],[-87.694208,45.161073],[-87.653613,45.121797],[-87.45954,45.067997],[-87.419802,45.183859],[-87.244384,45.289789],[-87.115272,45.452365],[-86.942337,45.452365],[-86.77429,45.452365],[-86.481823,45.323001],[-86.264524,45.226903],[-86.401469,45.133366],[-86.535952,45.041487],[-86.7147,44.846205],[-86.822113,44.591125],[-86.918749,44.361587],[-87.03249,44.091466],[-87.083203,43.890142],[-87.141727,43.657803],[-87.145188,43.571264],[-87.15501,43.326763],[-87.113855,43.03055],[-87.079358,42.782149],[-87.039126,42.492802],[-87.489412,42.495318],[-87.939664,42.497822],[-88.38995,42.500305],[-88.840236,42.50281],[-89.290521,42.505315],[-89.740796,42.507798],[-90.191049,42.510303],[-90.650585,42.512984]]]}},{"type":"Feature","properties":{"name":"West Virginia"},"geometry":{"type":"Polygon","coordinates":[[[-81.965277,37.539725],[-82.103463,37.570575],[-82.280244,37.687184],[-82.393876,37.828314],[-82.4299,37.894177],[-82.47189,37.938408],[-82.482195,37.983551],[-82.588773,38.099742],[-82.617711,38.149873],[-82.619546,38.182008],[-82.585389,38.24273],[-82.578413,38.272085],[-82.589498,38.420345],[-82.612778,38.448218],[-82.497543,38.414973],[-82.387064,38.43399],[-82.318147,38.479672],[-82.290868,38.552017],[-82.252317,38.594083],[-82.202494,38.605839],[-82.180071,38.637589],[-82.18764,38.715208],[-82.203527,38.768228],[-82.163328,38.844912],[-82.072273,38.962949],[-82.001092,39.011102],[-81.949797,38.989327],[-81.91853,38.952347],[-81.907368,38.900239],[-81.896678,38.893549],[-81.88244,38.894219],[-81.843757,38.934319],[-81.809337,38.950029],[-81.795033,38.945942],[-81.780124,38.946975],[-81.777685,38.972793],[-81.804954,39.04405],[-81.802602,39.086062],[-81.770665,39.098828],[-81.736663,39.14663],[-81.700594,39.229467],[-81.657209,39.271973],[-81.606464,39.274137],[-81.551631,39.308041],[-81.492722,39.373618],[-81.439647,39.392559],[-81.392417,39.364829],[-81.333354,39.362819],[-81.262504,39.386538],[-81.139127,39.455994],[-80.963291,39.57113],[-80.874313,39.664294],[-80.872192,39.735508],[-80.803517,39.909136],[-80.668275,40.185244],[-80.601819,40.363893],[-80.604093,40.445203],[-80.623187,40.51156],[-80.659047,40.562976],[-80.637524,40.603263],[-80.519081,40.646956],[-80.520168,40.532149],[-80.520069,40.416473],[-80.51996,40.300798],[-80.519861,40.185145],[-80.519762,40.069492],[-80.519652,39.953839],[-80.519553,39.838186],[-80.519443,39.722511],[-80.3892,39.722533],[-80.258946,39.722588],[-80.128725,39.72261],[-79.998472,39.722643],[-79.868218,39.722687],[-79.737997,39.72272],[-79.607743,39.722742],[-79.4775,39.722797],[-79.480126,39.594817],[-79.48274,39.466837],[-79.485344,39.33889],[-79.487981,39.210911],[-79.35977,39.285354],[-79.293556,39.311578],[-79.075345,39.475989],[-79.046748,39.476791],[-78.971481,39.453643],[-78.814794,39.570087],[-78.796172,39.612626],[-78.77777,39.626622],[-78.758214,39.624766],[-78.746459,39.613702],[-78.753402,39.589522],[-78.741669,39.577898],[-78.677673,39.54952],[-78.587497,39.534436],[-78.574962,39.532854],[-78.495542,39.533348],[-78.460265,39.556134],[-78.442698,39.601464],[-78.406761,39.627864],[-78.325364,39.639213],[-78.181135,39.68574],[-78.097782,39.677885],[-78.027195,39.631226],[-77.955707,39.608803],[-77.883252,39.610714],[-77.855423,39.599706],[-77.872167,39.575778],[-77.853072,39.548334],[-77.798141,39.517275],[-77.779585,39.488337],[-77.797438,39.461465],[-77.791703,39.441777],[-77.762358,39.429242],[-77.744835,39.400106],[-77.739045,39.354337],[-77.726642,39.346438],[-77.791758,39.226621],[-77.835791,39.145212],[-77.948598,39.216316],[-78.118348,39.323334],[-78.193,39.370388],[-78.322221,39.451852],[-78.35105,39.410928],[-78.365782,39.335847],[-78.403707,39.262645],[-78.435238,39.160758],[-78.581477,38.999017],[-78.692757,38.921652],[-78.727309,38.923882],[-78.756786,38.908215],[-78.805499,38.860183],[-78.868725,38.817941],[-78.991992,38.819699],[-79.041189,38.789673],[-79.073313,38.741948],[-79.104239,38.672932],[-79.152502,38.618319],[-79.20294,38.525814],[-79.240272,38.476519],[-79.304169,38.449899],[-79.395871,38.454392],[-79.504834,38.49135],[-79.524675,38.533461],[-79.555272,38.559377],[-79.597745,38.577131],[-79.639603,38.572451],[-79.668651,38.54426],[-79.715255,38.404042],[-79.783447,38.336036],[-79.812879,38.267042],[-79.902693,38.180745],[-79.971731,38.046151],[-80.188074,37.824227],[-80.245928,37.751025],[-80.285303,37.677054],[-80.255376,37.645271],[-80.245818,37.620782],[-80.291971,37.565895],[-80.316075,37.5097],[-80.371183,37.472599],[-80.464512,37.432729],[-80.491417,37.46392],[-80.507402,37.469061],[-80.719845,37.401023],[-80.77003,37.401594],[-80.821084,37.423094],[-80.843485,37.421721],[-80.862425,37.414569],[-80.871852,37.399419],[-80.873071,37.34062],[-80.915369,37.311363],[-80.94368,37.301904],[-81.057345,37.293719],[-81.178118,37.263331],[-81.227128,37.263276],[-81.350043,37.333688],[-81.419366,37.282272],[-81.485537,37.257003],[-81.564836,37.209795],[-81.589017,37.20807],[-81.660769,37.221759],[-81.752164,37.270769],[-81.829266,37.298597],[-81.87564,37.329612],[-81.913059,37.368965],[-81.939382,37.432598],[-81.971396,37.47306],[-81.957707,37.507634],[-81.965277,37.539725]]]}},{"type":"Feature","properties":{"name":"Wyoming"},"geometry":{"type":"Polygon","coordinates":[[[-104.021655,41.000858],[-104.335722,41.000858],[-104.649755,41.000858],[-104.963794,41.000858],[-105.277832,41.000858],[-105.591871,41.000858],[-105.905932,41.000858],[-106.219998,41.000858],[-106.534037,41.000858],[-106.84807,41.000858],[-107.162108,41.000858],[-107.476147,41.000858],[-107.790213,41.000858],[-108.104274,41.000858],[-108.418313,41.000858],[-108.732351,41.000858],[-109.04639,41.000858],[-109.29684,41.000858],[-109.54729,41.000858],[-109.79774,41.000858],[-110.048189,41.000858],[-110.298639,41.000858],[-110.549089,41.000858],[-110.799539,41.000858],[-111.049989,41.000858],[-111.050038,41.125861],[-111.050066,41.250863],[-111.050088,41.375877],[-111.050143,41.500879],[-111.050192,41.625881],[-111.05022,41.750884],[-111.050247,41.875897],[-111.050296,42.000878],[-111.050373,42.157016],[-111.05045,42.313131],[-111.050505,42.469247],[-111.050582,42.625385],[-111.050659,42.781522],[-111.050708,42.937638],[-111.050785,43.093754],[-111.050862,43.249892],[-111.050945,43.406029],[-111.051022,43.562145],[-111.051071,43.718261],[-111.051148,43.874398],[-111.051225,44.030547],[-111.05128,44.186652],[-111.051357,44.342768],[-111.051434,44.498883],[-111.05128,44.624457],[-111.051148,44.749987],[-111.051022,44.875506],[-111.050862,45.001057],[-110.831707,45.001079],[-110.612519,45.001079],[-110.393336,45.001079],[-110.174175,45.001079],[-109.954987,45.001079],[-109.735804,45.001079],[-109.516643,45.001079],[-109.297455,45.001079],[-109.078272,45.001079],[-108.859112,45.001079],[-108.639929,45.001079],[-108.420741,45.001079],[-108.20158,45.001079],[-107.982397,45.001079],[-107.763209,45.001079],[-107.544048,45.001079],[-107.324865,45.001079],[-107.105677,45.001079],[-106.886522,45.001079],[-106.667334,45.001079],[-106.448151,45.001079],[-106.22899,45.001079],[-106.009802,45.001079],[-105.790619,45.001101],[-105.571458,45.001134],[-105.35227,45.001134],[-105.133087,45.001134],[-104.913927,45.001134],[-104.694738,45.001134],[-104.475556,45.001134],[-104.256395,45.001134],[-104.037212,45.001134],[-104.036152,44.751173],[-104.035119,44.501212],[-104.034081,44.251251],[-104.033048,44.001269],[-104.032016,43.751286],[-104.030955,43.501325],[-104.029895,43.251364],[-104.028862,43.001403],[-104.027962,42.751343],[-104.027055,42.501283],[-104.026149,42.251223],[-104.025248,42.001131],[-104.024342,41.751049],[-104.023441,41.500978],[-104.022562,41.250918],[-104.021655,41.000858]]]}}]} \ No newline at end of file diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs new file mode 100644 index 00000000..da608c19 --- /dev/null +++ b/crates/radar_gif/src/main.rs @@ -0,0 +1,1220 @@ +use std::collections::HashMap; +use std::f32::consts::PI; +use std::path::{Path, PathBuf}; + +use ab_glyph::{FontRef, PxScale}; +use clap::Parser; +use color_tables::{ColorTableFamily, ColorTableSet}; +use data_source::{ + download_object, download_realtime_volume, latest_realtime_level2_volume, recent_level2_objects, +}; +use image::codecs::gif::{GifEncoder, Repeat}; +use image::{Delay, Frame, ImageBuffer, Rgba, RgbaImage}; +use imageproc::drawing::{ + draw_filled_circle_mut, draw_filled_rect_mut, draw_hollow_circle_mut, draw_line_segment_mut, + draw_text_mut, +}; +use imageproc::rect::Rect; +use nexrad_io::decode_volume_from_path; +use product_engine::{derive_product, DerivationConfig, DerivedSweepProduct, RadarBand}; +use radar_core::{ElevationCut, MomentGrid, MomentType, RadarVolume}; +use render2d::{ + base_tilt_cut, color_family_for_moment, detect_rotation_sites, smooth_moment_grid, + viewport_rgba_buffer_len, RotationSite, RotationStrength, ViewportMomentCache, + ViewportRasterOptions, +}; +use serde::Serialize; + +const BG: Rgba = Rgba([10, 12, 18, 255]); +const LAND: Rgba = Rgba([18, 22, 32, 255]); +const STATE_LINE: Rgba = Rgba([40, 50, 70, 255]); +const RING: Rgba = Rgba([55, 60, 75, 255]); +const RING_LABEL: Rgba = Rgba([90, 105, 135, 255]); +const LABEL: Rgba = Rgba([180, 195, 220, 255]); +const CITY_DOT: Rgba = Rgba([200, 210, 230, 180]); +const CITY_LABEL: Rgba = Rgba([150, 165, 195, 180]); +const COMPASS: Rgba = Rgba([130, 150, 185, 255]); +const LABEL_BG: Rgba = Rgba([8, 10, 15, 255]); + +const EARTH_RADIUS_KM: f32 = 6371.0; +const CACHE_DIR: &str = "cache/nexrad_volumes"; + +static STATES_JSON: &[u8] = include_bytes!("../assets/geo/us_states_50m.json"); +static SITES_CSV: &[u8] = include_bytes!("../assets/geo/nexrad_sites.csv"); + +#[derive(Parser)] +#[command(name = "radar", version, about)] +struct Args { + #[arg(short, long)] + site: String, + #[arg(short, long, default_value = "reflectivity")] + product: String, + #[arg(short, long, default_value_t = 6)] + frames: usize, + #[arg(short, long, default_value = "radar.gif")] + output: PathBuf, + #[arg(long, default_value_t = 800)] + width: u32, + #[arg(long, default_value_t = 800)] + height: u32, + #[arg(long, default_value_t = 50)] + delay: u16, + /// Half-width of the displayed view in km (e.g. 75 = storm-scale zoom, 460 = full range) + #[arg(long, default_value_t = 150.0)] + range_km: f32, + /// Detect and overlay mesocyclone/TVS rotation markers; also writes a + /// `.rotation.json` sidecar with the latest frame's detections + #[arg(long, default_value_t = false)] + rotation: bool, +} + +fn main() { + let args = Args::parse(); + let site = args.site.to_ascii_uppercase(); + let moment = parse_moment(&args.product); + + let state_polys = load_state_polys(); + let site_coords = load_site_coords(); + let (radar_lat, radar_lon) = site_coords.get(&site.as_str()).copied().unwrap_or_else(|| { + eprintln!("Warning: unknown site '{site}', geography will be misaligned"); + (35.333, -97.278) + }); + + // Fetch volumes: try realtime first, fall back to archive + let cache_dir = Path::new(CACHE_DIR); + std::fs::create_dir_all(cache_dir).ok(); + + let mut volumes = Vec::new(); + + // Try realtime chunks feed first (most recent data) + match latest_realtime_level2_volume(&site) { + Ok(rt_vol) => match download_realtime_volume(&rt_vol, cache_dir) { + Ok(downloaded) => match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode realtime: {e}"), + }, + Err(e) => eprintln!("Warning: download realtime: {e}"), + }, + Err(e) => eprintln!("Warning: no realtime volume for {site}: {e}"), + } + + // Fill remaining frames from archive (oldest first) + if volumes.len() < args.frames { + let needed = args.frames - volumes.len(); + match recent_level2_objects(&site, 3, needed + 2) { + Ok(objects) => { + // Take oldest objects first (playback order) + let take: Vec<_> = objects.iter().rev().take(needed + 2).collect(); + for obj in &take { + if volumes.len() >= args.frames { + break; + } + match download_object("unidata-nexrad-level2", (*obj).clone(), cache_dir) { + Ok(downloaded) => match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode archive: {e}"), + }, + Err(e) => eprintln!("Warning: download archive: {e}"), + } + } + } + Err(e) => eprintln!("Warning: archive listing: {e}"), + } + } + + if volumes.is_empty() { + eprintln!("No radar volumes found for {site}"); + std::process::exit(1); + } + + // Realtime is fetched first (newest) and archive fill-in appended after, + // so the vec isn't chronological — sort oldest-to-newest for correct GIF playback order. + // The realtime chunk and the archive's most recent object can both reference the same + // underlying volume, so dedup by timestamp too or the GIF gets a visually "stuck" frame. + volumes.sort_by_key(|v| v.volume_time); + volumes.dedup_by_key(|v| v.volume_time); + + let w = args.width.max(64); + let h = args.height.max(64); + let cx = (w as f32 - 1.0) / 2.0; + let cy = (h as f32 - 1.0) / 2.0; + let max_range_km = args.range_km.max(5.0); + let km_per_px = (2.0 * max_range_km) / w.min(h) as f32; + // Must exactly match the radar raster's pixel scale (km_per_px above) so + // geography/markers land on the same ground point as the echo data — + // do not shrink this for cosmetic purposes (see land-disk fill below). + let radius_px = cx.min(cy); + let viewport_options = ViewportRasterOptions { + width: w, + height: h, + radar_x_px: cx, + radar_y_px: cy, + km_per_px_x: km_per_px, + km_per_px_y: km_per_px, + rotation_rad: 0.0, + }; + + let font_data: &[u8] = include_bytes!("../assets/fonts/DejaVuSans.ttf"); + let font = FontRef::try_from_slice(font_data).expect("load DejaVuSans.ttf"); + let title_scale = PxScale::from(17.0); + let label_scale = PxScale::from(13.0); + let small_scale = PxScale::from(11.0); + let city_scale = PxScale::from(10.0); + + let cities = get_major_cities(); + let color_tables = ColorTableSet::default(); + + let mut frames: Vec = Vec::with_capacity(volumes.len()); + let mut latest_rotation: Option<(chrono::DateTime, Vec)> = None; + let mut all_detections: Vec<(chrono::DateTime, RotationSite)> = Vec::new(); + let mut tds_timeline: Vec = Vec::new(); + let is_ptds = is_ptds_product(&args.product); + for volume in &volumes { + let cache = match build_moment_cache(volume, is_ptds, &moment, &color_tables) { + Some(c) => c, + None => { + eprintln!(" Skipping volume: product unavailable"); + continue; + } + }; + let mut pixels = vec![0u8; viewport_rgba_buffer_len(viewport_options)]; + let radar_img = match cache.render_moment_rgba_into(volume, viewport_options, &mut pixels) { + Ok((rw, rh)) => match RgbaImage::from_raw(rw, rh, pixels) { + Some(img) => img, + None => { + eprintln!(" Skipping volume: buffer size mismatch"); + continue; + } + }, + Err(e) => { + eprintln!(" Skipping volume: {e}"); + continue; + } + }; + + let mut img = ImageBuffer::new(w, h); + for p in img.pixels_mut() { + *p = BG; + } + + // Fill radar disk with land color (slightly inset from radius_px purely for + // visual framing — geo/marker coordinate math below uses the un-inset radius_px + // so it stays exactly aligned with the radar raster's pixel scale) + let land_disk_r = radius_px * 0.99; + for y in 0..h { + for x in 0..w { + let dx = x as f32 - cx; + let dy = y as f32 - cy; + if dx * dx + dy * dy <= land_disk_r * land_disk_r { + img.put_pixel(x, y, LAND); + } + } + } + + // State outlines + for state in &state_polys { + for ring in &state.rings { + let pts: Vec<(f32, f32)> = ring + .iter() + .map(|&(lat, lon)| { + geo_to_pixel( + lat, + lon, + cx, + cy, + radius_px, + radar_lat, + radar_lon, + max_range_km, + ) + }) + .collect(); + for i in 0..pts.len() { + let (x1, y1) = pts[i]; + let (x2, y2) = pts[(i + 1) % pts.len()]; + let d1 = ((x1 - cx).powi(2) + (y1 - cy).powi(2)).sqrt(); + let d2 = ((x2 - cx).powi(2) + (y2 - cy).powi(2)).sqrt(); + if d1 > radius_px && d2 > radius_px { + continue; + } + if x1 >= 0.0 && y1 >= 0.0 && x2 >= 0.0 && y2 >= 0.0 { + draw_line_segment_mut(&mut img, (x1, y1), (x2, y2), STATE_LINE); + } + } + } + } + + // Range rings — step scales with zoom so ~4-6 rings are visible at any range + let ring_step = if max_range_km <= 30.0 { + 5.0 + } else if max_range_km <= 60.0 { + 10.0 + } else if max_range_km <= 150.0 { + 25.0 + } else if max_range_km <= 300.0 { + 50.0 + } else { + 100.0 + }; + let ring_intervals: Vec = { + let mut v = Vec::new(); + let mut km = ring_step; + while km <= max_range_km { + v.push(km); + km += ring_step; + } + v + }; + for &km in &ring_intervals { + let ring_r = (radius_px * km / max_range_km).round() as i32; + if ring_r < 5 || ring_r > radius_px as i32 + 5 { + continue; + } + draw_hollow_circle_mut(&mut img, (cx as i32, cy as i32), ring_r, RING); + let label = format!("{km:.0}km"); + draw_text_mut( + &mut img, + RING_LABEL, + (cx + ring_r as f32 - 16.0) as i32, + (cy + 4.0) as i32, + small_scale, + &font, + &label, + ); + } + + // Compass + let compass_r = radius_px - 12.0; + for (angle, label) in [(-90.0f32, "N"), (0.0, "E"), (90.0, "S"), (180.0, "W")] { + let rad = angle * PI / 180.0; + let x = cx + rad.cos() * compass_r; + let y = cy + rad.sin() * compass_r; + draw_text_mut( + &mut img, + COMPASS, + (x - 6.0) as i32, + (y - 8.0) as i32, + small_scale, + &font, + label, + ); + } + + // Cities + for city in &cities { + let (px, py) = geo_to_pixel( + city.lat, + city.lon, + cx, + cy, + radius_px, + radar_lat, + radar_lon, + max_range_km, + ); + if px >= 0.0 && px < w as f32 && py >= 0.0 && py < h as f32 { + let d = ((px - cx).powi(2) + (py - cy).powi(2)).sqrt(); + if d <= radius_px { + draw_filled_circle_mut( + &mut img, + (px as i32, py as i32), + if city.major { 3 } else { 2 }, + CITY_DOT, + ); + let scale = if city.major { label_scale } else { city_scale }; + draw_text_mut( + &mut img, + CITY_LABEL, + (px + 4.0) as i32, + (py - 5.0) as i32, + scale, + &font, + &city.name, + ); + } + } + } + + // Overlay radar + for (px, py, pixel) in radar_img.enumerate_pixels() { + if pixel[3] > 10 { + img.put_pixel(px, py, *pixel); + } + } + + // Rotation / mesocyclone-TVS markers. `detect_rotation_sites` can return many weak + // circulations in a messy line — cap full ring+label treatment to the top 6 by Vrot + // (matches the embed's cap) and draw the rest as small unlabeled dots to avoid + // overlapping rings and colliding labels at storm-scale zoom. + if args.rotation { + let deduped = dedup_repeated_tilts(volume); + let sites = detect_rotation_sites(&deduped); + let mut ranked: Vec<&RotationSite> = sites.iter().collect(); + ranked.sort_by(|a, b| b.vrot_mps.total_cmp(&a.vrot_mps)); + for (i, site) in ranked.iter().enumerate() { + let range_km = (site.ground_range_m / 1000.0) as f32; + if range_km > max_range_km { + continue; + } + let rad = site.azimuth_deg.to_radians(); + let frac = range_km / max_range_km; + let px = cx + radius_px * frac * rad.sin(); + let py = cy - radius_px * frac * rad.cos(); + let (color, marker_r) = rotation_marker_style(site.strength); + if i < 6 { + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r, color); + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r + 1, color); + let label = format!("{:.0}m/s", site.vrot_mps); + let label_x = (px + marker_r as f32 + 4.0) as i32; + let label_y = (py - 6.0) as i32; + let label_w = (label.len() as i32 * 7).max(24); + draw_filled_rect_mut( + &mut img, + Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), + LABEL_BG, + ); + draw_text_mut( + &mut img, + color, + label_x, + label_y, + small_scale, + &font, + &label, + ); + } else { + draw_filled_circle_mut(&mut img, (px as i32, py as i32), 2, color); + } + } + // TDS colocation: sample the debris-signature score at the strongest + // couplet's position so scan-by-scan confidence can be reported alongside it. + if let Some(strongest) = sites + .iter() + .max_by(|a, b| a.vrot_mps.total_cmp(&b.vrot_mps)) + { + if let Some((tds_cut_index, tds_grid)) = tds_score_grid(volume) { + if let Some(tds_cut) = volume.cuts.get(tds_cut_index) { + let range_km = (strongest.ground_range_m / 1000.0) as f32; + if let Some(score) = sample_grid_max_near( + tds_cut, + &tds_grid, + strongest.azimuth_deg, + range_km, + 5.0, + 2.0, + ) { + tds_timeline.push(TdsScanOut { + time: volume.volume_time.to_rfc3339(), + tds_score: score, + vrot_mps: strongest.vrot_mps, + strength: strength_label(strongest.strength).to_string(), + }); + } + } + } + } + + for site in &sites { + all_detections.push((volume.volume_time, *site)); + } + if latest_rotation + .as_ref() + .is_none_or(|(t, _)| volume.volume_time > *t) + { + latest_rotation = Some((volume.volume_time, sites)); + } + } + + // Timestamp + site + product (with a backing panel so it stays legible over echoes) + draw_filled_rect_mut(&mut img, Rect::at(0, 0).of_size(160, 78), LABEL_BG); + let time_label = format!("{}Z", volume.volume_time.format("%H:%M")); + draw_text_mut(&mut img, LABEL, 14, 14, title_scale, &font, &time_label); + draw_text_mut(&mut img, COMPASS, 14, 36, label_scale, &font, &site); + let product_label = if is_ptds { + "PTDS".to_string() + } else { + args.product.clone() + }; + draw_text_mut( + &mut img, + RING_LABEL, + 14, + 56, + small_scale, + &font, + &product_label, + ); + + frames.push(img); + } + + if frames.is_empty() { + eprintln!("No frames could be rendered"); + std::process::exit(1); + } + encode_gif(&frames, &args.output, args.delay); + println!("Wrote {} frames to {}", frames.len(), args.output.display()); + + if args.rotation { + if let Some((volume_time, sites)) = latest_rotation { + let out: Vec = sites.iter().map(rotation_site_out).collect(); + + let peak_vrot = all_detections + .iter() + .max_by(|a, b| a.1.vrot_mps.total_cmp(&b.1.vrot_mps)) + .map(|(t, s)| RotationPeakOut { + time: t.to_rfc3339(), + site: rotation_site_out(s), + }); + let peak_dv = all_detections + .iter() + .max_by(|a, b| a.1.gate_to_gate_dv_mps.total_cmp(&b.1.gate_to_gate_dv_mps)) + .map(|(t, s)| RotationPeakOut { + time: t.to_rfc3339(), + site: rotation_site_out(s), + }); + + let payload = RotationPayload { + volume_time: volume_time.to_rfc3339(), + sites: out, + peak_vrot, + peak_dv, + tds_timeline, + }; + let sidecar = args.output.with_extension("rotation.json"); + if let Ok(json) = serde_json::to_string_pretty(&payload) { + if let Err(e) = std::fs::write(&sidecar, json) { + eprintln!("Warning: failed to write rotation sidecar: {e}"); + } + } + } + } +} + +fn rotation_site_out(s: &RotationSite) -> RotationSiteOut { + RotationSiteOut { + azimuth_deg: s.azimuth_deg, + range_km: (s.ground_range_m / 1000.0) as f32, + vrot_mps: s.vrot_mps, + gtg_dv_mps: s.gate_to_gate_dv_mps, + rank: s.rank, + depth_tilts: s.depth_tilts, + depth_km: (s.depth_m / 1000.0) as f32, + base_elevation_deg: s.base_elevation_deg, + strength: strength_label(s.strength).to_string(), + } +} + +#[derive(Serialize)] +struct RotationSiteOut { + azimuth_deg: f32, + range_km: f32, + vrot_mps: f32, + gtg_dv_mps: f32, + rank: u8, + depth_tilts: usize, + depth_km: f32, + base_elevation_deg: f32, + strength: String, +} + +#[derive(Serialize)] +struct RotationPeakOut { + time: String, + #[serde(flatten)] + site: RotationSiteOut, +} + +#[derive(Serialize)] +struct TdsScanOut { + time: String, + tds_score: f32, + vrot_mps: f32, + strength: String, +} + +#[derive(Serialize)] +struct RotationPayload { + volume_time: String, + sites: Vec, + peak_vrot: Option, + peak_dv: Option, + tds_timeline: Vec, +} + +fn strength_label(strength: RotationStrength) -> &'static str { + match strength { + RotationStrength::WeakCirculation => "weak_circulation", + RotationStrength::ModerateCirculation => "moderate_circulation", + RotationStrength::Mesocyclone => "mesocyclone", + RotationStrength::Tvs => "tvs", + } +} + +fn rotation_marker_style(strength: RotationStrength) -> (Rgba, i32) { + match strength { + RotationStrength::WeakCirculation => (Rgba([230, 220, 60, 255]), 10), + RotationStrength::ModerateCirculation => (Rgba([240, 150, 40, 255]), 12), + RotationStrength::Mesocyclone => (Rgba([235, 50, 50, 255]), 14), + RotationStrength::Tvs => (Rgba([230, 40, 230, 255]), 16), + } +} + +/// TDWR and SAILS-enabled NEXRAD VCPs rescan the same low elevation multiple +/// times per volume. `detect_rotation_sites` only examines the 8 +/// lowest-elevation velocity tilts, so redundant near-duplicate low tilts +/// crowd out genuinely distinct mid-level tilts, starving vertical-continuity +/// checks of the diversity they need. Keep only the first cut per ~0.1deg +/// elevation bucket before handing the volume to the detector. +fn dedup_repeated_tilts( + volume: &radar_core::RadarVolume, +) -> std::borrow::Cow<'_, radar_core::RadarVolume> { + let mut seen = std::collections::HashSet::new(); + let has_dupes = volume + .cuts + .iter() + .any(|c| !seen.insert((c.elevation_deg * 10.0).round() as i32)); + if !has_dupes { + return std::borrow::Cow::Borrowed(volume); + } + let mut seen = std::collections::HashSet::new(); + let mut deduped = volume.clone(); + deduped + .cuts + .retain(|c| seen.insert((c.elevation_deg * 10.0).round() as i32)); + std::borrow::Cow::Owned(deduped) +} + +#[allow(clippy::too_many_arguments)] +fn geo_to_pixel( + lat: f32, + lon: f32, + cx: f32, + cy: f32, + radius_px: f32, + radar_lat: f32, + radar_lon: f32, + max_range_km: f32, +) -> (f32, f32) { + let dlat = (lat - radar_lat).to_radians(); + let dlon = (lon - radar_lon).to_radians(); + let lat1 = radar_lat.to_radians(); + let lat2 = lat.to_radians(); + let a = (dlat / 2.0).sin().powi(2) + lat1.cos() * lat2.cos() * (dlon / 2.0).sin().powi(2); + let c = 2.0 * (a.sqrt().min(1.0)).asin(); + let dist_km = c * EARTH_RADIUS_KM; + let az = if dlon.abs() < 1e-8 && dlat.abs() < 1e-8 { + 0.0 + } else { + (dlon.sin() * lat2.cos()) + .atan2(lat1.cos() * lat2.sin() - lat1.sin() * lat2.cos() * dlon.cos()) + }; + let frac = dist_km / max_range_km; + ( + cx + radius_px * frac * az.sin(), + cy - radius_px * frac * az.cos(), + ) +} + +struct StatePoly { + _name: String, + rings: Vec>, +} + +fn load_site_coords() -> HashMap<&'static str, (f32, f32)> { + let text = std::str::from_utf8(SITES_CSV).expect("valid UTF-8"); + text.lines() + .filter_map(|line| { + let parts: Vec<&str> = line.split(',').collect(); + if parts.len() < 3 { + return None; + } + Some(( + parts[0].trim(), + (parts[1].trim().parse().ok()?, parts[2].trim().parse().ok()?), + )) + }) + .collect() +} + +fn load_state_polys() -> Vec { + let data: serde_json::Value = serde_json::from_slice(STATES_JSON).expect("parse state GeoJSON"); + let features = data["features"].as_array().expect("features array"); + features + .iter() + .filter_map(|feat| { + let name = feat["properties"]["name"].as_str()?.to_string(); + let geom = &feat["geometry"]; + let mut rings = Vec::new(); + match geom["type"].as_str()? { + "Polygon" => { + if let Some(coords) = geom["coordinates"][0].as_array() { + let ring: Vec<(f32, f32)> = coords + .iter() + .filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))) + .collect(); + rings.push(ring); + } + } + "MultiPolygon" => { + if let Some(polys) = geom["coordinates"].as_array() { + for poly in polys { + if let Some(coords) = poly[0].as_array() { + let ring: Vec<(f32, f32)> = coords + .iter() + .filter_map(|c| { + Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32)) + }) + .collect(); + rings.push(ring); + } + } + } + } + _ => {} + } + Some(StatePoly { _name: name, rings }) + }) + .collect() +} + +struct City { + name: String, + lat: f32, + lon: f32, + major: bool, +} + +fn get_major_cities() -> Vec { + vec![ + City { + name: "NYC".into(), + lat: 40.713, + lon: -74.006, + major: true, + }, + City { + name: "Los Angeles".into(), + lat: 34.052, + lon: -118.244, + major: true, + }, + City { + name: "Chicago".into(), + lat: 41.878, + lon: -87.630, + major: true, + }, + City { + name: "Houston".into(), + lat: 29.760, + lon: -95.370, + major: true, + }, + City { + name: "Phoenix".into(), + lat: 33.448, + lon: -112.074, + major: true, + }, + City { + name: "San Antonio".into(), + lat: 29.424, + lon: -98.494, + major: true, + }, + City { + name: "Dallas".into(), + lat: 32.777, + lon: -96.797, + major: true, + }, + City { + name: "San Diego".into(), + lat: 32.716, + lon: -117.161, + major: true, + }, + City { + name: "Austin".into(), + lat: 30.267, + lon: -97.743, + major: true, + }, + City { + name: "Denver".into(), + lat: 39.739, + lon: -104.990, + major: true, + }, + City { + name: "Ft Worth".into(), + lat: 32.755, + lon: -97.331, + major: false, + }, + City { + name: "Oklahoma City".into(), + lat: 35.468, + lon: -97.516, + major: false, + }, + City { + name: "Tulsa".into(), + lat: 36.154, + lon: -95.993, + major: false, + }, + City { + name: "Wichita".into(), + lat: 37.687, + lon: -97.337, + major: false, + }, + City { + name: "Kansas City".into(), + lat: 39.100, + lon: -94.580, + major: false, + }, + City { + name: "Amarillo".into(), + lat: 35.222, + lon: -101.831, + major: false, + }, + City { + name: "Albuquerque".into(), + lat: 35.085, + lon: -106.606, + major: false, + }, + City { + name: "Little Rock".into(), + lat: 34.746, + lon: -92.290, + major: false, + }, + City { + name: "Shreveport".into(), + lat: 32.525, + lon: -93.750, + major: false, + }, + City { + name: "Memphis".into(), + lat: 35.149, + lon: -90.049, + major: false, + }, + City { + name: "Nashville".into(), + lat: 36.163, + lon: -86.782, + major: false, + }, + City { + name: "Knoxville".into(), + lat: 35.960, + lon: -83.921, + major: false, + }, + City { + name: "Jackson MS".into(), + lat: 32.299, + lon: -90.185, + major: false, + }, + City { + name: "Baton Rouge".into(), + lat: 30.421, + lon: -91.153, + major: false, + }, + City { + name: "New Orleans".into(), + lat: 29.949, + lon: -90.071, + major: false, + }, + City { + name: "St Louis".into(), + lat: 38.627, + lon: -90.199, + major: false, + }, + City { + name: "Atlanta".into(), + lat: 33.749, + lon: -84.388, + major: true, + }, + City { + name: "Minneapolis".into(), + lat: 44.978, + lon: -93.265, + major: true, + }, + City { + name: "Omaha".into(), + lat: 41.256, + lon: -95.934, + major: false, + }, + City { + name: "Des Moines".into(), + lat: 41.587, + lon: -93.624, + major: false, + }, + City { + name: "Lincoln".into(), + lat: 40.813, + lon: -96.703, + major: false, + }, + City { + name: "Topeka".into(), + lat: 39.048, + lon: -95.678, + major: false, + }, + City { + name: "Salt Lake City".into(), + lat: 40.760, + lon: -111.888, + major: false, + }, + City { + name: "Boise".into(), + lat: 43.617, + lon: -116.200, + major: false, + }, + City { + name: "Seattle".into(), + lat: 47.606, + lon: -122.332, + major: true, + }, + City { + name: "Portland".into(), + lat: 45.515, + lon: -122.679, + major: false, + }, + City { + name: "Sacramento".into(), + lat: 38.581, + lon: -121.494, + major: false, + }, + City { + name: "San Francisco".into(), + lat: 37.774, + lon: -122.419, + major: true, + }, + City { + name: "Las Vegas".into(), + lat: 36.115, + lon: -115.173, + major: true, + }, + City { + name: "Tucson".into(), + lat: 32.222, + lon: -110.926, + major: false, + }, + City { + name: "El Paso".into(), + lat: 31.761, + lon: -106.485, + major: false, + }, + City { + name: "Corpus Christi".into(), + lat: 27.784, + lon: -97.510, + major: false, + }, + City { + name: "Miami".into(), + lat: 25.761, + lon: -80.192, + major: true, + }, + City { + name: "Tampa".into(), + lat: 27.951, + lon: -82.458, + major: false, + }, + City { + name: "Jacksonville".into(), + lat: 30.332, + lon: -81.656, + major: false, + }, + City { + name: "Charlotte".into(), + lat: 35.227, + lon: -80.843, + major: false, + }, + City { + name: "Raleigh".into(), + lat: 35.780, + lon: -78.639, + major: false, + }, + City { + name: "Norfolk".into(), + lat: 36.851, + lon: -76.285, + major: false, + }, + City { + name: "Washington DC".into(), + lat: 38.907, + lon: -77.037, + major: true, + }, + City { + name: "Baltimore".into(), + lat: 39.290, + lon: -76.612, + major: false, + }, + City { + name: "Philadelphia".into(), + lat: 39.952, + lon: -75.165, + major: true, + }, + City { + name: "New York".into(), + lat: 40.713, + lon: -74.006, + major: true, + }, + City { + name: "Boston".into(), + lat: 42.360, + lon: -71.059, + major: true, + }, + City { + name: "Pittsburgh".into(), + lat: 40.441, + lon: -79.996, + major: false, + }, + City { + name: "Cincinnati".into(), + lat: 39.103, + lon: -84.512, + major: false, + }, + City { + name: "Indianapolis".into(), + lat: 39.768, + lon: -86.158, + major: false, + }, + City { + name: "Detroit".into(), + lat: 42.331, + lon: -83.046, + major: true, + }, + City { + name: "Cleveland".into(), + lat: 41.499, + lon: -81.694, + major: false, + }, + City { + name: "Milwaukee".into(), + lat: 43.039, + lon: -87.906, + major: false, + }, + City { + name: "Louisville".into(), + lat: 38.253, + lon: -85.758, + major: false, + }, + City { + name: "Lexington".into(), + lat: 38.041, + lon: -84.458, + major: false, + }, + City { + name: "Bowling Green".into(), + lat: 36.990, + lon: -86.444, + major: false, + }, + City { + name: "Paducah".into(), + lat: 37.083, + lon: -88.600, + major: false, + }, + City { + name: "Owensboro".into(), + lat: 37.771, + lon: -87.110, + major: false, + }, + City { + name: "Richmond KY".into(), + lat: 37.748, + lon: -84.294, + major: false, + }, + ] +} + +fn parse_moment(name: &str) -> MomentType { + match name.to_lowercase().as_str() { + "reflectivity" | "ref" | "dbz" => MomentType::Reflectivity, + "velocity" | "vel" => MomentType::Velocity, + "spectrum-width" | "sw" => MomentType::SpectrumWidth, + "zdr" => MomentType::DifferentialReflectivity, + "cc" | "rhohv" => MomentType::CorrelationCoefficient, + "phidp" => MomentType::DifferentialPhase, + "kdp" => MomentType::SpecificDifferentialPhase, + // PTDS isn't a native moment on the volume — build_moment_cache branches on + // is_ptds_product and derives it separately, this is just an unused placeholder. + "tds" | "ptds" => MomentType::Reflectivity, + _ => { + eprintln!("Unknown product '{name}', using reflectivity"); + MomentType::Reflectivity + } + } +} + +fn is_ptds_product(product: &str) -> bool { + matches!(product.to_lowercase().as_str(), "tds" | "ptds") +} + +/// TDS (tornadic debris signature) confidence: BowEcho's `product_engine` combines +/// reflectivity + CC dropout + ZDR into a single 0-100 score on the lowest reflectivity +/// tilt. Velocity/rotation isn't part of this score directly — that's folded in +/// separately by sampling this grid at each detected rotation site's position. +/// The lowest-elevation *reflectivity-only surveillance* cut (what `base_tilt_cut` +/// picks for MomentType::Reflectivity) often lacks CC/ZDR — those ride on a separate +/// Doppler cut at the same elevation. TDS needs REF+CC(+ZDR) together on one cut, so +/// pick the lowest-elevation cut that actually carries both. +fn lowest_dual_pol_cut(volume: &RadarVolume) -> Option { + volume + .cuts + .iter() + .enumerate() + .filter(|(_, c)| { + c.moments.contains_key(&MomentType::Reflectivity) + && c.moments.contains_key(&MomentType::CorrelationCoefficient) + }) + .min_by(|a, b| a.1.elevation_deg.total_cmp(&b.1.elevation_deg)) + .map(|(i, _)| i) +} + +fn tds_score_grid(volume: &RadarVolume) -> Option<(usize, MomentGrid)> { + let cut_index = lowest_dual_pol_cut(volume)?; + let cut = volume.cuts.get(cut_index)?; + let config = + DerivationConfig::with_products(RadarBand::S, [DerivedSweepProduct::TdsConfidence]); + let grid = derive_product(cut, DerivedSweepProduct::TdsConfidence, &config)?; + Some((cut_index, grid)) +} + +fn build_moment_cache( + volume: &RadarVolume, + is_ptds: bool, + moment: &MomentType, + color_tables: &ColorTableSet, +) -> Option { + if is_ptds { + let (cut_index, grid) = tds_score_grid(volume)?; + ViewportMomentCache::new_derived( + volume, + cut_index, + grid, + ColorTableFamily::Probability, + color_tables, + ) + .ok() + } else { + let cut_index = base_tilt_cut(volume, moment).unwrap_or(0); + let cut = volume.cuts.get(cut_index)?; + let grid = cut.moments.get(moment)?; + let smoothed = smooth_moment_grid(grid); + let family = color_family_for_moment(moment); + ViewportMomentCache::new_derived(volume, cut_index, smoothed, family, color_tables).ok() + } +} + +fn angular_diff(a: f32, b: f32) -> f32 { + let d = (a - b).abs() % 360.0; + d.min(360.0 - d) +} + +/// Sample a MomentGrid's value at the nearest radial/gate to a given azimuth+range. +/// Debris balls and the couplet's exact flagged gate rarely land on the same pixel — +/// search a small azimuth/range window around the site and take the max, rather than +/// sampling one nearest gate (which reliably undershoots true colocated TDS score). +fn sample_grid_max_near( + cut: &ElevationCut, + grid: &MomentGrid, + azimuth_deg: f32, + range_km: f32, + az_window_deg: f32, + range_window_km: f32, +) -> Option { + let target_range_m = range_km * 1000.0; + let range_window_m = range_window_km * 1000.0; + let gate_spacing = grid.gate_range.gate_spacing_m as f32; + let first_gate = grid.gate_range.first_gate_m as f32; + let gate_lo = (((target_range_m - range_window_m - first_gate) / gate_spacing) + .floor() + .max(0.0)) as usize; + let gate_hi = (((target_range_m + range_window_m - first_gate) / gate_spacing) + .ceil() + .max(0.0)) as usize; + let gate_hi = gate_hi.min(grid.gate_range.gate_count.saturating_sub(1)); + + let mut best: Option = None; + for (row, &radial_idx) in grid.radial_indices.iter().enumerate() { + let Some(radial) = cut.radials.get(radial_idx) else { + continue; + }; + if angular_diff(radial.azimuth_deg, azimuth_deg) > az_window_deg { + continue; + } + for gate in gate_lo..=gate_hi { + if let Some(v) = grid.scaled_value(row, gate) { + if v.is_finite() { + best = Some(best.map_or(v, |b| b.max(v))); + } + } + } + } + best +} + +fn encode_gif(frames: &[RgbaImage], path: &Path, delay_cs: u16) { + let file = std::fs::File::create(path).expect("failed to create output file"); + let mut encoder = GifEncoder::new_with_speed(file, 30); + encoder.set_repeat(Repeat::Infinite).expect("set repeat"); + for img in frames { + let delay = Delay::from_numer_denom_ms(delay_cs as u32 * 10, 1); + encoder + .encode_frame(Frame::from_parts(img.clone(), 0, 0, delay)) + .expect("encode gif frame"); + } +} diff --git a/requirements.txt b/requirements.txt index 4d82e90e..db04c849 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,7 @@ numpy>=2.2.6,<3.0 matplotlib>=3.10.9,<4.0 requests>=2.34.2,<3.0 sounderpy>=3.1.0,<4.0 +beautifulsoup4>=4.12.0,<5.0 metpy>=1.7.1,<2.0 Cartopy>=0.25.0,<0.26.0 scipy>=1.17.1,<2.0